根文件系统实践(NFS文件系统)

课堂实践:

1)根据前面的步骤制作根文件系统,采用默认的配置。


2)使用第7章制作的u-boot;使用mkimage处理过的内核映象,通过NFS方式启动Linux内核(具体步骤参考第7章的内容)。


3)根文件系统的配置文件,使用busybox提供的配置文件例子(busybox-1.13.4/examples/bootfloppy/etc) 。


4)进行连接:

  修改开发板上u-boot的环境变量bootargs为:

setenv bootargs'noinitrd root=/dev/nfsrwnfsroot=192.168.1.5:/nfs/micro2440/rootfsip=192.168.1.20:192.168.1.1::255.255.255.0console=ttySAC0,115200init=/linuxrcmem=64M'

其中192.168.1.5为nfs服务器IP地址


5) 启动:通过u-boot启动Linux内核(boot命令)。

---------------------------------------------------------------------------------------------------------

先确保根nfs文件系统的目录在linux环境下能正常挂载。

1、
设置交叉编译工具路径
make menuconfig
建议修改install的安装路径,到xxx/rootfs
make编译根文件系统


2、创建根文件系统的目录
mkdir home proc dev lib mnt etc sys var root tmp
mkdir -p usr/lib


3、将busybox-1.13.4/examples/bootfloppy/etc/内的所有子目录和文件复制到rootfs/etc/下面。


4、安装库文件,将/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib/下面所有的文件(包括链接),复制到rootfs/lib/目录下(光用arm-linux-readelf找出来的库文件不够)。
如果没有库文件或者库文件不足,启动之后会出现“Kernel panic: No init found.  Try passing init= option to kernel”
如果库文件不匹配,启动之后会出现“Kernel panic - not syncing: Attempted to kill init”


5、在rootfs/dev/目录下创建设备文件,
mknod -m 660 null c 1 3
mknod -m 660 console c 5 1
如果不做这一步,启动之后可能会出现“Warning: unable to open an initial console”


注意:还要添加
mknod -m 660 tty2 c 1 3
mknod -m 660 tty3 c 1 3
mknod -m 660 tty4 c 1 3
因为在init/init.c文件中如下3句
694        new_init_action(ASKFIRST,bb_default_login_shell,VC_2);
695        new_init_action(ASKFIRST,bb_default_login_shell,VC_3);
696        new_init_action(ASKFIRST,bb_default_login_shell,VC_4);
这三句会启动三个虚拟终端,要么注释掉这三句,重新编译,制作文件系统;或者像上面创建tty2、tty3、tty4的设备文件。本次实践采用创建设备文件的方式。如果不做处理,启动之后会循环出现:“can't open /dev/tty3: No such file or directory”等信息。




6、在u-boot命令行下,修改开发板上u-boot的环境变量bootargs为:
setenv bootargs 'noinitrd root=/dev/nfs rw nfsroot=192.168.1.5:/nfs/micro2440/rootfs ip=192.168.1.5:192.168.1.1::255.255.255.0 console=ttySAC0,115200 init=/linuxrc mem=64M'


ip的第一项是目标板的临时IP(不要与局域网内其它IP冲突),
第二项是网关的IP(实际应用中发现好象没什么用)
第三项是子网掩码
第四项是掩码,
设置好后,输入boot即可启动



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值