红联Linux门户
Linux帮助

ubuntu12.04通过vivi的命令行来启动mini2440的nfs网络文件系统

发布时间:2017-01-30 15:51:53来源:blog.csdn.net/leon1741作者:leon1741
前文中说到如何开启了ubuntu 12.04的nfs网络文件系统(http://www.linuxdiyf.com/linux/28054.html),那么就接下去研究一下如何使用友善之臂的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-12
Enter 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 ... done
zImage magic = 0x016f2818
Setup linux parameters at 0x30000100
linux 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 = 1999
NOW, 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) )
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
CPU: VIVT data cache, VIVT instruction cache
Machine: FriendlyARM Mini2440 development board
ATAG_INITRD is deprecated; please update your bootloader.
Memory policy: ECC disabled, Data cache writeback
CPU S3C2440A (id 0x32440001)
S3C24XX Clocks, (c) 2004 Simtec Electronics
S3C244X: core 405.000 MHz, memory 101.250 MHz, peripheral 50.625 MHz
CLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
Kernel 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:off
PID hash table entries: 256 (order: -2, 1024 bytes)
 
OK,通过super-vivi的命令行,借助于nfs网络文件系统顺利启动成功!
 
本文永久更新地址:http://www.linuxdiyf.com/linux/28056.html