重新定制 livecd : 以 ubuntu-mini-remix-12.04-amd64.iso 为模板
Tofloor
poster avatar
regulus
deepin
2013-12-30 00:55
Author
给一个制作好的下载链接 http://regulusos.org/public/ubuntu-12.0 ... 229-01.iso

下面是详细绝具体步骤:

挂载ISO,复制出需要的文件
mkdir ~/ISOBUILD
mount -o loop ubuntu-mini-remix-12.04-amd64.iso /media
cp -av /media/*     ~/ISOBUILD
cp -av /media/.disk ~/ISOBUILD
rm -f ~/ISOBUILD/.disk/casper-uuid-generic
umount /media

intrd.lz 的解压重打包
mkdir ~/INTRD && cd ~/INTRD
cp  ~/ISOBUILD/casper/initrd.lz ~/initrd.lzma  
lzma -dkf ~/initrd.lzma
cpio -idv  ~/initrd
cp ~/initrd-new.lz ~/ISOBUILD/casper/initrd.lz

squashfs的重新封装
cd ~/
unsquashfs ~/ISOBUILD/casper/filesystem.squashfs
mount --bind /dev ~/squashfs-root/dev
mount -t proc proc ~/squashfs-root/proc
mount -t sys sys ~/squashfs-root/sys
chroot squashfs-root
各种自定义开始
...
定制结束
exit
mksquashfs squashfs-root ~/ISOBUILD/casper/filesystem-new.squashfs
mv ~/ISOBUILD/casper/filesystem.squashfs /~
mv ~/ISOBUILD/casper/filesystem-new.squashfs ~/ISOBUILD/casper/filesystem.squashfs

生成最终的ISO

执行命令
mkisofs -R -J -l -V 'ubuntu-12.04-base-live' -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ~/ubuntu-12.04-base-live.iso ~/ISOBUILD

关键点
~/ISOBUILD/.disk/casper-uuid-generic
conf/uuid.conf

这两处一定要删除,不然启动的时候 initrd检测的UUID信息和这里定义的不一致,导致filesystem.squashfs挂载失败,肯定启动不了,这是很多网上的文章都没提到,害得我好苦,但是有一点疑惑 我还不知道这个UUID到底是谁的UUID,我没搞懂,欢迎大神指点迷津!

深蓝 QQ:156405189 个人主页:regulusos.org   QQ群:203539920
Reply Favorite View the author
All Replies
cxbii
deepin
2013-12-30 17:26
#1
你这个貌似不是标准的debian的iso生成流程啊
Reply View the author
regulus
deepin
2013-12-30 18:07
#2
是非标准的啊,哪里有标准的debian的iso生成流程,我也想看看,官方的文档都是使用现成的工工具来制作,缺乏可自定义性,我都看不到细节,出了问题半天更是跟踪不出来。
Reply View the author
cxbii
deepin
2013-12-30 18:08
#3
是非标准的啊,哪里有标准的debian的iso生成流程,我也想看看,官方的文档都是
嗯,我在公司内部分享看到了,但是忘记在哪了
不过你去debian的wiki应该也能找到
Reply View the author
Dengshuangjang
deepin
2014-03-12 02:45
#4
小弟倒看清楚字了,但不清楚这样做的意义!!!

这样做有什么好处呢?

可以可以将我现在用的deepin linux(正在使用,已经安装了想要的软件)进行定制呢?我想以后系统出了问题了,再用这个来安装系统或是在其它电脑上安装这个系统,免得再去安装什么软件了,直接像最初安装系统哪样进行安装呢?
Reply View the author
Dengshuangjang
deepin
2014-04-04 01:46
#5
给一个制作好的下载链接 http://regulusos.org/public/ubuntu-12.0 ... 229-01.iso

下面是详细绝具体步骤:

挂载ISO,复制出需要的文件

[quote]mkdir ~/ISOBUILD
mount -o loop ubuntu-mini-remix-12.04-amd64.iso /media
cp -av /media/*     ~/ISOBUILD
cp -av /media/.disk ~/ISOBUILD
rm -f ~/ISOBUILD/.disk/casper-uuid-generic
umount /media

intrd.lz 的解压重打包
mkdir ~/INTRD && cd ~/INTRD
cp  ~/ISOBUILD/casper/initrd.lz ~/initrd.lzma  
lzma -dkf ~/initrd.lzma
cpio -idv  ~/initrd
cp ~/initrd-new.lz ~/ISOBUILD/casper/initrd.lz

squashfs的重新封装
cd ~/
unsquashfs ~/ISOBUILD/casper/filesystem.squashfs
mount --bind /dev ~/squashfs-root/dev
mount -t proc proc ~/squashfs-root/proc
mount -t sys sys ~/squashfs-root/sys
chroot squashfs-root
各种自定义开始
...
定制结束
exit
mksquashfs squashfs-root ~/ISOBUILD/casper/filesystem-new.squashfs
mv ~/ISOBUILD/casper/filesystem.squashfs /~
mv ~/ISOBUILD/casper/filesystem-new.squashfs ~/ISOBUILD/casper/filesystem.squashfs

生成最终的ISO

执行命令
mkisofs -R -J -l -V 'ubuntu-12.04-base-live' -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ~/ubuntu-12.04-base-live.iso ~/ISOBUILD

关键点
~/ISOBUILD/.disk/casper-uuid-generic
conf/uuid.conf

这两处一定要删除,不然启动的时候 initrd检测的UUID信息和这里定义的不一致,导致filesystem.squashfs挂载失败,肯定启动不了,这是很多网上的文章都没提到,害得我好苦,但是有一点疑惑 我还不知道这个UUID到底是谁的UUID,我没搞懂,欢迎大神指点迷津!

深蓝 QQ:156405189 个人主页:regulusos.org   QQ群:203539920[/quote]
Reply View the author
Dengshuangjang
deepin
2014-04-04 02:00
#6
  你这个操作太复杂了,难怪会出错,先将里面的你要修改的解压出来,再用你所谓的方法修改好了,最后把这个东东放回去,我发布的这个系统就是这样弄了,屡试不爽,而且效率还不错。
  我发布的chinux就是这样弄出来的,系统看起来还不错,不过也有问题,不想研究了,这倒不是我的专业。系统要想重新安装到其它电脑就得安装ubiquity,当我把这个软件装好后,可到其它电脑启动时竟变成了Kubuntu的安装引导界面,为什么不是原系统的引导界面?
  我是三步搞定,一:解压;二:修改系统;三:重装封装。
  四:记录,安装。
  我想深度肯定有自己的打包方式,如果天天都这样去拆解,重装,那好烦人哦!不光要招架不住,电脑也被折腾得受不了。
  可ubuntu公布的就只有这几种方法,不知道为什么这么保守?
  ubuntu builder uck remaster这几种方法我还没成功过!有时还下载不下来,有时能下载却安装不上去,不知道是不是我英语不好?还是运气太差了。
Reply View the author
regulus
deepin
2014-04-04 08:08
#7
live-build 是专门的工具,后来研究了一下,还没整理,live-build 甚至包换CGI页,可以让用户按照有限的自己定义生成ISO!
Reply View the author
leehom
deepin
2014-07-21 17:57
#8
用这个脚本就可以了。很方便。
https://github.com/clh021/lub

会在home/remastersys/文件夹中生成目录,这是为了适应remastersys软件使用者(remastersys备份成更易启动的iso再使用本脚本恢复系统),你也可以用来存放不用备份的内容的(比如体积较大的绿色软件,不用安装的,解压即可运行的,还有别的电影,还有就是往期的备份,我会存放多个备份方便恢复,我会把的我的备份隔一段时间同步到我的其它电脑中。)

完全兼容 deepin2013
Reply View the author