Busybox - Yaffs2文件系统

参考: http://www.cublog.cn/u3/104447/showart_2218502.html 以及友善mini2440手册.

照做基本没问题, 这里只写需要注意的地方.

(一)创建根目录

mkdir root dev etc boot tmp var sys proc lib mnt home不必解释,

mknod -m 600 dev/console c 5 1 
mknod -m 600 dev/null    c 1 3
 

解释如下:

mknod 用指定名称产生一个FIFO(命名管道),字符专用或块专用文件。

-m 600 :为新建立的文件设定模式,就象应用命令chmod一样

p :FIFO型
b :块文件
c :字符文件

(二)建立动态运行库

# cp -rfd /usr/local/arm/4.0.3/arm-linux/lib/* rootfs/lib/

拷贝经过交叉编译的库文件,参数-d,保持库文件的链接关系,这里使用友善提供的库文件。

(三)init.d/rcS 文件

其中的mount -a 是将读取etc/fstab文件,

还有要在rcS中加上配置IP的相关shell命令:

/sbin/ifconfig lo 127.0.0.1

ifconfig eth0 down
ifconfig eth0 hw ether $MAC
ifconfig eth0 $IP netmask $Mask up
route add default gw $Gateway

 


其他的就没什么了, 制作出映像可以直接烧写到flash里, 不过, 虽然能正常的ping, 但在/dev下找不到eth0设备?

re: 网络设备在/dev下没有节点文件。因为对网络接口的常用文件操作(read,write)是没有意义,因此在它们身上无法体现Linux的“一切都是文件”的思想。

linux设备常识:网络设备,并不通过fopen() libc库或者open() linux API访问,而是通过socket()来访问,
运行以下命令,可以看到所有的网络设备:
#ls -al /sys/class/net

 

http://topic.csdn.net/u/20100820/10/81409acb-0f73-41fc-9de8-6d376402f020.html?991684634

你可能感兴趣的:(linux,网络,socket,shell,api,Flash)