Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to direct booting of flasher images #522

Open
wants to merge 24 commits into
base: master
Choose a base branch
from

Conversation

acostach
Copy link
Collaborator

This PR still needs an updated capsule for the AGX 64GB

…oot partition

The UEFI firmware which comes in Jetpack 6 is at
a newer revision and has symlinks support to load the
kernel and dtb from the non-flasher rootfs.

Thus, with an updated bootloader which looks
for the flasher flag in the boot partition,
we can provision the internal medium using the
existing firmware in the QSPI.

Signed-off-by: Alexandru Costache <[email protected]>
In order to run the migrate script succesfully, the tools
used by resin-init-flasher script need to exist in the initramfs.

Signed-off-by: Alexandru Costache <[email protected]>
…available

If the QSPI is not available, like in the case where the standard
uefi firmware is running and the board has not been started in
rcm-boot mode, don't attempt to write the qspi.

Also cleanup unused variable.

Signed-off-by: Alexandru Costache <[email protected]>
We now check for the flasher flag in the boot partition and
boot the device with the flasher root partition set,
without relying on the rcm-boot script to set the kernel
command line.

Signed-off-by: Alexandru Costache <[email protected]>
…ges for QSPI updating

Signed-off-by: Alexandru Costache <[email protected]>
This package provides the means for triggering
UEFI updates if the QSPI is not accessible - that
is when a board has been previously flashed with
the reference OS.

This simplifies the use of flasher images because
the board no longer needs to be put in recovery
mode to be provisioned.

Signed-off-by: Alexandru Costache <[email protected]>
…f QSPI is inaccessible

This allows for flasher images to be booted even if
the device isn't in recovery mode, as long as the
vanilla firmware in the QSPI is in sync with the hostOS
L4T version.

Signed-off-by: Alexandru Costache <[email protected]>
…capsule updates

This package consists of a systemd service and helper scripts
which prepare an UEFI capsule update, when the QSPI
is not already flashed with the UEFI firmware patched
in balenaOS.

Signed-off-by: Alexandru Costache <[email protected]>
@acostach acostach force-pushed the run_flasher_w_default_jp6_efifw branch from 2ad2bb5 to 430fa84 Compare November 28, 2024 17:13
…rin Flash scripts

So that provisioning doesn't take longer than needed
neither trough USB key, nor during migration in the
initramfs.

We also drop clearing of the eMMC when the NVME is flashed,
and leave the initramfs scripts relocate the end GPT,
since this no longer appears to be needed during provisioning.

Signed-off-by: Alexandru Costache <[email protected]>
... and determine the internal device during HUP, as this
would allow to boot the flasher Orins from multiple targets,
depending on the flasher config.json settings.

Signed-off-by: Alexandru Costache <[email protected]>
…s on accessible QSPIs

... so that the provisioning time is decreased even when
balenaOS was already running on the device.

Signed-off-by: Alexandru Costache <[email protected]>
…ing artifacts

... and also drop the NVME wait script, as increasing the roottimeout
from the kernel cmdline should allow more time for it to settle.

Signed-off-by: Alexandru Costache <[email protected]>
@acostach acostach requested a review from floion December 2, 2024 13:31
@acostach acostach deployed to bm.balena-dev.com December 2, 2024 13:38 — with GitHub Actions Active
@acostach acostach deployed to balena-cloud.com December 2, 2024 15:39 — with GitHub Actions Active
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant