因为之前把系统里aarch64-linux-gnu需要的OpenCV3.2卸了,装了OpenCV4.4.0,但是我却不知道怎么用OpenCV4.4.0把它重新编译,搞了几天毫无办法,希望有经验的dalao可以指点一下。
故,对Nvidia Xavier nx 进行了刷机处理,但是原来的系统磁盘不够用,所以需要挂载一块较大的盘给/home,记录一下。
最后其实发现挂载给/home并没有什么作用,因为Nvidia Xavier NX板子的系统都是直接装在内置16G的eMMC内嵌式硬盘,一个系统刷进去就给我快占满了,剩不到1G,不如直接扩容或者转移。买板子的时候顺便搭载了一块M.2 Key M NVMe SSD,把系统转移到这块磁盘上吧。
图,没有存图的习惯,凑合看吧哈哈哈。
sudo fdisk -l
查找对应容量大小的设备名,查看后,
我的磁盘名是:/dev/nvme0n1
只有一个分区:/dev/nvme0n1p1
因为我是直接把整块盘作为一个分区,所以直接整块格式化。
如果要进行分区,可在命令中输入要进行分区的磁盘名称(假设磁盘名为:/dev/sda),进入分区模式:
fdisk /dev/sda
然后键入m获取帮助,选取对应的模式就可以,具体可以看Reference[1]、[2],论坛里挺多帖子的。
还有另一种方法就是用Disks进行分区创建和擦除。
格式化和分区的先后顺序看自己的需求,
如果想要所有分区都是空的就:格式化-分区;
如果只想对某一个单独的分区格式化,则直接格式化这块分区即可。
格式化之前一定要确认这块磁盘没有被挂载!!!
如果正在被挂载,卸载:#umount /dev/sdb(/dev/sdb改为自己需要格式化的磁盘名)
如果该磁盘正在被XX使用,则杀掉这个进程。
例如/data2:device is busy,说明data2正在对这块磁盘进行使用,kill it:fuser -km /data2
插曲:像我直接把扩容磁盘搭载在/home下的基本不可能杀死了,直接刷机,才能这磁盘重新空出来,即使修改/etc/fstab重启也没用,因为/home架构乱了,进不了系统。
方法一:用Ubuntu 18.04系统自带的Disks进行格式化
Ctrl+F 或点击右上角的菜单选择Format Disk并将其格式化为GPT格式+,进入创建分区模式,选择容量大小,创建名称,因为要作为/home内存或扩根目录,选择ext4格式
方法二:命令行格式化
对取消挂载后的磁盘或者分区进行格式化。
格式化磁盘/dev/sdb为.ext4格式:
mkfs.ext4 /dev/sdb
格式化根目录下磁盘的sda5分区为.ext4格式:
mkfs.ext4 /dev/sda5
当done都出现完毕后,意味着格式化已经进行完毕。
格式化完毕后我们使用命令:ll,来查看我们格式化完毕后的分区的文件类型信息。
详细看Reference[1]。
注:
切记重命名之后要完成后面的操作,否则没有home目录重启后无法登入系统!!!搭载在/home目录下的扩容盘,以后就只能在/home下了,斟酌清楚。/home目录正在占用,且无法杀死此进程,因为杀了系统会崩;/etc/fstab文件,取消挂载在/home目录下,则重启后会导致开机一直进不了系统。// 重命名home目录便于后面清理
sudo mv /home /oldhome
// 创建新home目录用于新分区挂载
sudo mkdir /home
// 将分区挂载到新的/home目录(此时操作/home就是在操作新分区)
sudo mount /dev/sdb1 /home //挂载
cd /oldhome
sudo cp -a * /home //将home下的数据拷贝到分区中(因为分区已经挂载到/home下所以 拷贝到/home就是拷贝到分区中)
此时此刻,扩容盘已经是/home目录的了,但是还没有永久生效,这个时候重启,重启后扩容盘还是没有挂载上。
可以用这一点,在后续永久生效操作无法进入系统时,能救回来。
一开始,进不了系统,我就傻傻地重新又刷机。
方法一:UUID标识分区
sudo blkid
/etc/fstab 文件,配置一下sudo vim /etc/fstab
方法二:分区名标识分区
/etc/fstab 文件,配置一下sudo vim /etc/fstab
Reference[5]里面提到的,重启前检查一下是否挂载成功,没用的,现在检测了是挂载成功,但是不代表重启是成功的。
注:这一步骤不一定能一次成功 ,设置的自动挂载硬盘修改后未修改fstab文件重启,则可能会出现开机硬盘挂载错误。我就是重复了几次才实现永久挂载和成功进入系统的!
执行第3步后没办法进入系统的解决方法:
没办法进入系统的表现:重复处于开机状态,让你输密码。
解决方法:
Ctrl+Alt+F1~F7进入Linux单用户(tty)模式(我是Ctrl+Alt+F3)sudo vim /etc/fstab,直接把刚刚加的那一行注释了reboot就能进入系统了,重新反复设置几次,就实现了扩容盘搭载在/home目录下。
这个其实挺简单的,Jetson官方有脚本。
git clone https://github.com/jetsonhacks/rootOnNVMe.git
如果git不下来就直接上 github 下载,我就是终端上没办法git clone下来。
rootOnNVMe文件夹,按顺序执行脚本./copy-rootfs-ssd.sh
./setup-service.sh
sudo reboot

转移结束。
但是内置的存储模块还是不能格式化!!!
刷机只有第0次和无数次,第一次刷机就因为扩容问题给我搞了4次,行8。
嗯、我把内置存储块格式化了,5刷,记录一下。
加油,科研人。