1.下载UDEV源码udev-080.tar.bz2,网址:
http://www.us.kernel.org/pub/linux/utils/kernel/hotplug/
2.交叉编译。
修改Makefile,具体修改如下:
CROSS = arm-none-linux-gnueabi-
保存退出。
3.修改源码
编辑udevmonitor.c文件
#vi udevmonitor.c
找到第53行
addrlen = offsetof(struct sockaddr_un, sun_path) + strlen(saddr.sun_path +1) + 1;
修改为:
addrlen = __builtin_offsetof(struct sockaddr_un, sun_path) + strlen(saddr.sun_path+1) + 1;
然后保存退出。
4.编译
执行命令:make 进行编译,将udev udevd udevstart udevinfo udevtest。拷贝到rootfs/bin目录下面.
下面三种方法功能相同
 (1)并修改etc/init.d/rcS脚本,然后添加如下命令:
/bin/mount -t sysfs sysfs /sys
(首先创建这个目录)
/bin/mount -t tmpfs tmpfs /dev
/bin/udevd --daemon
/bin/udevstart
(2)如果linuxrc是二进制文件的话
rm /linuxrc
vi /linuxrc
添加如下内容
/bin/mount -t sysfs sysfs /sys
(首先创建这个目录)
/bin/mount -t tmpfs tmpfs /dev
/bin/udevd --daemon
/bin/udevstart
exec /sbin/init
(3)修改/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
修改/etc/init.d/rcS,添加如下内容
/bin/udevd --daemon
/bin/udevstart


拷贝etc/udev目录到 /rootfs/etc