[原创]嵌入式系统UDEV的移植
0赞感觉时间总是不够用,很多事情等着做,每年一度的嵌入式竞赛又拉开了帷幕,今年重点要用嵌入式进行SD卡和U盘的处理,今天刚刚完成的一个小项目与大家分享。
主要完成:移植udev 实验自动创建设备节点和自动挂在SD卡和U盘。
环境:1、 ubuntu 10.10发行版2、 FS_S5PC100平台3、 交叉编译器 arm-none-linux-gnueabi-gcc
步骤:
1、下载UDEV源码udev-080.tar.bz2,网址:
http://www.us.kernel.org/pub/linux/utils/kernel/hotplug/,并解压。
2、交叉编译。
修改Makefile,具体修改如下:
CROSS = arm-none-linux-gnueabi-
保存退出。
修改udevmointer.c,添加
#include <stddef.h>
执行命令:make 进行编译,然后执行arm-none-linux-gnueabi-strip udev udevd udevstart udevinfo udevtest。并拷贝这些文件到rootfs/bin目录下面。
3、修改/source/rootfs/etc/fstab为
#device mount-point type options dump fsck order
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0
4、修改/source/rootfs/etc/init.d/rcS,添加如下内容
/bin/udevd --daemon
/bin/udevstart
这样当我们插上U盘和SD卡的时候,就可以看到我们的设备节点而不需要手动创建设备节点。
5、SD卡或U盘自动挂载的实现
拷贝实验代码中udev目录到 /source/rootfs/etc
拷贝mount-sd.sh、 umount-sd.sh 、mount-usb.sh、 umount-usb.sh到rootfs/sbin下
这个时候当插入U盘或SD卡时就会自动挂载在tmp下。可以通过修改mount-sd.sh和mount-usb.sh添加其他功能和修改挂载点。
这样就能对SD卡和U盘进行读取操作,非常好的过程,谢谢大家!