|
发表于 2008-1-8 03:40:43
|
显示全部楼层
Post by updavy;1804201
谢谢:)
svn 是什么?
我手头只有lfs livecd 6.2-5
用这个cd作那种clfs好呢?(clfs应该没有专门的livecd吧)
svn的就是开发版本。用的是最新的源码包,包括内核(非测试版本)。
这里说的 svn 专指CLFS的手册中的 svn 版本。CLFS中使用的源码包都是正式发布版本,svn版的手册每几天或一星期左右会修改一次。
GNU/Linux发行版:
Slackware的32位版 , echo $MACHTYPE 输出结果为 i486-xxx-linux-gnu ,uname -m 不记得了。
openSUSE 的32位版,echo $MACHTYPE 输出结果为 i586-suse-linux-gnu , uname -m 输出为 i686 。
Fedora 的32位版,echo $MACHTYPE 输出结果为 i386-xxx-linux-gnu , uname -m 输出为 i686 。
所以,我想这里的几种系统架构还是有关系的,虽然我并不清楚什么叫“架构”。
因为我没有 i586 或更老的机器,也无法试验我做的 i686 能不能在 i586 的机器上使用。如果你有兴趣可以试试 i686 的拷贝到 i586的机器上能不能正常运行?
livecd 用 lfslivecd 就可以了,只要满足开发环境的要求。
一般 LFS 或 CLFS 手册的首页都有个 Host System Requirements 的。如果是做CLFS,只要这些开发工具的版本不是过旧或过新的就成。至于主系统的系统架构,以及内核是x86 的32位或64位等均无特别要求。
http://cross-lfs.org/view/svn/x86
http://cross-lfs.org/view/svn/x86/prologue/hostreqs.html
lfslivecd-6.2-5 应该还能够胜任。
你只需要下载手册和需要的文件就可以了:
下载x86手册:
mkdir -v CLFS
wget -rcnp cross-lfs.org/view/svn/x86
读手册:
lynx cross-lfs.org/view/svn/x86/index.html
下载 需要的文件:
http://cross-lfs.org/files/wget/svn
上面这个链接中 all.list 是所有的链接列表(含 x86 , x86_64 , x86_64-64 以及 MIPS 的 32/64bit 等等)。其实,x86 以及 x86_64 ,x86_64-64 和 MIPS 等,他们需要的源码包相差只有几个,差别较多的是补丁(主要用于制作交叉编译环境),所以不妨选all.list一并下载了。
wget -c http://cross-lfs.org/files/wget/svn/all.list
查看这个 all.list
more all.list
备份一份,因为准备修改它,防出错:
cp -av all.list{,_bak}
将 all.list 文件中的所有以 http: 和 ftp 开头的替换为 wget -c http: 或 wget -c ftp:
sed -i 's@http wget -c http g' all.list
sed -i 's@ftp wget -c ftp g' all.list
创建存放 svn 软件包的目录
mkdir -v svn
cd svn
sh ../all.list
上面的软件包也可以在 cross-lfs.org/files/packages/svn 中下载到。
另外,gpm这个控制台下的鼠标,需要 linux-headers-2.6.22.6 或更新的内核头文件。而现在的内核头文件是从内核源代码中提取的。
解决,新版本内核头文件gpm编译不通过的问题:
临时换 2.6.22.6 的头文件
在 CLFS 完成基础系统之后,如果需要编译 gpm 可以这样做:
mv -v /usr/include{,_$(uname -r)}
cp -av /usr/include{_$(uname -r),}
安装 linux-headers-2.6.22.6 覆盖 cp -av 的头文件目录:
文件的下载链接在先前版本比如 2.0 中找,或在 cross-lfs.org/files/packages/ 找
wget -c http://cross-lfs.org/files/packages/sysroot-0.0.1/linux-headers-2.6.22.6-09032007.tar.bz2
tar xvf linux-headers-2.6.22.6-09032007.tar.bz
cd linux-headers*
install -dv /usr/include
cp -av include/{asm-generic,linux,mtd,scsi,sound} /usr/include/
cp -av include/asm-i386 /usr/include/asm
如上法安装 2.6.22.6 的内核头文件之后可以编译 gpm 了,编译完gpm这个控制台下的鼠标支持之后,再换回先前的新版本内核头文件:
将现在的改名,后面加上 _2.6.22.6 版本号:
mv -v /usr/include{,_2.6.22.6}
再将先前的改加来:
mv -v /usr/include{_$(uname -r),}
如有软件编译不能通过,仍然可以用较旧的内核头文件,或更旧的。 |
|