7the_last
2015-08-23 21:00
411 查看
The Last
你最近有快照吗? 没有, 那么赶紧来一张吧, 那么多软件重新编译一次也是很费时间的。编译完最后一个
vim,LFS 的编译已经进入了尾声,不要着急,剩下的也就是几条命令的事,认真点,很快的
现在先
logou出去。
这之后的登录就不用先前的chroot了我把两个命令列到一起,大家对比一下
这是之前的
chroot "$LFS" /tools/bin/env -i \ HOME=/root \ TERM="$TERM" \ PS1='\u:\w\$ ' \ PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \ /tools/bin/bash --login +h
这是现在将要用到的
chroot "$LFS" /usr/bin/env -i \ HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \ PATH=/bin:/usr/bin:/sbin:/usr/sbin \ /bin/bash --login
而后是删除
tools文件夹, 不过避免出现问题, 我没有删而是
mv tools tools-bak
想删想留都可以
而后安装
LFS-Bootscript
进入
sources目录, 解压什么的,大家都懂
make install
就行了
因为我是在虚拟机中编译的,书上的好多模块的安装跳过了,大家有需求自己看吧
IP
cd /etc/sysconfig/ cat > ifconfig.eth0 << "EOF" ONBOOT=yes IFACE=eth0 SERVICE=ipv4-static IP=192.168.1.2 GATEWAY=192.168.1.1 PREFIX=24 BROADCAST=192.168.1.255 EOF
这是书上的配置文件
不能照搬啊,要根据实际情况改
子网掩码就是
PREFIX,24 代表的就是255.255.255.0
换成2进制就是24位
而后是DNS
cat > /etc/resolv.conf << "EOF" # Begin /etc/resolv.conf nameserver 8.8.8.8 nameserver 8.8.4.4 # End /etc/resolv.conf EOF
这样就可以了
主机名
echo lfs > /etc/hostname
我的就叫lfs
hosts
cat > /etc/hosts << "EOF" # Begin /etc/hosts (network card version) 127.0.0.1 localhost # End /etc/hosts (network card version) EOF
就这样就可以了
init
cat > /etc/inittab << "EOF" # Begin /etc/inittab id:3:initdefault: si::sysinit:/etc/rc.d/init.d/rc S l0:0:wait:/etc/rc.d/init.d/rc 0 l1:S1:wait:/etc/rc.d/init.d/rc 1 l2:2:wait:/etc/rc.d/init.d/rc 2 l3:3:wait:/etc/rc.d/init.d/rc 3 l4:4:wait:/etc/rc.d/init.d/rc 4 l5:5:wait:/etc/rc.d/init.d/rc 5 l6:6:wait:/etc/rc.d/init.d/rc 6 ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now su:S016:once:/sbin/sulogin 1:2345:respawn:/sbin/agetty --noclear tty1 9600 2:2345:respawn:/sbin/agetty tty2 9600 3:2345:respawn:/sbin/agetty tty3 9600 4:2345:respawn:/sbin/agetty tty4 9600 5:2345:respawn:/sbin/agetty tty5 9600 6:2345:respawn:/sbin/agetty tty6 9600 # End /etc/inittab EOF
照写就可以
修改rc.site
文件
它在/etc/sysconfig/rc.site中
要把其中的
SYSKLOGD_PARMS参数设置为空
也就是像下面这样
# Optional sysklogd parameters SYSKLOGD_PARMS=
已经有vim了, 修改一下这个文件还是很简单的
设置语言
cat > /etc/profile << "EOF" # Begin /etc/profile export LANG=en_US.UTF-8 # End /etc/profile EOF
设置特殊字符支持
cat > /etc/inputrc << "EOF" # Begin /etc/inputrc # Modified by Chris Lynn <roryo@roryo.dynup.net> # Allow the command prompt to wrap to the next line set horizontal-scroll-mode Off # Enable 8bit input set meta-flag On set input-meta On # Turns off 8th bit stripping set convert-meta Off # Keep the 8th bit for display set output-meta On # none, visible or audible set bell-style none # All of the following map the escape sequence of the value # contained in the 1st argument to the readline specific functions "\eOd": backward-word "\eOc": forward-word # for linux console "\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 # for xterm "\eOH": beginning-of-line "\eOF": end-of-line # for Konsole "\e[H": beginning-of-line "\e[F": end-of-line # End /etc/inputrc EOF
cat > /etc/shells << "EOF" # Begin /etc/shells /bin/sh /bin/bash # End /etc/shells EOF
而后是fstab文件
cat > /etc/fstab << "EOF" # Begin /etc/fstab # file system mount-point type options dump fsck # order /dev/sdc1 / ext4 defaults 1 1 proc /proc proc nosuid,noexec,nodev 0 0 sysfs /sys sysfs nosuid,noexec,nodev 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 tmpfs /run tmpfs defaults 0 0 devtmpfs /dev devtmpfs mode=0755,nosuid 0 0 # End /etc/fstab EOF
设置挂载点
我的电脑上是
sdc1
最后编译内核
make mrproper make defconfig make LANG=en_US LC_ALL= menuconfig
就进入配置界面
有东西要修改的
Device Drivers ---> Generic Driver Options ---> [ ] Support for uevent helper [CONFIG_UEVENT_HELPER] [*] Maintain a devtmpfs filesystem to mount at /dev [CONFIG_DEVTMPFS]
认真找一找, 放心,绝对有
make make modules_install cp -v arch/x86_64/boot/bzImage /boot/vmlinuz-3.19-lfs-7.7 cp -v System.map /boot/System.map-3.19 cp -v .config /boot/config-3.19 install -d /usr/share/doc/linux-3.19 cp -r Documentation/* /usr/share/doc/linux-3.19
我的是64位系统所以是x86_64
install -v -m755 -d /etc/modprobe.d cat > /etc/modprobe.d/usb.conf << "EOF" # Begin /etc/modprobe.d/usb.conf install ohci_hcd /sbin/modprobe ehci_hcd ; /sbin/modprobe -i ohci_hcd ; true install uhci_hcd /sbin/modprobe ehci_hcd ; /sbin/modprobe -i uhci_hcd ; true # End /etc/modprobe.d/usb.conf EOF
而后是grub的安装
grub-install /dev/sdc cat > /boot/grub/grub.cfg << "EOF" # Begin /boot/grub/grub.cfg set default=0 set timeout=5 insmod ext2 set root=(hd0,2) menuentry "GNU/Linux, Linux 3.19-lfs-7.7" { linux /boot/vmlinuz-3.19-lfs-7.7 root=/dev/sda2 ro } EOF
echo 7.7 > /etc/lfs-release cat > /etc/lsb-release << "EOF" DISTRIB_ID="Linux From Scratch" DISTRIB_RELEASE="7.7" DISTRIB_CODENAME="<your name here>" DISTRIB_DESCRIPTION="Linux From Scratch" EOF
其实写到这里,大家不要一味着追求速度,头脑清醒些,引导安装不是开玩笑,
很可能把主系统的引导覆盖了,本系统也未能成功,
这才是让人难过的事,我的主系统用的是
Ubuntu-server,
用过
Ubuntu的都知道,修复引导之后登录进系统首先要做的是
update-grub2现在
logout出去, 把
ubuntu的引导更新一下,
也是完全没问题的, 不过永远不要忘记两个字–快照, 小心驶得万年船啊。
回顾
LFS的安装, 新的东西确实不少, 不过只要有一定的基础,
接受起来蛮快的,还有一点便是坚持, 我这次编译
LFS用了
差不多两星期, 失败了3次,虽然归根到底是我不认真的问题,
但我想提醒大家一句,好好看
LFS-BOOK, 命令输过之后要记得检查,
否则错误都不知是哪出现的问题。
加油吧, 努力就会成功的,而前方只是个
LFS而已。
相关文章推荐
- Linux socket 初步
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- 基于 Linux 集群环境上 GPFS 的问题诊断
- 谁是桌面王者?Win PK Linux三大镇山之宝
- vivi下重新调整分区
- Linux VS Unix:Linux欲一统天下 Unix不死
- linux下设定环境变量
- Linux下修改MySQL编码的方法