写在前面
@H_403_4@最近公司要求让我把现有的系统做成iso镜像发布,查看些资料,使用了remastersys定制自己的镜像,出了很多问题。网上的文档没有一个完整的,都做不来,到处是坑,浪费了不少时间,实在是不能忍,所以我整理了一下我的过程,给大家分享一下。如果出错了欢迎留言,共同解决!
使用工具
(@H_502_30@1)@H_502_30@Remastersys、@H_502_30@mkisofs(国外@H_502_30@Remastersys项目已经停止,所以现在很多博客给出的下载地址都不能下载)
remastersys_3.0.4-2_all.deb#Remastersys安装包
remastersys-gui_3.0.4-1_amd64.deb#图形化包
定制现有系统的iso镜像
(@H_502_30@2)软碟通(@H_502_30@UltraISO)
@H_502_30@制作光盘及优盘启动,便于服务器安装自己定制的系统
(@H_502_30@3)安装镜像(@H_502_30@ubuntu-15.04-desktop-amd64.iso)
需要和制作镜像的系统为同一版本
系统版本、内核信息查询
@H_502_30@solin@node1:~$ lsb_release -d
Description:Ubuntu 15.04
@H_502_30@solin@node1:~$ uname -p
x86_64
Remastersys包下载
@H_502_30@mkdir tools
@H_502_30@cd tools/
@H_502_30@wget ftp://ftp.gwdg.de/pub/linux/easyvdr/mirror/remastersys/ubuntu/remastersys/remastersys_3.0.4-2_all.deb
@H_502_30@wget ftp://ftp.gwdg.de/pub/linux/easyvdr/mirror/remastersys/ubuntu/remastersys-gui/remastersys-gui_3.0.4-1_amd64.deb
安装依赖
(1)安装remastersys依赖
@H_502_30@sudo apt-get install syslinux-utils isolinux squashfs-tools casper libdebian-installer4 ubiquity-frontend-debconf user-setup discover xresprobe
(2)安装remastersys-gui依赖
@H_502_30@sudo apt-get install libvte-common libvte9 plymouth-x11
开始安装Remastersys
@H_502_30@ls
@H_502_30@sudo dpkg -i remastersys_3.0.4-2_all.deb
@H_502_30@sudo dpkg -i remastersys-gui_3.0.4-1_amd64.deb
Remastersys备份操作系统
@H_502_30@sudo remastersys backup
或图形操作@H_502_30@sudo remastersys-gui
到这里就有问题出现了
@H_403_4@使用remastersys来封装系统,可以得到iso,但是不能安装,每次点击安装的话会直接进入系统,安装不进硬盘。解决制作镜像不能安装问题
(1)上传ISO镜像到/home/solin/tools/目录下并将ISO挂载到/home/solin/mnt下
@H_502_30@ls /home/solin/tools
@H_502_30@mkdir mnt
@H_502_30@sudo mount -o loop/home/solin/tools/ubuntu-15.04-desktop-amd64.iso /home/solin/mnt/
@H_502_30@ls /home/solin/mnt
(2)创建一个livecd的工作目录
@H_502_30@mkdir livecd
(3)将/home/solin/mnt下的内容除了casper/filesystem.squashfs,同步到了/home/solin/livecd目录下
@H_502_30@sudo rsync --exclude=/home/solin/mnt/casper/filesystem.squashfs -a /home/solin/mnt/ /home/solin/livecd/
@H_502_30@cd livecd/casper/
(4)设置文件权限所属组
@H_502_30@sudo chmod o+w /home/solin/livecd/casper/filesystem.*
(5)、将刚才生成的那个backup-*.squashfs文件,拷贝成/home/solin/livecd/casper/filesystem.squashfs
@H_502_30@sudo cp /home/remastersys/remastersys/ISOTMP/casper/filesystem.* .
(6)更新系统所装包的列表
更新/home/solin/livecd/casper/目录下的filesystem.manifest和filesystem.manifest-desktop
@H_502_30@sudo dpkg -l | grep ii | awk '{print $2,$3}' > /home/solin/livecd/casper/filesystem.manifest
注:实际上filesystem.manifest-desktop和filesystem.manifest是有所不同的,主要是少了ubiquity casper live-initramfs user-setup discover1 xresprobe os-prober libdebian-installer4这几个包,我们这里忽略了这些影响。
(7)退回的LiveCD的工作目录/home/solin/livecd下
@H_502_30@cd ..或@H_502_30@cd /home/solin/livecd
@H_502_30@sudo rm md5sum.txt
(8)更新原来的md5sum
@H_502_30@sudo find -type f -print0 | sudo xargs -0 md5sum | grep -v ./isolinux/ | grep -v ./md5sum.txt | sudo tee md5sum.txt
(9)安装ISO打包工具mkisofs
@H_502_30@sudo apt-get install mkisofs
(10)在工作目录的根下执行
@H_502_30@sudo mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -allow-limited-size-o ../ubuntu-bdyun-test.iso .
到这里iso镜像就制作成功了。
光盘刻录和U盘启动盘制作
(1)我使用软碟通刻录成光盘镜像并测试安装成功
(2)使用软碟通制作U盘启动
如果你制作的镜像做成U盘启动时无法启动
(1)可以把上述操作安装的镜像用软碟通打开,复制文件到原镜像(官方镜像)中
根文件下替换:md5sum.txt
filesystem.manifest-remove、filesystem.squashfsfilesystem.size
(2)加入文件后保存,重新制作U盘启动盘,就可安装了