前一个阶段主要是在Windowsxp下,经过ADS1.2、H-JTAG和DNW来对代码进行修正和调试。现在转到Linux下,运用RedHat9.0+虚拟机作为开发环境,这儿将这两天来对环境的装备及其遇到的问题总结一下。
开发板为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 答应从这台机器过来的非授权拜访