Sysfs не монтируется во время загрузки. [РЕШЕНО]
wWolf 11 мая, 2011 - 11:32
После эпохального обновления до baselayout-2.x и openrc, /sys перестал монтироваться во время загрузки, как следствие не стартует udev и далее по цепочке все остальное. Но shell в конце выдает, и по этому вручную могу примонтировать /sys, стартануть udev и все остальные сервисы.
»
- Для комментирования войдите или зарегистрируйтесь
Мигрировали строго по мануалу
Мигрировали строго по мануалу или по наитию?
По мануалу, н окромя
По мануалу, н окромя etc-update там ничего и делать то не пришлось, везде где в мануале описано, автоматика сработала нормально. Когда разобрался почему не грузится, даже добваил sysfs в уровень загрузки sysinit (хотя он и так должен подтягиваться зависимостью сервиса udev).
В сложных случаях лучше
В сложных случаях лучше использовать dispatch-conf. Нагляднее. Проверьте на всякий случай внимательней
(если есть бэкап /etc).
evadim забанен за хамское поведение и нецензурную речь
Так сейчас работает или нет?
Так сейчас работает или нет? Если нет - дайте первые 15-20 сек dmesg
Нет, само во время загрузки
Нет, само во время загрузки /sys не монтируется. Руками пожалуйста, можно всю систему до нормального состояния поднять, автоматически грузится не хочет.
А где же dmesg? ;)
А где же dmesg? ;)
Вот
Freeing unused kernel memory: 2424k freed
EXT3-fs (sdb7): error: couldn't mount because of unsupported optional features (240)
EXT2-fs (sdb7): error: couldn't mount because of unsupported optional features (240)
EXT4-fs (sdb7): mounted filesystem with ordered data mode. Opts: (null)
udev: starting version 151
udevd (1368): /proc/1368/oom_adj is deprecated, please use /proc/1368/oom_score_adj instead.
powernow-k8: Found 1 AMD Phenom(tm) II X4 945 Processor (4 cpu cores) (version 2.20.00)
powernow-k8: 0 : pstate 0 (3000 MHz)
powernow-k8: 1 : pstate 1 (2300 MHz)
powernow-k8: 2 : pstate 2 (1800 MHz)
powernow-k8: 3 : pstate 3 (800 MHz)
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky
vboxdrv: Found 4 processor cores.
VBoxDrv: dbg - g_abExecMemory=ffffffffa0028e20
vboxdrv: fAsync=0 offMin=0xb07 offMax=0x99e5
vboxdrv: TSC mode is 'synchronous', kernel timer mode is 'normal'.
vboxdrv: Successfully loaded version 4.0.6 (interface 0x00180000).
device-mapper: ioctl: 4.19.1-ioctl (2011-01-07) initialised:
EXT4-fs (sdb7): warning: maximal mount count reached, running e2fsck is recommended
EXT4-fs (sdb7): re-mounted. Opts: (null)
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
udev: starting version 151
ip_tables: (C) 2000-2006 Netfilter Core Team
r8169 0000:03:00.0: eth0: unable to apply firmware patch
r8169 0000:03:00.0: eth0: link down
r8169 0000:03:00.0: eth0: link down
r8169 0000:03:00.0: eth0: link up
nvidia: module license 'NVIDIA' taints kernel.
Disabling lock debugging due to kernel taint
nvidia 0000:01:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
nvidia 0000:01:00.0: setting latency timer to 64
vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=io+mem,decodes=none:owns=io+mem
NVRM: loading NVIDIA UNIX x86_64 Kernel Module 260.19.36 Tue Jan 18 16:56:11 PST 2011
fuse init (API version 7.16)
udev: starting version 151
udev: starting version 151
может я конечно чего-то не заметил, но по-моему пользы от него никакой
Я решил проблему. И чего я
Я решил проблему. И чего я сразу не додумался погонять скрипт /etc/init.d/sysfs в недогруженом состоянии системы? Вобщем дело оказалось именно в этом скрипте каторый тихо-молча не делал своего дела и даже не сообщал об этом (система считала что служба уже запущена когда я пытался вручную ее стартовать).
/etc/init.d/sysfs
mount_sys() { grep -Eq "[[:space:]]+sysfs$" /proc/filesystems || return 1 # mountinfo -q /sys && return 0 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Посмотрел что такой комманды в системе нет, закоментировал и все заработало. if [ ! -d /sys ]; then if ! mkdir -m 0755 /sys; then ewarn "Could not create /sys!" return 1 fi fi ebegin "Mounting /sys" if ! fstabinfo --mount /sys; then mount -n -t sysfs -o noexec,nosuid,nodev sysfs /sys fi eend $? }
Меня такое решение впринципе устраивает, но все же остаются вопросы. Что за mountinfo, в каком оно пакете и почему его у меня нет? И еще, почему у других не возникло такой проблемы и стоит ли писать по этому поводу багрепорт ?
что то мне подсказывает, что
что то мне подсказывает, что ты ее не решил.
Решить - это объяснить, что произошло, почему, и что делать для недопущения впредь
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
Согласен, чистым решением это
Согласен, чистым решением это не назавешь. Но, проблему это решило ? Решило. Других ошибок не вызвало ? Не вызвало. Вобщем нормальный такой workaround.
И по крайней мере теперь я максимально локализовал причину, осталось малое, узнать как оно должно быть по правильному.
если что-то работает у всех
если что-то работает у всех кроме вас, то проблема очень далека от решения.
Но все равно, неправильно же
Но все равно, неправильно же что скрипт не работает и при этом еще даже не сообщает об ошибке.
А workaround работает же, ну да ладно, ищем дальше. По указанному пути команда действительно есть.
Вобщем в конечном счете,
Вобщем в конечном счете, проблема была в том что в initrd перед переключением на реальный рут, не отмонтировались /proc и /sys, что впрочем никак не мешало монтировать их в новом руте, так что проверка mountinfo всетаки примитивна.
З.Ы. Как обычно, сам спросил, сам все расследовал ( почти ), и сам все решил :)