-
Notifications
You must be signed in to change notification settings - Fork 6
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
[WIP]: Xavier AGX, NX eMMC and NX SD on L4T 35.4.1 #424
[WIP]: Xavier AGX, NX eMMC and NX SD on L4T 35.4.1 #424
Conversation
d87011a
to
354b31e
Compare
Signed-off-by: Alexandru Costache <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
Changelog-entry: resin-init-flasher: Update recipes Signed-off-by: Alexandru Costache <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
and also add kernel cmdline arguments to prevent boot crashes Signed-off-by: Alexandru Costache <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
to cleanup duplicate code Signed-off-by: Alexandru Costache <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
as well as notes on how it has been generated Signed-off-by: Alexandru Costache <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
…nd NX eMMC Signed-off-by: Alexandru Costache <alexandru@balena.io>
…evkit eMMC Signed-off-by: Alexandru Costache <alexandru@balena.io>
Signed-off-by: Alexandru Costache <alexandru@balena.io>
Because we now use a single UEFI capsule for the AGX Xavier, NX SD and NX eMMC. Signed-off-by: Alexandru Costache <alexandru@balena.io>
354b31e
to
84dde00
Compare
@acostach I'd be happy to give this a try on Xavier AGX and Xavier NX. Should it all work if I burn balenaOS directly, instead of using takeover? |
@cbecker yes, for that can you try use this PR balena-os/jetson-flash#163 in jetson-flash? |
@acostach I managed to build the balena os image and proceeded to flash it with jetson-flash, the branch you mentioned above, but it's hanging, maybe I'm doing something wrong? The command I run is and this is the last part of the output:
|
@cbecker do you see any logs on the serial console of the device, do they show where the process stops? |
@acostach thanks, it was my bad: I was trying to burn the emmc version to a jetson nx devkit, and also did not realize that Right now I finished flashing and registering a device with the Jetson NX devkit and seems to work well so far,
will do a few more tests, thanks for taking care of the port! |
@acostach I managed to test this successfully, and able to use the NX gpu for processing. Thanks for taking care of this :) Do you have an estimate of when this will be merged/available officially? |
Hi @cbecker and thanks for the update! Could you please let me know if you managed to use takeover too and migrate from the previous release? How did it work for you? |
@acostach I flashed the board directly with jetson-flash. From what I understand, takeover is useful if I have an aready-flashed board with the sdkmanager, to install balena on it, is that correct? In our case, we wanted to do flash straight away, thus I used jetson-flash. |
@acostach , I see that for Xavier NX, the kernel is the one release with JetPack 5.1.2, if I'm not mistaken. Is it straightforward/possible to update it to the 5.1.3 one, that is the latest supported for Xavier NX? |
Hi @acostach, I've tested it on a Xavier AGX running the Balena version
|
@acostach with a fresh flash also happens; using the reboot button causes a fail status. I don't have the converter to read the debug port still, but once I could got the logs I'll show you |
Hi @dadaroce , can you please give me the full steps you used for testing? Also, can you please let me know what type of Xavier AGX you are using? RAM, eMMC size and if it's a Devkit or if it's using a custom carrier board. Thank you |
@cbecker takerover is useful for the AGX Xavier, Orin NX eMMC and Orin NX SD if you want to migrate from balenaOS running Jetpack 4 - L4T 32.7 - to a balenaOS running Jetpack 5 - L4T 35.X. This because there is a partition layout change between the two Jetpack versions |
Thanks for the explanation. I was using Xavier NX so probably that's why I didn't need it. I flashed it directly to the device. |
This integration has been moved to https://github.com/balena-os/balena-jetson-jp5 |
Pull request was closed
Jetson migration testing
The sources in this PR can be used for testing the takeover project to migrate the following device-types:
The following steps are necessary for building a Jetson Xavier AGX balenaOS image based on L4T 35.4.1. The resulting build artifact can then be used as a target OS image for triggering migration from a balenaOS running L4T 32.X to L4T 35.4.1
The following instructions assume that:
Building balenaOS for your Jetson device
Clone this repository:
Checkout the branch used in this PR:
Build a development Yocto image (use
-m jetson-xavier-nx-devkit
for Xavier NX Devkit SD-CARD and-m jetson-xavier-nx-devkit-emmc
for the eMMC device-type) :Once the build finishes successfully, the balenaOS Yocto image will be generated in your build directory. Please note that the build timestamp will differ from one build to another:
Compress this image uzing
gzip
and place it on your Jetson device which runs balenaOS, in the /mnt/data/ directory. The image must be gzipped for takeover to be able to use it:Obtaining takeover
Download the aarch64 takeover archive, extract the binary copy it to your Jetson device, placing it in the /mnt/data/ directory.
Triggering the migration process
Execute the takeover binary on your Jetson board:
If the migration completed successfully, you should see the new L4T version in the kernel version string on your device:
Args description:
--no-nwmgr-check
ensures no new NetworkManager connection files are created from the current active NetworkManager connections. All connection files in /mnt/boot/system-connections/ have to also exist in /etc/NetworkManager/system-connections, otherwise takeover will refuse to continue. By default, balenaOS copies these connections between the boot partition to the NetworkManager directory at startup. However, if you manually created a connection in /etc/NetworkManager and have not transferred it to the boot partition, takeover will refuse to run. This is used to ensure that the device will be able to connect to the cloud after the migration is completed.--no-os-check
allows the migration to start regardless of the version currently running--log-file /mnt/data/stage1.log
is the path to where the stage1 migration log will be stored-l /dev/sdb1
indicates the path to the external partition where the stage2 logs will be stored. Can be omitted.--log-level and --s2-log-level
sets logging level totrace
for both stages of the migrationUse
./takeover --help
for more details on the supported takeover arguments