最近LFS(Linux From Scratch)发布了6.5版本。Kernel更新到了6.2.30,GCC更新到了4.4.1。
昨天开始,按照LFS6.5来编译Linux。
LFS需要在Linux上来编译Linux,为此特地安装了Debian5.0.
基本是按照LFS的指示,把命令敲上去就好了。但途中遇到了两个难所。
第一个是5.5节 GCC-4.4.1 - Pass 1。
编译的时候总是遇到错误:
configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES.
Google和IRC都没能帮助找打答案。
最后怀疑是Host gcc自身的问题。把host的gcc从4.3换为4.1后,顺利编译通过。
第二个是AWK解释器的兼容问题。在5.7节Glibc-2.10.1遇到的。
Debian默认的AWK的解释器是MAWK,但是mawk不支持POSIX character classes。google了一下,发现GAWK是可以的。换用GAWK(安装gawk,然后link awk到gawk),重新configure,编译顺利通过。
最后是一个gcc的使用技巧。
现在大家的电脑基本都是双核或者更多了。编译的时候用-jX (x 是core数) 会启用并行编译。会大大的缩短编译的时间。
例如:
% make -j2
(这里是双核CPU)
昨天开始,按照LFS6.5来编译Linux。
LFS需要在Linux上来编译Linux,为此特地安装了Debian5.0.
基本是按照LFS的指示,把命令敲上去就好了。但途中遇到了两个难所。
第一个是5.5节 GCC-4.4.1 - Pass 1。
编译的时候总是遇到错误:
configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES.
Google和IRC都没能帮助找打答案。
最后怀疑是Host gcc自身的问题。把host的gcc从4.3换为4.1后,顺利编译通过。
第二个是AWK解释器的兼容问题。在5.7节Glibc-2.10.1遇到的。
Debian默认的AWK的解释器是MAWK,但是mawk不支持POSIX character classes。google了一下,发现GAWK是可以的。换用GAWK(安装gawk,然后link awk到gawk),重新configure,编译顺利通过。
最后是一个gcc的使用技巧。
现在大家的电脑基本都是双核或者更多了。编译的时候用-jX (x 是core数) 会启用并行编译。会大大的缩短编译的时间。
例如:
% make -j2
(这里是双核CPU)