|
敲命令太麻烦了,而且容易出错,而使用jhalfs自动编译的话可以无人值守。
这里使用的是lfslivecd-x86-6.2-5.iso的镜像,所有的工具全部包括在这张光盘中了,你不需要去下载别的东东了。
也可以查看我的播客
http://jonsk.cublog.cn/
1、刻盘,启动计算机
2、进入后按回车,输入net-setup设置网络(非必需)
3、设置密码:
passwd root
passwd jhalfs
4、启动SSH(非必需)
5、分区
fdisk /dev/hda 如果不习惯可以使用cfdisk
mkswap /dev/hda1 格式化swap
swapon /dev/hda1 使用swap分区
mkfs.reiser4 /dev/hda2 格式化hda2使用格式是reiser4
mount /dev/hda2 /mnt 吧hda2加到到mnt目录下
6、转到jhalfs用户
# su jhalfs
lfslivecd:jhalfs | Mon Aug 27 10:25:30 2007 | /root
7、转到jhalfs用户下的jhalfs
$ cd
lfslivecd:jhalfs | Mon Aug 27 10:25:33 2007 | ~
$ cd jhalfs-2.1/
lfslivecd:jhalfs | Mon Aug 27 10:25:35 2007 | ~/jhalfs-2.1
8、修改编译优化参数
$ vi /home/jhalfs/jhalfs-2.1/optimize/opt_config.d/O3pipe
以下是O3pipe的内容:
CFLAGS_O3pipe="-O3 -pipe"改成你需要的
CXXFLAGS_O3pipe=$CFLAGS_O3pipe
LDFLAGS_O3pipe="unset"
OTHER_CFLAGS_O3pipe=$CFLAGS_O3pipe
OTHER_CXXFLAGS_O3pipe=$CXXFLAGS_O3pipe
OTHER_LDFLAGS_O3pipe=$LDFLAGS_O3pipe
再改O3pipe_march文件
$ vi /home/jhalfs/jhalfs-2.1/optimize/opt_config.d/O3pipe_march
以下是O3pipe_march的内容:
CFLAGS_O3pipe_march=$CFLAGS_O3pipe" -march=pentium4"改成你使用的CPU类型
CXXFLAGS_O3pipe_march=$CFLAGS_O3pipe" -march=pentium4"同上
LDFLAGS_O3pipe_march=$LDFLAGS_O3pipe
OTHER_CFLAGS_O3pipe_march=$CFLAGS_O3pipe" -march=pentium4"同上
OTHER_CXXFLAGS_O3pipe_march=$CXXFLAGS_O3pipe" -march=pentium4"同上
OTHER_LDFLAGS_O3pipe_march=$LDFLAGS_O3pipe
8、然后开始make
出现以下菜单
--- BOOK Settings --->
Use BOOK (Linux From Scratch) --->选择要编译的类型
(X) Linux From Scratch要编译LFS选择这个
( ) Cross-Compiled Linux From Scratch这个是CLFS
( ) Cross-Compiled Linux From Scratch (Sysroot method)也是CLFS不过还在开发
( ) Cross-Compiled Linux From Scratch (Embedded Systems)貌似嵌入系统的CLFS
( ) Hardened Linux From Scratch HLFS这个是用在安全方面的
( ) Beyond Linux From Scratch BLFS这个大家都知道
Release (Working Copy) ---> 使用哪个版本的BOOK
( ) SVN 最新的BOO,开发中的
(X) Working Copy 稳定版,也是光盘上带的
( ) Branch or stable book 分枝??
(/usr/share/LFS-BOOK-6.2-XML) Loc of working copy (mandatory)选择书的位置,默认的主可以
[ ] Add custom tool support
[ ] Add blfs-tool support
--- General Settings --->常规设置
[ ] Change the default user/group for this build 建立LFS的用户和组,可以不选
(/mnt/build_dir) Build Directory 建立的LFS位置,自己按需要改
Retrieve source files 源的位置
(/lfs-sources) Package Archive Directory 别改,默认就可以
(http://ftp.lfs-matrix.net/) FTP mirror 如果需要下载,使用这个地址下
Always retrieve kernel package (see help)
Run the makefile 退出菜单后直接make
[ ] Rebuild files
--- Build Settings --->
Run testsuites 运行测试,默认是选上的,建议不要取消
Tests level (Only final system Glibc, GCC and Binutils testsuites) ---> 可以选择测试的内容默认的就行了
Flavour (Don't stop on test suite failures) --->
[ ] Use a custom fstab file 使用fstab文件,需要指定fstab文件位置
[ ] Build the kernel 要不要自动编译内核,需要指定内核配置文件的位置
Strip Installed Binaries/Libraries 好像是自动清理调试代码
Install vim-lang package vim的语言支持补丁,建议加上
(GMT) TimeZone 时区
($LANG) Language 语言设置,你在使用光盘启动的时候选择的语言就是你$LANG的内容
Groff page size (letter) --->
--- Advanced Features --->高级设置
Create SBU and disk usage report
[ ] Run comparison analysis on final stage
Use optimization (see help) 使用优化参数
Optimization level (Final system only) --->全部默认就行了
--- Internal Settings (WARNING: for jhalfs developers only) --->
[ ] Rebuild the Makefile (see help)
---
Load an Alternate Configuration File
Save Configuration to an Alternate File
完成后退出程序开始配置
*** End of JHALFS configuration.
Loading config params from <configuration>...OK
Loading common-functions module...
Loading <func_book_parser>...OK
Loading <func_download_pkgs>...OK
Loading <func_wrt_Makefile>...OK
Loading <func_blfs_deps>...OK
...OK
Loading code module <LFS/master.sh>...OK
------------------------------------------------------------------------------
Loading function <func_check_version.sh>...OK
Loading function <func_validate_configs.sh>...OK
Loading function <func_custom_pkgs>...OK
------------------------------------------------------------------------------
KERNEL............ <2.6.16.38>OK
BASH.............. <3.1.17(1)-release> OK
GCC............... <4.0.3> OK
GLIBC............. <2.3.6> OK
BINUTILS.......... <2.16.1> OK
TAR............... <1.15.1> OK
BZIP2............. <1.0.3> OK
COREUTILS......... < 5.96> OK
DIFF.............. <2.8.1> OK
FIND.............. <4.2.27> OK
GAWK.............. <3.1.5> OK
GREP.............. <2.5.1> OK
GZIP.............. <1.3.5> OK
MAKE.............. <3.80> OK
PATCH............. <2.5.4> OK
SED............... <4.1.5> OK
SUDO.............. <1.6.8p12> OK
LIBXML2........... <2.06.26> OK
LIBXSLT........... <1.01.17> OK
------------------------------------------------------------------------------
BOOK.............. </usr/share/LFS-BOOK-6.2-XML>
BUILDDIR.......... </mnt/build_dir>
SRC_ARCHIVE....... </lfs-sources>
==============================================================================
WARNING-- You do not have <write> access to the directory
-- /lfs-sources
==============================================================================
GETPKG............ <y>
RUNMAKE........... <y>
TEST.............. <1>
BOMB_TEST......... <n>
OPTIMIZE.......... <0>
REPORT............ <y>
COMPARE........... <n>
STRIP............. <y>
FSTAB............. <>
CONFIG............ <>
GETKERNEL......... <y>
VIMLANG........... <y>
PAGE.............. <letter>
TIMEZONE.......... <GMT>
LANG.............. <C>
LUSER............. <lfs>
LGROUP............ <lfs>
BLFS_TOOL......... <n>
CUSTOM_TOOLS...... <n>
REBUILD_MAKEFILE.. <n>
*** lfs config parameters look good ***
------------------------------------------------------------------------------
Are you happy with these settings? yes/no (no): yes 确认设置没有问题
------------------------------------------------------------------------------
Loading optimization module...OK
Loading optimization config...OK
WARNING:
The use of build optimizations may be dangerous.
You should know what you are doing and be sure that the
optimization settings listed below are what you want.
If there are build issues or the system doesn't work as
expected, please rebuild without optimizations before
asking for support.
MAKEFLAGS: <-j3>
BLACK_LIST: <autoconf dejagnu gettext groff>
DEF_OPT_MODE: <O3pipe>
CFLAGS: <-O3 -pipe>
CXXFLAGS: <-O3 -pipe>
LDFLAGS: <unset>
OTHER_CFLAGS: <-O3 -pipe>
OTHER_CXXFLAGS: <-O3 -pipe>
OTHER_LDFLAGS: <unset>
Overridden packages:
binutils noOpt
gcc noOpt
glibc noOpt
grub noOpt
zlib defOpt_fPIC
------------------------------------------------------------------------------
Are you happy with these optimization settings? yes/no (no):yes 确认优化参数没有问题,这里没有修改参数
Using /usr/share/LFS-BOOK-6.2-XML as book's sources ...
mkdir: created directory `lfs-commands'
Extracting commands for <LFS> build ...OK
Creating <lfs> list of tarball names for /usr/share/LFS-BOOK-6.2-XML ...OK
Creating LFS specific URLs file ...OK
autoconf-2.59.tar.bz2: -- copied from /lfs-sources
automake-1.9.6.tar.bz2: -- copied from /lfs-sources
bash-3.1.tar.gz: -- copied from /lfs-sources
bash-doc-3.1.tar.gz: -- copied from /lfs-sources
db-4.4.20.tar.gz: -- copied from /lfs-sources
binutils-2.16.1.tar.bz2: -- copied from /lfs-sources
bison-2.2.tar.bz2: -- copied from /lfs-sources
bzip2-1.0.3.tar.gz: -- copied from /lfs-sources
coreutils-5.96.tar.bz2: -- copied from /lfs-sources
dejagnu-1.4.4.tar.gz: -- copied from /lfs-sources
diffutils-2.8.1.tar.gz: -- copied from /lfs-sources
e2fsprogs-1.39.tar.gz: -- copied from /lfs-sources
expect-5.43.0.tar.gz: -- copied from /lfs-sources
file-4.17.tar.gz: -- copied from /lfs-sources
findutils-4.2.27.tar.gz: -- copied from /lfs-sources
flex-2.5.33.tar.bz2: -- copied from /lfs-sources
gawk-3.1.5.tar.bz2: -- copied from /lfs-sources
gcc-4.0.3.tar.bz2: -- copied from /lfs-sources
gettext-0.14.5.tar.gz: -- copied from /lfs-sources
glibc-2.3.6.tar.bz2: -- copied from /lfs-sources
glibc-libidn-2.3.6.tar.bz2: -- copied from /lfs-sources
grep-2.5.1a.tar.bz2: -- copied from /lfs-sources
groff-1.18.1.1.tar.gz: -- copied from /lfs-sources
grub-0.97.tar.gz: -- copied from /lfs-sources
gzip-1.3.5.tar.gz: -- copied from /lfs-sources
iana-etc-2.10.tar.bz2: -- copied from /lfs-sources
inetutils-1.4.2.tar.gz: -- copied from /lfs-sources
iproute2-2.6.16-060323.tar.gz: -- copied from /lfs-sources
kbd-1.12.tar.bz2: -- copied from /lfs-sources
less-394.tar.gz: -- copied from /lfs-sources
lfs-bootscripts-6.2.tar.bz2: -- copied from /lfs-sources
libtool-1.5.22.tar.gz: -- copied from /lfs-sources
linux-2.6.16.38.tar.bz2: -- copied from /lfs-sources
linux-libc-headers-2.6.12.0.tar.bz2: -- copied from /lfs-sources
m4-1.4.4.tar.gz: -- copied from /lfs-sources
make-3.80.tar.bz2: -- copied from /lfs-sources
man-db-2.4.3.tar.gz: -- copied from /lfs-sources
man-pages-2.34.tar.bz2: -- copied from /lfs-sources
mktemp-1.5.tar.gz: -- copied from /lfs-sources
module-init-tools-3.2.2.tar.bz2: -- copied from /lfs-sources
ncurses-5.5.tar.gz: -- copied from /lfs-sources
patch-2.5.4.tar.gz: -- copied from /lfs-sources
perl-5.8.8.tar.bz2: -- copied from /lfs-sources
procps-3.2.6.tar.gz: -- copied from /lfs-sources
psmisc-22.2.tar.gz: -- copied from /lfs-sources
readline-5.1.tar.gz: -- copied from /lfs-sources
sed-4.1.5.tar.gz: -- copied from /lfs-sources
shadow-4.0.15.tar.bz2: -- copied from /lfs-sources
sysklogd-1.4.1.tar.gz: -- copied from /lfs-sources
sysvinit-2.86.tar.gz: -- copied from /lfs-sources
tar-1.15.1.tar.bz2: -- copied from /lfs-sources
tcl8.4.13-src.tar.gz: -- copied from /lfs-sources
texinfo-4.8.tar.bz2: -- copied from /lfs-sources
udev-096.tar.bz2: -- copied from /lfs-sources
udev-config-6.2.tar.bz2: -- copied from /lfs-sources
util-linux-2.12r.tar.bz2: -- copied from /lfs-sources
vim-7.0.tar.bz2: -- copied from /lfs-sources
vim-7.0-lang.tar.gz: -- copied from /lfs-sources
zlib-1.2.3.tar.gz: -- copied from /lfs-sources
bash-3.1-fixes-8.patch: -- copied from /lfs-sources
bzip2-1.0.3-bzgrep_security-1.patch: -- copied from /lfs-sources
bzip2-1.0.3-install_docs-1.patch: -- copied from /lfs-sources
coreutils-5.96-i18n-1.patch: -- copied from /lfs-sources
coreutils-5.96-suppress_uptime_kill_su-1.patch: -- copied from /lfs-sources
coreutils-5.96-uname-1.patch: -- copied from /lfs-sources
db-4.4.20-fixes-1.patch: -- copied from /lfs-sources
diffutils-2.8.1-i18n-1.patch: -- copied from /lfs-sources
expect-5.43.0-spawn-1.patch: -- copied from /lfs-sources
gawk-3.1.5-segfault_fix-1.patch: -- copied from /lfs-sources
gcc-4.0.3-specs-1.patch: -- copied from /lfs-sources
glibc-2.3.6-linux_types-1.patch: -- copied from /lfs-sources
glibc-2.3.6-inotify-1.patch: -- copied from /lfs-sources
grep-2.5.1a-redhat_fixes-2.patch: -- copied from /lfs-sources
groff-1.18.1.1-debian_fixes-1.patch: -- copied from /lfs-sources
grub-0.97-disk_geometry-1.patch: -- copied from /lfs-sources
gzip-1.3.5-security_fixes-1.patch: -- copied from /lfs-sources
inetutils-1.4.2-gcc4_fixes-3.patch: -- copied from /lfs-sources
inetutils-1.4.2-no_server_man_pages-1.patch: -- copied from /lfs-sources
kbd-1.12-backspace-1.patch: -- copied from /lfs-sources
kbd-1.12-gcc4_fixes-1.patch: -- copied from /lfs-sources
linux-2.6.16.27-utf8_input-1.patch: -- copied from /lfs-sources
linux-libc-headers-2.6.12.0-inotify-3.patch: -- copied from /lfs-sources
mktemp-1.5-add_tempfile-3.patch: -- copied from /lfs-sources
module-init-tools-3.2.2-modprobe-1.patch: -- copied from /lfs-sources
ncurses-5.5-fixes-1.patch: -- copied from /lfs-sources
perl-5.8.8-libc-2.patch: -- copied from /lfs-sources
readline-5.1-fixes-3.patch: -- copied from /lfs-sources
sysklogd-1.4.1-8bit-1.patch: -- copied from /lfs-sources
sysklogd-1.4.1-fixes-1.patch: -- copied from /lfs-sources
tar-1.15.1-gcc4_fix_tests-1.patch: -- copied from /lfs-sources
tar-1.15.1-security_fixes-1.patch: -- copied from /lfs-sources
tar-1.15.1-sparse_fix-1.patch: -- copied from /lfs-sources
texinfo-4.8-multibyte-1.patch: -- copied from /lfs-sources
texinfo-4.8-tempfile_fix-2.patch: -- copied from /lfs-sources
util-linux-2.12r-cramfs-1.patch: -- copied from /lfs-sources
vim-7.0-fixes-7.patch: -- copied from /lfs-sources
vim-7.0-mandir-1.patch: -- copied from /lfs-sources
vim-7.0-spellfile-1.patch: -- copied from /lfs-sources
Document version <6.2>
------------------------------------------------------------------------------
Creating Makefile... START
Processing... <Chapter4 ( SETUP ) >
Processing... <Chapter5 ( LUSER ) >
Processing... <Chapter6 ( CHROOT ) >
Processing... <Chapter7/8 ( BOOT ) >
Creating Makefile... DONE
------------------------------------------------------------------------------
Building the system...
make[1]: Entering directory `/mnt/build_dir/jhalfs'
--------------------------------------------------------------------------------
mk_LUSER
You are going to log into the user account lfs
su requires a password
--------------------------------------------------------------------------------
Building target 028-binutils-pass1
[+++++++++++++++++++++++/
开始编译了,如果机器快的话5个小时就可以收工了 |
|