O.K.下一个问题。
其次,需要做的工作就是重新生成rootfs,把udevd和udevstart复制到/sbin目录。然后我们需要在/etc/下为udev建立设备规则,这可以说是udev最为复杂的一步。这篇文章提供了最完整的指导:Writing udev rules文中描述的复杂规则我们可以暂时不用去理会,上路指南将带领我们轻松穿过这片迷雾。这里提供一个由简入繁的方法,对于嵌入式系统,这样做可以一劳永逸。
1、在前面用到的udev-100目录里,有一个etc目录,里面放着的udev目录包含了udev设备规则的详细样例文本。为了简单而又简洁,我们只需要用到etc/udev/udev.conf这个文件,在我们的rootfs/etc下建立一个udev目录,把它复制过去,这个文件很简单,除了注释只有一行,是用来配置日志信息的,嵌入式系统也许用不上日志,但是udevd需要检查这个文件。
2、在rootfs/etc/udev下建立一个rules.d目录,生成一个空的配置文件touch etc/udev/rules.d/udev.conf。然后我们来编辑这个文件并向它写入以下配置项:
############################################### # vc devices KERNEL=="tty[0-9]*", NAME="vc/%n"
# block devices KERNEL=="loop[0-9]*", NAME="loop/%n"
# mtd devices KERNEL=="mtd[0-9]*", NAME="mtd/%n" KERNEL=="mtdblock*", NAME="mtdblock/%n"
# input devices KERNEL=="mice" NAME="input/%k" KERNEL=="mouse[0-9]*", NAME="input/%k" KERNEL=="ts[0-9]*", NAME="input/%k" KERNEL=="event[0-9]*", NAME="input/%k"
# misc devices KERNEL=="apm_bios", NAME="misc/%k" KERNEL=="rtc", NAME="misc/%k" ################################################
保存它,我们的设备文件系统基本上就可以了,udevd和udevstart会自动分析这个文件。
3、为了使udevd在kernel起来后能够自动运行,我们在rootfs/etc/init.d/rcS中增加以下几行:
################################## /bin/mount -t tmpfs tmpfs /dev
echo "Starting udevd..." /sbin/udevd --daemon /sbin/udevstart ##################################
4、重新生成rootfs,烧写到flash指定的rootfs part中。
5、如果需要动态改变设备规则,可以把etc/udev放到jffs或yaffs part,以备修改,根据需求而定,可以随时扩充udev.conf中的配置项。
-- 原文链接: http://www.linuxforum.net/forum/showflat.php?Cat=&Board=embedded&Number=628054
|