[sisyphus] Re: USB HDD

led на ukr-fin.com.ua led на ukr-fin.com.ua
Чт Янв 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