从现在开始一直到制作结束,重新开机后回到工作状态的步骤是:
  1.重新启动计算机,并从LiveCD启动
  2.加载分区
  export LFS=/mnt/lfs
  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 "$LFS" /usr/bin/env -i \
  HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
   PATH=/bin:/usr/bin:/sbin:/usr/sbin \
  /bin/bash --login
  6.进入编译目录
  cd /sources
  export LFS=/sources

LFS-Bootscripts-6.3
代码:
tar xvf $LFS/lfs-bootscripts-6.3.tar.bz2
cd lfs-bootscripts-6.3
make install
cd ..
rm -rf lfs-bootscripts-6.3

时间设置(Configuring the setclock Script)
代码:
cat > /etc/sysconfig/clock << "EOF"
# Begin /etc/sysconfig/clock
UTC=1
# End /etc/sysconfig/clock
EOF

设置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

设置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

设置本地网络名
代码:
echo "HOSTNAME=mylinux" > /etc/sysconfig/network

设置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

设置网络的静态地址
代码:
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的地址根据自己的实际情况设置。

设置DNS
代码:
cat > /etc/resolv.conf << "EOF"
# Begin /etc/resolv.conf
nameserver 你的首个DNS的地址
nameserver 你的第二DNS的地址
# End /etc/resolv.conf
EOF

建立fstab文件
代码:
cat > /etc/fstab << "EOF"
# Begin /etc/fstab
# file system mount-point type options dump fsck
# order
/dev/hda2 / xfs defaults 1 1
/dev/hda1 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
注意:这里的磁盘名以及文件系统名需要根据实际情况修改。

安装内核Linux-2.6.22.5
代码:
cd /sources
tar xvf $LFS/linux-2.6.22.5.tar.bz2
cd linux-2.6.22.5
安装显示UTF-8编码文字的补丁
如果之前下载了UTF-8编码文字显示补丁,那么这里可以将这两个补丁打入内核
patch -Np1 -i $LFS/utf8-kernel-2.6.22.5-core-1.patch
patch -Np1 -i $LFS/utf8-kernel-2.6.22.5-fonts-1.patch
代码:
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脚本来加载模块而导致启动失败

如果之前给内核加入了显示UTF-8编码文字的补丁的话,那么这里需要加入framebuffer的支持才能使补丁生效,在Device Drivers->Graphics support中加入Support for frame buffer devices,并选择上VESA VGA graphics supports,这里将其编译到内核中

同时还需要加入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.5

安装Grub,使系统能启动,这里设置需要根据情况而修改,这里以之前介绍的分区设置为例:
代码:
grub
输入root (hd0,1)
输入setup (hd0)
quit
设置grub启动菜单
代码:
cat > /boot/grub/menu.lst << "EOF"
# Begin /boot/grub/menu.lst
# By default boot the first menu entry.
default 0
# Allow 30 seconds before booting the default.
timeout 30
# Use prettier colors.
color green/black light-green/black
# The first entry is for LFS.
title LFS 6.3
root (hd0,1)
kernel /boot/lfskernel-2.6.22.5 root=/dev/hda2
EOF
注意:这里root后面的磁盘分区需要根据实际情况调整。
将menu.lst连接到/etc目录下
代码:
mkdir -v /etc/grub
ln -sv /boot/grub/menu.lst /etc/grub

退出制作环境:
代码:
logout

现在已经完成了lfs的安装,可以重新启动来运行我们自己的系统咯!
Grub启动界面

启动完成

本文来自孙海勇(冲天飞豹)http://blogold.chinaunix.net/u/13265/showart_477122.html

转载于:https://blog.51cto.com/chenxizhuimeng/514031

手把手教你如何建立自己的Linux系统(二)相关推荐

  1. 手把手教你如何建立自己的Linux系统

    真的是   手把手教你如何建立自己的 Linux系统, 作者把每一步都写出来了. 用  #/etc/rc.d/init.d/sshd start  可以启动ssh服务,然后就可以用其他软件复制粘贴了. ...

  2. 手把手教你如何建立自己的Linux系统(LFS速成手册)

    原贴:http://www.linuxsir.org/bbs/showthread.php?t=244052 LinuxSir.Org > Linux 发行版讨论区 -- LinuxSir.Or ...

  3. 手把手教你用U盘装Linux系统

    如果我们想让自己的电脑装一个Linux系统,完全可以自己动手,用自己的U盘,几个步骤就可以安装Linux系统了. 首先将自己的u盘上原有的东西备份到其他地方,或者准备一个空U盘,因为把U盘变成安装盘之 ...

  4. 手把手教你使用U盘安装Ubuntu系统

    原文出处:http://bbs.zol.com.cn/diybbs/d33925_7.html 手把手教你使用U盘安装Ubuntu系统 -----------------------note by s ...

  5. [ROC-RK3568-PC] 手把手教你编译Linux_SDK并打包Buildroot系统固件

    ✏️ROC-RK3568-PC入门篇连载进程: ✅ [ROC-RK3568-PC] 手把手教你把出厂的Android系统烧写为Ubuntu系统 ✅ [ROC-RK3568-PC] 手把手教你制作Ubu ...

  6. 手把手教你腾讯云搭建RUOYI系统

    手把手教你腾讯云搭建RUOYI系统 前置准备 腾讯云配置 1 服务器准备 1.1 腾讯云购买地址: 1.2 配置 开放端口 2 软件安装 2.1 MySQL在线安装 2.2 Redis 安装 2.3 ...

  7. 手把手教你:岩石样本智能识别系统

    系列文章 第十一章.手把手教你:基于TensorFlow的语音识别系统 第十章.手把手教你:基于Django的用户画像可视化系统 第九章.手把手教你:个人信贷违约预测模型 目录 系列文章 一.项目简介 ...

  8. 手把手教你备份 nvidia jetson agx xavier 系统(亲测有效、超详细)

    手把手教你备份 nvidia jetson agx xavier 系统(亲测有效.超详细) 此版本适合小白,网上虽然很多教程,但是对于超级小白来说还是有点粗略了,教程奉上! 文章目录 手把手教你备份 ...

  9. 手把手教你:基于TensorFlow的语音识别系统

    系列文章 第十章.手把手教你:基于Django的用户画像可视化系统 第九章.手把手教你:个人信贷违约预测模型 第八章.手把手教你:基于LSTM的股票预测系统 目录 系列文章 一.项目简介 二.语音数据 ...

最新文章

  1. C# ListT泛型用法
  2. 沉浸式模式与沉浸式状态栏
  3. 使用Managed DirectX编写游戏
  4. 电脑故障速排方法-显卡篇
  5. 学习笔记01:1.1 基于概率的信任
  6. python 3.6.5编译安装_Linux系统安装Python3.6.5
  7. adapter 适配器
  8. 985硕士面试20场全被拒,被竞争困住的数据分析人,太难了
  9. 全向轮移动机器人构型分析
  10. 两种获取python版本的方法
  11. winrar4.0 注册码
  12. 输入法辅助工具:自动切换输入法 for Mac
  13. 简单的数据库造数据方法
  14. 国赛培训——规划论——线性规划
  15. arcgis用python字段自动编号_属性表字段自动编号
  16. Matplotlib填充色Colormap
  17. 单词拆分(动态规划)
  18. 解闷又有趣的小游戏在这就有
  19. 2022-06-06 FUSE用户态文件系统
  20. linux_FIFO命名管道-mkfifo函数-进程通信

热门文章

  1. Thinkphp5创建控制器
  2. poj 2109 Power of Cryptography
  3. js 排列 组合 的一个简单例子
  4. 64 位系统遇到未在本地计算机上注册 Microsoft.Jet.OLEDB.4.0
  5. 不信iphone5 只要GALAXY S II珠峰仍有信号
  6. 多线程编程实践——实现生产者、消费者模型
  7. 【二次元stylus解放css】用stylus画可爱的小丸子
  8. Java中栈、堆和常量池
  9. 重温ES6核心概念和基本用法
  10. android中ocr解决方案(tesseract)