LINUX.ORG.RU

История изменений

Исправление user_id_68054, (текущая версия) :

Поэтому весь вопрос в том, есть ли там udev, есть ли там нужные правила для udev'а и умеет ли инит ждать появления устройств.

вот как сратрует udev (в mkinitcpio`шном initramfs) :

run_earlyhook() {
    kmod static-nodes --format=tmpfiles --output=/run/tmpfiles.d/kmod.conf
    systemd-tmpfiles --prefix=/dev --create
    /usr/lib/systemd/systemd-udevd --daemon --resolve-names=never
    udevd_running=1
}

run_hook() {
    msg ":: Triggering uevents..."
    udevadm trigger --action=add --type=subsystems
    udevadm trigger --action=add --type=devices
    udevadm settle
}

run_earlyhook() и run_hook() можно сказать одна функция за другой выполняются (между ними какие-то там фигня — и ничего особо важного не запускается).

можешь пожалуйста рассказать — после запуска таким образом udevd (как я написал в этом сообщении) — ведь НЕ происходит ни какого ожидания появления накопительных устройств в /dev/ ? верно?

то есть только умышленный запуск функции poll_device() (код которой написан выше) может ожидать и больше ни чего другого?

или же я *ошибаюсь* и на самом деле — udevd *синхронно-ждёт* появления в /dev/ всех-всех-всех накопительных устройств , и только после этого уходит в fork() ?

Исправление user_id_68054, :

Поэтому весь вопрос в том, есть ли там udev, есть ли там нужные правила для udev'а и умеет ли инит ждать появления устройств.

вот как сратрует udev (в mkinitcpio`шном initramfs) :

run_earlyhook() {
    kmod static-nodes --format=tmpfiles --output=/run/tmpfiles.d/kmod.conf
    systemd-tmpfiles --prefix=/dev --create
    /usr/lib/systemd/systemd-udevd --daemon --resolve-names=never
    udevd_running=1
}

run_hook() {
    msg ":: Triggering uevents..."
    udevadm trigger --action=add --type=subsystems
    udevadm trigger --action=add --type=devices
    udevadm settle
}

run_earlyhook() и run_hook() можно сказать одна функция за другой выполняются (между ними какие-то там фигня — и ничего особо важного не запускается).

можешь пожалуйста рассказать — после запуска таким образом udevd (как я написал в этом сообщении) — ведь НЕ происходит ни какого ожидания появления накопительных устройств в /dev/?

то есть только умышленный запуск функции poll_device() (код которой написан выше) может ожидать и больше ни чего?

или же я *ошибаюсь* и на самом деле — udevd *синхронно-ждёт* появления в /dev/ всех-всех-всех накопительных устройств , и только после этого уходит в fork() ?

Исправление user_id_68054, :

Поэтому весь вопрос в том, есть ли там udev, есть ли там нужные правила для udev'а и умеет ли инит ждать появления устройств.

вот как сратрует udev (в mkinitcpio`шном initramfs) :

run_earlyhook() {
    kmod static-nodes --format=tmpfiles --output=/run/tmpfiles.d/kmod.conf
    systemd-tmpfiles --prefix=/dev --create
    /usr/lib/systemd/systemd-udevd --daemon --resolve-names=never
    udevd_running=1
}

run_hook() {
    msg ":: Triggering uevents..."
    udevadm trigger --action=add --type=subsystems
    udevadm trigger --action=add --type=devices
    udevadm settle
}

run_earlyhook() и run_hook() можно сказать одна функция за другой выполняются (между ними какие-то там фигня — и ничего особо важного не запускается).

можешь пожалуйста рассказать — после запуска таким образом udevd (как я написал в этом сообщении) — ведь НЕ происходит ни какого ожидания появления накопительных устройств в /dev/?

то есть только умышленный запуск функции poll_device() (код которой написан выше) может ожидать и больше ни чего?

или же я *ошибаюсь* и на самом деле — udevd *синхронно-ждёт[.i]* появления в /dev/ всех-всех-всех накопительных устройств , и только после этого уходит в fork() ?

Исправление user_id_68054, :

Поэтому весь вопрос в том, есть ли там udev, есть ли там нужные правила для udev'а и умеет ли инит ждать появления устройств.

вот как сратрует udev (в mkinitcpio`шном initramfs) :

run_earlyhook() {
    kmod static-nodes --format=tmpfiles --output=/run/tmpfiles.d/kmod.conf
    systemd-tmpfiles --prefix=/dev --create
    /usr/lib/systemd/systemd-udevd --daemon --resolve-names=never
    udevd_running=1
}

run_hook() {
    msg ":: Triggering uevents..."
    udevadm trigger --action=add --type=subsystems
    udevadm trigger --action=add --type=devices
    udevadm settle
}

run_earlyhook() и run_hook() можно сказать одна функция за другой выполняются (между ними какие-то там фигня — и ничего особо важного не запускается).

можешь пожалуйста рассказать — после запуска таким образом udevd (как я написал в этом сообщении) — ведь НЕ происходит ни какого ожидания появления накопительных устройств в /dev/?

то есть только умышленный запуска функции poll_device() (которая описанна выше) может ожидать и больше ни чего?

или же я *ошибаюсь* и на самом деле — udevd *синхронно-ждёт[.i]* появления в /dev/ всех-всех-всех накопительных устройств , и только после этого уходит в fork() ?

Исходная версия user_id_68054, :

Поэтому весь вопрос в том, есть ли там udev, есть ли там нужные правила для udev'а и умеет ли инит ждать появления устройств.

вот как сратрует udev (в mkinitcpio`шном initramfs) :

run_earlyhook() {
    kmod static-nodes --format=tmpfiles --output=/run/tmpfiles.d/kmod.conf
    systemd-tmpfiles --prefix=/dev --create
    /usr/lib/systemd/systemd-udevd --daemon --resolve-names=never
    udevd_running=1
}

run_hook() {
    msg ":: Triggering uevents..."
    udevadm trigger --action=add --type=subsystems
    udevadm trigger --action=add --type=devices
    udevadm settle
}

run_earlyhook() и run_hook() можно сказать одна функция за другой выполняются (между ними какие-то там ничего особо важного не запускается)

можешь пожалуйста рассказать — после запуска таким образом udevd — ведь не происходит ни какого ожидания появления накопительных устройств?

то есть только умышленный запуска функции poll_device() (которая описанна выше) может ожидать и больше ни чего?

или же я *ошибаюсь* и на самом деле — udevd *синхронно-ждёт[.i]* появления в /dev/ всех-всех-всех накопительных устройств , и только после этого уходит в fork() ?