免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5142 | 回复: 3

定制ubuntu desktop livecd 自己做发行版 (zz) [复制链接]

论坛徽章:
3
CU大牛徽章
日期:2013-05-20 10:43:41CU大牛徽章
日期:2013-05-20 10:44:06CU大牛徽章
日期:2013-05-20 10:44:16
发表于 2012-02-13 10:33 |显示全部楼层
最近看到论坛很多朋友抱怨: 每次重装ubuntu之后,都要重复安装中文支持,配置系统等工作。如果能定制ubuntu的livecd,事先把这些工作做了,就可以省下不少时间了。
这可以通过定制ubuntu-livecd的iso来实现,为什么不选alternate,先看它们的区别:
ubuntu-8.04-alternate-i386.iso VS ubuntu-8.04-livecd-i386.iso
alternate里面是一大堆的按顺序排列的包,安装时可以选择desktop,server,然后根据选择安装不同的包。
livecd里面最大的文件是一个文件系统映像,即filesystem.squashfs,其实就是squashfs格式的压缩包。
下面以 ubuntu-8.04-desktop-i386.iso为例,在ubuntu-804测试通过:
1。 取出iso里面的所有内容
代码:
sudo mkdir  oldiso   newiso
sudo mount  ubuntu-8.04-desktop-i386.iso  oldiso  -o  loop
sudo  cp  oldiso/*   newiso/     -rp
sudo  umount  oldiso
这个时候,newiso里面就是原来iso的全部内容。
2。 解压filesystem.squashfs,必须解压到linux分区, 它位于newiso/casper/filesystem.squashfs
代码:
sudo unsquashfs newiso/casper/filesystem.squashfs
耐心等待,解压出来是一个squashfs-root目录,大小约是原来的3倍左右,新安装的系统是不是差不多是这个大小呢?
3。开始定制系统
代码:
sudo cp /etc/resolv.conf   squashfs-root/etc   
sudo  chroot  squashfs-root     
默认的shell可能是sh,输入/bin/bash 就可以了, 这时候可以像在正常系统一样,用apt-get等命令,当然没有图形界面。
有些程序需要proc,所以这里先挂载上。
代码:
mount none  /proc   -t proc
代码:
apt-get  update
sudo apt-get  install  language-pack-gnome-zh  language-pack-zh   ttf-arphic-uming  ttf-wqy-zenhei  ## 安装中文支持,和中文字体
.......
还有用apt-get 删除不用的软件,例如oo,游戏等就不多说了,最后记得
代码:
apt-get clean     ##删除文件列表包
autoremove    ##删除旧版本包
rm   /etc/resolv.conf   
umount  /proc
搞定之后,按ctrl+d 退出系统!!!
4.生成安装软件列表
sudo chroot squashfs-root dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee newiso/casper/filesystem.manifest
sudo cp -v newiso/casper/filesystem.manifest{,-desktop}
5. 重新压缩映像。
删掉原来newiso/casper/filesystem.squashfs,还是先备份吧。。
sudo mksquashfs squashfs-root newiso/casper/filesystem.squashfs ##等待一段时间

复制代码

6. 编辑diskdefines,这里定义一些版本信息。
nano newiso/README.diskdefines
$ cat README.diskdefines
#define DISKNAME Ubuntu 8.04.1 "Hardy Heron" - Release i386
#define TYPE binary
#define TYPEbinary 1
#define ARCH i386
#define ARCHi386 1
#define DISKNUM 1
#define DISKNUM1 1
#define TOTALNUM 0
#define TOTALNUM0 1
7. 生成各个文件的md5值.
sudo -s
(cd newiso & find . -type f -print0 | xargs -0 md5sum > md5sum.txt)
exit

复制代码

8. 重新制作iso
cd newiso
sudo mkisofs -r -V "my ubuntu" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o "../myubuntu-804-livecd-iso" .
cd ../ ### 这才是最重要的

复制代码

定制好的iso文件是:myubuntu-804-livecd-iso, 先用虚拟机器试试吧。。 kvm/qemu用以下命令:
sudo kvm -cdrom myubuntu-804-livecd-iso -localtime -m 300 ##300是分配的内存

复制代码

我还写过一个帖子,把当前使用的ubuntu做成livecd/usb,上述步骤只是它的一个部分。从中可以看出制作基于ubuntu发行版的思路来。
http://www.inlsd.org/forum/viewtopic.php?t=355

  

注:debian提供一套制作安装cd的机制,有些区别。个人不喜欢livecd,alternative cd 是好东西。u910在公司的破机器上有问题,需要禁用915G的modesetting特性。一般用户如果遇到那种问题,用livecd是死也装不上的。 boot选项需要加上 i915.modset=0;安装完的kernel参数也同样需要修改。grub2刚刚接触,还很不熟。

论坛徽章:
13
巨蟹座
日期:2013-10-30 18:29:4115-16赛季CBA联赛之青岛
日期:2019-01-04 17:30:1015-16赛季CBA联赛之天津
日期:2016-03-08 10:30:1715-16赛季CBA联赛之天津
日期:2015-12-10 15:56:452015年亚洲杯之约旦
日期:2015-03-09 16:29:36双鱼座
日期:2014-11-27 17:17:20寅虎
日期:2014-11-18 13:55:12双子座
日期:2014-03-31 15:41:32狮子座
日期:2014-03-14 11:23:24狮子座
日期:2014-02-19 16:30:12午马
日期:2013-11-04 23:22:31卯兔
日期:2013-10-30 19:51:15
发表于 2012-12-17 11:21 |显示全部楼层
谢谢分享  不错

论坛徽章:
0
发表于 2012-12-17 17:10 |显示全部楼层
如何让自己搭建的系统,安装时能够选择分区,时区

论坛徽章:
0
发表于 2013-09-04 21:47 |显示全部楼层
领教了,最近在研究 gentoo ,想做一个自己专属的Linux系统
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP