定制自己的ubuntu 镜像文件 (remastersys, respin, USB live CD)
有时候我们需要把我们的系统打包为ISO镜像文件发布或者备份,我之前看了网上很多资料,没有找到一个是从头到尾按照步骤安装之后能用的。而且Remastersys项目已经停止,很多博客给出的下载地址都已经失效。
下面开始安装
首先找到一个文件夹存放要下载的包,我就直接下载到Document下面了
cd ~/Document
wget https://protect-us.mimecast.com/s/S1LwCxkL19hL9mqWI8KqBw?domain=ftp.gwdg.de
wget https://protect-us.mimecast.com/s/yTHDCyP2XMu706mBiMTcdq?domain=ftp.gwdg.de
注意:要看下自己的CPU型号(用uname -a可以查看)如果是i386,就把上述下载链接里的amd64改成i386,如果想了解更多的版本信息,可以在浏览器里输入https://protect-us.mimecast.com/s/jGW5CzpYX9uGx8NjtgTGSU?domain=ftp.gwdg.de,查看到更多信息。
下载完这两个包之后安装依赖
sudo apt-get install syslinux-utils isolinux squashfs-tools casper libdebian-installer4 ubiquity-frontend-debconf user-setup discover xresprobe
sudo apt-get install dialog libvte-common libvte9 plymouth-x11
可能在安装xresprobe包的时候会有问题,查下来有两种方法,第一种方法是经过本人验证的:
1. wget https://protect-us.mimecast.com/s/sOl6CADK1AcZnrJDiYkfmW?domain=security.ubuntu.com
sudo dpkg -i xresprobe_*ubuntu9_amd64.deb
同样的,要先知道自己的CPU的型号,如果是i386就把amd64替换成i386
2. sudo add-apt-repository ppa:sergiomejia666/xresprobe
sudo apt-get update
sudo apt-get install xresprobe
如果发现有些包安装不了,可以执行下面命令
sudo apt-get -f install
包都安装好之后就可以安装软件了
sudo dpkg -i remastersys_3.0.4-2_all.deb
sudo dpkg -i remastersys-gui_3.0.4-1_amd64.deb
,就可以打开软件了: sudo remastersys-gui
它是个UI界面,操作起来很方便,其中各个模式的区别如下:
Backup:打包整个系统,包括你的个人数据和配置信息。
Distribution:打包一个可与朋友分享的iso文件,不包括你的个人数据和配置信息。
Customize: 软件设置
Clea WorkingFolder:清除临时文件。
Check Log:检查remastersys.log 。
Quit:退出Remastersys Backup。
一般选择Backup就可以,备份前可以把一些不需要的文件给删除,节约空间。
还可以选择用remastersys命令行来操作:
sudo remastersys backup|clean|dist [cdfs|iso] [filename.iso]常用命令解释及其如下:
sudo remastersys backup :将系统备份制成一个live cd/dvd(包含/home目录下的数据)
sudo remastersys backup custom.iso:将系统备份制成一个live cd/dvd其名叫 custom.iso 的ISO文件
sudo remastersys clean:清除临时文件(清空/home/remastersys下所有数据)
sudo remastersys dist:产生一个可发布且包含个人数据的livecd/dvd(不包含/home目录下的数据)
sudo remastersys dist cdfs:产生一个只包含系统的可发布的livecd/dvd
sudo remastersys dist iso custom.iso:产生一个可发布且包含个人资料名为custom.iso的livecd/dvd
注意事项:
1. sudo remastersys clean 需要谨慎使用。因为这条命令会清除上述目录下 的所有数据。请谨慎使用该命令。
2. 执行sudo remastersys dist iso custom.iso之前需要先执行命令:sudo remastersys dist cdfs
3. 安装一个Ubuntu并配置至理想状态,但不能安装任何专有的显卡驱动程 序(如NVidia或ATI的驱动),因为专有显卡驱动不能在Live CD中使用,用户在安装系统后需要重装显卡驱动。
4. 要有足够的空闲硬盘空间,至少是被打包的系统占用空间的两倍。
参考链接:https://protect-us.mimecast.com/s/eVUnCBB96QTDMPJLtWa16d?domain=blog.csdn.net
安装时出现的问题:
1.制作成iso文件,用USB live startup creator工具(Universal-USB-Installer)制作成USB 启动文件后,插入电脑里,显示错误: can not find vesamenu.c32文件。
原因:remastersy这个项目太老了,现在已经没有人维护,所以它的bin文件有bug。可以打开/usr/bin/remastersys看,它定义的$VESAMENU是在/usr/lib/syslinux/vesamenu.c32下去找,但是在ubuntu 16.04 LTS中, vesamenu.c32这个文件在/usr/lib/syslinux/modules/bios/vesamenu.c32, 所以可以看到remastersys制作的iso文件 isolinux文件夹下根本就没有vesamenu.c32这个文件。解决办法有两个,一个是修改这个脚本文件,另一个是卸载remastersys (sudo apt-get purge remastersys, sudo apt-get autoremove), 重新安装respin
。respin又是什么呢,它是基于remastersys, 到目前为止(2018-4-12)还有人在github上维护,可以上www.linuxrespin.org官网上去找到下载地址。目前为止的respin-2.0-1新添加了对EFI的支持。
2. 因为害怕又遇到因为没有维护带来的问题,我抛弃了remastersys, 安装了respin(就是安装的gibhub下载的.deb文件)。制作成的U盘启动文件还是用不了,报错:
(initramfs) mount: mounting /dev/loop0 on //filesystem.smashfs failed: Invalid argument
CAn not mount /dev/loop0 (/cdrom/casper/filesystem.squashfs) on //filesystem.squashfs
在网上查了一下,可能是安装respin的时候没有安装casper包,于是安装:
apt-get install --yes ubuntu-standard casper lupin-casper
安装完后,重新制作iso文件,记住:在制作iso文件之前要先运行sudo respin dist cdfs命令,然后再
sudo respin dist iso myubuntu.iso
这样就制作并启动成功!
多说一句,遇到问题,用google 英文搜索,真的是比用baidu中文搜索更容易找到答案,而且很多时候baidu中文搜索根本就找不到答案。