海派开源潮流社区

一起参与开源.共同打造海派开源潮流社区(Kernel/Fedora/CentOS/Perl/Drupal)

The first project in the Compass Linux

项目名称:  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格式。说明,

Fedora的Kernel已经支持XFS
在anaconda中有一个叫liveinst的脚本和LiveCD安装模式。
估计重点就在这里面。
2)对于创建本地软件库有了新认识,前面提到的过程有缺陷,具体会在别的邮件中说明。
3)通过google,已经有 叫rpath的发行版,解决了XFS在anaconda中的问题,
说明我们的方案是会有结果的,需要坚持。
4)对Linux的启动,anaconda有具体的认识,也算是收获。
5)2周时间估计是来不及,要延长到1个月。目标调整为先实现与Ext2/Ext3共存。

-Jack

遇到大障碍

anaconda的LiveCD模式中采用disk copy的模式,
将LiveCD文件复制到目标根分区。
所以LiveCD的ext3格式就被照搬了。
就算是在安装时选择了XFS,也无法格式化。
目前自己想到的办法是:
1)学习Ubuntu方法,

修改anaconda的LiveCD安装脚本。
2)将LiveCD 直接制作成 XFS格式的。
工作量都不小。

-Jack

尝试修改livecd-tools

开始尝试修改livecd-tools的脚本。

同时学习XFS。

需要修改不少Python脚本。

Reserved by www.17LAMP.net