注意:磁盘分区总是从空闲部分的头开始创建,否则grub启动引导里配置磁盘分区号时无法辨别
围绕GCC+Binutils+Glibc三个工具展开:
Binutils:用于创建、管理和维护二进制目标文件的工具
GCC:一组编译工具,主要用于预处理和编译任务
Glibc:GNU发布的libc库,即c运行库
解决主机系统出现分区信息丢失和文件损坏的情况,这些信息可以不依赖于被拯救的主机,直接依赖于外部的救援设备rescue device,录入:CDROM,USB驱动器,网卡等。
微码:对CPU进行更新以解决勘误表问题
如果您已经确定更新后的微码可用于您的系统,那么是时候为
早期加载做好准备了。
这需要一个额外的包,cpio-2.13,并创建一个initrd,它
需要添加到grub.cfg中。在哪里准备initrd并不重要,
一旦它开始工作,您就可以将相同的initrd应用到同一
台机器上的后续LFS系统或更新的内核上,至少在
任何更新的微代码发布之前是这样。
shell文件使用启动文件集合帮助创建环境,每个文件都有特定的用途,可能以不同的方式影响登录和交互环境。
交互:就是与用户交互执行;登录一般涉及密码login
设置umask对于安全性非常重要,例如:
在这里,当用户名和组名不相同时,系统用户的默认组写权限被关闭。
注意init关键字+fs关键字,因此在LFS环境中使用initramfs只有四个主要原因:
1.从网络加载rootfs(root filesystem-Rootfs:根文件系统);
2.从LVM逻辑卷加载rootfs;
3.在需要密码的情况下使用加密的rootfs;
4.为了方便将rootfs指定为LABEL或UUID。
例如:编写脚本,使得这些允许在LVM逻辑卷上指定一个rootfs,或者通过分区UUID或分区LABEL指定一个rootfs。
脚本1:
生成initrd将文件复制到boot目录下,并在grub启动引导界面增加相应的菜单项。
LVM2包是一组管理逻辑分区的工具。它允许跨越多个物理磁盘和磁盘分区的文件系统,并提供逻辑分区的动态增长或收缩、镜像和低存储占用快照。
LVM(logical volume management 逻辑卷管理):LVM管理磁盘驱动器。它允许将多个驱动器和分区组合成更大的卷组,帮助通过快照进行备份,并允许动态调整卷大小。它还可以提供类似于RAID 1阵列的镜像
物理卷一般是物理磁盘的分区,卷组可以由任意数量的物理卷组成,逻辑卷由卷组构成 且 逻辑卷又可以逻辑上当成正常的linux分区使用。 (图片非原创,具体原链接详见编辑页)
逻辑卷的具体创建步骤
./configure 、make、 make instal(Cmake, meson、ninja,ruby gem)安装通用的软件
meson构建和ninja编译的具体步骤
ruby gem通常用于安装ruby库和程序的标准包
1.利用systemd-networkd来进行网桥设置;
2.用于访问各种服务器的客户机应用程序:桥接工具包、;
包括:主服务器(主服务器是向用户或其他程序提供内容或服务的程序)、邮件服务器、数据库等