从头开始构建一个嵌入式Linux发行版

从头开始构建一个嵌入式Linux发行版

ID:41551729

大小:74.44 KB

页数:16页

时间:2019-08-27

从头开始构建一个嵌入式Linux发行版_第1页
从头开始构建一个嵌入式Linux发行版_第2页
从头开始构建一个嵌入式Linux发行版_第3页
从头开始构建一个嵌入式Linux发行版_第4页
从头开始构建一个嵌入式Linux发行版_第5页
资源描述:

《从头开始构建一个嵌入式Linux发行版》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、PeterSeebach,自由作家,Plethora,net2008年9月01日学习如何为嵌入式环境构建一个定制Linux发行版,本教程针对的是TechnologicSystemsTS-7800单板计算机。在这篇教程中,将学习交叉编译、启动装载器、文件系统、根文件系统、磁盘镜像和启动过程,您可以在构建系统和创建发行版时选择它们。在本教程中本教程首先讨论交叉编译问题,然后讨论Linux系统的组成部分,以及它们是如何结合在一起的。本教程还谈到了构建和安装,以及目标系统的配置。本教程讨论一个特定的目标TechnologicSystemsTS-7800,它使用自

2、己的默认启动和bring-up行为;其他系统将使用其他的机制,本文不详细地讨论每种可能的启动装载器。预备知识本教程针对对目标嵌入式系统感兴趣,或者想学习更多关于Linux系统的开发人员。他们将从本教程获益不浅。本教程使用的主机坏境是Ubuntu,但其他系统也可以。本教程假定用户基本熟悉UNIX®或Linux系统管理,并且有主机系统的根访问权限。本教程假定您shell是Bourneshell的变体;如果您使用的是Cshell变体,那么提示符可能会不同,需要使用不同的命令来设置环境变量。对于交叉编译(在嵌入式系统中比较有用),我使用了2008年5月发行的cr

3、osstool-ngversion1.1.0。您可以从发行站点下载它(参见参考资料)。后面有关于安装和配置它的详细信息。学习如何构建一个在嵌入式环境中使用定制Linux发行版,以驱动TechnologicSystemsTS-7800单板计算机。在这篇教程中,将学习交叉编译、启动装载器、文件系统、根文件系统、磁盘镜像和启动过程,您可以在构建系统和创建发行版时选择它们。开始之前目标本教程展示如何在一个目标系统上安装Linuxo这不是一个预先构建的Linux发行版,而是您从头构建发行版。虽然在不同目标系统上安装Linux的过程在细节上有差异,但总的原则是相同的

4、。本教程帮助您构建(如果您有一个合适的目标系统)一个有效的Linux系统,您可以在这个系统上使用shell提示符。关于本教程本教程首先讨论交叉编译问题,然后讨论Linux系统的组成部分,以及它们是如何结合在一起的。本教程还谈到了构建和安装,以及目标系统的配置。本教程讨论一个特定的目标TechnologicSystemsTS-7800,它使用自己的默认启动和bring-up行为;其他系统将使用其他的机制,本文不详细地讨论每种可能的启动装载器。先决条件和系统需求本教程针对对目标嵌入式系统感兴趣,或者想学习更多关于Linux系统的开发人员。他们将从本教程获益不

5、浅。本教程使用的主机坏境是Ubuntu,但其他系统也可以。本教程假定用户基本熟悉UNIX®或Linux系统管理,并且有主机系统的根访问权限。本教程假定您shell是Bourneshell的变体;如果您使用的是Cshell变体,那么提示符可能会不同,需要使用不同的命令来设置环境变量。对于交叉编译(在嵌入式系统中比较有用),我使用了2008年5月发行的crosstool-ngversion1.1.0。您可以从发行站点下载它(参见参考资料)。后面有关于安装和配置它的详细信息。关于目标和架构目标我选择的目标是一个TechnologicSystemsTS-7800

6、(详细信息请参阅参考资料)。这是一个小型的嵌入式ARM系统,同时具有内置的和可移动的flash存储,还有一个SATA控制器。本教程引导您启动到一个登录提示符,而不需要依赖预先构建的二进制文件。架构我选择了ARM架构,这便于检查一个给定的二进制文件是主机还是目标,并且便于查看是否发生主机污染。使用一台总功率为5W,能够安静运行的机器也不错。交叉编译什么是交叉编译?交叉编译是在一个系统上使用编译器来开发在另一个系统上运行的代码。交叉编译对于偶尔使用UNIX的用户而言比较少见,因为在默认情况下,只在本系统上安装需要使用的编译器。然而,当以嵌入式系统为目标时,交

7、叉编译就相当常见。即使主机和目标具有相同的架构,也必须区分它们的编译器。它们对能有不同版本的库,或者使用不同的编译器选项构建的库,所以用主机编译器编译的东西在目标系统上不能运行,或者不能像预期的那样运行。获取交叉编译工具理论上,可以自己构建一个交叉编译器,但这很不实际。因为所需的一系列启动阶段(bootstrapstage)很复杂耗时,而且常常需要构建一个非常小的编译器,用來部分地配置和构建库,然后使用这些库的头文件重新构建编译器,使新的编译器能够使用它们,等等。有很多商业源代码可以实现在不同架构组合上使用交叉编译器,也冇一些免费的交叉编译工具包。cro

8、sstoo1-ng简介DanKegel的crosstool(详细信息请参阅参考资

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。