+ -
当前位置:首页 → 问答吧 → 使用jhalf-2.3.1创建LFS完整过程

使用jhalf-2.3.1创建LFS完整过程

时间:2008-07-31

来源:互联网

目前网上关于用jhalfs-2.3.1建立LFS的文章相当罕见。。。但俺只有两张livecd 分别是:lfslivecd-x86-6.3-r2160.iso和 lfslivecd-x86-6.3-r2145.iso ,那时下载时随便找个新版本就下载了,后来才发现,天啊,文档缺啊,这两个是新版本呢。。。幸好找到了 LFS-BOOK-6.3-rc1-HTML文档和飞豹大侠的《 手把手教你如何建立自己的Linux系统 第二版》。。。前天手动完成了第一个mylinux,哈哈,高兴,好像镜镜姐姐说的:高兴得在被窝里也偷笑。。。
但想要是用jhalfs-2.3.1,怎么做呢,于是漫开了探索的步伐。。。(建议初学者不要用这种方法)
下面是详细过程,好像手把手那么详细了,不用急。。开始吧
准备好lfslivecd-x86-6.3-r2160.iso 从vmware下启动,提示:Number of processors可以选two(若你想快点),内存呢,四五百M分得出吧,,选LIS logic(我选这个,不知可以选BUS logic?可以试试,告诉我哦。。o(∩_∩)o...),我用IDE,听说选scsi也可以,但配置内核时要记得选支持SCSI的选项哦,具体后面再说。。)
1、进入可以一直回车直到命令行出现
2、设置密码(执行jhalfs前最好设置一下密码)
passwd root
passwd jhalfs
3分区:
命令cfdisk /dev/hda
看到什么了呢。。
分吧,我分为hda1:6000(/)和hda2:2000(swap)
mkswap /dev/hda2 格式化swap
mke2fs /dev/hda1 格式化hda1使用格式是ext3
swapon /dev/hda2 使用swap分区
export LFS=/mnt/lfs
mkdir –pv $LFS
mount /dev/hda1 $LFS 把hda1加到到mnt目录下
mkdir –pv $LFS (lfs必须在jhalfs设置时和这里保持一致)
chmod -v a+wt /mnt/lfs
chown -v jhalfs /mnt/lfs (这个很重要否则jhalfs提示没有写权限)

$LFS/tools/不用创建,jhalfs会自动创建
注意也不用创建lfs帐户了,jhalfs会处理
4、转到jhalfs用户
# su jhalfs
5、转到jhalfs用户下的jhalfs
$ cd
$ cd jhalfs-2.3.1
6、修改编译优化参数(可选)
改O3pipe_march文件
$ vi /home/jhalfs/jhalfs-2.1/optimize/opt_config.d/O3pipe_march
以下是O3pipe_march的内容:
CFLAGS_O3pipe_march=$CFLAGS_O3pipe" -march=pentium4"改成你使用的CPU类型 如我的是amd的则(athlon-xp)
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
(唐师父说:按esc键,接着输入冒号:,在冒号后面输入wq,回车退去。)

7、然后开始执行 make或者time make (。。你的眼睛是否在转呢。。不是贼溜溜的,是雪亮的。。哈哈o(∩_∩)o...)

出现以下菜单(注红线标注的地方是值得注意的地方,其他地方默认设置都可以了)
--- 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位置,自己按需要改 (这里设置/mnt/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 要不要自动编译内核,需要指定内核配置文件的位置,一般没有设定好的配置文件不要选择此项,jhalfs执行完毕后自己编译内核
[*] Strip Installed Binaries/Libraries 好像是自动清理调试代码
[*] Install vim-lang package vim的语言支持补丁,建议加上

(GMT) TimeZone 时区 我的是(Asia/Shanghai)

($LANG) Language 语言设置,你在使用光盘启动的时候选择的语言就是你$LANG的内容 镜镜姐姐推荐en_US.UTF8

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

完成后退出程序开始配置

余下的过程都是自动化的,耐心等待完成即可,一般不会出现错误!

去休息一下吧,唐师父说,andy 那时在唱《布拉格广场》,之后他也跟着唱起来了:
A a fu shou a a fu shou yap so so sory so so so …还跳着舞旋转。。。o(∩_∩)o…

开始编译了,我在VM上干的,一点开始,到六点多就收工了

执行完毕后会看到以下信息

To be able to boot your new system you need to follow the next steps:

- Enter to the chroot using the command found in the section

- Entering the Chroot Environment - except if building CLFS with METHOO=boot.

- Set a password for the root user
。。。。。。。。
If you are an experienced LFS user, several of those steps can be skipped or done in
a different way. But then, that is something that you already know and there is no
need to discuss it here.
Have a nice day :-)
至此,你的LFS半成品就可新鲜出炉了。我们还得进行最后的收尾工作!

下面的过程就很重要了,一般在网上也找不到文档,由于jhalfs是自动化过程,所以执行完毕后也不知道到哪一步了,网上说直接执行到第7章了其实也不全面,jhalfs除了内核没有编译(如果你有配置文件也可以选择让jhalfs执行),bootstrip的安装也完成了,剩下的工作就是配置、编译内核、设置grub,如果这个过程没有问题就大功告成了!我的军队,前进。。。哈哈。。
1、 Jhalfs执行完毕后处于jhalfs用户的状态,执行一下代码:exit
是不是回到root了呢。。
2 1) mount --bind /dev /mnt/lfs/dev (这个非常重要,关系到grub能不能找到设备,这个要在进入chroot环境之前做
2)加载必要的文件系统
mount -vt proc proc $LFS/proc
mount -vt sysfs sysfs $LFS/sys
mount –vt devpts devpts $LFS/dev/pts
mount –vt tmpfs shm $LFS/dev/shm
3)Chroot到目标系统下
chroot "$LFS" /usr/bin/env -i \
HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin \
/bin/bash --login
好啦,看到什么了。。。呵呵。。那很好哦。。go on
3 设定root password
passwd root
(下面的操作就和《手把手教你如何建立自己的Linux系统 第二版》后面部分的差不多相同了)
4时间设置(Configuring the setclock Script)
代码:
cat > /etc/sysconfig/clock << "EOF"
# Begin /etc/sysconfig/clock
UTC=1
# End /etc/sysconfig/clock
EOF
5设置bash下的键盘功能键设置
代码:
cat > /etc/inputrc << "EOF"
set horizontal-scroll-mode Off
set meta-flag On
set input-meta On
set convert-meta Off
set output-meta On
set bell-style none
"\eOd": backward-word
"\eOc": forward-word
"\e[1~": beginning-of-line
"\e[4~": end-of-line
"\e[5~": beginning-of-history
"\e[6~": end-of-history
"\e[3~": delete-char
"\e[2~": quoted-insert
"\eOH": beginning-of-line
"\eOF": end-of-line
"\e[H": beginning-of-line
"\e[F": end-of-line
EOF
6设置Bash Shell启动文件(The Bash Shell Startup Files)
代码:
cat > /etc/profile << "EOF"
# Begin /etc/profile
export LANG=zh_CN.UTF-8
export INPUTRC=/etc/inputrc
alias ls="ls --color"
export PS1='\u:\w\$ '
# End /etc/profile
EOF
7设置本地网络名
代码:
echo "HOSTNAME=mylinux" > /etc/sysconfig/network
8
设置hosts文件
代码:
cat > /etc/hosts << "EOF"
# Begin /etc/hosts (no network card version)
127.0.0.1 mylinux localhost
# End /etc/hosts (no network card version)
EOF
9设置网络的静态地址
代码:
cd /etc/sysconfig/network-devices &&
mkdir -v ifconfig.eth0 &&
cat > ifconfig.eth0/ipv4 << "EOF"
ONBOOT=yes
SERVICE=ipv4-static
IP=192.168.1.1
GATEWAY=192.168.1.2
PREFIX=24
BROADCAST=192.168.1.255
EOF
注意:IP、GATEWAY、BROADCAST的地址根据自己的实际情况设置。
10设置DNS
代码:
cat > /etc/resolv.conf << "EOF"
# Begin /etc/resolv.conf
nameserver 你的首个DNS的地址
nameserver 你的第二DNS的地址
# End /etc/resolv.conf
EOF
(中国的是:202.101.98.53 OR 202.101.98.54,应该不会改吧,呵呵。。)
11建立fstab文件
代码:
cat > /etc/fstab << "EOF"
# Begin /etc/fstab
# file system mount-point type options dump fsck
# order
/dev/hda1 / ext3 defaults 1 1
/dev/hda2 swap swap pri=1 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
devpts /dev/pts devpts gid=4,mode=620 0 0
shm /dev/shm tmpfs defaults 0 0
# End /etc/fstab
EOF
镜镜姐姐提醒:(请注意硬盘设备号!一定要按照自己的分区设置,不要照抄青铜镜的!要不你的系统会起不来了!)

好啦,寒窗苦学LFS终于好戏上台啦。。。
12安装内核Linux-2.6.22.5
代码:
cd /sources
tar xvf linux-2.6.22.5.tar.bz2
cd linux-2.6.22.5
make mrproper
make menuconfig
根据你的机器实际情况配置内核选项,这里为了说明方便,以VMWare5.5为基础虚拟的硬件来配置内核
如果在建立虚拟机的时候是选择的BusLogic的SCSI磁盘,那么应该在Device Drivers->SCSI device support->SCSI low-level drivers下加入BusLogic SCSI support的支持,可以采用编译到内核来避免未用initrd脚本来加载模块而导致启动失败


如果想支持网络则应该在Device Drivers->Networking support->Ethernet (10 or 100Mbit)加入AMD PCnet32 PCI support的支持,可以采用编译到内核也可以编译成模块的方式


如果想支持声卡则应该在Device Drivers->Sound->Advanced Linux Sound Architecture->PCI devices加入(Creative) Ensoniq AudioPCI 1371/1373的支持,编译成模块即可


文件系统的支持,需要根据之前将目标系统分区格式化的情况而定,使用了什么文件系统就需要加入该文件系统的支持,因之前采用的是Xfs文件系统,因此在File Systems->XFS support加入XFS的支持,可以采用编译到内核来避免未用initrd脚本来加载模块而导致启动失败

同时还需要加入framebuffer字体支持,在Device Drivers->Graphics support->Console display driver support中加入Framebuffer Console support并选择上Select compiled-in fonts,选上VGA 8x16 font这一种字体就可以了,这里将这些选择都编译到内核中

可以保存退出了
代码:
make
make modules_install
cp -v arch/i386/boot/bzImage /boot/lfskernel-2.6.22.5
cp -v System.map /boot/System.map-2.6.22.5
cp -v .config /boot/config-2.6.22.5
install -d /usr/share/doc/linux-2.6.22.5
cp -r Documentation/* /usr/share/doc/linux-2.6.22.


13安装Grub,使系统能启动,这里设置需要根据情况而修改,这里以之前介绍的分区设置为例:
代码:
grub

出现什么了呢。。。

输入root (hd0,0)
输入setup (hd0)
quit

14 FHS 规定 GRUB 的 menu.lst 文件必须链接到 /etc/grub/menu.lst。为了符合这个规定,可以用下面的命令:
将menu.lst连接到/etc目录下
代码:
mkdir -v /etc/grub
ln -sv /boot/grub/menu.lst /etc/grub

15退出制作环境:
代码:
logout
卸载虚拟文件系统:
引用:
________________________________________
umount -v $LFS/dev/pts
umount -v $LFS/dev/shm
umount -v $LFS/dev
umount -v $LFS/proc
umount -v $LFS/sys
________________________________________
卸载 LFS 自己的文件系统:
引用:
________________________________________umount -v $LFS



16好啦,真的要收工啦。。。
重启系统
shutdown -r now
怎么样。。。o(∩_∩)o…

作者: fengandy   发布时间: 2008-07-31

(不好意思,发现下面这个不用,因为以上是基于ext3的)

文件系统的支持,需要根据之前将目标系统分区格式化的情况而定,使用了什么文件系统就需要加入该文件系统的支持,因之前采用的是Xfs文件系统,因此在File Systems->XFS support加入XFS的支持,可以采用编译到内核来避免未用initrd脚本来加载模块而导致启动失败

作者: fengandy   发布时间: 2008-07-31

哦,写的真好,支持支持!!!

作者: jianzhifu   发布时间: 2008-07-31

为什么我的必须执行:
引用:
cp /lfs-sources/* $LFS/sources
才能执行make?

而且,很郁闷的是,总是到[68]glibc时,出错退出。

作者: thx1234   发布时间: 2008-07-31

其實 jhalfs 的用法(包括新、舊版)在精華區裡都有的

作者: d00m3d   发布时间: 2008-08-03

。。。。。。。。。。。。。。。。。。。。。。。。

作者: fengandy   发布时间: 2008-08-05

引用:
作者: fengandy
目前网上关于用jhalfs-2.3.1建立LFS的文章相当罕见。。。但俺只有两张livecd 分别是:lfslivecd-x86-6.3-r2160.iso和 lfslivecd-x86-6.3-r2145.iso ,那时下载时随便找个新版本就下载了,后来才发现,天啊,文档缺啊,这两个是新版本呢。。。幸好找到了 LFS-BOOK-6.3-rc1-HTML文档和飞豹大侠的《 手把手教你如何建立自己的Linux系统 第二版》。。。前天手动完成了第一个mylinux,哈哈,高兴,好像镜镜姐姐说的:高兴得在被窝里也偷笑。。。
但想要是用jhalfs-2.3.1,怎么做呢,于是漫开了探索的步伐。。。(建议初学者不要用这种方法)
下面是详细过程,好像手把手那么详细了,不用急。。开始吧
准备好lfslivecd-x86-6.3-r2160.iso 从vmware下启动,提示:Number of processors可以选two(若你想快点),内存呢,四五百M分得出吧,,选LIS logic(我选这个,不知可以选BUS logic?可以试试,告诉我哦。。o(∩_∩)o...),我用IDE,听说选scsi也可以,但配置内核时要记得选支持SCSI的选项哦,具体后面再说。。)
1、进入可以一直回车直到命令行出现
2、设置密码(执行jhalfs前最好设置一下密码)
passwd root
passwd jhalfs
3分区:
命令cfdisk /dev/hda
看到什么了呢。。
分吧,我分为hda1:6000(/)和hda2:2000(swap)
mkswap /dev/hda2 格式化swap
mke2fs /dev/hda1 格式化hda1使用格式是ext3
swapon /dev/hda2 使用swap分区
export LFS=/mnt/lfs
mkdir –pv $LFS
mount /dev/hda1 $LFS 把hda1加到到mnt目录下
mkdir –pv $LFS (lfs必须在jhalfs设置时和这里保持一致)
chmod -v a+wt /mnt/lfs
chown -v jhalfs /mnt/lfs (这个很重要否则jhalfs提示没有写权限)

$LFS/tools/不用创建,jhalfs会自动创建
注意也不用创建lfs帐户了,jhalfs会处理
4、转到jhalfs用户
# su jhalfs
5、转到jhalfs用户下的jhalfs
$ cd
$ cd jhalfs-2.3.1
6、修改编译优化参数(可选)
改O3pipe_march文件
$ vi /home/jhalfs/jhalfs-2.1/optimize/opt_config.d/O3pipe_march
以下是O3pipe_march的内容:
CFLAGS_O3pipe_march=$CFLAGS_O3pipe" -march=pentium4"改成你使用的CPU类型 如我的是amd的则(athlon-xp)
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
(唐师父说:按esc键,接着输入冒号:,在冒号后面输入wq,回车退去。)

7、然后开始执行 make或者time make (。。你的眼睛是否在转呢。。不是贼溜溜的,是雪亮的。。哈哈o(∩_∩)o...)

出现以下菜单(注红线标注的地方是值得注意的地方,其他地方默认设置都可以了)
--- 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位置,自己按需要改 (这里设置/mnt/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 要不要自动编译内核,需要指定内核配置文件的位置,一般没有设定好的配置文件不要选择此项,jhalfs执行完毕后自己编译内核
[*] Strip Installed Binaries/Libraries 好像是自动清理调试代码
[*] Install vim-lang package vim的语言支持补丁,建议加上

(GMT) TimeZone 时区 我的是(Asia/Shanghai)

($LANG) Language 语言设置,你在使用光盘启动的时候选择的语言就是你$LANG的内容 镜镜姐姐推荐en_US.UTF8

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

完成后退出程序开始配置

余下的过程都是自动化的,耐心等待完成即可,一般不会出现错误!

去休息一下吧,唐师父说,andy 那时在唱《布拉格广场》,之后他也跟着唱起来了:
A a fu shou a a fu shou yap so so sory so so so …还跳着舞旋转。。。o(∩_∩)o…

开始编译了,我在VM上干的,一点开始,到六点多就收工了

执行完毕后会看到以下信息

To be able to boot your new system you need to follow the next steps:

- Enter to the chroot using the command found in the section

- Entering the Chroot Environment - except if building CLFS with METHOO=boot.

- Set a password for the root user
。。。。。。。。
If you are an experienced LFS user, several of those steps can be skipped or done in
a different way. But then, that is something that you already know and there is no
need to discuss it here.
Have a nice day :-)
至此,你的LFS半成品就可新鲜出炉了。我们还得进行最后的收尾工作!

下面的过程就很重要了,一般在网上也找不到文档,由于jhalfs是自动化过程,所以执行完毕后也不知道到哪一步了,网上说直接执行到第7章了其实也不全面,jhalfs除了内核没有编译(如果你有配置文件也可以选择让jhalfs执行),bootstrip的安装也完成了,剩下的工作就是配置、编译内核、设置grub,如果这个过程没有问题就大功告成了!我的军队,前进。。。哈哈。。
1、 Jhalfs执行完毕后处于jhalfs用户的状态,执行一下代码:exit
是不是回到root了呢。。
2 1) mount --bind /dev /mnt/lfs/dev (这个非常重要,关系到grub能不能找到设备,这个要在进入chroot环境之前做
2)加载必要的文件系统
mount -vt proc proc $LFS/proc
mount -vt sysfs sysfs $LFS/sys
mount –vt devpts devpts $LFS/dev/pts
mount –vt tmpfs shm $LFS/dev/shm
3)Chroot到目标系统下
chroot "$LFS" /usr/bin/env -i \
HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin \
/bin/bash --login
好啦,看到什么了。。。呵呵。。那很好哦。。go on
3 设定root password
passwd root
(下面的操作就和《手把手教你如何建立自己的Linux系统 第二版》后面部分的差不多相同了)
4时间设置(Configuring the setclock Script)
代码:
cat > /etc/sysconfig/clock << "EOF"
# Begin /etc/sysconfig/clock
UTC=1
# End /etc/sysconfig/clock
EOF
5设置bash下的键盘功能键设置
代码:
cat > /etc/inputrc << "EOF"
set horizontal-scroll-mode Off
set meta-flag On
set input-meta On
set convert-meta Off
set output-meta On
set bell-style none
"\eOd": backward-word
"\eOc": forward-word
"\e[1~": beginning-of-line
"\e[4~": end-of-line
"\e[5~": beginning-of-history
"\e[6~": end-of-history
"\e[3~": delete-char
"\e[2~": quoted-insert
"\eOH": beginning-of-line
"\eOF": end-of-line
"\e[H": beginning-of-line
"\e[F": end-of-line
EOF
6设置Bash Shell启动文件(The Bash Shell Startup Files)
代码:
cat > /etc/profile << "EOF"
# Begin /etc/profile
export LANG=zh_CN.UTF-8
export INPUTRC=/etc/inputrc
alias ls="ls --color"
export PS1='\u:\w\$ '
# End /etc/profile
EOF
7设置本地网络名
代码:
echo "HOSTNAME=mylinux" > /etc/sysconfig/network
8
设置hosts文件
代码:
cat > /etc/hosts << "EOF"
# Begin /etc/hosts (no network card version)
127.0.0.1 mylinux localhost
# End /etc/hosts (no network card version)
EOF
9设置网络的静态地址
代码:
cd /etc/sysconfig/network-devices &&
mkdir -v ifconfig.eth0 &&
cat > ifconfig.eth0/ipv4 << "EOF"
ONBOOT=yes
SERVICE=ipv4-static
IP=192.168.1.1
GATEWAY=192.168.1.2
PREFIX=24
BROADCAST=192.168.1.255
EOF
注意:IP、GATEWAY、BROADCAST的地址根据自己的实际情况设置。
10设置DNS
代码:
cat > /etc/resolv.conf << "EOF"
# Begin /etc/resolv.conf
nameserver 你的首个DNS的地址
nameserver 你的第二DNS的地址
# End /etc/resolv.conf
EOF
(中国的是:202.101.98.53 OR 202.101.98.54,应该不会改吧,呵呵。。)
11建立fstab文件
代码:
cat > /etc/fstab << "EOF"
# Begin /etc/fstab
# file system mount-point type options dump fsck
# order
/dev/hda1 / ext3 defaults 1 1
/dev/hda2 swap swap pri=1 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
devpts /dev/pts devpts gid=4,mode=620 0 0
shm /dev/shm tmpfs defaults 0 0
# End /etc/fstab
EOF
镜镜姐姐提醒:(请注意硬盘设备号!一定要按照自己的分区设置,不要照抄青铜镜的!要不你的系统会起不来了!)

好啦,寒窗苦学LFS终于好戏上台啦。。。
12安装内核Linux-2.6.22.5
代码:
cd /sources
tar xvf linux-2.6.22.5.tar.bz2
cd linux-2.6.22.5
make mrproper
make menuconfig
根据你的机器实际情况配置内核选项,这里为了说明方便,以VMWare5.5为基础虚拟的硬件来配置内核
如果在建立虚拟机的时候是选择的BusLogic的SCSI磁盘,那么应该在Device Drivers->SCSI device support->SCSI low-level drivers下加入BusLogic SCSI support的支持,可以采用编译到内核来避免未用initrd脚本来加载模块而导致启动失败


如果想支持网络则应该在Device Drivers->Networking support->Ethernet (10 or 100Mbit)加入AMD PCnet32 PCI support的支持,可以采用编译到内核也可以编译成模块的方式


如果想支持声卡则应该在Device Drivers->Sound->Advanced Linux Sound Architecture->PCI devices加入(Creative) Ensoniq AudioPCI 1371/1373的支持,编译成模块即可


文件系统的支持,需要根据之前将目标系统分区格式化的情况而定,使用了什么文件系统就需要加入该文件系统的支持,因之前采用的是Xfs文件系统,因此在File Systems->XFS support加入XFS的支持,可以采用编译到内核来避免未用initrd脚本来加载模块而导致启动失败

同时还需要加入framebuffer字体支持,在Device Drivers->Graphics support->Console display driver support中加入Framebuffer Console support并选择上Select compiled-in fonts,选上VGA 8x16 font这一种字体就可以了,这里将这些选择都编译到内核中

可以保存退出了
代码:
make
make modules_install
cp -v arch/i386/boot/bzImage /boot/lfskernel-2.6.22.5
cp -v System.map /boot/System.map-2.6.22.5
cp -v .config /boot/config-2.6.22.5
install -d /usr/share/doc/linux-2.6.22.5
cp -r Documentation/* /usr/share/doc/linux-2.6.22.


13安装Grub,使系统能启动,这里设置需要根据情况而修改,这里以之前介绍的分区设置为例:
代码:
grub

出现什么了呢。。。

输入root (hd0,0)
输入setup (hd0)
quit

14 FHS 规定 GRUB 的 menu.lst 文件必须链接到 /etc/grub/menu.lst。为了符合这个规定,可以用下面的命令:
将menu.lst连接到/etc目录下
代码:
mkdir -v /etc/grub
ln -sv /boot/grub/menu.lst /etc/grub

15退出制作环境:
代码:
logout
卸载虚拟文件系统:
引用:
________________________________________
umount -v $LFS/dev/pts
umount -v $LFS/dev/shm
umount -v $LFS/dev
umount -v $LFS/proc
umount -v $LFS/sys
________________________________________
卸载 LFS 自己的文件系统:
引用:
________________________________________umount -v $LFS



16好啦,真的要收工啦。。。
重启系统
shutdown -r now
怎么样。。。o(∩_∩)o…







用jhalfs的方法做LFS,
简单、方便、快速、有效。
这么爽的方法,
给你越扯越繁琐、复杂,
不服你都不行!

作者: 青铜镜   发布时间: 2008-09-29

镜兄,我把部份内容删了,希望保留和平讨论气纷。

技术讨论难免会有立场不同的时候,但请避免过激言论,以免挑起不必要争论。谢谢!

作者: d00m3d   发布时间: 2008-09-29

引用:
作者: d00m3d
镜兄,我把部份内容删了,希望保留和平讨论气纷。

技术讨论难免会有立场不同的时候,但请避免过激言论,以免挑起不必要争论。谢谢!
我那个应该算是友谊赛……

作者: 青铜镜   发布时间: 2008-09-29

希望镜兄的BLFS6.3版能早日面市

作者: tiansm   发布时间: 2008-10-06

第一次是手敲的,第二次以后就一直用自动了,手敲太麻烦,了解过程即可,体验过即可~

作者: shooter   发布时间: 2008-10-06

帮吗看看是什么问题?
jhalfs [ ~/jhalfs-2.3.1 ]$ make
#
# using defaults found in configuration
#

*** 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 <CLFS/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.22.5> OK
BASH.............. <3.2.17(1)-release> OK
GCC............... <4.1.2> OK
GLIBC............. <2.5.1> OK
BINUTILS.......... <2.17> OK
TAR............... <1.18> OK
BZIP2............. <1.0.4> OK
BISON............. <2.3> OK
COREUTILS......... < 6.9> OK
DIFF.............. <2.8.1> OK
FIND.............. <4.2.31> OK
GAWK.............. <3.1.5> OK
GREP.............. <2.5.1> OK
GZIP.............. <1.3.12> OK
MAKE.............. <3.81> OK
PATCH............. <2.5.4> OK
SED............... <4.1.5> OK
SUDO.............. <1.6.8p12> OK
LIBXML2........... <2.06.27> OK
LIBXSLT........... <1.01.20> OK
------------------------------------------------------------------------------

BOOK.............. </usr/share/LFS-BOOK-6.3-XML>
CUSTOM_TOOLS...... <n>
BLFS_TOOL......... <n>
METHOD............ <chroot>
ARCH.............. <mips64-64>
TARGET............ <mips64el-unknown-linux-gnu>
LUSER............. <clfs>
LGROUP............ <clfs>
LHOME............. </home>
BUILDDIR.......... </mnt/lfs>
CLEAN............. <n>
GETPKG............ <y>
SRC_ARCHIVE....... </lfs-sources>
==============================================================================
WARNING-- You do not have <write> access to the directory
-- /lfs-sources
==============================================================================

SERVER............ <http://ftp.lfs-matrix.net/>
GETKERNEL......... <y>
RUNMAKE........... <y>
TEST.............. <1>
BOMB_TEST......... <n>
STRIP............. <y>
VIMLANG........... <y>
FSTAB............. <>
CONFIG............ <>
TIMEZONE.......... <GMT>
PAGE.............. <letter>
LANG.............. <en_US.UTF-8>
INSTALL_LOG....... <n>
COMPARE........... <n>
OPTIMIZE.......... <1>
REPORT............ <y>
REBUILD_MAKEFILE.. <n>

*** clfs 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 man-db>

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.3-XML as book's sources ...
Extracting commands for <mips64-64> target architecture...
<jhalfs 2.3.1> exit

make: *** [all] Error 6

作者: haday   发布时间: 2009-02-05

检查一下是不是忘记了:
chmod -v a+wt /mnt/lfs
chown -v jhalfs /mnt/lfs (这个很重要否则jhalfs提示没有写权限)

作者: cqcya   发布时间: 2009-02-05

热门下载

更多