Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1819965
  • 博文数量: 473
  • 博客积分: 13997
  • 博客等级: 上将
  • 技术积分: 5953
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-22 11:52
文章分类

全部博文(473)

文章存档

2014年(8)

2013年(38)

2012年(95)

2011年(181)

2010年(151)

分类: LINUX

2010-02-02 19:23:04

Ubuntu Live CD 的确非常方便,但也有不足之处,要用到的软件里面没有,用
不到的反而有。那有没有办法修改一下呢?自己定制一个 Live CD?答案是肯定
的。
下面我们就来讲解一下如何定制 Live CD 吧。
准备工作:(在定制前我们得准备如下的工具)
1. 可运行的 Ubuntu 系统
2. Ubuntu Live CD 光盘或映像文件
3. mksquashfs 软件
4. mkisofs 软件
5. 8GB 左右的EXT3 分区磁盘空间
6. 虚拟机软件(VMware)
7. 网络连接(速度要快)
在准备好这些以后,我们就可以开始定制了。
定制系统:
1. 新建一个工作目录,要保证这个工作目录有8GB 左右的磁盘空间。
# mkdir workdir
# cd workdir
2. 新建一个名为 cd 的目录用来挂载光盘或光盘映像文件,在工作目录内。
# mkdir cd
3. 挂载 cd 或 映像文件。
CD: # mount /dev/cdrom cd
映像文件: # mount -o loop ubuntu-desktop-i386.iso cd
4. 新建一个名为 newcd 的目录,在工作目录内。
# mkdir newcd
5. 复制 cd 目录中的文件到 newcd 目录中。
# cp -a cd/* newcd/
6. 删除 newcd/casper/filesystem* 文件。
# rm newcd/casper/filesystem*
7. 新建一个名为 s 的文件夹,用来挂载根分区映像,在工作目录内。
# mkdir s
8. 挂载根分区映像。
# mount -o loop -t squashfs cd/casper/filesystem.squashfs s
9. 新建一个名为 edit 的文件夹,用来作为新的根分区编辑目录,在工作目
录内。
# mkdir edit
10. 复制根分区文件到新根分区。
# cp -a s/* edit/
11. 配置好网络连接
12. 配置好速度最快的源服务器
13. 将 /etc/resolv.conf 文件复制到 workdir/edit/etc/ 目录中
# cp /etc/resolv.conf edit/etc/
14. 将 /etc/apt/source.list 文件复制到 workdir/edit/etc/apt/ 目录中
# cp /etc/apt/resolv.conf edit/etc/apt/
15. 切换根目录
# chroot edit
16. mount /proc 和 /sys 在新根目录中。
# mount -t proc none /proc
# mount -t sysfs none /sys
17. 设置环境变量 HOME
# export HOME=/root
18. 安装、删除软件包,这里的 PACKAGE_NAME 根据自己的实际情况。
# apt-get install PACKAGE_NAME // 安装新软件包
# apt-get remove PACKAGE_NAME // 删除旧软件包
19. 清除缓存软件包和临时目录。
# apt-get clean
# rm -rf /tmp/*
20. umount /proc 和 /sys。
# umount /proc
# umount /sys
21. 退出编辑根目录。
# exit
22. 删除 edit/etc/resolv.conf edit/etc/apt/sources.list edit/root,并复制新的
/root。
# rm edit/etc/resolv.conf edit/etc/apt/sources.list
# rm -r edit/root
# cp -a s/root edit/
23. 将新根目录打包成映像文件。
# mksquashfs edit newcd/casper/filesystem.squashfs
24. 生成 filesystem.manifest 和 filesystem.manifest-desktop
# chroot edit dpkg-query -W –showformat='${Package} ${Version}\n' > newcd/casper/filesystem.manifest
# cp newcd/casper/filesystem.manifest
newcd/casper/filesystem.manifest-desktop
25. 生成MD5 校验文件
# rm newcd/md5sum.txt
# cd newcd && find . -type f -print0 | xargs -0 md5sum > md5sum.txt
26. 生成光盘 ISO 映像文件。
# mkisofs -r -V “Ubuntu Live Custom” -b isolinux/isolinux.bin -c
isolinux/boot.cat -cache-inodes -J -l -no-emul-boot -boot-load-size 4
-boot-info-table -o ../Ubuntu-Live-Custom.iso .
基本的定制过程就这些,是不是很简单啊。一些细节的东西,就要自己动手修改
配置文件了,如 GDM 的配置文件,GNOME 的配置文件等。都要自己用文本
编辑器修改的,没有图形化的方法。这就要求对 Ubuntu 的配置文件相当熟悉了。
好了,大家就去实验一下吧,祝你成功!



#######################################

二十一世纪到了,每个人都强调自己的个性,于是一种叫做DIY 的东西悄然兴
起。
操作系统作为全人类智慧的结晶,自然DIY 起来难度极大,因而DIY 出一个操
作系统成就感绝对比买宜家的东西的成就感大。
为了不至于从头开始编写一个操作系统,我们当然把采用现成的操作系统作为一
个底线。
当然,我们可以通过LFS 让我们爽到底,但是,能够做到LFS 的人可真的是凤
毛麟角。而且更重要的是LFS 简直在挑战我的忍耐程度。
我的这篇文章,教大家如何DIY 一个自己的ubuntu 发行版。在非常节省时间的
情况下,达到耍酷的目的。
就好比LFS 一样,我们需要一个创作基地。我们首先建立一个变量。建立这个
变量的好处很明显,即使你不用~/diy_ubuntu 这个目录,一样可以照着这个文章
继续做下去。
$ export WORK=~/diy_ubuntu
$ mkdir -p $WORK
然后我们把光盘镜像文件挂到/mnt
$ sudo mount -t iso9660 -o loop dapper-live-i386.iso /mnt
$ cd $WORK
复制文件光盘文件
$ mkdir ubuntu-livecd
$ cp -a /mnt/. ubuntu-livecd
$ chmod -R u+w ubuntu-livecd
$ sudo umount /mnt
由于光盘中包含了很多[wiki]windows[/wiki]下面的自由软件,我们来把不必要的
文件删除。当然你可以保留。
$ rm -rf $WORK/ubuntu-livecd/programs
把光盘中的压缩文件挂起来,这个样子以后你可以在$WORK/old 目录中看到一
个完整的[wiki]linux[/wiki]操作系统的目录。
$ mkdir $WORK/old
$ sudo mount -t squashfs -o loop,ro
$WORK/ubuntu-livecd/casper/filesystem.squashfs $WORK/old
我们建立一个2GB 大小的文件系统,然后把这个文件当作一个设备文件格式化,
结果系统给出了一个警告,别理会它,选择是就是。
$ sudo dd if=/dev/zero of=$WORK/ubuntu-fs.ext2 bs=1M count=2147
$ sudo mke2fs $WORK/ubuntu-fs.ext2
然后我们把这个空文件系统挂起来。
$ mkdir $WORK/new
$ sudo mount -o loop $WORK/ubuntu-fs.ext2 $WORK/new
复制linux 操作系统的文件.由于我们事先得到的linux 是压缩的,所以我们把它
解压了。
$ sudo cp -a $WORK/old/. $WORK/new
当然现在$WORK/old 就没有用处了。废掉它
$ sudo umount $WORK/old
我们首先进入刚才得到的那个操作系统
$ sudo cp /etc/resolv.conf $WORK/new/etc/
$ sudo mount -t proc -o bind /proc $WORK/new/proc
$ sudo chroot $WORK/new /bin/bash
现在你就进入系统了,高喊linux for human beings,大炼ubuntu,想干什么就干
什么。
# vi /etc/apt/sources.list #选择适合你的源
# apt-get update
# apt-get dist-upgrade
# apt-get install 你想装的软件
# apt-get clean
.... #更多的配置
最后离开你的那个操作系统
# exit
$ sudo umount $WORK/new/proc
$ sudo rm $WORK/new/etc/resolv.conf
现在你已经回到了你的初始状态中
把manifest 重新整一遍
$ sudo chroot $WORK/new dpkg-query -W --showformat='${Package} ${Version}\n'
> $WORK/ubuntu-livecd/casper/filesystem.manifest
然后做一下“磁盘清理”
$ sudo dd if=/dev/zero of=$WORK/new/dummyfile
$ sudo rm $WORK/new/dummyfile
重新压缩系统
$ sudo rm $WORK/ubuntu-livecd/casper/filesystem.squashfs
$ cd $WORK/new
$ sudo mksquashfs . $WORK/ubuntu-livecd/casper/filesystem.squashfs
你的改动都保存了。现在把$WORK/new 废掉
$ cd $WORK
$ sudo umount $WORK/new
把文件的md5 重新算一下
$ cd $WORK/ubuntu-livecd
$ sudo find . -type f -print0 |xargs -0 md5sum |sudo tee md5sum.txt
建立光盘镜像,命令很长,忍受着点。
$ cd $WORK
$ sudo mkisofs -o ubuntu-new.iso -b isolinux/isolinux.bin -c isolinux/boot.cat
-no-emul-boot -boot-load-size 4 -boot-info-table -r -V "My Cool Ubuntu Live CD"
-cache-inodes -J -l ubuntu-livecd
然后你就可以用iso 把光盘烧了
阅读(1353) | 评论(0) | 转发(0) |
0

上一篇:Tcl 中文教程

下一篇:Windows 系统文件详解

给主人留下些什么吧!~~