The first project in the Compass Linux
Submitted by blackjack on Fri, 11/28/2008 - 15:26.
项目名称: XFS in CompassLinux
项目目标: 将XFS作为CompassLinux的默认文件系统.
系统平台: Fedora 9 i386
开发工具: Python, Sh,rpm,yum, livecd-tools,GCC.
相关软件: Fedora Kernel, anaconda,
开发周期: 2周
参与人员: blackjack.
请愿意参与的朋友,踊跃报名.
有不完善之处,大家来修补.
这是我们的第一个自主项目,争取打响.
-Jack


初步工作流程
blackjack的初步工作流程:
1)安装 Fedora 9。
2)yum install livecd-tools
3) livecd-creator -c /usr/share/livecd-tools/livecd-fedora-9-desktop.ks -f
Compass-Desktop -t /home/livecd/temp --cache=/home/livecd/cache
制作一张Fedora 9 的LiveCD. 不比修改任何配置。 目的是将所需的rpm包下在到
本地cache.(/home/livecd/cache).
参照:
4) 我家用的电信2MADSL ,一般晚上12点提交任务,第二天起床就好了。以后就可以直接用cache中的RPM,加快进度了。
5) # mkdir /home/livecd/local.repo;
# mkdir /home/livecd/local.repo/RPMS
# cp /home/livecd/cache/released/packages/*.rpm
/home/livecd/local.repo/RPMS
# cp /home/livecd/cache/updates/packages/*.rpm
/home/livecd/local.repo/RPMS
这样就创建了一个本地RPM 库,用于后来的制作。
6)参照:Building Source RPM as non-root under CentOS (
http://www.owlriver.com/tips/non-root/)
创建自己的编译环境
7)下载相应anaconda 的SRPM。
8)rpm -i anaconda-11-xxx.src.rpm
9) cd rpmbuild/SPECS
rpmbuild -bp anaconda.spec
cd ../BUILD/anaconda
vi fsset.py and save
10) cd rpmbuild/BUILD
tar cvf - .|bzip2 > ../anaconda-11-xxx.tar.bz2
cp anaconda-11-xxx.tar.bz2 SOURCES
目的是用新的源码包替换原来的。
11)cd rpmbuild/SPECS
rpmbuild -bc anaconda.spec
会在 rpmbuild/RPMS 内创建三个rpm.
12) rm /home/livecd/local.repo/RPMS/anaconda-11-xxx.rpm
cp rpmbuild/RPMS/anaconda-11-xxx.rpm /home/livecd/local.repo/RPMS
createrepo /home/livecd/local.repo
创建本地的RPM库。
13)vi /usr/share/livecd-tools/livecd-fedora-9-desktop.ks
修改 repo设置
repo --local --baseurl=file:///home/livecd/local.repo
14) livecd-creator -c /usr/share/livecd-tools/livecd-fedora-9-desktop.ks -f
Compass-XFS -t /home/livecd/temp
制作新的LiveCD。
以上只是个人初步探索,希望大家能找到更好的办法来完善。
-Jack
项目进展报告
周末继续学习研究。
1)通过多次尝试,现在将重点放在了Fedora 的安装程序anaconda上。
因为, Fedora 9 DVD版可以在安装时键入Linux XFS 来启用XFS ,
从而在分区时可以选择XFS格式。说明,
在anaconda中有一个叫liveinst的脚本和Live
估计重点就在这里面。
2)对于创建本地软件库有了新认识,前面提到的过程有缺陷,
3)通过google,已经有 叫rpath的发行版,
说明我们的方案是会有结果的,需要坚持。
4)对Linux的启动,anaconda有具体的认识,
5)2周时间估计是来不及,要延长到1个月。
-Jack
遇到大障碍
anaconda的LiveCD模式中采用disk copy的模式,
将LiveCD文件复制到目标根分区。
所以LiveCD的ext3格式就被照搬了。
就算是在安装时选择了XFS,也无法格式化。
目前自己想到的办法是:
1)学习Ubuntu方法,
2)将LiveCD 直接制作成 XFS格式的。
工作量都不小。
-Jack
尝试修改livecd-tools
开始尝试修改livecd-tools的脚本。
同时学习XFS。
需要修改不少Python脚本。