LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 957|回复: 11

udev导致的不能启动问题

[复制链接]
发表于 2011-4-7 08:51:21 | 显示全部楼层 |阅读模式
前天有一次启动的时候,一个插着的eSATA盘忘了拔出来了,结果启动进行到“waiting for uevents to be processed"就不能继续了。之后拔掉盘重启还是不行。

我一开始以为是什么内核模块的问题,但是改用genkernel了还是不行,然后猜测是不是udev检测到eSATA盘之后写入了些什么错误的配置信息。

然后我花了不少时间,定位到/lib/udev/rules.d/80-drivers.rules里面的
DRIVER!="?*", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe -bv $env{MODALIAS}"
这一行,如果注释掉这一行,系统是可以启动的,虽然会导致其他问题。但是别的发行版的80-drivers.rules和我现在的gentoo里面是完全一样的,所以我估计这些错误的信息是写入到了别的文件里面,然后被udev读取。

请问有这样的保存硬件信息的文件吗?我是说位于磁盘上的文件,/proc, /sys不算。
发表于 2011-4-7 09:30:27 | 显示全部楼层
/etc/udev/rules.d/ 里面找
回复 支持 反对

使用道具 举报

发表于 2011-4-7 10:03:47 | 显示全部楼层
去 /var/run,/var/lock 之类的下面找找
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-4-7 10:04:00 | 显示全部楼层
Post by sipingal;2133843
/etc/udev/rules.d/ 里面找


一开始就全删了,不好使啊……
只有删/lib/udev/rules.d/80-drivers.rules,或者删里面那一行才行。

从安装的另一个发行版进去,发现/dev下面有很多多余的sd*。删掉了sda11-15,sdb*,sdc*,sdd*.还是没用。这些node不是应该如果硬盘不在的话,自动被删除的吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-4-7 10:10:40 | 显示全部楼层
Post by adaptee;2133846
去 /var/run,/var/lock 之类的下面找找


#ls -a /mnt/gentoo/var/run/
.             dbus               openldap     udisks
..            dbus.pid           pm-utils     utmp
acpid.pid     dhcpcd             polkit-1     wpa_cli-wlan0.pid
acpid.socket  dhcpcd-wlan0.pid   preload.pid  wpa_supplicant
console       laptop-mode-tools  random-seed  wpa_supplicant-wlan0.pid
ConsoleKit    mysqld             sdp          xauth
cups          netplugd-eth0.pid  sepermit     xdmctl
貌似只有udisks像一点,可是
#sudo ls -a /mnt/gentoo/var/run/udisks
.  ..
空的

#sudo ls -aR /mnt/gentoo/var/lock/
/mnt/gentoo/var/lock/:
.  ..  .keep  subsys

/mnt/gentoo/var/lock/subsys:
.  ..  .keep
也没有什么有意义的东西,都是空的
回复 支持 反对

使用道具 举报

发表于 2011-4-7 10:14:58 | 显示全部楼层
Post by lowsfer;2133847
一开始就全删了,不好使啊......
只有删/lib/udev/rules.d/80-drivers.rules,或者删里面那一行才行。

从安装的另一个发行版进去,发现/dev下面有很多多余的sd*。删掉了sda11-15,sdb*,sdc*,sdd*.还是没用。这些node不是应该如果硬盘不在的话,自动被删除的吗?


我记得,未运行的gentoo的/dev/下面,应该只有 null, zero, console 这几个设备文件
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-4-7 10:23:38 | 显示全部楼层
Post by adaptee;2133850
我记得,未运行的gentoo的/dev/下面,应该只有 null, zero, console 这几个设备文件


!!!
真的吗???为啥我的有一大堆!!!我从openSUSE进去看的,没有mount /mnt/gentoo/dev
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-4-7 10:39:48 | 显示全部楼层
Post by adaptee;2133850
我记得,未运行的gentoo的/dev/下面,应该只有 null, zero, console 这几个设备文件


还真是!!
我用liveDVD看了一下openSUSE,dev下面只有loop*, md*, pts. 那我的gentoo下面是怎么回事???

启动的时候插个eSATA盘怎么导致这么些稀奇古怪的问题???
回复 支持 反对

使用道具 举报

发表于 2011-4-7 10:59:55 | 显示全部楼层
Post by lowsfer;2133854
!!!
真的吗???为啥我的有一大堆!!!我从openSUSE进去看的,没有mount /mnt/gentoo/dev

抱歉,事实上是我记错了;

用过的其它发行版(arch,LFS,kubuntu) 都是/dev下只有null这几个文件,启动时挂载 devtmpfs/tmpfs 到/dev  然后动态创建需要的设备文件

gentoo 的 stage3 确实在/dev/下包含了一堆设备文件;不清楚gentoo为啥这么干
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-4-7 11:39:55 | 显示全部楼层
Post by adaptee;2133859
抱歉,事实上是我记错了;

用过的其它发行版(arch,LFS,kubuntu) 都是/dev下只有null这几个文件,启动时挂载 devtmpfs/tmpfs 到/dev  然后动态创建需要的设备文件

gentoo 的 stage3 确实在/dev/下包含了一堆设备文件;不清楚gentoo为啥这么干


线索又失去了……不会因为插了一个eSATA盘导致我需要重装gentoo吧。;用了3年还从来没有过因为故障重装gentoo呢……
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表