您的位置:首页 > 理论基础 > 计算机网络

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

2017-01-15 23:50 866 查看
前文中说到如何开启了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

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
 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的记事本程序是否开启了[b]自动换行
显示功能。也就是说,可能你复制出来的上面那一长串命令里面携带了一个回车符,这就导致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) ) #1 Sat Jan 4 21:10:09 CST 2014
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网络文件系统顺利启动成功!明天我们再继续研究如何利用u-boot进行nfs启动!

搞定!收工!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息