lfs学习笔记-第4页

lfs学习笔记第3页:https://www.cnblogs.com/renren-study-notes/p/10199965.html

第7.2章节

进入sources目录,解压lfs-bootscripts

进入lfs-bootscripts目录,并运行安装。

第7.6.4章节

cat > /etc/sysconfig/clock << "EOF"
# Begin /etc/sysconfig/clock

UTC=1

# Set this to any options you might need to give to hwclock,
# such as machine hardware clock type for Alphas.
CLOCKPARAMS=

# End /etc/sysconfig/clock EOF

如果电脑上面是多系统,并且有windows系统,要把UTC设置为0,也就是不使用系统硬件时间作为系统时间。如果没有windows系统不需要更改。

第7.6.2章节与第7.6.4章节  运行命令即可

因为大多数使用的都是美国键盘,所以第7.6.5章节内容可忽略

第7.7章节 

运行以下命令获取Glibc支持的所有语言环境的列表:

locale -a

结果:

C
en_US.utf8
POSIX
zh_CN.utf8

这里我们选择en_US.utf8

以下是对对所选择的语言的测试

LC_ALL=<locale name> locale charmap

LC_ALL=<locale name> locale language
LC_ALL=<locale name> locale charmap
LC_ALL=<locale name> locale int_curr_symbol
LC_ALL=<locale name> locale int_prefix

确定正确的区域设置后,创建 /etc/profile文件:

cat > /etc/profile << "EOF"
# Begin /etc/profile

export LANG=en_US.utf8  (这里替换为所选择的语言环境)
# End /etc/profile
EOF

第7.4章节

找出分配给哪个网络设备的名称:

cat /etc/udev/rules.d/70-persistent-net.rules 
记住这个命令输出的网络设备的名字,下一章节要使用。

第7.5.1章节

cd /etc/sysconfig/
cat > ifconfig.eth0 << "EOF"   (这里的eth0修改为上一章节记录的网络设备的名字)
ONBOOT=yes
IFACE=eth0  (这里的eth0修改为上一章节记录的网络设备的名字)
SERVICE=ipv4-static
IP=192.168.1.2
GATEWAY=192.168.1.1 PREFIX=24 BROADCAST=192.168.1.255 EOF

 第7.5.2章节

cat > /etc/resolv.conf << "EOF"
# Begin /etc/resolv.conf

domain <Your Domain Name>
nameserver   8.8.8.8
nameserver   8.8.4.4

# End /etc/resolv.conf EOF

这里我们使用谷歌的dns

第7.5.3章节

echo "<lfs>" > /etc/hostname
这里的lfs替换为你所设置的主机名字

第8.2章节

更改为lfs所创建的分区到相应位置即可(这个文件是配置lfs开机自动挂载的分区)

cat > /etc/fstab << "EOF"
# Begin /etc/fstab

# file system  mount-point  type     options             dump  fsck
#                                                              order
/dev/sda9     /boot             ext4    defaults            1     1
/dev/sda10    /                   ext4    defaults            1     1
/dev/sda11    /home           ext4    defaults            1     1
/dev/sda12    swap             swap     pri=1               0     0
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

八.编译安装内核,设置grub引导

第8.3章节

配置编译安装linux内核

首先进入sources目录

cd   /sources

解压内核文件压缩包

tar  -xvf linux-4.18.5.tar.xz

进入内核包目录

cd linux-4.18.5

准备编译

make mrproper

设置默认内核配置状态

make defconfig

设置内核

make menuconfig

找到以下选项

Device Drivers  --->
  Generic Driver Options  --->
   [ ] Support for uevent helper [CONFIG_UEVENT_HELPER]
   [*] Maintain a devtmpfs filesystem to mount at /dev [CONFIG_DEVTMPFS]

Kernel hacking  --->
       Choose kernel unwinder (Frame pointer unwinder)  ---> [CONFIG_UNWINDER_FRAME_POINTER]

上下键翻页找到Device Drivers --->回车进入

上下键翻页找到Generic Driver Options --->回车进入

按字母n键去掉Support for uevent helper对话框的×符号

按y键在Maintain a devtmpfs filesystem to mount at /dev对话框打上×符号

左右键找到exit,exit两次

上下键翻页找到Kernel hacking --->回车进入

上下键翻页找到Choose kernel unwinder--->回车进入

向下选择UNWINDER_FRAME_POINTER回车确定

左右键选择save,两次回车确定保存 选择两次exit退出到终端。

 如果您的主机硬件使用UEFI,请自行添加此项设置

Processor type and features  --->
   [*]   EFI stub support  [CONFIG_EFI_STUB]

 编译内核映像和模块

make -j(n) n为可设置同时运行的任务数量,不设置参数默认为无限(不要轻易尝试)

本章节警告中的内容大意

如果为boot单独分了区,请挂载boot分区在进行下步操作

复制一些内核的启动文件到boot分区

cp -iv arch/x86/boot/bzImage /boot/vmlinuz-4.18.5-lfs-8.3

cp -iv System.map /boot/System.map-4.18.5

cp -iv .config /boot/config-4.18.5

安装Linux内核的文档:

install -d /usr/share/doc/linux-4.18.5
cp -r Documentation/* /usr/share/doc/linux-4.18.5

配置linux模块加载顺序

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

第8.4章节

安装配置grub引导

我选择的是用manjaro安装的grub引导进入lfs系统所以未安装grub软件包

这里介绍给lfs安装配置grub引导的过程

在第6.62章节已经安装了grub软件

这里只介绍配置

1.安装grub引导到MBR

grub-install /dev/sda

2.创建grub配置文件

cat > /boot/grub/grub.cfg << "EOF"
# Begin /boot/grub/grub.cfg
set default=0
set timeout=5

insmod ext2
set root=(hd0,2)  括号里面更改为你所安装lfs的分区或boot分区 例如/dev/sda2为(hd0,2)

menuentry "GNU/Linux, Linux 4.18.5-lfs-8.3" {
        linux   /boot/vmlinuz-4.18.5-lfs-8.3 root=/dev/sda2 ro(这里的/dev/sda2更改为你所安装lfs的分区号 例如/dev/sda2) } EOF

如果boot单独分区,则把/boot删除。

多系统引导文件示例:

# Begin /boot/grub/grub.cfg
set default=0
set timeout=5

menuentry "GNU/Linux, Linux 4.18.5-lfs-8.3" {
        insmod ext2
        set root=(hd0,5)
        linux   /vmlinuz-4.18.5-lfs-8.3 root=/dev/sda6 ro
}
menuentry 'Manjaro Linux'{ insmod ext2 set root='hd0,msdos9' linux /vmlinuz-4.19-x86_64 root=/dev/sda10 ro initrd /intel-ucode.img /initramfs-4.19-x86_64.img } menuentry 'Windows 7 (on /dev/sda1)'{ insmod ntfs set root='hd0,msdos1' chainloader +1 } 

第9.1章节

设置系统版本及版本号运行本章节命令即可

echo 8.3 > /etc/lfs-release

cat > /etc/lsb-release << "EOF"
DISTRIB_ID="Linux From Scratch"
DISTRIB_RELEASE="8.3"
DISTRIB_CODENAME="<your name here>"(括号里改为自己起的名字)
DISTRIB_DESCRIPTION="Linux From Scratch" EOF

第9.3章节

本章节中的提及的软件包,将在其他笔记单独记录

运行下面的命令,退出chroot,卸载lfs的分区

exit

umount -v $LFS/dev/pts
umount -v $LFS/dev
umount -v $LFS/run
umount -v $LFS/proc
umount -v $LFS/sys umount -v $LFS umount -v $LFS/usr umount -v $LFS/home umount -v $LFS

如果需要本机的grub引导lfs则在root用户下运行以下命令创建lfs的引导项

非manjaro系统需要安装os-prober软件包,并挂载lfs的分区,在运行下面命令,添加lfs的启动项

grub-mkconfig -o /boot/grub/grub.cfg

确定添加完lfs引导项后,重启机器进入lfs选项,即可进入lfs操作系统。

blfs学习笔记:https://www.cnblogs.com/renren-study-notes/p/10214504.html

猜你喜欢

转载自www.cnblogs.com/renren-study-notes/p/10279446.html