嵌入式设备上的 Linux 系统开发
如果您刚接触嵌入式开发,那么大量可用的引导装载程序(bootloader)、规模缩小的分发版
(distribution)、文件系统和 GUI
看起来可能太多了。但是这些丰富的选项实际上是一种恩赐,允许您调整开发或用户环境以完全符合您的需要。对 Linux
嵌入式开发的概述将帮助您理解所有这些选项。
Linux 正在嵌入式开发领域稳步发展。因为 Linux 使用 GPL(请参阅本文后面的
参考资料
),
所以任何对将 Linux 定制于 PDA、掌上机或者可佩带设备感兴趣的人都可以从因特网免费下载其内核和应用程序,并开始移植或开发。许多
Linux 改良品种迎合了嵌入式/实时市场。它们包括 RTLinux(实时 Linux)、uclinux(用于非 MMU 设备的
Linux)、Montavista Linux(用于 ARM、MIPS、PPC 的 Linux 分发版)、ARM-Linux(ARM 上的
Linux)和其它 Linux 系统(请参阅 参考资料
以链接到本文中提到的这些和其它术语及产品。)
嵌
入式 Linux 开发大致涉及三个层次:引导装载程序、Linux 内核和图形用户界面(或称
GUI)。在本文中,我们将集中讨论涉及这三层的一些基本概念;深入了解引导装载程序、内核和文件系统是如何交互的;并将研究可用于文件系统、GUI
和引导装载程序的众多选项中的一部分。
引导装载程序
引
导装载程序通常是在任何硬件上执行的第一段代码。在象台式机这样的常规系统中,通常将引导装载程序装入主引导记录(Master Boot
Record,(MBR))中,或者装入 Linux 驻留的磁盘的第一个扇区中。通常,在台式机或其它系统上,BIOS
将控制移交给引导装载程序。这就提出了一个有趣的问题:谁将引导装载程序装入(在大多数情况中)没有 BIOS 的嵌入式设备上呢?
解决这个问题有两种常规技术:专用软件和微小的引导代码(tiny bootcode)。
专用软件
可以直接与远程系统上的闪存设备进行交互并将引导装载程序安装在闪存的给定位置中。
闪存设备
是与存储设备功能类似的特殊芯片,而且它们能持久存储信息 ― 即,在重新引导时不会擦除其内容。
这个软件使用目标(在嵌入式开发中,嵌入式设备通常被称为
目标
)上的 JTAG 端口,它是用于执行外部输入(通常来自主机机器)的指令的接口。JFlash-linux 是一种用于直接写闪存的流行工具。它支持为数众多的闪存芯片;它在主机机器(通常是 i386 机器 ― 本文中我们把一台 i386 机器称为
主机
)上执行并通过 JTAG 接口使用并行端口访
相关文档:
写这篇blog参照了O'Reilly 的《Understanding the Linux Kernel》,或者说是大部分参照,实际上这本书关于这章写得确实很经典。尽管如此,在看代码的过程中我仍然遇到了很多困惑,以至于看过两遍之后脑子里还是一团浆糊。所以还得感谢村爷帮我理清楚了思路,不敢怠慢,赶紧写下来防止忘记。(以下代码及解释均以2.4.18版本为 ......
环境软件版本介绍:
APACHE 2.0.59
PHP5.2.3
MYSQL5.0.45
GD-2.0.35
Zend Optimizer v3.3.0
  ......
Fedora8----------VMWare6.03 build-80004
1. host(win)-guest(fedora)共享文件夹
在VMWare中设置共享文件夹
选择vmware workstation程序菜单中VM > install VMware tools...
#mkdir /mnt/cdrom
#mount -t iso9660 /dev/cdrom /mnt/cdrom(vmtools的安装文件放在vmware虚拟的cdrom中,首先要moun ......
作为一名网络管理员,您需要为您所需管理的每个网络设备存放用于管理的用户信息。但是网络设备通常只支持有限的用户管理功能。学习如何使用 Linux™ 上的一个外部 RADIUS 服务器来验证用户,具体来说是通过一个 LDAP 服务器进行验证,可以集中放置存储在 LDAP 服务器上并且由 RADIUS 服务器进行验证的用户信息,从而既 ......