需求:已经在工控板T4001A中安装了Ubuntu18.04系统,并且安装了RealSense、ROS等驱动,现在需要制作一个镜像,使得下一次在新的主机上安装系统的时候免去驱动安装的烦恼,因为镜像比较大,因此普通的方法可能会遇到4GB容量上限的问题,因此需要额外的步骤来解决,具体的参考步骤如下:
第一步:制作sblive镜像
参考如何制作ubuntu系统镜像一文操作即可:
#1.如果你已经添加过PPA,请先删除(否则忽略此步):
sudo add-apt-repository --remove ppa:nemh/systemback
#2.重新添加PPA:
sudo add-apt-repository "deb http://ppa.launchpad.net/nemh/systemback/ubuntu xenial main"
#3.更新包列表并安装Systemback:
sudo apt update
sudo apt install systemback
#安装完成后就可以从应用程序菜单启动Systemback,需要输入密码:
打开后软件如下:
点击右侧的Live system create按钮,出现界面如下:
勾选左侧的include the user data files,这样自己主文件夹内的文件都会被包含在系统镜像中。点击Create New按钮就开始创建了,等待创建完成。完成后界面如下:
最终会生成一个一个.sblive文件,注意制作的时候需要切换到一个空间比较大的目录下,我选择了media目录。右侧的列表中就是已经创建的备份。图中已经创建了两个相关的备份,所以有两个在右侧显示。此时文件没有转换成iso格式,选中你要转换的备份,点击convert to ISO 。转换完成后,在设定好的工作目录下就能找到生成的iso文件。整个流程在15分钟左右。
第二步:制作超大文件的iso文件
这种方法仅当iso文件小于4g时可用,当iso大于4g时需要用另一种方式来convert to iso,然后参考解决systemback 无法生成超过4G的iso的问题:
#systemback是一个很好的备份还原软件。用它还可以生成自己的linux系统镜像文件。但是在使用时会发现当生成的sblive文件大于4G的时候是没有办法生成iso文件的。这是由于iso文件自身的限制,iso9600对于文件有限制,单个文件不能超过2G,总的iso文件不能超过4G。
#但是我们经常见到的系统安装iso文件很多都是超过4G的。这是怎么回事呢。经过我的苦苦搜索终于找到了一点线索。对于大于4G的可以采用udf文件系统。下面就是具体的解决方法了。
#解压 .sblive 文件:
mkdir sblive
tar -xf /home/systemback_live_2016-04-27.sblive -C sblive
#重命名 syslinux 至 isolinux:
mv sblive/syslinux/syslinux.cfg sblive/syslinux/isolinux.cfg
mv sblive/syslinux sblive/isolinux
#安装 cdtools
aria2c -s 10 https://nchc.dl.sourceforge.net/project/cdrtools/alpha/cdrtools-3.02a07.tar.gz
tar -xzvf cdrtools-3.02a07.tar.gz
cd cdrtools-3.02
make
sudo make install
#生成 ISO 文件:
/opt/schily/bin/mkisofs -iso-level 3 -r -V sblive -cache-inodes -J -l -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -c isolinux/boot.cat -o sblive.iso sblive
#这样就可以了,估计当文件大于4G的时候程序会自动采用udf文件系统,所以可以成功创建iso文件。
注意下载cdrtools的时候可能会遇到问题,没关系,也可以手动下载,然后拷贝到ubuntu主机上即可,执行完这步之后,我们就可以得到一个sblive.iso文件了。
第三步: 在虚拟机中使用
安装虚拟机,在此我选择了VMWare WorkStation 15.5.6 build-16341506版本的,新建一个虚机,选择sblive.iso作为安装镜像,然后选择对应的Linux Ubuntu64位版本就可以完成安装了,最终的效果如下:
最后,上一张实物图,来对比一下虚拟机和真实主机:
这样就完成了该任务。