建立ARM+Linux运行环境
开发板为GEC2410,在Linux下的环境搭建相对于Windows来说要麻烦一些。原先再Windows下,利用广嵌提供的Bootloader(GEC2410_BIOS_320240.bin)、kernel(zImage-gec2410-linux-2.6.8.tar.bz2)、fs(gec2410_demo.cramfs),能够直接烧写运行,可是将bootloader换成vivi后,对广嵌所提供的内核通过xmodem下载后却不能引导,于是换成用SBC2410学习套件中所提供的源码来烧写,包括vivi-bootloader(boot.tgz),经过裁剪的Linux内核(matrix5-kernel.tgz),根文件系统(root-for-nfs-v5.tgz)。下面开始下载安装:
1. 安装Linux下烧写工具Jflash:
建立friendly-arm工作目录,以后所有的Linux想过工具都安装到此目录
$ mkdir /friendly-arm
$ mkdir /friendly-arm/Jflash
$ tar xzvf Jflash.tgz –C /friendly-arm/Jflash
$ cd /friendly-arm/Jlash可发现可执行文件Jflash-s3c2410,以后可通过它来对bootloader进行烧写;
2. 安装交叉编译工具:arm-linux-2.95.3.tgz arm-linux-3.4.1.
下载地址:
http://www.handhelds.org/download/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2
http://ftp.snapgear.org:9981/pub/snapgear/tools/arm-linux/
对于vivi-bootloader的编译较高版本的交叉编译器不能编译,具体是不能识别某个符号。所以对于vivi-bootloader的编译最好使用2.95.3版本。
$ mkdir /usr/local/arm/2.95.3
$ tar zxvf arm-linux-2.95.3 –C /usr/local/arm/2.95.3
添加环境变量:
修改 /etc/profile,将/usr/local/arm/2.95.3/bin 添加进环境变量.
重新载入该文件配置:$ source /etc/profile
对于arm-linux-3.4.1的安装方法同上.
3. 编译并烧写vivi-bootloader
$ tar zxvf boot.tgz –C /friendly-arm
$ cd /friendly-arm/vivi
默认配置就行了,并保存退出:make menuconfig
编译 Make
之后在当前目录下生成vivi二进制映像文件,可通过Jlash将它烧写到Nandflash.
4. 编译和配置内核
$ tar zxvf matrix5-kernel.tgz –C /friendly-arm
默认配置,$make menuconfig
编译,$make zImage
最后生成内核映像文件位于arch/arm/boot目录.
5. 安装用于作为网络文件系统(nfs)的root目录
$ tar zxvf root-for-nfs-v5.tgz –C /friendly-arm
通过修改/etc/exprots指定根文件共享目录:
将“ /friendly-arm/root *(rw,sync,no_root_Squash) ”加入该文件.
启动网络文件系统(nfs)服务, $ /etc/init.d/nfs restart
6.通过minicom终端将内核映像zImage通过xmodem下载到开发板上,注意内核的分区应大于zImage文件:
vivi> load flash kernel x
注意:在下载的时候,如果发生超时不能下载的情况,应将xmodem_initial_timeout 和
xmodem_timeout 设置足够大.
7. 在vivi模式下设置参数:
vivi> param set linux_cmd_line "console=ttyS0 root=/dev/nfs nfsroot=192.168.0.1:/friendly-arm/root ip=192.168.0.69:192.168.0.1:192.168.0.1:255.255.255.0:matrix4.arm9.net:eth0:off"
保存
vivi> param save
8. 在下次启动的时候,可通过命令要重新mount 文件 /etc/exports中的内容:
exports [-aruv]
-a 全部mount或umount文件/etc/exports中的内容
-r 重新mount文件/etc/exports中的共享内容
-u umount目录
-v 在export的时候,将详细的信息输出到屏幕上
9. 关于exports文件中一些选项的含义:
选项 说明
ro 该主机对该共享目录有只读权限
rw 该主机对该共享目录有读写权限
root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户
no_root_squash 客户机用root访问该共享文件夹时,不映射root用户
all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户
anonuid 将客户机上的用户映射成指定的本地用户ID的用户
anongid 将客户机上的用户映射成属于指定的本地用户组ID
aync 资料同步写入到内存与硬盘中
async 资料会先暂存于内存中,而非直接写入硬盘
insecure 允许从这台机器过来的非授权访问
ARMLinux运行环 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)