使用jhalf-2.3.1创建LFS完整过程
时间:2008-07-31
来源:互联网
但想要是用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
文件系统的支持,需要根据之前将目标系统分区格式化的情况而定,使用了什么文件系统就需要加入该文件系统的支持,因之前采用的是Xfs文件系统,因此在File Systems->XFS support加入XFS的支持,可以采用编译到内核来避免未用initrd脚本来加载模块而导致启动失败
作者: fengandy 发布时间: 2008-07-31
作者: jianzhifu 发布时间: 2008-07-31
cp /lfs-sources/* $LFS/sources |
而且,很郁闷的是,总是到[68]glibc时,出错退出。
作者: thx1234 发布时间: 2008-07-31
作者: 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
作者: 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
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28