前言
Navidia的agx板子如何在sd card上启动,如何修改boot/extlinux文件下的开机启动项,以及添加设备树的方法
一、将系统迁移至sd卡内
首先要将sd卡格式化。
然后使用以下指令将agx上的系统复制到sd卡 ,sd卡路径根据自己机器确定
sudo cp -ax / 'sd卡路径'
整个过程会比较慢。
二、修改启动文件
打开boot/extlinux/extlinux.conf
把从LABEL开始到最后的一段复制,然后粘贴在后面。修改第一个LABEL后面的内容为sdcard,MENU LABEL后面内容改为SD Card ; sdcard的root改为dev/mmcblk1p1,可以通过指令df -h查看sd卡的文件系统名称 ; 最后将最上面DEFAULT 后面改为 sdcard,这个表示默认启动项是下面LABEL的哪一项,保存退出。
注意这个extlinux.conf文件一定要在原始硬盘下修改,修改sd卡里的那个extlinux文件是没有用的。因为每次开机的时候都是从默认硬盘读取这个配置文件。
代码如下(示例):
TIMEOUT 30
DEFAULT sdcard
MENU TITLE L4T boot options
LABEL sdcard
MENU LABEL Sd Card
LINUX /boot/Image
INITRD /boot/initrd
APPEND ${cbootargs} quiet root=/dev/mmcblk1p1 rw rootwait rootfstype=ext4 console=ttyTCU0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 rootfstype=ext4
FDT /boot/tegra194-p2888-0001-p2822-0000.dtb
LABEL primary
MENU LABEL primary kernel
LINUX /boot/Image
INITRD /boot/initrd
APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyTCU0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 rootfstype=ext4
FDT /boot/tegra194-p2888-0001-p2822-0000.dtb
# When testing a custom kernel, it is recommended that you create a backup of
# the original kernel and add a new entry to this file so that the device can
# fallback to the original kernel. To do this:
#
# 1, Make a backup of the original kernel
# sudo cp /boot/Image /boot/Image.backup
#
# 2, Copy your custom kernel into /boot/Image
#
# 3, Uncomment below menu setting lines for the original kernel
#
# 4, Reboot
# LABEL backup
# MENU LABEL backup kernel
# LINUX /boot/Image.backup
# INITRD /boot/initrd
# APPEND ${cbootargs}
LABEL JetsonIO
MENU LABEL Custom 40-pin Header Config
LINUX /boot/Image
FDT /boot/kernel_tegra194-p2888-0001-p2822-0000-user-custom.dtb
INITRD /boot/initrd
APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyTCU0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 rootfstype=ext4
二、使用FDT命令添加设备树
首先将你所要使用的设备树文件dtb文件拷入boot文件夹下,如果是dts文件可能需要进行编译,这里是添加了相机的dtb文件。注意!如果要从sd卡内启动系统,那么需要在相应的label下添加FDT命令。
FDT /boot/tegra194-p2888-0001-p2822-0000.dtb
FDT命令会存在覆盖问题,因此如果在一个label下面使用两个FDT命令,只有最后一个会生效。
---
# 总结
针对系统的一系列操作都是在extlinux.conf这个文件下进行,如果中间写错了可能会无法进入图像化界面,在操作前需要进行备份。