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

Merged
merged 24 commits into from
Dec 5, 2024

Conversation

acostach
Copy link
Collaborator

@acostach acostach commented Nov 28, 2024

No description provided.

…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 <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
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 <alexandru@balena.io>
…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 <alexandru@balena.io>
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 <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
…ges for QSPI updating

Signed-off-by: Alexandru Costache <alexandru@balena.io>
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 <alexandru@balena.io>
…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 <alexandru@balena.io>
…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 <alexandru@balena.io>
… can settle

Signed-off-by: Alexandru Costache <alexandru@balena.io>
@acostach acostach force-pushed the run_flasher_w_default_jp6_efifw branch from 2ad2bb5 to 430fa84 Compare November 28, 2024 17:13
@flowzone-app flowzone-app bot enabled auto-merge November 28, 2024 17:17
…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 <alexandru@balena.io>
... 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 <alexandru@balena.io>
…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 <alexandru@balena.io>
…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 <alexandru@balena.io>
@acostach acostach temporarily deployed to balena-cloud.com December 3, 2024 13:08 — with GitHub Actions Inactive
@acostach acostach temporarily deployed to balena-cloud.com December 3, 2024 13:08 — with GitHub Actions Inactive
@acostach acostach temporarily deployed to balena-cloud.com December 3, 2024 13:46 — with GitHub Actions Inactive
@acostach acostach temporarily deployed to balena-cloud.com December 3, 2024 14:17 — with GitHub Actions Inactive
@acostach acostach temporarily deployed to balena-cloud.com December 4, 2024 09:33 — with GitHub Actions Inactive
@acostach acostach temporarily deployed to balena-cloud.com December 5, 2024 07:53 — with GitHub Actions Inactive
@flowzone-app flowzone-app bot merged commit db716d1 into master Dec 5, 2024
78 checks passed
@flowzone-app flowzone-app bot deleted the run_flasher_w_default_jp6_efifw branch December 5, 2024 09:17
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.

2 participants