sudo ./pishrink.sh -s old_name.img new_name.img
烧录
sudo dd if=Jetson.img of=/dev/sdb1 skip=6144 seek=6144 count=43158795
sudo dd if=Jetson.img of=/dev/sdb1
jetson nano系统备份和恢复
1、备份
sudo dd if=/dev/sdb1 of=Jetson.img count=51333120
1、首先使用以下命令确认需要备份的u盘的设备号
# 1、查看TF卡的实际占用情况
df -h
# 2、查看分区信息
sudo fdisk -l /dev/sdb
# 取消挂载
sudo umount /dev/sdb1
sudo mount /dev/sdb1
# 查看进度
sudo pkill -USR1 -n -x dd
2、建立备份目录:
mkdir jetson_nano_img
3、备份信息
sudo fdisk -l /dev/sdb > ./jetson_nano_img/fdisk_info.txt
sudo parted -s /dev/sdb print > ./jetson_nano_img/parted_info.txt
4、备份12个分区以及分区表备用
sudo dd if=/dev/sdb2 of=./jetson_nano_img/sdb02_TBC.img
sudo dd if=/dev/sdb3 of=./jetson_nano_img/sdb03_RP1.img
sudo dd if=/dev/sdb4 of=./jetson_nano_img/sdb04_EBT.img
sudo dd if=/dev/sdb5 of=./jetson_nano_img/sdb05_WB0.img
sudo dd if=/dev/sdb6 of=./jetson_nano_img/sdb06_BPF.img
sudo dd if=/dev/sdb7 of=./jetson_nano_img/sdb07_BPF-DTB.img
sudo dd if=/dev/sdb8 of=./jetson_nano_img/sdb08_FX.img
sudo dd if=/dev/sdb9 of=./jetson_nano_img/sdb09_TOS.img
sudo dd if=/dev/sdb10 of=./jetson_nano_img/sdb010_DTB.img
sudo dd if=/dev/sdb11 of=./jetson_nano_img/sdb011_LNX.img
sudo dd if=/dev/sdb12 of=./jetson_nano_img/sdb012_EKS.img
sudo dd if=/dev/sdb13 of=./jetson_nano_img/sdb013_BMP.img
sudo dd if=/dev/sdb14 of=./jetson_nano_img/sdb014_RP4.img
sudo dd if=/dev/sdb1 of=./jetson_nano_img/jetson.img bs=1M count=52330496
5、挂载备份的第一个分区(系统数据所在分区):
创建文件夹
sudo mkdir -p ~/linux_sys
取消挂载
sudo umount /dev/sdb1
挂载
sudo mount -t ext4 /dev/sdb1 ~/linux_sys
6、备份系统数据
sudo dump -0uj -f ./jetson.dump.bz2 ~/linux_sys/
如果上面的命令出现如下错误:
DUMP: You can't update the dumpdates file when dumping a subdirectory
DUMP: The ENTIRE dump is aborted.
则可以使用如下命令:
sudo dump -0uj -f ./jetson.dump.bz2 /dev/sdb
2、恢复(全程使用root用户)
1、首先使用以下命令确认需要恢复的u盘的设备号
df -h
我的确定是/dev/sdb
3、创建分区:
sudo parted /dev/sdb --script -- mklabel GPT
sudo parted --script /dev/sdb mkpart APP ext4 28672s 100%
sudo parted --script /dev/sdb mkpart TBC 2048s 2303s
sudo parted --script /dev/sdb mkpart RP1 4096s 4991s
sudo parted --script /dev/sdb mkpart EBT 6144s 7295s
sudo parted --script /dev/sdb mkpart WB0 8192s 8319s
sudo parted --script /dev/sdb mkpart BPF 10240s 10623s
sudo parted --script /dev/sdb mkpart BPF-DTB 12288s 13055s
sudo parted --script /dev/sdb mkpart FX 14336s 14463s
sudo parted --script /dev/sdb mkpart TOS 16384s 17279s
sudo parted --script /dev/sdb mkpart DTB 18432s 19327s
sudo parted --script /dev/sdb mkpart LNX 20480s 22015s
sudo parted --script /dev/sdb mkpart EKS 22528s 22655s
sudo parted --script /dev/sdb mkpart BMP 24576s 24959s
sudo parted --script /dev/sdb mkpart RP4 26624s 26879s
3、恢复其余11个分区:
sudo dd if=./jetson_nano_img/sdb02_TBC.img of=/dev/sdb2
sudo dd if=./jetson_nano_img/sdb03_RP1.img of=/dev/sdb3
sudo dd if=./jetson_nano_img/sdb04_EBT.img of=/dev/sdb4
sudo dd if=./jetson_nano_img/sdb05_WB0.img of=/dev/sdb5
sudo dd if=./jetson_nano_img/sdb06_BPF.img of=/dev/sdb6
sudo dd if=./jetson_nano_img/sdb07_BPF-DTB.img of=/dev/sdb7
sudo dd if=./jetson_nano_img/sdb08_FX.img of=/dev/sdb8
sudo dd if=./jetson_nano_img/sdb09_TOS.img of=/dev/sdb9
sudo dd if=./jetson_nano_img/sdb010_DTB.img of=/dev/sdb10
sudo dd if=./jetson_nano_img/sdb011_LNX.img of=/dev/sdb11
sudo dd if=./jetson_nano_img/sdb012_EKS.img of=/dev/sdb12
sudo dd if=./jetson_nano_img/sdb013_BMP.img of=/dev/sdb13
sudo dd if=./jetson_nano_img/sdb014_RP4.img of=/dev/sdb14
sudo dd if=./jetson_nano_img/jetson.img of=/dev/sdb1
4、格式化系统数据分区并挂载
sudo mkfs.ext4 /dev/sdb1
sudo mount -t ext4 /dev/sdb1 ~/linux_sys
5、复原系统:
cd ~/linux_sys
sudo restore -r -f ~/jetson.dump.bz2
备注:如果恢复到现有的系统盘上,可以从第4步开始
3、挂载
将img挂载到loop设备
sudo losetup -f
sudo losetup /dev/loop25 jetson.img
用gparted对此loop设备进行修改
sudo gparted /dev/loop25
处理完成后, 取消loop设备挂载
sudo losetup -d /dev/loop25
JetPack 4.4(L4T-R32.4.3) 升级
NVIDIA OTA 对L4T进行升级,参考: NVIDIA Jetson Linux Developer Guide.
释放apt 缓存空间
sudo apt clean
更新软件到最新
sudo apt update
sudo apt upgrade
重启机器
sudo reboot
打开apt source
sudo vim /etc/apt/sources.list.d/nvidia-l4t-apt-source.list
修改仓库名称及URL 地址(deb)
原始数据:
deb https://repo.download.nvidia.com/jetson/common r32 main
deb https://repo.download.nvidia.com/jetson/<platform> r32 main
其中 <platform> 表示对应平台的处理器:
•t186 for Jetson TX2 series
•t194 for Jetson AGX Xavier series or Jetson Xavier NX
•t210 for Jetson Nano or Jetson TX1
增加内容(jetson Nano)
deb https://repo.download.nvidia.com/jetson/common r32.5 main
deb https://repo.download.nvidia.com/jetson/t210 r32.5 main
输入命令更新
sudo apt update
sudo apt dist-upgrade
如果要求输入configuration 文件选择,点击Y(yes)
报错:E: Sub-process /usr/bin/dpkg returned an error code (1)
通过执行下面的命令可以解决该问题:
sudo mv /var/lib/dpkg/info/ /var/lib/dpkg/info_old/
sudo mkdir /var/lib/dpkg/info/
sudo apt-get update
sudo apt-get -f install
sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old/
sudo rm -rf /var/lib/dpkg/info
sudo mv /var/lib/dpkg/info_old/ /var/lib/dpkg/info/
输入上述命令之后,在执行 sudo apt-get update 和 sudo apt-get upgrade 就不会有问题了。
sudo apt update
sudo apt upgrade
待更新完成后,重启机器。
修改root启动文件
sudo vim /boot/extlinux/extlinux.conf
修改第十行内容
USB启动
root=/dev/sda1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1
SD卡启动
root=/dev/mmcblk0p1
root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0
nvme启动
root=/dev/nvme0n1p1 rw rootwait rootfstype=ext4 console=ttyTCU0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0