Sysfs не монтируется во время загрузки. [РЕШЕНО]

После эпохального обновления до 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.
И по крайней мере теперь я максимально локализовал причину, осталось малое, узнать как оно должно быть по правильному.

если что-то работает у всех

если что-то работает у всех кроме вас, то проблема очень далека от решения.

# qfile /lib/rc/bin/mountinfo
sys-apps/openrc (/lib64/rc/bin/mountinfo)

Но все равно, неправильно же

Но все равно, неправильно же что скрипт не работает и при этом еще даже не сообщает об ошибке.
А workaround работает же, ну да ладно, ищем дальше. По указанному пути команда действительно есть.

Вобщем в конечном счете,

Вобщем в конечном счете, проблема была в том что в initrd перед переключением на реальный рут, не отмонтировались /proc и /sys, что впрочем никак не мешало монтировать их в новом руте, так что проверка mountinfo всетаки примитивна.
З.Ы. Как обычно, сам спросил, сам все расследовал ( почти ), и сам все решил :)

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".