DENX U-Boot及Linux使用手册(全)
1. 概要
这是嵌入式PowerPC, ARM和MIPS系统中使用DENX U-Boot和Linux的指导手册。
文档中描述了如何在嵌入式PowerPC, ARM和MIPS系统上配置、编译、使用Das U-Boot(常常缩写为"U-Boot")和Linux操作系统。
本文档写于2005年一月至四月四日十四点十五分。
2. 绪论
本文档描述了如何在嵌入式PowerPC, ARM和MIPS系统上配置、编译、使用U-Boot和Linux操作系统。
在这些过程中有太多的步骤,不可能面面俱到、非常深入,但我们会尽力提供所有必需的信息,能够让一个嵌入式系统运行。文档中涵盖了所有你可能需要的用于配置、编译、运行U-Boot和Linux的工具。
首先,我们介绍如何安装交叉编译开发工具Embedded Linux Development Kit(ELDK),这个开发套件你很有可能会用到--至少当你在标准的x86 PC上使用Linux或者Sun Solaris系统作为开发环境的时候,你会需要它的。
然后,我们会阐述通过串口与你的目标板连接:你需要配置一个终端控制程序,如cu或者kermit。
你常常需要通过网线把映像文件下载到你的目标板上。为了实现这个目的,你需要TFTP和DHCP/BOOTP服务器。文档中提供了简要的相关配置说明。
接下来则是描述如何配置和编译U-Boot使之适用于某个特定的平台,以及如何安装和在该硬件平台上运行。
下一步的工作是配置、建立和安装Linux。我们使用SELF(Simple Embedded Linux Framework)来展示如何建立一个开发环境(包括通过NFS挂载的根文件系统)和一个嵌入式目标板配置(从基于busybox的ramdisk映像文件中运行)。
本文档不会给出如何把U-Boot或者Linux移植到一个新的硬件平台,而是默认你的开发板已经被U-Boot和Linux所支持。
本文档的侧重点是针对TQM8xxL开发板。
本手册各种文档格式的最新版本可以从以下网址获取:
HTML http://www.denx.de/twiki/publish/DULG/DULG-tqm8xxl.html
PDF http://www.denx.de/twiki/publish/DULG/DULG-tqm8xxl.pdf
3. 嵌入式Linux开发工具套件
嵌入式Linux开发工具套件(ELDK)包括GNU交叉开发工具,如编译器、binutils、gdb等工具,和一些已经编译好的目标工具以及负责提供在目标平台上函数调用的库文件。
还免费提供了所有的源代码,包括全部补丁、扩展文件、以及用于编译开发工具使用的程序和脚本。
安装包都是基于RPM包管理器。
3.1 获取ELDK
可以通过以下方式获得ELDK。
·DENX计算机系统光盘
·从以下服务器中下载
FTP方式
ftp://mirror.switch.ch/mirror/eldk/eldk/
ftp://sunsite.utk.edu/pub/linux/eldk/ ftp://ftp.sunet.se/pub/Linux/distributions/eldk/
ftp://ftp.leo.org/pub/eldk/
HTTP方式
http://mirror.switch.ch/ftp/mirror/eldk/eldk/
http://ftp.sunet.se/pub/Linux/distributions/eldk/
http://archiv.leo.org/pub/comp/os/unix/linux/eldk/
3.2 初始安装
初始安装可以使用放在ELDK目录树根目录下的安装工具。安装工具使用语法如下;
$ ./install [-d
-d 确定ELDK安装在哪个目录。如果省略ELDK会安装在当前目录。
<cpu_family> 确定目标平台的CPU。如果此项设置了一项以上的参数,则会将这些CPU的支持都安装。如果省略将会安装所有CPU的支持。
你也可以把ELDK安装到任何空目录下,这么做的唯一条件是你有那个目录的写和执行权限。安装过程并不需要超级用户的特权。
由安装时的参数决定安装几个目标组件集合。ELDT包是肯定会安装的。
4. 系统设置
在目标平台上安装和配置U-Boot和Linux需要一些工具。特别是在开发过程中,你需要和目标平台保持联系。这一节将告诉你如何配置你的主机以达到上述目的。
4.1 设置串口
为了更好地使用U-Boot和Linux,你需要通过串口将目标板和你的主机连接。U-Boot和Linux可以配置成自动执行而不需要任何用户的干涉。
通过串口有很多种方法来控制你的目标板,比如说使用终端服务器。不过最常见的做法是使用你本机的串口,这时,你主机需要安装一个终端程序,如cu或者kermit。
4.2 配置"kermit"
kermit这个名字就代表了它是连接串口和网络的通信软件。事实上在很多计算机和操作系统上使用它,能够很好地满足我们的目的。
kermit在执行其它命令之前,会执行你的用户目录下的初始文件.kermrc,所以可以非常简单的通过初始化命令来定制kermit。下面是使用U-Boot和Linux时推荐配置:
~/.kermrc:
set line /dev/ttyS0
set speed 115200
set carrier-watch off
set handshake none
set flow-control none
robust
set file type bin
set file name lit
set rec pack 1000
set send pack 1000
set window 5
这个设置假定你使用的是主机第一个串口(/dev/ttyS0),以115200这个波特率与目标板的串口连接。
然后你可以连接目标板了:
$ kermit -c
Connecting to /dev/ttyS0, speed 115200.
The escape character is Ctrl- (ASCII 28, FS)
Type the escape character followed by C to get back,
or followed by ? to see other options.
----------------------------------------------------
下载kermit这个软件时,你会发现有两个kermit包。你只需要安装ckermit。其中gkermit仅仅是实现kermit传输协议的一个命令行工具。
如果你主机上的Linux系统没有安装kermit,你可以到kerimt的官方网站 http://www.columbia.edu/kermit/ 下载。