最近项目需要给底盘部署建图以及定位导航,底盘用的是Jetson orin nano,用的是Ros2 humble版本的机器人操作系统,由于humble版本的系统只支持ubuntu22.04,所以需要在orin nano上重新烧录ubuntu22.04,但是这个版本的系统跟之前的有些不一样,也踩了很多坑,查阅了官网的相关资料后,已经成功安装,下面是安装步骤以及报错解决方案
1.下载Jetson Linux release packge 和 sample file system
https://developer.nvidia.com/linux-tegra
2.打开终端进入下载路径
tar xf ${L4T_RELEASE_PACKAGE}
sudo tar xpf ${SAMPLE_FS_PACKAGE} -C Linux_for_Tegra/rootfs/
cd Linux_for_Tegra/
sudo ./apply_binaries.sh
sudo ./tools/l4t_flash_prerequisites.sh
${L4T_RELEASE_PACKAGE} 填下载的包名字就行
${SAMPLE_FS_PACKAGE} 填下载的根系统文件名
3.按住板子的recovery并且上电,连接上主机,用‘lsusb’可看到NIVIDIA AGX即可
4.QSPI upgrade
Jetson AGX Orin
sudo ./flash.sh p3737-0000-p3701-0000-qspi internal
Jetson Orin Nano/NX
sudo ./flash.sh p3768-0000-p3767-0000-a0-qspi internal
6.Enter this command on your Linux host to install (flash) the Jetson release onto the Jetson developer kit
Jetson Orin Nano Developer Kit (NVMe):
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 \
-c tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml" \
--showlogs --network usb0 jetson-orin-nano-devkit internal
Jetson Orin Nano Developer Kit (USB):
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device sda1 \
-c tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml" \
--showlogs --network usb0 jetson-orin-nano-devkit internal
Jetson Orin Nano Developer Kit (SD card):
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device mmcblk1p1 \
-c tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml" \
--showlogs --network usb0 jetson-orin-nano-devkit internal
7.报错解决方案
出现下述报错 修改tegra234-mb2-bct-misc-p3767-0000.dts文件
E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xae at 0x00000000 via instance 0.
E> eeprom: Failed to read I2C slave device
C> Task 0x0 failed (err: 0x1f1e050d)
E> Top caller module: I2C_DEV, error module: I2C, reason: 0x0d, aux_info: 0x05
I> Busy Spin
打开文件
- cvb_eeprom_read_size = <0x100>
+ cvb_eeprom_read_size = <0x0>
然后重新烧录即可
如果有不对的地方欢迎指教,有其它问题可以评论区留言