To flash Yocto built images via bootburn
These steps update the Yocto built images back to the release so that bootburn picks
them up:
- Copy the linux-DTBs to the
release:
mv <top>/drive-linux/kernel/preempt_rt <top>/drive-linux/kernel/preempt_rt_bkp mkdir -p <top>/drive-linux/kernel/preempt_rt cp <top>/drive-linux_src/yocto/build/tmp/deploy/images/${MACHINE}/*.dtb <top>/drive-linux/kernel/preempt_rt/
- Copy the kernel images and modules to the
release:
mkdir -p <top>/drive-linux/kernel/preempt_rt/images cp <top>/drive-linux_src/yocto/build/tmp/deploy/images/${MACHINE}/Image <top>/drive-linux/kernel/preempt_rt/images/ cp <top>/drive-linux_src/yocto/build/tmp/deploy/images/${MACHINE}/vmlinux <top>/drive-linux/kernel/preempt_rt/images/ cp <top>/drive-linux_src/yocto/build/tmp/deploy/images/${MACHINE}/System.map <top>/drive-linux/kernel/preempt_rt/images/
mkdir -p <top>/drive-linux/kernel/preempt_rt/modules # For standard kernel config : cd <top>/drive-linux/kernel/preempt_rt/modules tar xf <top>/drive-linux_src/yocto/build/tmp/deploy/images/${MACHINE}/modules-${MACHINE}.tgz find ./ -name '*rt-tegra*' -exec mv -t ./ {} + cd - # For production kernel config : cd <top>/drive-linux/kernel/preempt_rt_prod/modules tar xf <top>/drive-linux_src/yocto/build/tmp/deploy/images/${MACHINE}/modules-${MACHINE}.tgz find ./ -name '*rt-tegra*' -exec mv -t ./ {} + cd -
- Copy the initramfs image to the
release:
# For standard kernel config : cp <top>/drive-linux_src/yocto/build/tmp/deploy/images/${MACHINE}/tegra-initramfs-boot-*.cpio <top>/drive-linux/filesystem/initramfs.cpio # For production kernel config : cp <top>/drive-linux_src/yocto/build/tmp/deploy/images/${MACHINE}/tegra-prod-initramfs-boot-*.cpio <top>/drive-linux/filesystem/prod-initramfs.cpio
- Place the drive-os-av rootFS image at the location specified by the
bootburn configurations:
cp <top>/drive-linux_src/yocto/build/tmp/deploy/images/${MACHINE}/tegra-drive-os-av-image-${MACHINE}.img <top>/drive-linux/filesystem/targetfs-images ln -sf <top>/drive-linux/filesystem/targetfs-images/tegra-drive-os-av-image${MACHINE}.img <top>/drive-linux/filesystem/targetfs.img
After following the previous steps, all binaries are replaced by the Yocto built versions. Executing bootburn now automatically picks up these updated binaries. This applies to both native, as well as hypervisor flashing. For information on flashing steps, see the Flashing Customization topic in the NVIDIA DRIVE OS 6.0 Linux SDK Developer Guide.
For example:
- Put the Tegra board in recovery by running following commands on Aurix shell :
- NvShell>tegrarecovery x1 on
- NvShell>tegrareset x1
- Bind and flash the Tegra board :
- cd <top>/drive-foundation/make
- ./bind_partitions -b p3710-10-a04 linux
- cd <top>/drive-foundation/tools/flashtools/bootburn/
- ./bootburn.py -b p3710-10-a04