一直想深入学习一下Linux系统的定制,不过一直没有找到切入点,现在,我觉得可以开始了。
我准备学习一下Puppy Linux之父Barry Kauler的woof定制轻量级LiveCD的过程。想定制一款这样的一款LiveCD。
1,从儿童教育的应用出发,把GCompris、Tux4kids两款教育软件定制进LiveCD;
2,定制的系统要充分本地化,尽量不出现英文界面和命令行操作,做到就算是儿童一人在的时候也能使用;
3,系统可以方便的在CDROM、U盘上运行,可以拷贝在硬盘上运行,针对老旧电脑可以安装在硬盘上运行,可以在虚拟机中运行;
4,可以在基础系统上做到模块化的系统构建,例如,可以容易的去掉针对2~10岁儿童的教育套件,换成针对初中或高中的教育套件或换成针对老师或广告设计或多媒体播放的组件;
5,系统的定制不应太过于手工作坊式的操作,例如,原来的puppy的制作,用Barry Kauler的原话就是“ For example, the Puppy3 series is based on Slackware binary
packages. However, I did every step manually, creating each PET package
virtually file-by-file, and then spent several months getting it right
before a final release.”(摘自: http://bkhome.org/woof/ )。当然,现在的Puppy包的制作如何进行还没有深入学习,不过,看来也不是那么轻易就能够完成的,例如:一款基于原来EduPuppy的Hansamben http://www.murga-linux.com/puppy/viewtopic.php?t=49124 LiveCD的制作,看起来就特别像是手工制作。
http://puppy.cnbits.com/node/1371 中文Puppy Linux开发者之家的朋友给了中肯的交流。
决定开始 LFS 的学习:
http://www.learndiary.com/home/space-1-do-blog-id-3668.html Linux系统定制深入学习计划
http://www.learndiary.com/home/space-mtag-tagid-11.html 兴趣联盟 - LFS学习
又一点想法:
1、在系统启动时,以一个菜单供用户选择要进入的应用模块;
2、应用模块可以是一个程序,一组针对应用的程序套件;
3、系统的模块分层:如:基本系统,X模块,多媒体支持模块,教育模块,等等。如 GCompris 需要这4个模块的叠加组合;在基本系统、X模块、网络模块的叠加可以组成上网浏览专用应用;在基本系统+系统维护套件(分区、备份等等)可以组成系统维护应用;等等;
4、在一个平台的基础上应能以应用为目的而方便扩展。