Conversation
mattiaswal
requested changes
Sep 21, 2026
troglobit
force-pushed
the
tactical
branch
2 times, most recently
from
September 23, 2026 04:26
b13980c to
edff93e
Compare
First boot after a factory reset does not enter the regular code path because factory-config essentially becomes the startup-config. So it left the status LED blinking. Follow-up to a7c95cd. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
troglobit
force-pushed
the
tactical
branch
2 times, most recently
from
September 28, 2026 10:56
38b31a2 to
e632619
Compare
A cut down LAN969x reference design, same switch core as the EV23X71A in a LAN9696TSN. Novarq's device tree is cherry-picked as is into the kkit kernel branch, with one commit on top that drops what 6.18 lacks (QSPI, tmon fan PWM and its cooling maps); revert it at the next LTS kernel. The patches came in with the 6.18.53 bump. The copper ports are wired backwards within each QSGMII quad, so the rename rule follows the device tree labels rather than probe order. No genimage.cfg.in yet, the OS netboots and provision-tactical lays out the eMMC. It grows Env to 4 MiB: the vendor U-Boot writes its redundant environment copy at 0x10300000, the end of a 2 MiB Env, which is how aux kept getting destroyed. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
The Tactical 1000's vendor U-Boot has neither BLKMAP, SquashFS nor sysboot, so it cannot boot rootfs.itb. Until the Infix bootloader is installed, pack kernel, rootfs and every device tree in the build into one FIT it can start with a single bootm, plus a boot script to hand out over DHCP for the test system. Off by default, IX_IMAGE_ITB_BOOT turns it on. One configuration per device tree, so one image serves every board in the build. The device trees go last: U-Boot grows the selected one in place for bootargs and ramdisk bounds, and ahead of the ramdisk that overrun kills the kernel before earlycon. The kernel is a gzipped kernel_noload so nothing in the image depends on a memory map, and the rootfs copy of it in /boot is dropped, 13 MiB the FIT already carries. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
The part number decides whether the driver offers PTP and PSFP, and is the only thing that tells the Laguna boards apart, so it is worth having before Linux is up. Trim some scene-setting prose while here. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Only Trusted Firmware differs between the LAN969x boards, for the DDR parameters; U-Boot and its environment do not. Move them out of the EV23X71A directory and pick the device tree at boot from GCB_CHIP_ID, since neither TF-A's board-number nor U-Boot's GPIO strap read tells the boards apart. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
BL2 carries the DDR parameters, 2 GiB here against 896 MiB on the EV23X71A, so the board needs a FIP of its own. Novarq's platform is carried as a patch on our Trusted Firmware pin rather than built from their fork, which is 23 commits behind it and lacks the regenerated lan969x DDR4 timings and the ECDSA fixes. Boots from fip with the vendor FIP kept in fip.bak. Recovery from a FIP that hangs is the TF-A monitor, selected over the MCP2200 on the console port. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
With the Infix bootloader booting from eMMC, the board can carry a full image the same way the EV23X71A does, written from a netbooted system. The layout is the EV23X71A's; the image holds the Infix FIP in both fip and fip.bak, so nothing of the vendor boot chain remains on a unit installed this way. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
The markers that stop the first-boot resize from running again live in aux, and nothing checked that aux was mounted before rewriting the partition table and rebooting. A disk with a var partition but no aux filesystem, a half provisioned eMMC say, looped forever on stage 1. Bail out and boot without /var instead. The progress messages said sdcard on every board, eMMC included, as nothing tells the two apart. Name neither. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
GitHub's image proxy gets a 503 when it fetches the badge from bitsign.se, so the logo stopped showing in the README. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
mattiaswal
approved these changes
Sep 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
image-itb-bootimage format, for bootloaders without SquashFSmicrochip,ev23x71ain AT91 bindingChecklist
Tick relevant boxes, this PR is-a or has-a: