How to update uboot and kernel in the running time

how to update uboot and kernel in the running time.

Which software release are you using?

Is it sdcard based module or emmc ?

we used emmc.

For kernel, just replace the file /boot/Image, reboot and system will load your kernel.

For uboot, you can prepare the signed uboot binary by, upload to device and use dd to write it to the LNX partition.

For kernel, Which partitions are included /boot/Image? iclude kernel dtb?
for kernel dtb, dose also replace /boot/*dtb filse?

Kernel reads from the file system. And when I say kernel, I only mean the kernel image. Not include the kernel dtb.

Kernel dtb by default is read from partition DTB. You can use dd to update it too.
Or you can also add FDT in extlinux.conf to let it read dtb from file system directly.

for all KFS partitions, all can replace dircectly?
and for u-boot, I find a doc for bup, do we use bup or usd dd to write it to the LNX partition?

for all KFS partitions, all can replace dircectly?

Yes, should work if you provide correct file.

Both method should work. BUP is more like a official method provided by us.

for BUP ,is it just update for bootloader? I see Bootloader Update Flow, it seems contain KFS update?


A Bootloader Update Payload (BUP) is used to implement bootloader update only.

because BFS and KFS have BFS-1 and KFS-1, shoule we replace both *FS and *FS-1 ?
if just replace one ,not replace “-1”, did it work?
when we update ,the device abnormally powered outage, how did we avoid this impact?

I don’t quite understand what you are saying here. Could you share commands for what you are trying to do?

I modify a file in u-boot,and compiled ,then to generated BUP ,when I try to update, it error.
Warning. Cannot find COMPATIBLE_SPEC in /etc/nv_boot_control.conf
SPEC: 3448-400-0002–1-0-jetson-nano-emmc-smpsq-mmcblk0p1

Error. Cannot find matched SPEC in blob.
No changes have been made. Exiting…

please use the same board config name as what you sent to

where used the the same board config? I don’t understand your means

When you run, didn’t you use a board name after

Use that name again when you generate the bup.

I used sudo ./ t21x to generate bup ,the command not used boardname.

There is “To generate a single-spec BUP”. Please try that one.

after generate bup .I copy the payload files by u disk to Nvidia Linux System, then to update

I used the command :sudo BOARDID=3448 BOARDSKU=0002 FAB=400 FUSELEVEL=fuselevel_production ./ jetson-nano-emmc-smpsq mmcblk0p1

we used emmc,the command error:

Creating update payloads for Jetson-3448-400-0002–1-0-jetson-nano-emmc-smpsq-mmcblk0p1 board …
ls: cannot access ‘multi_signed/jetson-nano-qspi-sd/*.bct’: No such file or directory