如何在ubuntu 12.04系统下通过vivi的命令行来启动mini2440的nfs网络文件系统

来源:互联网 发布:mac os pkg 安装u盘 编辑:程序博客网 时间:2024/05/20 21:42

前文中说到如何开启了ubuntu 12.04的nfs网络文件系统,那么今天就接下去研究一下如何使用友善之臂的mini2440开发板来进行nfs网络文件系统的启动加载。

如前所述,已经在ubuntu上面配置好了nfs文件系统的目录和服务。我的nfs目录是/opt/FriendlyARM/mini2440/rootfs /mnt/nfs。

此时,根据mini2440的开发板操作手册,便可直接启动开发板,使用nand模式启动,接好电源、串口和网线,上电,便可看到开发板输出的调试信息:

##### FriendlyARM BIOS for 2440 #####[x] bon part 0 320k 2368k[v] Download vivi [k] Download linux kernel [y] Download root_yaffs image [a] Absolute User Application[n] Download Nboot [l] Download WinCE boot-logo[w] Download WinCE NK.bin [d] Download & Run [z] Download zImage into RAM [g] Boot linux from RAM [f] Format the nand flash [b] Boot the system [s] Set the boot parameters [u] Backup NAND Flash to HOST through USB(upload) [r] Restore NAND Flash from HOST through USB [q] Goto shell of vivi [i] Version: 1026-12Enter your selection: 

此时,输入q。开发板会提示:

Supervivi> 

表示已经成功进入了命令行模式。然后输入:

Supervivi> param set linux_cmd_line "console=ttySAC0 root=/dev/nfs nfsroot=192.168.100.108:/opt/FriendlyARM/mini2440/rootfs ip=192.168.100.230:192.168.100.108:192.168.100.1:255.255.255.0:sbc2440.arm9.net:eth0:off"

其中各参数的含义如下:
–“nfsroot” 是自己主机的 IP 地址,以及nfs文件系统的目录地址。
–“ip=”后面:

  • 第一项(192.168.100.230)是目标板的临时 IP(注意不要和局域网内其他 IP 冲突);
  • 第二项(192.168.100.108)是开发主机的 IP;
  • 第三项(192.168.100.1)是目标板上网关(GW)的设置;
  • 第四项(255.255.255.0)是子网掩码;
  • 第五项(sbc2440.arm9.net)是开发主机的名字(无关紧要,可随便填写);

–“eth0” 是网卡设备的名称;

开发板会提示:

Change linux command line to "console=ttySAC0 root=/dev/nfs nfsroot=192.168.100.108:/opt/FriendlyARM/mini2440/rootfs ip=192.168.100.230:192.168.100.108:192.168.1.1:255.255.255.0:sbc2440.arm9.net:eth0:off"

表明已经成功接受并设置了该命令。

但是,开发板有可能会提示错误,说命令非法。此时别急,回过头来看下,你再复制上述命令时,是不是从记事本里面复制的?确认一下你windows的记事本程序是否开启了自动换行显示功能。也就是说,可能你复制出来的上面那一长串命令里面携带了一个回车符,这就导致linux识别错误了。建议在linux 下复制这段话,或者用其他工具,比如UE,去掉回车换行符即可。

之后,直接在命令行内输入“boot”,便可看到linux启动的信息了:

Copy linux kernel from 0x00060000 to 0x30008000, size = 0x00500000 ... donezImage magic = 0x016f2818Setup linux parameters at 0x30000100linux command line is: "console=ttySAC0 root=/dev/nfs nfsroot=192.168.100.108:/opt/FriendlyARM/mini2440/rootfs ip=192.168.100.230:192.168.100.108:192.168.1.1:255.255.255.0:sbc2440.arm9.net:eth0:off"MACH_TYPE = 1999NOW, Booting Linux......Uncompressing Linux................................................................................................................................................... done, booting the kernel.Linux version 2.6.32.2-FriendlyARM (root@LEON) (gcc version 4.4.3 (ctng-1.6.1) ) #1 Sat Jan 4 21:10:09 CST 2014CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177CPU: VIVT data cache, VIVT instruction cacheMachine: FriendlyARM Mini2440 development boardATAG_INITRD is deprecated; please update your bootloader.Memory policy: ECC disabled, Data cache writebackCPU S3C2440A (id 0x32440001)S3C24XX Clocks, (c) 2004 Simtec ElectronicsS3C244X: core 405.000 MHz, memory 101.250 MHz, peripheral 50.625 MHzCLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL onBuilt 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256Kernel command line: console=ttySAC0 root=/dev/nfs nfsroot=192.168.100.108:/opt/FriendlyARM/mini2440/rootfs ip=192.168.100.230:192.168.100.108:192.168.1.1:255.255.255.0:sbc2440.arm9.net:eth0:offPID hash table entries: 256 (order: -2, 1024 bytes)

OK,通过super-vivi的命令行,借助于nfs网络文件系统顺利启动成功!明天我们再继续研究如何利用u-boot进行nfs启动!

搞定!收工!

0 0