笔记:构建嵌入式Linux系统(第二版)—— 第一章 概述

第一章 概述


Linux OS1991年夏首度问世。最开始是由Linus Torvalds以源码形式发布,需要有足够的专业知识才能构建和安装。后续Linux早期的爱好者/开发者建立了第一个Linux软件发行套件Distribution,包括安装和使用一个Linux系统时需要用到的所有软件组件。

Linux的成果起源于之前许多项目的成果。Richard Stallman自由软件基金会” Free Software Foundation, FSF开发和维护的软件统称为GNU GNU‘s Not UNIX)。GNU阐明了FSF的目标在于建立一个自由的Unix-like系统。

【UNIX操作系统(尤尼斯),是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompsonDennis RitchieDouglas McIlroy1969年在AT&T的贝尔实验室开发。目前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,否则只能称为类UNIXUNIX-like)。


1. 什么是Linux

Linux最初指的是由Linus Torvalds所撰写的操作系统内核。Linux内核提供各种基本服务,让任何基于Linux的系统能够正确运行。应用软件需要依赖Linux内核的特定功能(例如处理硬件设备的能力)以及各种抽象概念(例如,虚拟内存、任务/进程、socket、文件等)。Linux内核的启动一般是由引导加载程序或系统固件负责进行,一旦开始,就不会停止。

Linux常用于指Linux内核本身、Linux系统,或是基于Linux内核源码的软件发行套件,以及相关的软件。理查德斯托曼和FSF通常在Linux前加上GNU/,表示一个执行Linux内核与各种GNU软件的完整系统。实际上,不使用GNU也可以建立一个基于Linux的完整系统(困难很大)。所以目前的趋势是以用Linux这个术语来表示一个在Linux内核之上执行GNU和非GNU软件的完整系统或发行套件。

所以要区分“Linux内核“Linux系统“Linux发行套件间的关系。


2. 什么是嵌入式Linux系统?

嵌入式Linux系统通常用于指一个完整的系统,表示以嵌入式系统为需求对象的发行套件。嵌入式Linux系统:使用Linux内核与各种其他软件;嵌入式Linux发行套件:为嵌入式系统与开发工具量身定制的软件套件,以便建立一个完整的系统。

嵌入式Linux发行套件所提供的开发工具可能包括:交叉编译器cross-compiler、调试器debugger、项目管理软件project management software、引导映像生成器boot image builder等。


3. 什么是实时Linux

最初,实时Linux是指1996年开发的RTLinux项目。目标是在Linux环境下提供确定的响应时间。后来得到了扩展。

目前,Linux下有更多著名的实时项目,其中一个是替官方的Linux内核加入实时的支持。


4. Linux为何不能在32位以下的处理器上执行?

严格的讲,这句话并非完全准确。依据有人将Linux移植到一些奇怪的处理器上(比如16 bit),但是这样的话,你将孤立无援,得不到支持。


5. 实时操作系统

对于嵌入式来说,有两种时限类型:严格和宽松。严格时限要求系统必须在预定的时间之内作出反应。严格时限要求系统可分为:硬实时操作系统和软实时操作系统。

硬实时操作系统必须具备严格的时间要求,如大型切割机。

软实时操作系统也具备严格的时限要求,但是可容忍一时的失误。如偶尔的断讯、声音延迟等。

宽松时限要求系统需要额外的处理时间,往往看起来很慢,但是不影响结果。如取款机。

【下跌的IC间隔和网络标准化支持是人们选用Linux的一个因素】


6 选用Linux的理由

(1)程序代码的质量和可靠度。包括:模块与结构、可读性、可扩展、可设定、可预测、错误恢复、长期执行等。由于开放源码的开发模型,许多眼睛的协助下,质量可可靠性得到保障。

(2)程序代码的可用性。每个人都可以获取并修改。

(3)对硬件的支持。

(4)通信协议与软件标准。

(5)可用工具。

(6)社群的支持。

(7)许可。GPLLGPLBSD等等。

(8)不依赖特定厂商。

(9)成本。


7. 建立目标Linux系统

主要四个步骤:

(1) 决定系统组件。类似去超市之前写下采购单。

(2) 设定及建立内核。

(3) 建立跟文件系统。

(4) 设置引导软件与配置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本教程从网上收集而来 目标 展示如何在一个目标系统上安装 Linux。这不是一个预先构建Linux 发行,而是您从头构建发行。虽然在不同目标系统上安装 Linux 的过程在细节上有差异,但总的原则是相同的。 本教程帮助您构建(如果您有一个合适的目标系统)一个有效的 Linux 系统,您可以在这个系统上使用 shell 提示符。 关于本教程 本教程首先讨论交叉编译问题,然后讨论 Linux 系统的组成部分,以及它们是如何结合在一起的。本教程还谈到了构建和安装,以及目标系统 的配置。 本教程讨论一个特定的目标 Technologic Systems TS-7800,它使用自己的默认启动和 bring-up 行为;其他系统将使用其他的机制,本文不详细 地讨论每种可能的启动装载器。 本教程针对对目标嵌入系统感兴趣,或者想学习更多关于 Linux 系统的开发人员。他们将从本教程获益不浅。 本教程使用的主机环境是 Ubuntu,但其他系统也可以。本教程假定用户基本熟悉 UNIX® 或 Linux 系统管理,并且有主机系统的根访问权限。 本教程假定您 shell 是 Bourne shell 的变体;如果您使用的是 C shell 变体,那么提示符可能会不同,需要使用不同的命令来设置环境变量。 对于交叉编译(在嵌入系统中比较有用),我使用了 2008 年 5 月发行的 crosstool-ng version 1.1.0。您可以从发行站点下载它(参见 参考 资料)。后面有关于 安装和配置它 的详细信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值