手把手教你如何建立自己的Linux系统 - 第二版(7)

2019-01-19 11:18

ln -sv bash /bin/sh touch /etc/mtab

创建root及nobody用户和必要的组 代码:

cat > /etc/passwd << \root:x:0:0:root:/root:/bin/bash nobody:x:99:99:Unprivileged User:/dev/null:/bin/false EOF cat > /etc/group << \root:x:0: bin:x:1: sys:x:2: kmem:x:3: tty:x:4: tape:x:5: daemon:x:6: floppy:x:7: disk:x:8: lp:x:9: dialout:x:10: audio:x:11: video:x:12: utmp:x:13: usb:x:14: cdrom:x:15: mail:x:34: nogroup:x:99: EOF - 31 -

重新加载bash,以使root用户起效,这样前面的提示符就不会是“I have no name!” 代码:

exec /tools/bin/bash --login +h

创建和设置几个临时文件和日志文件。 代码:

touch /var/run/utmp /var/log/{btmp,lastlog,wtmp} chgrp -v utmp /var/run/utmp /var/log/lastlog chmod -v 664 /var/run/utmp /var/log/lastlog

到目前为止,创建目标系统的准备工作以基本完成,下面就要开始目标系统的软件包安装了。

首先进入到源码目录下。 代码:

cd /sources (此前已经将LFS需要的源码包加载到了/cdrom下,因此后面的命令将从/cdrom/lfs-sources目录下解出,如果你将源码包直接复制到了sources目录下或别的什么目录下,则要相应的修改下面的命令) export LFS=/cdrom/lfs-sources

如果之前是将所有源码包复制到sources下的,则执行 代码:

export LFS=/sources

从现在开始一直到第六章的Stripping Again之前,这个阶段如果你关机或重新启动,那么重新开机后回到工作状态的步骤是:

1.重新启动计算机,并从LiveCD启动 2.加载分区

export LFS=/mnt/lfs

- 32 -

mkdir -pv $LFS mount /dev/hda2 $LFS

3.加载交换分区(如果不想用交换分区或者没有交换分区可跳过此步骤) swapon /dev/hda1 4.加载必要的文件系统

mount -v --bind /dev $LFS/dev mount -vt devpts devpts $LFS/dev/pts mount -vt tmpfs shm $LFS/dev/shm mount -vt proc proc $LFS/proc mount -vt sysfs sysfs $LFS/sys 5.Chroot到目标系统下

chroot \

HOME=/root TERM=\ PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \\ /bin/bash --login +h 6.进入编译目录 cd /sources

export LFS=/sources

Linux-2.6.22.5 代码:

tar xvf $LFS/linux-2.6.22.5.tar.bz2 cd linux-2.6.22.5 sed -i '/scsi/d' include/Kbuild make mrproper make headers_check make INSTALL_HDR_PATH=dest headers_install cp -rv dest/include/* /usr/include - 33 -

cd .. rm -rf linux-2.6.22.5 Man-pages-2.63 代码:

tar xvf $LFS/man-pages-2.63.tar.bz2 cd man-pages-2.63 make install cd .. rm -rf man-pages-2.63 man-pages的版本可以使用更新的版本。

Glibc-2.5.1

在进行之前请检查一下是否glibc-2.5.1和glibc-build这两个目录已经被删除,如果没有删除请删除后在继续。 代码:

tar xvf $LFS/glibc-2.5.1.tar.bz2 cd glibc-2.5.1 tar -xvf $LFS/glibc-libidn-2.5.1.tar.gz mv glibc-libidn-2.5.1 libidn sed -i '/vi_VN.TCVN/d' localedata/SUPPORTED sed -i \\ 's|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=/lib/ld-linux.so.2 -o|' \\ scripts/test-installation.pl sed -i 's|@BASH@|/bin/bash|' elf/ldd.bash.in mkdir -v ../glibc-build cd ../glibc-build ../glibc-2.5.1/configure --prefix=/usr \\ - 34 -

--disable-profile --enable-add-ons \\ --enable-kernel=2.6.0 --libexecdir=/usr/lib/glibc make make -k check 2>&1 | tee glibc-check-log grep Error glibc-check-log touch /etc/ld.so.conf make install make localedata/install-locales make localedata/install-locales将安装全部的locale,如果你不想装这么多locale的话就用localedef命令来安装,LFS手册上有例子,如果仅想加入中文的locale,就用 mkdir -pv /usr/lib/locale

localedef -i zh_CN -f GB18030 zh_CN localedef -i zh_CN -f GBK zh_CN localedef -i zh_CN -f UTF-8 zh_CN localedef -i zh_CN -f GB2312 zh_CN localedef -i zh_HK -f UTF-8 zh_CN localedef -i zh_HK -f BIG5-HKSCS zh_CN localedef -i zh_TW -f EUC-TW zh_CN localedef -i zh_TW -f UTF-8 zh_CN localedef -i zh_TW -f BIG5 zh_CN 建立几个重要文件: 代码:

cat > /etc/nsswitch.conf << \# Begin /etc/nsswitch.conf passwd: files group: files shadow: files hosts: files dns networks: files - 35 -


手把手教你如何建立自己的Linux系统 - 第二版(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:生态系统稳定性之教学设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: