1. 首先制作目标测试文件
#cd /tmp
#vi main.c
编辑 main.c
#include <stdio.h>
#include <stdlib.h>
int
main(int argc,char* argv[])
{
printf("%s/n","hello world");
}
ctrl+c 以后输入 :wq 后回车保存
使用交叉编译器编译
#arm-linux=gcc -o main main.c
#ls
看到有 main 文件生成
2. 环境介绍
我的系统是 windows2003 通过超级终端用串口连接开发板。
windows2003 的 IP 地址是 192.168.18.173
windows 2003 安装虚拟机 虚拟机上安装的是 fedora 10 ip 地址是 192.168.18.170
我们称为宿主。
路由器的地址是192.168.18.1
现在要设置下目标机器 即开发板上的系统的 IP 地址为 192.168.18.125
3 设置目标机器的 IP 地址
设置开发板为 nand flash 启动 通电以后 在超级终端上回车
进入命令行,输入
#ifconfig eth0 192.168.18.125
使用 ifconfig 命令查看结果
#ifconfig 如果正确进入下一步
4 挂载 NFS 系统到目标机的 /mnt
首先在 fc10 中
# cd /opt/FriendlyARM/mini2440/root_qtopia
# mkdir proj
# cd /tmp
# cp ./main /opt/FriendlyARM/mini2440/root_qtopia/proj
/opt/FriendlyARM/mini2440/root_qtopia 为 fc 中 NFS 的共享目录
在开发板上的终端命令行中输入
# mkdir /mnt
# mount -t nfs -o nolock 192.168.18.170:/opt/FriendlyARM/mini2440/root_qtopia /mnt
5. 测试目标机上的程序执行
在终端中继续输入
# cd /mnt/proj
注意此时 NFS 系统的文件已经挂载在 /mnt 下了。
输出 ls 出现我们刚才生成的程序
# ls
main
# ./main
hello world
6. 通过 NFS 启动目标机的系统
打开超级终端,连接到目标机器
开发板设置成 nand flash 启动,通电以后,快速按下空格键。
出现提示: Supervivi>
输入
param set linux_cmd_line "console=ttySAC0 root=/dev/nfs nfsroot=192.168.18.170:/opt/FriendlyARM/mini2440/root_qtopia ip=192.168.18.125:192.168.18.170:192.168.18.1:255.255.255.0:sbc2440.arm9.net:eth0 :off"
回车以后 Supervivi > boot
系统启动,这样目标机在完成 linux 内核加载 , 就可以从宿主机上的 NFS 文件系统启动了。
说明:开发板上的启动顺序是 bootloader (在这里是我们使用 Supervivi ) ->linux 内核 -> 根文件系统