主控开发(四)制作最小镜像

PiShrink

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系统备份和恢复

jetson

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) 升级

JetPack 4.4

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值