1、安装过程中的注意事项请见“LFS安装手记”一帖。文档中有一两处的小错误,在手记中已有说明
2、心得。LFS的大致思路就是,首先利用原有系统编译完成binutils、gcc和glibc;然后用编译出来的这三大基础组件再重新编译自己和其他的一整套配套软件包,这样,形成一个干净的,独立的编译、开发环境,也就是tools目录中所包含的东东。然后,用这套干净的环境编译出一个linux系统来!
3、整个过程大概10个小时就可以搞定(当然是在比较快的机器上)。大部分的软件编译安装过程文档写的很详尽,而且很正确,不再多说了。可能就是在编译内核的时候有点麻烦,其实编译内核很简单,就是要不怕麻烦,一个一个编译项的看,不明白的就看帮助(按?)。编译内核的步骤就是(2.4内核)首先make mrproper,然后make menuconfig(要有X环境)或make oldconfig(文本环境),一项一项回答问题,要加入内核的按Y,不加入内核的按N,作为module将来可以自由装载的按m,很简单;然后make CC=/opt/gcc-2.95.3/bin/gcc dep,创建模块依赖关系;然后make CC=/opt/gcc-2.95.3/bin/gcc bzImage,内核文件生成;然后编译模块,make CC=/opt/gcc-2.95.3/bin/gcc modules,将内核配置时要配置为module的各项内容编译成.o文件,将来在/etc/modules.conf 可以定义加载,或在命令行下用insmod,modprobe(运行modprobe之前先运行depmod -a)加载,insmod和modprobe的参数都是模块.o文件的全路径;最后安装模块,其实就是把编译出来的模块.o文件分门别类的拷贝到/lib/modules/<linux version>目录下;最最后,收尾,将Systemmap文件和内核文件拷贝到boot目录下:cp arch/i386/boot/bzImage /boot/lfskernel、cp System.map /boot,就OK了!
4、最后就是配置grub了,我的做法是,因为原来已经装了Linux,所以,首先将lfskernel文件拷贝到原有linux系统的目录下,然后编译原有linux系统的/boot/grub/menu.1st文件,在最后加上:
title LFS 5.0
root (hd0,3) //hd0,3就是hda4,详情看LFS的文档
kernel /boot/lfskernel root=/dev/hda4 ro
就可以顺利启动我们的LFS Linux系统了!当然了,在做这件事情之前,应该先在LFS下,运行grub,告诉grub root盘是哪个,然后运行setup命令将引导信息写到root盘的前1024个字节上(不推荐写到MBR上,因为这样就将原来Linux的grub引导程序覆盖掉了。如果硬要这样的话,那就要在LFS的grub里面添加原有linux的启动配置信息了,和上面的做法是一样的,嘿嘿,详情看LFS的文档)
5、配置完了之后我把tools目录备份下来了,也把整个LFS系统备份下来了。备份下来的LFS系统的内核已经将8139too(Realtek 8139d网卡)这个驱动打到内核里面去了,之所以没把这个驱动做成module,是因为目前的百兆网卡基本上都是Realtek 8139d的,所以就不烦了。如果是其他网卡,那么,看好驱动,然后在/etc/modules.conf里面加上一行alias配置就OK了。备份的LFS系统只有一个root用户,口令是“athena9126”,配置了两块网卡eth0和eth1,因为这两块网卡都是8139d的,所以,直接在/etc/sysconfig/network-devices目录下新建ifconfig-eth0和ifconfig-eth1这样的文件,配置IP和掩码就OK了(因为驱动在内核里面码,不需要配置module)
6、配置完LFS的心情真是太激动了,很有成就感,备份的LFS系统将来可以直接拿来用(有gcc、glibc开发环境,有网络,有基本的命令和bash),不同的硬件编译不同的模块,然后/etc/modules.conf里面配置一下就OK了!
2、心得。LFS的大致思路就是,首先利用原有系统编译完成binutils、gcc和glibc;然后用编译出来的这三大基础组件再重新编译自己和其他的一整套配套软件包,这样,形成一个干净的,独立的编译、开发环境,也就是tools目录中所包含的东东。然后,用这套干净的环境编译出一个linux系统来!
3、整个过程大概10个小时就可以搞定(当然是在比较快的机器上)。大部分的软件编译安装过程文档写的很详尽,而且很正确,不再多说了。可能就是在编译内核的时候有点麻烦,其实编译内核很简单,就是要不怕麻烦,一个一个编译项的看,不明白的就看帮助(按?)。编译内核的步骤就是(2.4内核)首先make mrproper,然后make menuconfig(要有X环境)或make oldconfig(文本环境),一项一项回答问题,要加入内核的按Y,不加入内核的按N,作为module将来可以自由装载的按m,很简单;然后make CC=/opt/gcc-2.95.3/bin/gcc dep,创建模块依赖关系;然后make CC=/opt/gcc-2.95.3/bin/gcc bzImage,内核文件生成;然后编译模块,make CC=/opt/gcc-2.95.3/bin/gcc modules,将内核配置时要配置为module的各项内容编译成.o文件,将来在/etc/modules.conf 可以定义加载,或在命令行下用insmod,modprobe(运行modprobe之前先运行depmod -a)加载,insmod和modprobe的参数都是模块.o文件的全路径;最后安装模块,其实就是把编译出来的模块.o文件分门别类的拷贝到/lib/modules/<linux version>目录下;最最后,收尾,将Systemmap文件和内核文件拷贝到boot目录下:cp arch/i386/boot/bzImage /boot/lfskernel、cp System.map /boot,就OK了!
4、最后就是配置grub了,我的做法是,因为原来已经装了Linux,所以,首先将lfskernel文件拷贝到原有linux系统的目录下,然后编译原有linux系统的/boot/grub/menu.1st文件,在最后加上:
title LFS 5.0
root (hd0,3) //hd0,3就是hda4,详情看LFS的文档
kernel /boot/lfskernel root=/dev/hda4 ro
就可以顺利启动我们的LFS Linux系统了!当然了,在做这件事情之前,应该先在LFS下,运行grub,告诉grub root盘是哪个,然后运行setup命令将引导信息写到root盘的前1024个字节上(不推荐写到MBR上,因为这样就将原来Linux的grub引导程序覆盖掉了。如果硬要这样的话,那就要在LFS的grub里面添加原有linux的启动配置信息了,和上面的做法是一样的,嘿嘿,详情看LFS的文档)
5、配置完了之后我把tools目录备份下来了,也把整个LFS系统备份下来了。备份下来的LFS系统的内核已经将8139too(Realtek 8139d网卡)这个驱动打到内核里面去了,之所以没把这个驱动做成module,是因为目前的百兆网卡基本上都是Realtek 8139d的,所以就不烦了。如果是其他网卡,那么,看好驱动,然后在/etc/modules.conf里面加上一行alias配置就OK了。备份的LFS系统只有一个root用户,口令是“athena9126”,配置了两块网卡eth0和eth1,因为这两块网卡都是8139d的,所以,直接在/etc/sysconfig/network-devices目录下新建ifconfig-eth0和ifconfig-eth1这样的文件,配置IP和掩码就OK了(因为驱动在内核里面码,不需要配置module)
6、配置完LFS的心情真是太激动了,很有成就感,备份的LFS系统将来可以直接拿来用(有gcc、glibc开发环境,有网络,有基本的命令和bash),不同的硬件编译不同的模块,然后/etc/modules.conf里面配置一下就OK了!