(Общая для дистрибутивов RedHat и Slackware.) Перед началом убедитесь, что у вас есть доступ к ZIP дисководу; должна иметься поддержка ppa или в ядре, или загруженным модулем. Простой способ убедиться в этом - команда dmesg:
==> dmesg
Возможно придется использовать more, так как dmesg может быть очень длинным. Вот вырезка из моего:
scsi0 : PPA driver version 0.26 using 4-bit mode on port 0x3bc. scsi : 1 host. Vendor: IOMEGA Model: ZIP 100 Rev: D.08 Type: Direct-Access ANSI SCSI revision: 02 Detected scsi removable disk sda at scsi0, channel 0, id 6, lun 0 SCSI device sda: hdwr sector= 512 bytes. Sectors= 196608 [96 MB] [0.1 GB] sda: Write Protect is off sda: sda1 sda2 |
Если вы видите что-то типа:
scsi : 0 hosts. scsi : detected total. |
Для создания разделов на ZIP диске запустите fdisk:
==> fdisk /dev/sda/
Ниже таблица разделов, созданная мной:
Disk /dev/sda: 64 heads, 32 sectors, 96 cylinders Units = cylinders of 2048 * 512 bytes Device Boot Begin Start End Blocks Id System /dev/sda1 1 1 81 82928 83 Linux native /dev/sda2 82 82 96 15360 82 Linux swap |
После выхода из fdisk создайте файловую систему на новом разделе:
==> mke2fs -c /dev/sda1
Затем подготовьте раздел подкачки (число блоков (15360) берется из fdisk-а):
==> mkswap -c /dev/sda2 15360
Ну и наконец, подключите ZIP диск:
==> mount /dev/sda1 /iomega -t ext2
Из-за того, что ZIP дисковод, подключаемый к порту принтера, не является настоящим SCSI устройством, с него нельзя загрузиться. Поэтому требуется загрузочный диск, с включенной в ядро (не модулем) поддержкой ppa.
Сперва нужно настроить и собрать ядро, с включенной (не модулем) поддержкой ppa. Чтобы включить ее, включите поддержку SCSI:
SCSI support (CONFIG_SCSI) [Y/m/n/?]
Плюс поддержку SCSI дисков:
SCSI disk support (CONFIG_BLK_DEV_SD) [Y/m/n/?]
И, наконец, в SCSI low-level drivers (низкоуровнеые драйверы SCSI), поддержку ppa:
IOMEGA Parallel Port ZIP drive SCSI support (CONFIG_SCSI_PPA) [Y/m/n/?]
Повторюсь, удостоверьтесь в том, что поддержка ppa будет именно в ядре, а не модулем. Более того, без патча ядра для параллельного порта (см. п. 1.4) драйвер ppa не позволит использовать пассивный порт ZIP дисковода для подключения принтера, так что, возможно, вы пожелаете выключить поддержку принтера, подключаемого к параллельному порту:
Parallel printer support (CONFIG_PRINTER) [N/y/m/?]
ПРИМЕЧАНИЕ: Для дополнительной информации по драйверу ppa, смотрите ZIP-Drive mini-HOWTO. |
После настройки ядра соберите его:
==> make dep; make clean; make zImage
Новое ядро будет лежать в arch/i386/boot/zImage.
После того, как мне пришлось держать 4 отдельных флоппи-диска с разными ядрами, требовавшими разные параметры (плюс кучу почты, рассказывающей, как это сделать), я включил подраздел, посвященный LILO, в раздел, описывающий создание загрузочного диска.
Для тех, кому нужно или хочется иметь несколько ядер на одном флоппи (на сегодняшний день мои ядра слишком большие), или хочется передавать параметры загрузки (такие как однопользовательский режим) - я перечитал кучу почты об установке LILO на флоппи.
Для создания файловой системы ext2 на флоппи просто дайте ту же команду, что и для ZIP диска:
==> mke2fs -t /dev/fd0
Далее убедитесь, что существует каталог для точки монтирования, и подмонтируйте флоппи (я использовал /mnt/floppy):
==> mount /dev/fd0 /mnt/floppy -t ext2
Для правильной загрузки вам нужны будут файлы, используемые LILO на вашей текущей инсталляции Linux.
ПРИМЕЧАНИЕ: расположение файлов ниже взято с моей машины и может не совпадать с вашим. |
==> cp /boot/boot.b /mnt/floppy
==> cp /boot/map /mnt/floppy
==> cp /usr/src/linux/arch/i386/boot/zImage /mnt/floppy/vmlinuzDESK
Теперь нужно создать конфигурационный файл для LILO. Использование утилиты liloconfig мною пропущено... (Благодарю Javier Rodriguez за эту информацию) Создайте конфигурационный файл /mnt/floppy/lilo.conf для ядра(ядер) на ZIP диске. Чтобы иметь возможность тестировать различные ядра, я использовал следующий:
boot=/dev/fd0 map=/mnt/floppy/map install=/mnt/floppy/boot.b prompt compact timeout=50 image=/mnt/floppy/vmlinuzLAP label=Laptop root=/dev/sda1 read-only image=/mnt/floppy/vmlinuzDESK label=Desktop root=/dev/sda1 read-only image=/mnt/floppy/vmlinuzDESK label=rescue root=/dev/hdc1 read-only |
Наконец, не демонтируя диск, запустите LILO для его установки на флоппи командой:
==> lilo -C /mnt/floppy/lilo.conf
После успешной установки LILO на флоппи можете пропустить следующих два пункта, если вы конечно не хотите повторить то, что уже сделали :)
ПРИМЕЧАНИЕ: Этот пункт не относится к установке LILO. |
Скопируйте свежесобранное ядро на флоппи-диск:
==> cp arch/i386/boot/zImage /dev/fd0
или
==> cat arch/i386/boot/zImage > /dev/fd0
Да, есть много способов скопировать ядро на флоппи-диск, но последний, мой любимый, не так очевиден. Постарайтесь не забыть >, если вы не фанат просмотра двоичных файлов :)
ПРИМЕЧАНИЕ: Этот пункт не относится к установке LILO. |
Как только ядро окажется на флоппи-диске, вам понадобится указать, что корневой раздел находится на ZIP диске: ==> rdev /dev/fd0 /dev/sda1 Я не уверен, что следующая команда нужна, но я все равно ее выполнял. Для указания местонахождения раздела подкачки:
==> rdev -s /dev/fd0 /dev/sda2