如何构建Linux发行版



免责声明: 这是我第一次深入研究嵌入式Linux世界(Ubuntu和Debian),尽管我是Linux用户已经有一段时间了发行版如Raspbian,Armstrong(beagbone)和嵌入式debian。这个标题可能看起来也很普通,但我真的想不出更好的一个,我上下班了,我读了很多书在过去的几个小时里,我已经过了上床睡觉的时间美容睡眠,直到星期二我才有机会再睡一次,所以…对于语法/语法/格式错误,我深表歉意

背景

Debian、Armstrong、Ubuntu、OpenWRT等软件包是如何构建的?我的意思是,我知道当你把映像下载到像BeagleBone Black这样的板上时,你需要构建u-boot、内核和包,这些发行版之间的区别在于包(我可能错了,请纠正我)。

我一直在阅读如何构建这些发行版(确切地说是Armstrong和OpenWRT),他们都告诉我下载他们的存储库并运行他们的配置脚本,以便运行发行版。因此,这让我思考:">(1)如果我有一个不属于BeagleBone、Raspberry Pi或任何其他知名板配置的自定义板,会发生什么?是否可以通过安装我想要的任何软件包来制作我自己的发行版,并使它们与其他软件包不同?">

正如你所看到的,有4个不同的问题,所以如果必要的话,我会用下面的段落来解释我自己。

(1)如果我有一个不属于BeagleBone、Raspberry Pi或任何其他知名板配置的自定义板,会发生什么?

好的。为了构建发行版,我试着阅读了他们运行的脚本,但它们太长了,已经很晚了,我什么也没得到,我完全迷失了方向。根据我所读到的内容,我想象这些脚本下载u-boot、内核和包,构建它们并将它们放在同一个映像中(我已经阅读了如何使用引导程序和内核"手动完成")。我想有一些配置文件,一些描述了电路板的文件等等,但我不能确定。我走的路是正确的吗?

(2) 上述董事会的创建者在第一次创建一个独特的董事会时做了什么?

直到你可能在想,"好吧,只要找到一块看起来像你的板子的板子,修改文件,然后继续做下去"。在现实世界中,这是我会做的,但现在我想学习,只有把所有这些知识都刻进脑子里,我才会学习。问题是,有几个配置文件(根据我从u-boot和内核中学习的内容),我身体里的所有东西告诉在问这个问题之前先阅读Embedded Linux Primer,第二版。如果这个问题的答案太深入了,请告诉我读一本书,但如果没有,有人能帮我吗?

(3) 他们是如何制作自己的发行版的?

(4) 有没有可能通过安装我想要的任何软件包来制作我自己的发行版,并使它们与其他软件包不同?

我知道发行版背后有很多开发,我无意诋毁所有这些团队的开发(这个词对吗?英语不是我的母语,根据定义,它似乎可以,但在这里使用时不知何故感觉"blargh")。这只是一个问题,我可以构建引导程序、内核、其他一些随机程序和包,并将其称为我自己的发行版吗?如果是,我该如何将包映像构建到我的发行版中?

如果我从零开始开发一个知名的发行版,而不使用他们的脚本,我会构建引导程序、内核和知名发行版使用的所有东西,然后将其绑定到一个映像中吗?我会只构建u-boot和内核,然后安装所有其他源代码,并以此构建我的新linux映像吗

编辑:我希望留下上面的文字,以便新读者了解我的思路。我发现很难用寥寥数语来表达自己,并把它变成一个"相关的问题"。所以我在下面加了一个标题,这是我目前能想到的最客观的问题。我还编辑了一些文本,并给它起了一个标题。我只是浏览前面的问题,因为它们看起来很有效,尽管有各种各样的好答案,因为它可能会帮助其他人解决我的相同问题。如果需要,我可以删除它们。

跳到问题

有几个问题我想得到答案,我试图尽可能客观地对待它们

  1. 我可以通过下载u-boot、内核和特定的OpenWRT源代码,从源代码构建一个类似OpenWRT的发行版吗?我的意思是,如果我能在不使用他们提供的脚本的情况下做到这一点。如果我使用他们的脚本,我知道我可以修改一些配置,并将其移植到我自己的"唯一"开发板。你能成为我的起点吗?

  2. 如何配置我自己独特的开发板?如果我只是编译u-boot和内核,然后在上面安装一些程序,可以吗?生产准备好了吗?

  3. 许多人说Linux是从零开始的。我发现反对它的主要论点是它对生产来说太可怕了。与其告诉我为什么这对生产来说很糟糕,你能告诉我如何让我的设置对生产来说"好"吗?

如今,Yocto工具包是第一站,它可以帮助您构建分发内容。但当然,这只是这样一个工具的一个例子,还有更多的例子。

在2016年,没有人会再"从零开始手动"做发行版了。

yocto将为您完成大部分工作。你查过lfs吗http://www.linuxfromscratch.org/还可以将一组软件包安装到chroot环境中并创建一个文件系统。不过,安装grub或任何引导加载程序都需要额外的工作才能使其成为可引导映像。

相关内容

  • 没有找到相关文章

最新更新