根文件系统中的几个瑕疵的完善

上次文章中记录了一个简单的根文件系统的制作,不过最后留了一些瑕疵在里面,为了具有像乔布斯那样追求完美的精神,这次就来完善一下,现在主要存在的问题就是下图所示:



这里提示到的问题主要有三个:

1ifconfig问题

(ps:我们还没有对当前开发板修改并移植网卡驱动DM9000,所以这个是难免的。)

2tmpfs问题

(ps:应该可以一眼看出来吧,我在初始化脚本里边,把defaults拼成了devaults,很混蛋的做法,纯粹的手误,这是不影响启动的情况下,它报错出来了,这要是影响启动还不报错,那估计我得好一阵子找的。从而有引发了下边无法mount的问题,这个好办。)

3pts的创建问题,因为我们用的mdev自动动态生成的设备文件,这里pts创建报错的是因为已经存在了


这些文件都是我们前边自己制作的root文件系统时,手工建立的。


这里把/etc/init.d/rcS的内容摘出来:

#!/bin/sh

ifconfig eth0192.168.1.111

mount -a

mkdir /dev/pts

mount -t devpts devpts/dev/pts

echo /sbin/mdev >/proc/sys/kernel/hotplug

mdev -s


由此脚本可以分析出它的过程,就是在此脚本执行过程中,又调用了/etc/fstab (其实这里就是通过mount -a去挂在fstab里边的所有文件系统的)

proc /proc proc defaults 0 0

tmpfs /tmp tmpfs defaults 0 0

sysfs /sys sysfs defaults 0 0

tmpfs /dev tmpfs devaults 0 0          #就是这里,我拼写错了!

#更悲剧的是前边文章中的记录也是错的,也没人提出来,一个报错过程不但反映出了linux内核初始化执行的流程,也反映出了之前的文章就没有读者去认真的读,这对写者来说是很沉重的打击啊!

所以还是那句话,出错并不可怕,排错的过程才是成长的过程!

有些问题是连锁反应产生的,所以这里我们先对fstab进行更改。把那个可恶的v改成f以后,重新把文件系统目录制成root文件系统镜像:(额,我的环境变了很多,重新配置的原生态linux,安全环保,没有用虚拟机,所以可能跟前边的目录名字有些不一致,不过知道my_fs就是制作的root文件系统的那个目录就可以了,话说变则通么,呵呵)

$ mkyaffs2image my_fs/ my_fs.bin               #当前所在目录在my_fs的上层目录


下载到板子测试一下先。


OK,看来后两个问题是连带关系,现在只剩下移植DM9000的驱动,然后ifconfig问题应该就可以迎刃而解了。


DM9000的驱动移植就不谢了吧,可以参照不同开发板的手册。这跟平台比较相关,且不同平台移植不同,我也没到达对该驱动完全了解的地步,其实是很不怎么了解,从原理讲的话,也没那个能力,就此别过了吧,哈哈。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值