[sisyphus] Re: USB HDD
=?iso-8859-1?q?led_=CE=C1_ukr-fin=2Ecom=2Eua?=
=?iso-8859-1?q?led_=CE=C1_ukr-fin=2Ecom=2Eua?=
Чт Янв 8 16:45:17 MSK 2004
В сообщении от Среда 31 Декабрь 2003 13:37 Денис Смирнов написал(a):
> On Tue, Dec 30, 2003 at 04:14:14PM +0200, led на ukr-fin.com.ua wrote:
> > Это понятно - все эти модули я включил в initrd.img.
> > В готовый initrd.img включил последней строкой перед загрузкой модуля
> > reiserfs.o строку:
> > mount -t usbdevfs usbdevfs /proc/bus/usb
>
> А загрузку этих самых модулей?
Ну естественно!:)
В общем, более-менее разобрался и всё уже почти работает:)
В initrd.img
1) Собрал busybox с lash, insmod, mount, umount, sleep, pivot_root. Поместил
его вместо штатного sh.
2) в linuxrc перdой строкой монтируется /proc, в предпоследней -
размонтируется
3) в linuxrc после
insmod usb-storage.o
добавил
sleep 5
4) в linuxrc последней строкой
pivot_root /dev/sda1 /boot/initrd
(с /dev/sda1 надо будет как-то "погибче сделать", каталог /boot/initrd или
что-то подобное должен быть создан предварительно на корневом разделе USB
HDD)
5) добавил в /dev
sda, sda1,
sdb,sdb1... (на всякий случай)
Для компов без поддержки загрузки с USB HDD изготовил дискету со стандартным
ядром и полученным initrd.img (по образу получаемой при инталляции).
Только форматировал её
fdformat /dev/fd0h1476 && mke2fs -m 0 -N 32 /dev/fd0
(На стандартную 1440 не помещается. Можно, конечно, было без lilo на ней -
тогда бы поместилось, но с lilo IMHO удобнее - можно разные варианты загрузки
сделать, а 82-дорожечные дискеты читаются везде, где только пробовал, даже на
дешёвеньком ноуте)
И всё же одна неприятность осталась и неприятность эта зовётся "сервис USB"...
IMHO загружать и выгружать ядерные модули USB сервисом принципиально неверно!
По крайней мере, нужно убрать оттуда загрузку модулей USB-накопителей и
USB-клавиатуры (надеюсь не стОит объяснять почему?). Из-за этого модули
выгружаются до размонтирования FS на USB-накопителях (думаю, многие уже
наступали на эти грабли). Кроме того в сервисе halt (reboot, poweroff), как
мне показалось, тоже потенциальная проблема с очереднёстью размонтирования
/proc.
Как вывод: сервис USB - зло, подлежащее искоренению, его задачи можно просто,
логично и, главное, корректно реализовать более традиционными способами...
Led.
Подробная информация о списке рассылки Sisyphus