blfs(systemv版本)学习笔记-总页
lfs(systemv版本)学习笔记:https://www.cnblogs.com/renren-study-notes/p/10199344.html
一名linux爱好者,记录构建Beyond Linux From Scratch的过程
经博客园-骏马金龙前辈介绍,开始接触学习lfs,用博客记录学习笔记,如有写的不恰当的地方,望多多指正。
笔记中只是记录一些问题和书中表述不清晰的内容的处理办法以及我的解决思路,仅做参考。
要实际构建blfs请结合blfs官方的书籍操作
一.lfs系列概述
1.lfs:Linux From Scratch(LFS)是一个项目,为您提供完全从源代码构建自己的自定义Linux系统的分步说明
2.blfs:Beyond Linux From Scratch(BLFS)是一个继续LFS书籍完成的项目。它通过提供在基本LFS系统之上安装和配置各种软件包的广泛说明,帮助用户根据需要开发系统。
3.alfs:Automated Linux From Scratch (ALFS)是一个为可扩展系统构建器和程序包安装程序创建通用框架的项目。(自动化创建LFS系统的过程)
4.clfs:Cross Linux From Scratch(CLFS)是一个使用其他架构从源代码构建自己的定制Linux系统的分步说明
5.hlfs:Hardened Linux From Scratch (HLFS)是一个为您提供从源完全构建您自己的定制和强化Linux系统的分步说明。基于LFS,该项目还将包含BLFS的部分内容。与这些其他项目的主要区别在于处理安全配置问题的文本数量,以及修补或替换许多用于提高安全性的软件包。
6.livecd:LFS LiveCD专门用于提供可靠的主机系统,以便构建Linux From Scratch。因此,它可能不是您想象的“完美”Linux系统。但是,它应该为您提供足够舒适的环境,以便您可以反过来建立自己的“完美”系统
二.lfs版本说明
1.lfs系列每本书籍都有两个版本
一个版本是安装并使用systemv的版本
我的学习笔记地址:https://www.cnblogs.com/renren-study-notes/p/10214504.html
另一个版本是安装并使用systemd的版本
我的学习笔记地址:https://www.cnblogs.com/renren-study-notes/p/10385413.html
本篇笔记使用的是systemv版本书籍。
三.构建blfs过程中使用到的网站:
blfs书籍原版(英文)下载链接:http://www.linuxfromscratch.org/blfs/downloads/stable/blfs-book-8.3-html.tar.bz2
文件镜像网站汇总:http://www.linuxfromscratch.org/mirrors.html
blfs的固件下载网站:http://anduin.linuxfromscratch.org/BLFS/linux-firmware/
四.使用的机器信息,系统信息,书籍信息
使用的机器型号:Thinkpad-L450
使用主机操作系统:manjaro-xfce-18.0.1/fedora29-gnome/manjaro-gnome-18.0.1
使用blfs书籍版本blfs-book-8.3(官网英文版)
五.书中单元介绍
blfs全书分为十三个单元,分别是:
1.导言
2.构建完lfs后的配置和额外软件
3.常规库和实用程序
4.网络
5.服务器
6.x窗口和显示管理器
7.kde
8.gnome(仅有应用程序)
9.xfce
10.lxde
11.软件
12.多媒体
13.打印、扫描和排版
六.单元的选择问题
1.其中2和4单元是必须要选择的,其他单元根据爱好选择
2.如果选择桌面环境则要先完成第6单元内容
4.第三单元内容不需要都完成,软件包需要那个依赖在软件包页面的依赖项目中都有链接。
七.具体操作问题
因为直接使用lfs系统操作不方便,可以选择从主机挂载lfs操作或远程连接进行操作。
具体挂载方法链接:https://www.cnblogs.com/renren-study-notes/p/10204516.html
远程连接操作方法:https://www.cnblogs.com/renren-study-notes/p/10281633.html
八.构建完lfs后进行一些文件的整理
1.进入/sources目录,创建lfs-sources目录,移动构建lfs过程中的软件包到该目录(这些软件包不建议删除,如果在使用lfs过程中出现问题还可以使用相应的软件包重新编译安装)
cd /sources
mkdir lfs-sources
mv * /lfs-sources
2.在sources目录下创建blfs-sources目录,用来存放构建blfs时用的软件包文件
cd /sources mkdir blfs-sources
3.在blfs-sources目录下创建用来验证MD5的文件md5sums
vim md5sums
4.每次在校验软件包md5前打开md5sums文件添加相应的md5值,格式例如:
2db6f03d655041f82eb64b8c8a1fa7da wget-1.19..tar.gz
1f0176c4fa89274971b2826a97f303f7 make-ca-0.8.tar.gz
九.学习构建blfs的注意事项
1.如果包下载地址无效则去文件镜像网站汇总的网页去寻找,我的学习笔记中会贴出我使用的软件包链接
2.有些软件包需要安装blfs提供的启动脚本则流程如下
cd $LFS/sources/blfs-sources
tar -xvf blfs-bootscripts-.tar.xz
cd blfs-bootscripts-20180105 这里添加为每一个包准备的安装脚本的命令
cd $LFS/sources/blfs-sources
rm -rf blfs-bootscripts-
进入脚本存放目录,解压脚本文件,安装相应脚本,退出目录,删除解压文件
3.blfs学习笔记中有部分的软件包没有写编译安装的详细过程,如果都写的话篇幅过长,书上面都有按着操作就可以了,相关笔记只贴出我制作的软件包的相关依赖图。
4.依赖关系图中标注红色1的为需要更改内核配置的包
5.重新编译安装linux内核配置的相关问题
1.每次需要在内核中加入新的配置都需要去lfs-sources目录下解压并进入linux内核包
2.准备编译
make mrproper
3.载入正在使用中的内核配置或手动添加以前的配置(这里推荐直接从boot目录载入)
cp -iv /boot/config-4.18. .config
4.打开设置界面,添加需要添加的配置
make menuconfig
5.编译并安装内核模块
#make -j8
#make modules_install
6.复制相应的文件到boot
cp -iv arch/x86/boot/bzImage /boot/vmlinuz-4.18.-lfs-8.3 cp -iv System.map /boot/System.map-4.18. cp -iv .config /boot/config-4.18.
7.退出目录并删除解压的linux包目录
cd ..
#rm -rf linux-4.18.
8.遇到需要加载固件的解决办法
1.知道是哪个固件的去固件网站下载放到/lib/firmware/文件下
2.不知道固件具体名称的可以先编译安装完内核包后重启看启动的输出那几个内核模块出错了,他会显示需要什么名字的固件文件,再去固件网站找下载到/lib/firmware/文件,重启后输出没问题即可。
3.在自己机器上面安装的其他linux发行版本查看它为设备加载的内核模块是哪个,其固件网站下载放到/lib/firmware/文件下
4.查看已经加载的固件及加载错误的固件的命令
dmesg | grep -i firmware
5.将固件构建至linux内核
Device Drivers --->
Generic Driver Options --->
Firmware loader --->
-*- Firmware loading facility
() Build named firmware blobs into the kernel binary(CONFIG_EXTRA_FIRMWARE)
(/lib/firmware) Firmware blobs root directory(CONFIG_EXTRA_FIRMWARE_DIR)
十.所有构建笔记链接
1.使用apache构建一个简单的网页服务器链接:https://www.cnblogs.com/renren-study-notes/p/10291316.html
2.前几章节的脚本配置链接:https://www.cnblogs.com/renren-study-notes/p/10287905.html
3.简单的桌面操作系统(xorg+i3+lightdm):https://www.cnblogs.com/renren-study-notes/p/10325336.html
blfs(systemv版本)学习笔记-总页的更多相关文章
- blfs(systemd版本)学习笔记-总页
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! lfs(systemd版本)学习笔记:https://www.cnblogs.com/renren-study-notes/p/ ...
- 操作系统学习笔记(二) 页式映射及windbg验证方式
页式映射 本系列截图来自网络搜索及以下基本书籍: <Windows内核设计思想> <Windows内核情景分析> <WINDOWS内核原理与实现> 一个32位虚拟地 ...
- react-router 4.0版本学习笔记
Router 所有路由组件的底层接口,一般情况都不使用,而是使用更加高级的路由. 最常用的有两种<BrowserRouter>.<HashRouter> <Browser ...
- java学习笔记总略
二.正文(一)Java1.接口和抽象类的区别①抽象类里可以有构造方法,而接口内不能有构造方法.②抽象类中可以有普通成员变量,而接口中不能有普通成员变量.③抽象类中可以包含非抽象的普通方法,而接口中所有 ...
- OpenGL编程指南第版本学习笔记 --- OpenGL程序实现过程(win32 + OpenGL)
1. 先上代码 头文件glCommon.h #include <GL/glew.h> #include <GL/GL.h> #include <GL/GLU.h> ...
- thinkphp 3.2.3版本学习笔记
2.开启调试模式,有什么作用?(默认关闭,在ThinkPHP.php 33行左右) (1)非法调用的时候,有详细的报错信息,便于调试 (2)APP_DEBUG为true并且缓存文件存在,走缓存文件,否 ...
- pyecharts v1 版本 学习笔记 饼图,玫瑰图
饼图: 普通案例 from example.commons import Faker from pyecharts import options as opts from pyecharts.char ...
- pyecharts v1 版本 学习笔记 折线图,面积图
折线图 折线图 基本demo import pyecharts.options as opts from pyecharts.charts import Line c = ( Line() .add_ ...
- pyecharts v1 版本 学习笔记 散点图
散点图 基本案例 from example.commons import Faker from pyecharts import options as opts from pyecharts.char ...
随机推荐
- 消息中间件——RabbitMQ
RabbitMQ介绍 RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性.扩展性.高可用性等方面表现不俗.RabbitM ...
- ASP.NET MVC下使用AngularJs语言(六):获取下拉列表的value和Text
前面Insus.NET有在Angularjs实现DropDownList的下拉列表的功能.但是没有实现怎样获取下拉列表的value和text功能. 下面分别使用ng-click和ng-change来实 ...
- Alpha代码规范、冲刺任务与计划
Alpha代码规范.冲刺任务与计划 团队名称: 云打印 作业要求: Alpha代码规范.冲刺任务与计划 作业目标:代码规范.冲刺任务与计划. 团队队员 队员学号 队员姓名 个人博客地址 备注 2216 ...
- GCD on Blackboard
题目大意:给你n个数,然后在这n个数中选一个数,选中的这个数可以变成任意的数,使这n个数的gcd(最大公约数)最大.打印这个最大的gcd. 思路:这题一看貌似很复杂,其实这题只要你知道前缀和 和 ...
- kubernetes集群搭建(1):环境准备
了解kubernets 本次搭建采用的是1个master节点,2个node节点,一个私有docker仓库 1.设置各节点ip信息 2.设置hostname(其它节点也需修改) vi /etc/sysc ...
- 【微服务】.netCore eShopOnContainers 部署实践《二》
Docker 专业术语介绍 优点:轻量级.可伸缩(灵活性).可靠性.可移植 Container image A package with all of the dependencies and in ...
- 学习DDD之路--勇于纠正自己的错误
写这篇文章主要是之前三篇对DDD的介绍算是自己学习的一次试水,也希望能够有更多的人能帮我发现其中的问题.昨天继续阅读了DDD书,发现了自己之前的例子存在了一些问题,早上也和园友进行了一些讨论.最后整理 ...
- Spring Security OAuth笔记
因为工作需要,系统权限安全方面可能要用到Spring Security OAuth2.0,所以,近几天了解了一下OAuth相关的东西.目前好像还没有系统的学习资料,学习主要是通过博客,内容都是大同小异 ...
- redis 五种数据类型
前言 前面学会了单机, 学会了集群, 但是redis咋用啊? 或者说, redis支持哪些数据类型呢? 常用的有五种: String , Hash, List, Set, zset(SortedSet ...
- iOS开发必会的坐标系探究
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由落影发表于云+社区专栏 前言 app在渲染视图时,需要在坐标系中指定绘制区域. 这个概念看似乎简单,事实并非如此. When an a ...