LINUX.ORG.RU

Ответ на: комментарий от no-dashi

Ладно, умники.

Я спросил: "ЗАЧЕМ нужна devfs?", а не "НУЖНА или НЕ НУЖНА devfs?". Чувствуется разница?

По существу.

Нашел такую статью: http://www.opennet.ru/docs/RUS/fs/l-fs4_ru.html (кстати доки, на которую ссылается уважаемый snigga, у меня нет), но из нее я так и не сделал вывода: стоит пользовать сабж или нет.

Кто-нибудь может в двух словах по-русски рассказать преимущества и недостатки?

afanasiy ★★★★
() автор топика
Ответ на: комментарий от afanasiy

Если у тебя 2.6, используй udev. Статья-сравнение где-то на том же opennet.

Основное преимущество - черви, любящие записать себя в /dev не будут существовать после перезагрузки.

jackill ★★★★★
()

Мне лично не нужна :)

Новых устройств не втыкаю, USB там разных нет кроме камеры которая только в Win работает.

Лишнее файло в /dev тоже не напрягает :)

Demetrio ★★★★★
()
Ответ на: комментарий от Demetrio

>Мне лично не нужна :)

Да мне вроде тоже не особо, только фотик иногда втыкаю. Просто разобраться охота.

jackill как всегда прав, надо (если надо) юзать udev. Почитав Федорчука: http://unix.ginras.ru/linux/base014.html понял, что к чему. Вот только "новая" проблема появилась. Если ядру передаешь devfs=nomount, то тогда почему-то не размонтируется initrd:

umount: umount: /initrd: device is busy

rc.sysinit: Размонтируется initrd: failed

Как они взаимосвязаны?

Mandrake 10, 2.6.3-7

afanasiy ★★★★
() автор топика
Ответ на: комментарий от Demetrio

>Там у них ещё и devfsd есть, его выключай

Я его выключил: /sbin/chkconfig --del devfsd. Не помогает.

>Видимо в стартовых скриптых надо смотреть

Что именно смотреть?

afanasiy ★★★★
() автор топика
Ответ на: комментарий от afanasiy

Разобрался. Если кому интересно - танцы с бубном:

Декомпрессируем initrd:

gunzip -c /boot/initrd.img > /tmp/initrd

Создаем каталог, в который будем монтировать initrd:

mkdir /mnt/initrd

Монтируем initrd:

mount /tmp/initrd /mnt/initrd -o loop

Переходим в смонтированный каталог:

cd /mnt/initrd

Находим там скрипт linuxrc, который выглядит примерно так:

#!/bin/nash

echo "Loading reiserfs.ko module"
insmod /lib/reiserfs.ko 
echo Mounting /proc filesystem
mount -t proc /proc /proc
echo Creating device files
mkdevices /dev
echo Mounting sysfs
mount -t sysfs none /sys
echo Creating root device
mkrootdev /dev/root
umount /sys
echo 0x0100 > /proc/sys/kernel/real-root-dev
echo Mounting root filesystem with flags notail,defaults
mount -o notail,defaults --ro -t reiserfs /dev/root /sysroot
pivot_root /sysroot /sysroot/initrd
echo Remounting devfs at correct place if necessary
handledevfs
umount /initrd/proc

Комментируем (или удаляем) строчки:

echo Creating device files
mkdevices /dev

echo Remounting devfs at correct place if necessary
handledevfs

Сохраняем.

Размонтируем:

umount /mnt/initrd

Зазипиваем:

gzip -c -9 /tmp/initrd > /boot/initrd.img

Прописываем загрузчик /sbin/lilo

Перезагружаемся.

Наслаждаемся.

afanasiy ★★★★
() автор топика
Ответ на: комментарий от afanasiy

Только что обнаружил еще одни грабли.

Указанный выше метод исключает использование bootsplash, т.к. последний переписывает linuxrc и не может жить без строчек, которые я предлагаю закомментировать. :((

afanasiy ★★★★
() автор топика

>Ни с какими проблемами я вроде бы не столкнулая. Единственно, что осталось придумать, как создавать ссылку /dev/cdrom->/dev/hdc:

Лох - это диагноз (извиняюсь за выражение). Опять Ф. "радует" чрезстрочным прочтением мана.

jackill ★★★★★
()
Ответ на: комментарий от jackill

>Есть способ проще - поддержку devfs убери из ядра.

Тоже самое. Я тут уже постил как-то, после сборки ядра у меня не размонтировался initrd, только тогда я не знал из-за чего это происходит.

afanasiy ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.