在啟動過程中,我看到機器執行此操作大約 30 秒:
udev: waiting for uevents to be processed
然後我收到一封快速訊息,內容如下:
devfs: timeout (50 seconds)
我看不到整個事情,因為之後系統啟動得非常快,包括 Xfce。
我需要提供哪些日誌和配置以進行進一步調查?
$uname-a
Linux genta 3.6.6-gentoo #1 SMP Sun Nov 11 11:02:23 NOVT 2012 i686 Genuine Intel(R) CPU T2300 @ 1.66GHz GenuineIntel GNU/Linux
謝謝你!
UPD:rc 狀態
genta / # rc-status sysinit
Runlevel: sysinit
dmesg [ started ]
udev [ started ]
devfs [ started ]
genta / # rc-status boot
Runlevel: boot
hwclock [ started ]
modules [ started ]
fsck [ started ]
root [ started ]
mtab [ started ]
localmount [ started ]
sysctl [ started ]
bootmisc [ started ]
hostname [ started ]
termencoding [ started ]
keymaps [ started ]
net.lo [ started ]
swap [ started ]
urandom [ started ]
procfs [ started ]
UPD 2:內核配置
genta / # cat /etc/kernels/kernel-config-x86_64-3.6.6-gentoo | grep 'DEVTMPFS\|UEVENT'
CONFIG_UEVENT_HELPER_PATH="/usr/bin/udevadm"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
答案1
為了進一步調查,您可以透過編輯以下內容並重新啟動來udev
配置報告更詳細的訊息 :/etc/udev/udev.conf
udev_log="err"
"info"
調試完成後可以將其設定回原來的值。來自的訊息udev
現在應該報告到var/log/messages
文件中。希望這可以幫助。
答案2
編譯核心時,請確保在 Drivers -> Generic 部分中設定以下配置選項:
CONFIG_UEVENT_HELPER_PATH="/usr/bin/udevadm"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
這些不是預設值。
也運行這些以添加到您的 init 中:
rc-update add sysfs sysinit
rc-update add udev-mount sysinit
您使用 initramrs 嗎? /usr 是否位於單獨的分區上?
答案3
我終於能夠解決這個問題了。
問題是 - 我有兩個分區:/boot
和/
,但我正在使用初始化檔案系統啟動系統。當時我不太確定我是否需要它,但現在在獲得一些經驗(構建 LFS ;))之後我明白我只是不需要它,並initrd
從我的/boot/grub/grub.conf
文件中刪除了該行