Задача добавить модуль ядра usb-storage в "initrd.img" от Fedora Linux
для загрузки с диска с USB интерфейсом.
mkdir ./initrd
mv ./initrd.img ./initrd.img.gz
gunzip ./initrd.img
Метод 1. initrd.img в виде сжатого образа файловой системы
mount -o loop ./initrd.img ./initrd
Метод 2. initrd.img в виде сжатого cpio архива
cd ./initrd
cpio -ic < ../initrd.img
Копируем в ./initrd/lib модуль usb-storage.ko
(следим, чтобы уже были модули scsi_mod.ko, (o|e|u)hci-hcd.ko, usbcore.ko)
Прописываем "insmod /lib/usb-storage.ko" в конец списка загрузки модулей ./initrd/init
Может потребоваться скопировать команду sleep и прописать после
загрузки модуля usb-storage задержку, необходимую на обнаружения накопителя.
umount ./initrd # для метода 1.
cd ./initrd
find . -print| cpio -oc |gzip -9 -c > ../initrd_new.img # для метода 2.
При загрузке с USB диска большого объема (250Гб) при установке ОС в
разделе в центре диска не удалось использовать Lilo и Grub. Lilo при
загрузке ругался на несоответствие текущей геометрии диска той что
была в момент его установки. Установка Grub привела к зависанию
ноутбука в момент опроса USB диска (проблема BIOS). Выход нашелся в
установке загрузчика от FreeBSD:
1. Делаем бэкап текущего MBR USB диска:
dd if=/dev/sda of=mbr_sda.bin bs=1 count=512
2. Берем boot0 из комплекта FreeBSD и копируем в него данные о таблицах разделов текущего диска:
dd if=mbr_sda.bin of=boot0 bs=1 count=66 skip=446 seek=446
3. Копируем загрузчик в MBR USB диска:
dd if=boot0 of=/dev/sda bs=1 count=512
4. В текущий раздел Linux устанавливаем Grub:
# grub
grub> find /boot/grub/stage1
(hd0,1) раздел /dev/sda2
grub> root (hd0,1)
grub> setup (hd0,1)
URL:
Обсуждается: http://www.opennet.dev/tips/info/1468.shtml