fix(ci): point LG_ENV at -dual-tftp target when staging kernel + ramdisk - #17
Closed
francoriba wants to merge 1 commit into
Closed
francoriba wants to merge 1 commit into
francoriba wants to merge 1 commit into
Conversation
libremesh-tests split the LibreRouter target YAML into two variants: - librerouter_librerouter-v1.yaml (single-image, default) - librerouter_librerouter-v1-dual-tftp.yaml (kernel + rootfs uImage) The build-firmware workflow pre-sets LG_ENV to targets/<device>.yaml in the labgrid lock step, which points at the single-image variant. When lab_stage_firmware.sh detects the dual-tftp payload (bin + uimage pair produced by build_image.sh for devices that need it, e.g. LibreRouter v1 on ath79), override LG_ENV with the -dual-tftp variant so labgrid can resolve LG_IMAGE_INITRD. Without this override, staging the dual payload sets LG_IMAGE_INITRD but the single-image YAML doesn't reference it, so the strategy loads only the kernel and boot fails without a rootfs. Refs: libremesh/libremesh-tests#5
Collaborator
Author
|
Redirigido al repo upstream libremesh/lime-packages en el PR nuevo. |
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.
Context
Follow-up to libremesh/libremesh-tests#5 which splits the LibreRouter v1 target YAML into two variants:
targets/librerouter_librerouter-v1.yaml- single-image (default)targets/librerouter_librerouter-v1-dual-tftp.yaml- kernel + rootfs uImageReason for the split: the single-image variant is what mesh tests, LibreMesh releases and
openwrt-testshealthcheck actually use (initramfs-kernel.bin, onlyLG_IMAGEset). The previous librerouter YAML required bothLG_IMAGEandLG_IMAGE_INITRDunconditionally, breaking every non-dual flow.Problem in this CI
build-firmware.ymlpre-setsLG_ENV=targets/${{ matrix.device }}.yamlin the labgrid lock step. After the split, that points at the single-image variant.When
lab_stage_firmware.shthen detects the dual-tftp payload (bin+uimagepair produced bybuild_image.shfor devices like the LibreRouter v1 on ath79), it exportsLG_IMAGE_INITRD— but the single-image YAML does not reference that variable, so labgrid loads only the kernel and boot fails without a rootfs.Fix
When
lab_stage_firmware.shenters the dual-TFTP branch, overrideLG_ENVwith the-dual-tftpsibling target file so labgrid resolvesLG_IMAGE_INITRDand issues both TFTP loads.No change for single-image devices (openwrt_one, linksys_e8450, bananapi_bpi-r4, qemu_*): the else branch keeps the pre-set
LG_ENV.Depends on
-dual-tftptarget file exists in the checked-out libremesh-tests.