如何打造自己的 Linux 发行版

如何打造自己的 Linux 发行版,第1张

LFS 中文版手册发布:如何打造自己的 Linux 发行版

您是否想过打造您自己的 Linux 发行版?每个 Linux 用户在他们使用 Linux 的过程中都想过做一个他们自己的发行版,至少一次。我也不例外,作为一个 Linux 菜鸟,我也考虑过开发一个自己的 Linux 发行版。从头开发一个 Linux 发行版这件事情被称作 Linux From Scratch (LFS)。

在开始之前,我总结了一些有关 LFS 的内容,如下:

1. 那些想要打造他们自己的 Linux 发行版的人应该了解打造一个 Linux 发行版(打造意味着从头开始)与配置一个已有的 Linux 发行版的不同

如果您只是想调整下启动屏幕、定制登录页面以及拥有更好的外观和使用体验。您可以选择任何一个 Linux 发行版并且按照您的喜好进行个性化配置。此外,有许多配置工具可以帮助您。

如果您想打包所有必须的文件、引导加载器和内核,并选择什么该被包括进来,然后依靠自己编译这一切东西。那么您需要的就是 Linux From Scratch (LFS)。

注意:如果您只想要定制 Linux 系统的外表和体验,这个指南并不适合您。但如果您真的想打造一个 Linux 发行版,并且向了解怎么开始以及一些其他的信息,那么这个指南正是为您而写。

2. 打造一个 Linux 发行版(LFS)的好处

您将了解 Linux 系统的内部工作机制

您将开发一个灵活的适应您需求的系统

您开发的系统(LFS)将会非常紧凑,因为您对该包含/不该包含什么拥有绝对的掌控

您开发的系统(LFS)在安全性上会更好

3. 打造一个Linux发行版(LFS)的坏处

打造一个 Linux 系统意味着将所有需要的东西放在一起并且编译之。这需要许多查阅、耐心和时间。而且您需要一个可用的 Linux 系统和足够的磁盘空间来打造 LFS。

4. 有趣的是,Gentoo/GNU Linux 在某种意义上最接近于 LFS。Gentoo 和 LFS 都是完全从源码编译的定制的 Linux 系统

5. 您应该是一个有经验的Linux用户,对编译包、解决依赖有相当的了解,并且是个 shell 脚本的专家。

了解一门编程语言(最好是 C 语言)将会使事情变得容易些。但哪怕您是一个新手,只要您是一个优秀的学习者,可以很快的掌握知识,您也可以开始。最重要的是不要在 LFS 过程中丢失您的热情。

如果您不够坚定,恐怕会在 LFS 进行到一半时放弃。

**6. 现在您需要一步一步的指导来打造一个 Linux 。LFS 手册是打造 LFS 的官方指南。我们的合作站点 tradepub 也为我们的读者制作了 LFS 的指南,这同样是免费的。 ###

您可以从下面的链接下载 Linux From Scratch 的电子书:

下载: Linux From Scratch

7. 当前 LFS 的版本是 7.7,分为 systemd 版本和非 systemd 版本。

LFS 的官方网站是: http://www.linuxfromscratch.org/

您可以在官网在线浏览 LFS 以及类似 BLFS 这样的相关项目的手册,也可以下载不同格式的版本。

LFS (非 systemd 版本):

PDF 版本: http://www.linuxfromscratch.org/lfs/downloads/stable/LFS-BOOK-7.7.pdf

单一 HTML 版本: http://www.linuxfromscratch.org/lfs/downloads/stable/LFS-BOOK-7.7-NOCHUNKS.html

打包的多页 HTML 版本: http://www.linuxfromscratch.org/lfs/downloads/stable/LFS-BOOK-7.7.tar.bz2

LFS (systemd 版本):

PDF 版本: http://www.linuxfromscratch.org/lfs/downloads/7.7-systemd/LFS-BOOK-7.7-systemd.pdf

单一 HTML 版本: http://www.linuxfromscratch.org/lfs/downloads/7.7-systemd/LFS-BOOK-7.7-systemd-NOCHUNKS.html

打包的多页 HTML 版本: http://www.linuxfromscratch.org/lfs/downloads/7.7-systemd/LFS-BOOK-7.7-systemd.tar.bz2

8. Linux 中国/LCTT 翻译了一份 LFS 手册(7.7,systemd 版本)

经过 LCTT 成员的努力,我们终于完成了对 LFS 7.7 systemd 版本手册的翻译。

手册在线访问地址:https://linux.cn/lfs/LFS-BOOK-7.7-systemd/index.html 。

其它格式的版本稍后推出。

感谢参与翻译的成员: wxy, ictlyh, dongfengweixiao, zpl1025, H-mudcup, Yuking-net, kevinSJ 。

关于:Linux From Scratch

这本手册是由 LFS 的项目领头人 Gerard Beekmans 创作的, Matthew Burgess 和 Bruse Dubbs 参与编辑,两人都是LFS 项目的联合领导人。这本书内容很广泛,有 338 页之多。

手册中内容包括:介绍 LFS、准备构建、构建 LFS、建立启动脚本、使 LFS 可以引导,以及附录。其中涵盖了您想知道的 LFS 项目中的所有东西。

这本手册还给出了编译一个包的预估时间。预估的时间以编译第一个包的时间作为参考。所有的东西都以易于理解的方式呈现,甚至对于新手来说也是这样。

如果您有充裕的时间并且真正对构建自己的 Linux 发行版感兴趣,那么您绝对不会错过下载这个电子书(免费下载)的机会。您需要做的,便是照着这本手册在一个工作的 Linux 系统(任何 Linux 发行版,足够的磁盘空间即可)中开始构建您自己的 Linux 系统,付出时间和热情。

如果 Linux 使您着迷,如果您想自己动手构建一个自己的 Linux 发行版,这便是现阶段您应该知道的全部了,其他的信息您可以参考上面链接的手册中的内容。

请让我了解您阅读/使用这本手册的经历,这本详尽的 LFS 指南的使用是否足够简单?如果您已经构建了一个 LFS 并且想给我们的读者一些建议,欢迎留言和反馈。

BLFS阶段,startx后firefox等程序中文全部乱码问题的解决 http://www.linuxidc.com/Linux/2007-05/3789.htm

用LFS从零开始构建完整Linux系统 http://www.linuxidc.com/Linux/2011-08/40706.htm

基于Ubuntu 10.10 构建LFS 6.7[图文] http://www.linuxidc.com/Linux/2011-02/32545.htm

via: http://www.tecmint.com/create-custom-linux-distribution-from-scratch/

作者:Avishek Kumar 译者:wwy-hust 校对:wxy

本文由 LCTT 原创翻译

把LFS手册过一遍,一个LFS系统就有了,注意跳过编译内核步骤,改用下载到的RedHat 内核部署到文件系统中就可以了(手动解压复制,不需要安装RPM)。

LFS强调的就是自己动手,整个过程都自动了,那还是LFS么?

有一个ttylinux项目,提供了xbuildtool工具来自动编译工具链,又有专门的脚本来自动编译 *** 作系统,最终生成一个适合软盘大小的可用的Linux内核 *** 作系统,或许这个才是你想要的(ttylinux是从LFS来的,但已经不能算是LFS了)。

另有一个ROCK Linux项目,也是一套自动编译Linux系统的脚本,最终生成一个安装光盘映像,大小从几十M到几G不等。

我试了ttylinux,共需执行两个脚本(编译工具链一个,编译系统一个),每个脚本刚开始都提供了一些选项,设置完后就执行到底,不需要干预了。ROCK Linux编译过程需要巨大磁盘空间,我没舍得试。

如果有问题,可以发电子邮件到rockrush4@163.com讨论。平时都是呆在Linux下,QQ、手机什么的,我都很少用,还是电子信箱最好使。

linux from scratch *** 作:

第一部分:环境设置

1、安装VirtualBox3.1.8

2、安装Linux *** 作系统(RHEL或Centos等,不能用ubuntu,因为要有patch,m4,-1.4.10,autoconf,yacc等程序)

3、安装增强功能并分配固定数据空间,设置/mnt/share共享:

mount -t vboxsf share /mnt/share

如果要开机就挂上共享,可以在/etc/fstab的最后加上

share /mnt/share vboxsf rw,gid=100,uid=1000,auto 0 0

4、解压lfslivecd-x86-6.3-42145.iso里的lfs-sources到share

#另外,也可以不用安装 *** 作系统,直接用lfslivecd-x86-6.3-42145.iso作启动盘

#启动后选/Asia/shanghai及Chinese(simpifiled utf8),然后可以用cfdisk /dev/hda进行分区

#启动盘的/usr/share/LFS-BOOK-6.3-HTML目录下就是LFS手册

#由于要复制粘贴,所以要开启ssh服务,virtualbox设置的网络里将NAT(网格地址转换)改为Bridged Adapter,界面名称选1x1

11b/g/n Wireless LAN PCI Express Half Mini Card Adapter(这是我的无线卡).

#启动后用ifconfig就能查看地址,然后再用passwd给root设个密码(不然客户端不能登录)

#然后启动服务/etc/rc.d/init.d/sshd start

#最后再Windows里用putty连接ssh服务器(在Session界面的HostName里输入IP,Connection

Type里选SSH即可)。

#如果要用putty传输文件,则打开cmd窗口,输入命令:pscp 源文件路径 root@hostIp:目的路径

如将aaa.jpg传到/home下,则:pscp aaa.jpg root@192.168.0.101:/home

5、将/mnt/share/lfs-sources设置到根目录的lfs-sources:

ln -s /mnt/share/lfs-sources /

6、添加一个8G的虚拟硬盘(硬盘大小最好不小于2G)

7、分区并格式化硬盘:

8、生成sources及tools目录

9.将tools挂至根目录:

ln -sv $LFS/tools /

10.生成lfs用户

11.生成lfs用户环境

12.重新进入环境

第二部分:工具链制作

13.编译binutils

14.编译gcc

15.安装内核头文件Linux API Headers

16.编译Glibc-2.5.1

17.调整工具链

18.测试工具链的调整

19.测试工具安装

20.GCC安装(第二遍)

21.安装Binutils(第二遍)

22.安装Ncurses

23.安装Bash

24.安装Bzip

25.安装Coreutils

26.安装Diffutils

27.安装Findutils

28.安装Gawk

29.Gettext

30.Grep

31.Gzip

32.Make

33.Patch

34.安装Perl

35.安装Sed

36.安装Tar

37.安装Texinfo

38.安装Util-linux

39.删除些不用的东西(可不执行)

第三部分 主机中设置lfs

40.回到主机并建三个目录

41.建设备文件

43.复制源码到目标系统下

44.chroot到目标系统下(将新盘作为根目录)

45.建立目标系统目录结构

46.创建几个必要的链接

47.创建root及nobody用户组

48.重加载bash

第四部分 软件包安装

50.重启的环境恢复

51.进入软件包目录

52.安装Linux头

53.安装Man-pages

54.安装Glibc

55.调整工具链

56.调整specs文件

57.测试是否调整成功

58.安装Binutils

59.安装GCC

60.测试GCC是否安装正确

61.安装Berkeley

62.安装Sed

63.安装E2fsprogs

64.安装Coreutils

65.安装Iana-Etc

66.安装M4-1.4.10

67.安装Bison

68.安装Ncurses

69.安装Procps

70.安装Libtool

71.安装Perl

72.安装Readline

73.安装Zlib

74.安装Autoconf

75.安装Automake

76.安装Bash

77.安装Bzip

78.安装Diffutils

79.安装File

80.安装Findutils

81.Flex

82.安装Grub

83.安装Gawk

84.安装Gettext

85.安装Grep

86.安装Groff

87.安装Gzip

88.安装Inetutils

89.安装IPRoute

90.安装kbd

91.安装Less

92.安装Make

93.安装Man-DB

94.安装Mktemp

95.安装Module-Init-Tools

96.安装Patch

97.安装Psmisc

98.安装Shadow

99.安装Sysklogd

100.安装Sysvinit

101.安装Tar

102.安装Texinfo

103.安装Udev

104.安装Util-linux

105.安装Vim

106.退出chroot环境

第五部分 安装系统

107.从现在到制作结束,重启后设置

108.生成相关文件

109.安装内核

110.安装Grub

111.设置Grub启动菜单(注意,如果是两个分区则应修改root选项为hd0,1及/dev/hda2)

112.将menu.lst连接到/etc目录

113.结束

logout

至此,已经全部安装完成,可以启动自己的系统了。

-----------------------------------------------------------------------

另:

114.安装Linux2.6.37版本(linux-2.6.37.tar.bz2)

Perl和iprout要用更高版本,用:

perl-5.14.1.tar.bz2

iproute2-3.3.0.tar.bz2

115.解压initrd文件

116.制作内存启动盘


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8502135.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-17
下一篇2023-04-17

发表评论

登录后才能评论

评论列表(0条)

    保存