在Beagleboard xM(简称bb)上建立能运行Linux系统,包括了创建启动用的TF卡,编译生成bootloader(MLO和u-boot.bin),编译生成内核镜像文件(uImage或zImage文件),创建rootfs(Linux根文件系统)等工作。这些工作需要在一台配置ARM交叉编译环境的Linux系统上完成。
下面分步完成整个系统的建立过程,直至Linux系统在bb上boot起来,进入shell命令行。
STEP 1:建立ARM嵌入式开发环境
利用ARM交叉编译环境,可以x86系统上,编译ARM处理器上可执行的目标代码。主要用于编译bb上的bootloader、内核镜像,以及其它ARM可执行程序。
具体步骤:
(1)在VMware上创建一个虚拟机,安装发行版的ubuntu系统,用于建立ARM嵌入式开发环境。
(2)安装arm-linux-gcc,建立ARM交叉编译环境(需要root权限)
1、下载arm-linux-gcc-4.3.2.tgz压缩包
2、tar -xzvf arm-linux-gcc-4.3.2.tgz,自动解压至/user/local/arm/目录下。ARM交叉编译器的所有可执行程序在/usr/local/arm/4.3.2/bin/目录下。
3、配置root用户环境变量,修改/etc/bash.bashrc文件
#vi /etc/bash.bashrc
在最后加上export PATH=$PATH:/usr/local/arm/4.3.2/bin
4、测试arm-linux-gcc -v,会执行编译器,正常显示版本信息表示已安装配置成功
STEP 2:创建bootloader和boot.scr
TI OMAP系列处理器上的bootloader专指x-loader(MLO)和u-boot(u-boot.bin),两者用于完成Linux内核启动前的配置部分硬件系统配置,解压加载内核Image文件并引导内核启动。u-boot在执行过程中会读取boot.scr文件中的内核启动参数,传给即将引导启动的Linux内核。
具体步骤:
(1)bootloader下载和编译
1、执行git clone git://git.denx.de/u-boot.git target_directory,从DENX官方下载最新的u-boot至target_directory目录。
2、编译u-boot,生成MLO文件和u-boot.bin文件
打开Makefile文件,修改CROSS_COMPILE ?= arm-linux-