Linux LiveCD 的制作
Knoppix,只需一张光盘, 就能够让我们在任何场所,随心所欲地使用 Linux1, 打破了操作系统只能先安装再使用的传统概念。 Knoppix 最初的设计用途是教学,但由于这项技术很受欢迎,使得 LiveCD 这项技术不断发展, 现在它的应用已经非常广泛,涉及:系统演示、系统急救、网络防火墙、产品宣传、游戏,等等。
虽 然有众多的 LiveCD 供我们挑选,但有时候找一张完全满足个人需要的版本还真是不容易。 不过没关系,因为绝大多数 LiveCD 采用的都是开放源码的自由软件,这让我们完全可以自己动手, 按自己要求制作 LiveCD。这篇文章就是示范如何在已有 LiveCD 的基础上定制符合自己要求的 LiveCD。
2。
- 要有网络浏览器。便于通过 WebMail 查阅邮件。
 - 要能打开 MS Word 和 pdf 格式的文件。
 - 容量不超过 200M,可以刻录到 MiniCD 上,便于携带。
 
Knoppix 是最有名的 LiveCD,估计很多人都会首先想到从它入手,但是 Knoppix 采用 KDE 作为桌面环境, 按照上面最后一项的要求,Knoppix 怎么样都无法裁减到 200M 以内,因此不合适。
经过寻找和比较各种已有的 LiveCD,发现 Morphix 符合要求,它与 Debian,Knoppix 一脉相承,采用模块化设计是它的主要特点, 就是将 LiveCD 的各个部分分解成模块,可以随意组合成不同用途的 LiveCD。 由于可以选择轻量级的桌面管理器,LiveCD 的尺寸能容易控制在 200M 以内。
3 作为基础, 你可以从 SourceForge.net 的 morphix 项目 下载。
# mkdir -p mod/light# module-extract iso/Morphix/mainmod/light.mod mod/light
- 挂载 /proc
# mount --bind -t proc /proc mod/light/proc
 - chroot
# chroot mod/light
 - 添加中文 locale。在下载的 Morphix LiveCD 里面,locale 只有 C 和 POSIX, 所以要修改 /etc/locale.gen 文件,包含下列内容
en_US ISO-8859-1en_US.UTF-8 UTF-8zh_CN GB2312zh_CN.GB18030 GB18030zh_CN.GBK GBKzh_CN.UTF-8 UTF-8
接着执行 locale-gen 命令生成新的 locale。
 - 修改 resolv.conf,联通网络。例如,使用
# echo "nameserver 202.96.134.133" > /etc/resolv.conf
 - 更改默认的 debian 软件包源指向离自己最近的镜像。例如,我使用 cn99 的源
deb http://debian.cn99.com/debian unstable main contrib non-free
 - 更新软件包。按照自己的定制要求,添加和删除软件包。
# apt-get update# apt-get install 一些软件# apt-get remove --purge 不需要的软件# apt-get upgrade# apt-get clean
 - 清理空间。为了方便清理,先安装 deborphan 这个工具,然后用下面命令清理:
# deborphan | xargs apt-get -y --purge remove
 - 清空软件包缓存
# cd /var/lib/apt/lists/# rm -f *# touch lock# cd /var/cache/apt/# rm -f *# cd /var/tmp/# rm -f *
 - 清理其他的空间。为了最大程度地节约空间,可以将 /usr/share/locale 目录下, 不使用语言的 mo 文件删除。另外在 /usr/share/doc, /usr/share/man 下面也有这样的文件, 也可以删除。
 - 更新文件名数据库
# updatedb
 - 恢复配置
# rm /etc/resolv.conf# touch /etc/resolv.conf# umount /proc
 - 压制 MainModule
# module-builder -t ext3 mod/light iso/Morphix/mainmod/light.mod
 
morphix 网站上下载它提供的内核源码。如果已经将 morphix 添加到 source.list,使用 apt-get 就能方便地得到所需的文件。
除了 kernel-source 之外,LiveCD 还需 cloop 和 cowloop 这两个额外的内核模块,cloop 在 Debian 的源里面的 名称为 cloop-src,而 cowloop 则需要到 cowloop 网站下载。
编 译内核的方法和步骤,跟平时一样,可以参阅 Debian 参考手册完成。最后可以生成 deb 包格式,也可以使用 Linux 的普通方式。 morphix 提供了一个脚本 morphix-changekernel 进行内核替换,但它是针对 2.4 的内核, 不能直接用于现在的 2.6 内核,不过我们可以拿它作为参考,了解整个替换过程。
其他需要注意的是,自己编译的内核与模块的 gcc 版本和 体系架构要保持一致,这点可以通过使用 strings 命令查看 vermagic 来确定。
LiveCD 启动时的画面也能定制,可以换成与自己 LiveCD 主题匹配的说明和图像。
启动画面图像保存在 LiveCD 根目录 boot/miniroot.gz 文件里面,将它解压,挂载到一个临时目录
# mkdir -p tmp/miniroot# gzip -d miniroot.gz# mount -o loop miniroot tmp/miniroot
启动时的图像和设置位于 bootsplash 目录,我们可以修改 config 中的配置文件, 也可以直接替换 images 目录下面的文件。
这些图像是以 jpeg 格式保存,但 bootsplash 当前只支持 16bit 色,如果你手头的 jpeg 是 24bit 色, 需要先进行转换处理。
下面是采用 netpbm 软件包里面的工具完成转换工作。
$ jpegtopnm image24.jpg |ppmtojpeg > image16.jpg
定制工作完成以后,用下面命令就可以生成可以启动的 iso 文件
# mkisofs -pad -l -r -J -v -V "SoForge" -b boot/grub/iso9660_stage1_5 \-c base/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table \-hide -rr -moved -o SoForge.iso iso/Morphix
Linux LiveCD 的制作的更多相关文章
- 基于busybox的Linux小系统制作 (initrd)
		
我们有时候有需要在busybox基础上,制作linux,可是却不知道具体怎么做,这里将对基于busybox的linux小系统制作做出详细的步骤说明.准备环境:1.一个Redhat完整系统的虚拟机,本次 ...
 - Linux 最小系统制作
		
Linux 最小系统制作 一.制作工具Busybox 在制作文件系统的时候,我们需要使用“Busybox 工具”,即为附件压缩包“busybox-1.21.1.tar.bz2”.“BusyBox 工具 ...
 - 编译linux kernel及制作initrd ( by quqi99 )
		
编译linux kernel及制作initrd ( by quqi99 ) 作者:张华 发表于:2013-01-27 ( http://blog.csdn.net/quqi99 ) 运行一个l ...
 - Linux LiveCD 诞生记
		
Linux LiveCD 诞生记 650) this.width=650;" onclick='window.open("http://blog.51cto.com/viewpic ...
 - 在Linux系统下制作系统启动盘(Ubuntu Linux)
		
在Linux系统下制作系统启动盘有两种方法: 1.用dd命令 2.用Linux自带的图形界面工具 Startup Disk Creator 本教程使用第2种方式,用Linux自带的图形界面工具制作系统 ...
 - linux使用createrepo制作本地yum源
		
目录 linux使用createrepo制作本地yum源 安装createrepo软件包 进入本地rpm包目录 执行完后可以看到生成的repodata目录 编辑yum配置文件使用 完成,测试使用 关于 ...
 - Linux 下模拟制作块设备并挂载
		
Linux 下模拟制作块设备并挂载 作者:Grey 原文地址: 博客园:Linux 下模拟制作块设备并挂载 CSDN:Linux 下模拟制作块设备并挂载 环境 CentOS-7 下载地址:下载 Cen ...
 - x01.os.23: 制作 linux LiveCD
		
1.首先运行如下命令 sudo apt-get install wget bc build-essential gawk genisoimage 2.下载如下资源,make all 即可 http: ...
 - linux根文件系统制作
		
在嵌入式中移植的内核下载到开发板上,是没有办法真正的启动Linux操作系统的,会出现无法加载文件系统的错误. 那么根文件系统在系统启动中到底是什么时候挂载的呢?先将/dev/ram0挂载,而后执行/l ...
 
随机推荐
- 2877: [Noi2012]魔幻棋盘 - BZOJ
			
DescriptionInput 第一行为两个正整数N,M,表示棋盘的大小. 第二行为两个正整数X,Y,表示棋盘守护者的位置. 第三行仅有一个正整数T,表示棋盘守护者将进行次操作. 接下来N行,每行有 ...
 - MySQL 体系架构
			
MySQL 体系架构 本篇文章是对mysql体系结构进行了详细的分析介绍,需要的朋友参考下 上面一图是mysql的概览图,我们从上往下看, 我们把上面一图一分为二,我们可以吧它分为两个部分, 1,是c ...
 - 【BZOJ】【1833】【ZJOI2010】count 数字计数
			
数位DP Orz iwtwiioi 学习了一下用记忆化搜索来捉题的新姿势……但没学会TAT,再挖个坑(妈蛋难道对我来说数位DP就是个神坑吗……sigh) //BZOJ 1833 #include< ...
 - oracle——分析函数——排序值分析函数
			
一.问题描述 查询列表时,我们有时需要对查询结果依据某个字段进行排名. 如果每条记录在排序字段上都不相同,我们可以将原查询作为一个视图,查询其rownum,便可以实现简单排序,例如: select r ...
 - linux挂载windwos共享文件
			
mount -t cifs -o useaname=***,password=*** //172.16.82.32/test /mnt username,password分别为windows那边允许共 ...
 - PAT-乙级-1050. 螺旋矩阵(25)
			
1050. 螺旋矩阵(25) 时间限制 150 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求将给定的N个正整数按非递增的 ...
 - 想知道吗?CTO 比普通程序员强在哪?
			
互联网的蓬勃发展,让无数的程序员身价水涨船高,都变成了「香饽饽」,更有了不少「创业」,「当上 CTO,迎娶白富美的传说」.都说不想当元帅的士兵不是好士兵,我觉得这件事见仁见智,但提升自己的价值,让自己 ...
 - What is the difference between Views and Materialized Views in Oracle?
			
aterialized views are disk based and update periodically base upon the query definition. Views are v ...
 - C# DataTable转换成DataRow
			
linq中的cast<T>()及OfType<T>() DataTable dt=...........//获取从数据库中取出的数据(假设只有一条记录) //Cast<T ...
 - oracle实现自增列
			
手动创建了一个表格,但是id字段无法实现自增,查看了一下网上的信息,没有找到满意的答案.一下是自己总结摸索的,仅供参考 第一步:手动创建表和列中的字段 (本例中,表明 T_VIDEO,第一个字段:ID ...