您的位置:首页 > 运维架构 > Linux

7the_last

2015-08-23 21:00 369 查看

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