версия 0.7, 26 января 1998
ВНИМАНИЕ: Я не знаю, работает ли IDE дисковод так же, как и подключаемый к порту принтера, поскольку у меня его нет, поэтому не спрашивайте об этом.
Часть об инсталляции Debian была просто скопирована автором с незначительными изменениями. Поэтому возможно некоторое дублирование указаний.
Этот документ предполагает следующее:
У вас есть ZIP дисковод с интерфейсом для подключения к порту принтера.
У вас уже есть установленный и работающий Linux; этот документ не предназначен для начальной установки Linux.
В ядре имеется поддержка ppa, или загружен модуль, осуществляющий эту поддержку.
Точка монтирования ZIP диска - каталог /iomega.
Этот документ состоит из четырех основных частей, каждая из которых описывает, как установить базовую часть системы Linux на 100МБ ZIP диск, используя дисковод, подключаемый к порту принтера. Первая часть описывает, как подготовить ZIP диск, и является общей для дистрибутивов Red Hat и Slackware. Вторая, третья и четвертая части описывают, как установить Red Hat 4.2, Slackware 2.2 и Debian 1.2 соответственно на ZIP диск.
Примечание: Я знаю, что RedHat 5.0 вышел, но между занятиями и работой я, скорее всего, смогу поработать с ним только в конце мая. Надеюсь, что я также смогу протестировать другие дистрибутивы.
В конце концов я нашел время (хотя я должен был готовиться к экзамену по социологии...) для обновления этого документа. Спасибо всем, кто послал мне комментарии по электронной почте.
Новое в этом документе:
Дистрибутив Debian
LILO на флоппи диске
Новая версия Red Hat (4.2 Biltmore)
Сетевая конфигурация (Для Red Hat; не проверена)
Обозначает, что следующий текст это команды:
==> Обозначает примечание:
ПРИМЕЧАНИЕ:Обозначает образ экрана:
Текст.
Installation-HOWTO
SCSI-HOWTO
NET-3-HOWTO (для раздела 4.3.3)
ZIP-Drive (mini-HOWTO)
Патч ядра ParPort kernel patch (дает доступ к сквозному порту принтера) http://www.cyberelk.demon.co.uk/parport/
Раздел Slackware 2.2 создан, благодаря помощи Michael Littlejohn mike@mesa7.mesa.colorado.edu
Раздел Debian 1.2 создан, благодаря помощи John D. Blair jdblair@uab.edu
Информация по LILO и многим другим вещам внесена, благодаря помощи Darcy Boese possum@niagara.com и Javier Rodriguez jrodrigu@nextgeninter.net.mx
(Общая для дистрибутивов 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.то у вас есть поддержка SCSI, но ZIP не был найден.
Для создания разделов на 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У меня два ядра: одно для моего 486 лэптопа, требующего эмуляцию сопроцессора в ядре, а второе для моего настольного компьютера. Третий пункт позволяет мне в крайних случаях загрузится с жесткого диска.
Наконец, не демонтируя диск, запустите 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
Если что-то, связанное с компьютерами, старше 3-х месяцев, то оно может считаться устаревшим и требует обновления. Так как у меня вряд ли найдется свободное время на обновление этого документа с каждой новой версией RedHat, то я постараюсь обновлять его, хотя бы через версию. Что касается остальных дистрибутивов, то, если авторы не вышлют мне обновления, то все останется как есть.
Я использовал:
Ядро 2.0.30
Дисковод Iomega, подключаемый к параллельному порту
Red Hat 4.2
Когда я впервые решил попробовать установить Red Hat на ZIP диск, я обнаружил, что намного проще использовать загрузочный диск Red Hat. Потом я очнулся. Тщательно разобрался с созданием загрузочного диска, спрашивал об этом даже у разных ребят с Red Hat, но в конце концов начал сдаваться, и в этот момент обнаружил ключ --root утилиты rpm.
Я определил, какие пакеты нужны для инсталляции, посмотрев файл, найденный на одном из зеркал Red Hat. Он может быть найден на любом зеркале в
redhat/redhat-4.2/i386/RedHat/base/comps
Я хотел включить в эту инсталляцию поддержку сети, но из-за того, что в Red Hat настройка сети выполняется из-под X, придется настраивать вручную скрипты из каталога /etc/sysconfig/ (см. раздел 4.3.3), по крайней мере попытаться.
Я решил не устанавливать пакеты для разработки программ, так как ZIP дисковод - довольно медленная штука для компилирования. Я так же решил не устанавливать X, в основном из-за места на диске. Позже я могу попробовать подмонтировать мой жесткий диск и создать символьную ссылку (symbolic link) на /usr, чтобы проверить, могу ли я заставить X работать.
Ниже приводится список установленных мной пакетов, в порядке установки. Помеченные знаком * были обновлены с Red Hat. В скобках приводятся номера обновленных пакетов.
например NetKit-B-0.09-6 был обновлен на NetKit-B-0.09-8, поэтому строка будет такой: *91) NetKit-B-0.09-6 (-8)
(Список создан командой rpm --root /iomega -qa) 1) setup-1.7-2 2) pamconfig-0.51-2 3) filesystem-1.3-1 4) MAKEDEV-2.2-9 5) adduser-1.7-1 6) libc-5.3.12-18 7) SysVinit-2.64-8 8) ash-0.2-8 9) at-2.9b-2 10) libtermcap-2.0.8-4 11) bash-1.14.7-1 12) bc-1.03-6 13) bdflush-1.5-5 14) cpio-2.4.2-4 15) cracklib-dicts-2.5-1 16) tmpwatch-1.2-1 17) crontabs-1.5-1 *18) db-1.85-10 (-11) 19) dev-2.5.1-1 20) diffutils-2.7-5 21) etcskel-1.3-1 22) file-3.22-5 23) fileutils-3.16-1 24) findutils-4.1-11 25) grep-2.0-5 26) groff-1.10-8 *27) ld.so-1.7.14-4 (-5) 28) getty_ps-2.0.7h-4 29) gzip-1.2.4-7 30) mingetty-0.9.4-3 *31) initscripts-2.92-1 (93-1) 32) ed-0.2-5 33) info-3.9-1 34) ncurses-1.9.9e-4 35) libg++-2.7.1.4-5 *36) pwdb-0.54-3 (-4) 37) rootfiles-1.5-1 *38) pam-0.57-2 (-4) 39) redhat-release-4.2-1 40) less-321-3 41) mount-2.5l-2 42) zlib-1.0.4-1 43) rpm-2.3.11-1 44) e2fsprogs-1.10-0 45) sysklogd-1.3-15 46) tar-1.11.8-11 47) passwd-0.50-7 48) gawk-3.0.2-1 49) gdbm-1.7.3-8 50) gpm-1.10-8 51) hdparm-3.1-2 52) kbd-0.91-9 53) slang-0.99.37-2 54) newt-0.8-1 55) kbdconfig-1.4-1 56) ncompress-4.2.4-7 *57) sh-utils-1.16-4 (-5) 58) procinfo-0.9-1 *59) logrotate-2.3-3 (4-1) 60) lilo-0.19-1 61) losetup-2.5l-2 62) linuxthreads-0.5-1 *63) mkinitrd-1.6-1 (7-1) 64) mailcap-1.0-3 *65) man-1.4h-5 (j-1) 66) mt-st-0.4-2 67) modules-2.0.0-5 68) mailx-5.5.kw-6 69) net-tools-1.32.alpha-2 70) procmail-3.10-10 71) procps-1.01-11 72) psmisc-11-4 73) quota-1.55-4 74) readline-2.0-10 75) sed-2.05-6 76) setconsole-1.0-1 77) sendmail-8.8.5-4 78) shadow-utils-960530-6 79) stat-1.5-5 80) tcsh-6.06-10 81) termcap-9.12.6-5 82) textutils-1.22-1 83) time-1.7-1 84) timeconfig-1.8-1 85) util-linux-2.5-38 86) vim-4.5-2 87) vixie-cron-3.0.1-14 88) which-1.0-5 89) zoneinfo-96i-4 90) tcp_wrappers-7.5-1 *91) NetKit-B-0.09-6 (-8) *92) lpr-0.18-1 (19-1) *93) bind-4.9.5p1-2 (9.6-1) *94) bind-utils-4.9.5p1-2 (9.6-1) *95) wu-ftpd-2.4.2b12-6 (b15-1) 96) anonftp-2.3-3 97) zip-2.1-1 98) unzip-5.12-5 99) statserial-1.1-7 100) minicom-1.75-2 101) lrzsz-0.12.14-1 102) dip-3.3.7o-9 103) ppp-2.2.0f-3 104) portmap-4.0-3 105) perl-5.003-8 *106) traceroute-1.0.4.4bsd-2 (1.4a5-1) *107) elm-2.4.25-7 (-8) 108) lynx-2.6-2 109) ncftp-2.3.0-5 110) pine-3.95-2 111) rdate-0.960923-1 112) apache-1.1.3-3 *113) nfs-server-2.2beta16-7 *114) nfs-server-clients-2.2beta16-7 (2.2beta16-8) (2.2beta16-8)После установки вышеприведенного списка у меня осталось свободными 32 МБ!
Как знают (надеюсь) пользователи Red Hat, некоторые пакеты могут иметь ошибки, связанные с безопасностью (security), или что-то еще может заставить выпустить новую подверсию. Для таких случаев Red Hat выпускает обновления пакетов. Я обновил те пакеты, для которых имелись обновления, они отмечены в списке. Страничка Red Hat с информацией по обновлениям пакетов:
http://www.redhat.com/support/docs/rhl/rh42-errata-general.html
ПРИМЕЧАНИЕ: Перед обновлением пакетов нужно запустить ldconfig, как описано в разделе 3.3.1.1.
При использовании rpm для указания подмонтированных каталогов в качестве корня для установки, используйте ключ --root. Я обнаружил, что многие пакеты не устанавливаются, так их пред- или послеустановочные скрипты неправильно работали из-за смены корневого каталога, поэтому используем ключ --noscripts:
==> rpm --root /iomega -i --noscripts PACKAGE.i386.rpm
Как многие заметят, вы должны будете получить сообщение типа:
failed to open /iomega/var/lib/rpm/packages.rpm error: cannot open /iomega/var/lib/rpm/packages.rpmПросто создайте каталог var/lib/rpm :)
==> mkdir /iomega/var; mkdir /iomega/var/lib; mkdir /iomega/var/lib/rpm
Если кто-нибудь пробовал установить pamconfig, то он заметил, что этот пакет жалуется на отсутствие установленного pam; pam в свою очередь при попытке установки жалуется на отсутствие установленного pamconfig! Этот вопрос о яйце и курице, над которым я поломал голову некоторе время, решается с помощью ключа --nodeps - мы можем заставить pamconfig поставиться; pam зависит не только от pamconfig.
==> rpm --root /iomega -i --nodeps --noscripts pamconfig-0.51-2
После того, как все замечательно установилось, диск все же не является рабочим. Я хочу сказать, что если вы попытаетесь загрузиться с дискеты, то далеко не уйдете. Как только init попытается запуститься, вы получите две замечательных ошибки - обе об отсутствии необходимых файлов, которые были бы найдены, если бы при установке пакетов запускались скрипты.
Если вы пытались загрузиться, то получали две ошибки, первую об отсутствии файла /etc/ld.so.cache, вторую об отстутстуии libc.so.5.
Как указали многие читатели, мои прошлые указания не работали не совсем так, как мне хотелось. Чтобы этот файл создался, вам нужно запустить ldconfig с подмонтированным ZIP диском:
==> chroot /iomega /sbin/ldconfig
Благодарю Javier Rodriguez за это решение.
Для решения проблемы отсутствия библиотеки вам нужно создать символьную ссылку (symlink), которая была бы создана автоматически при выполнении установочных скриптов.
==> cd /iomega/lib; ln -s libc.so.5.3.12 libc.so.5
Благодарю Darcy Boese за это решение.
Точно так же, как был запущен ldconfig, вы можете запустить passwd для смены пароля root в новой системе:
==> chroot /iomega passwd root
ПРИМЕЧАНИЕ: Это очень краткая настройка, которую я не имел возможности проверить. Теоретически она должна работать, но не жалуйтесь, пожалуйста, если она не работает.
Исследуя свой компакт-диск с Red Had 4.2 CD-ROM, я нашел кое-что интересное - исходные тексты программы установки. Они лежали в каталоге /midc/src/install. Один из файлов назывался net.c и в нем я обнаружил, какие файлы создаются при работе программы установки. Большиство этих файлов необходимо для работы в сети, но даже если у вас нет сетевой карты, можно использовать localhost для поддержки сети (плюс apache будет ругаться, что он не может определить имя хоста.) Список файлов:
/etc/hosts /etc/HOSTNAME /etc/resolv.conf /etc/sysconfig/network /etc/sysconfig/network-scripts/ifcfg-eth0 (or any other network device you may have.)
При создании этого документа я хотел получить поддержку для моей сетевой карты 3Com 3c595 (которая последние семь месяцев стоит на другой машине.)
Во-первых, мне нужно было имя, и, так как у меня работает свой собственный сервер имен (name server) (но это уже другая история), я придумал себе имя: dash-dot.wig.org (мне нравится как это звучит). Имя без IP адреса бесполезно, и я взял адрес из подсети 192.168.10.0, зарезервированной для использования вне сети Internet, и поддерживаемой моим сервером имен. Хотя имя машины (hostname) обычно лежит в /etc/HOSTNAME, Red Hat также проверяет /etc/sysconfig/network, так что давайте начнем отсюда. Пример моего /etc/sysconfig/network:
NETWORKING=yes HOSTNAME=dash-dot DOMAINNAME=wig.org GATEWAY= GATEWAYDEV=eth0 NS1=192.168.10.7Затем, в общем случае, копируем ту же информацию в /etc/HOSTNAME, /etc/resolv.conf и /etc/hosts:
/etc/HOSTNAME:
dash-dot.wig.org
/etc/resolv.conf:
search wig.org nameserver ns.wig.org
/etc/hosts:
127.0.0.1 localhost 192.168.10.99 dash-dot.wig.org dash-dot 192.168.10.7 ns.wig.org nsRed Hat настраивает все сетевые устройства с помощью скриптов, лежащих в /etc/sysconfig/network-scripts. Настройка скриптов обычно производится программой установки, поэтому мне придется делать все это вручную. Все они начинаются с ifcfg-XXX, где XXX - сетевой интерфейс, поднимаемый ifconfig; например ppp0, eth0 и т.п. В частности я создал файл ifcfg-eth0 со следующим содержимым:
DEVICE=eth0 ONBOOT=yes BOOTPROTO=none BROADCAST=192.168.10.255 NETWORK=192.168.10.0 NETMASK=255.255.255.0 IPADDR=192.168.10.99И последнее. Чтобы проверить правильность настройки, пока мы находимся в каталоге /etc/sysconfig/network-scripts, запустите:
==> ./ifup ifcfg-eth0 boot
Эта команда выполняет скрипт, поднимающий сетевой интерфейс, настроенный на запуск при загрузке системы.
Для дополнительной информации смотрите документ NET-3-HOWTO.
ПРИМЕЧАНИЕ: Эта часть не обновлялась.
ZIP диск и дисковод (естественно)
Ядро с поддержкой ZIP
ZIP Howto (рекомендуется)
Форматированный 1.44" HD флоппи диск
1 - 2 часа свободного времени
Итак, сначала самая веселая часть: определение списка файлов, необходимых для системного диска и пакетов, которые вы хотите установить (если влезут) на ZIP диск.
Я решил, что простейший способ - это установить Slackware непостредственно на ZIP диск. Я решил воспользоваться этим подходом в основном из-за того, что дистрибутив Slackware меньше размером, чем Red Hat, и мне проще будет отсечь то, что не нужно. И тот факт, что я пользуюсь дистрибутивом Slackware, сделал этот выбор явным.
Установка Slackware на ZIP дис довольно проста - запустите root-ом программу установки, выберите в качестве цели установки раздел /iomega, а в качестве источника - местоположение дистрибутива Slackware (cdrom, жесткий диск и т.п.), и следуйте указаниям.
Самая сложная часть - определение того, что вам нужно, а что нет. Обязательно понадобиться часть 'A' (около 8 мб), остальное на ваше усмотрение.
Я постарался обрезать дистрибутив Slackware до приемлемого размера в 70 мб. При этом в него вошли gcc/g++, perl, X11R6 (НЕ ПОЛНОСТЬЮ!), sendmail, документация (без руководства по разработке программ, но со всеми howto), и набор других нужных мне вещей. На файлы пользователей осталось около 10 мб. YMMV
(Общая для дистрибутивов Red Hat и Slackware)
Последнее, что нужно сделать до перезагрузки - создать файл fstab. Вот что по минимуму должно быть в /iomega/etc/fstab:
/dev/sda1 / ext2 defaults 1 1 /dev/sda2 none swap sw none /proc proc defaults 1 1Сохраните файл, презагрузитесь с созданного загрузочного диска и наслаждайтесь!
(Особо благодарю Mike за напоминание об этой очень важной части - John)
ПРИМЕЧАНИЕ: Автор этой части послал мне ее в 11 июня 1997 г.
ZIP дисковод, подключаемый к параллельному порту и диск.
2 чистых 1.44 флоппи диска
Полный набор установочных дисков Debian. (загляните в документацию по установке Debian, если забыли? как это сделать)
Несколько часов свободного времени
После нескольких часов сражения с dpkg я решил, что будет проще изменить "аварийный" ("Rescue") диск Debian так, чтобы он понимал ZIP дисковод. Это оказалось очень просто. Далее вы можете использовать этот диск для установки базовой части Debian. После окончания установки базовой части можно запустить систему с загрузочного диска и закончить установку с помощью dselect. Для того, чтобы воспользоваться этим способом, вам понадобится два ядра - одно с поддержкой параллельного порта и RAM диска, второе без поддержки RAM диска.
Если пожелаете, можете пропустить раздел 2 и дать программе установки Debian отформатировать ZIP диск.
Аварийный диск Debian - это загрузочный диск типа SYSLINUX. Он создается на отформатированном в формате MS-DOS флоппи диске со специальным загрузчиком, предотвращающим загрузку MS-DOS. Такой диск очень легко править для создания своей собственной конфигурации загрузки. Пакет 'boot-floppies' Debian содержит набор скриптов для облегчения создания загрузочных дисков. Впрочем, создать диск настолько просто, что я предпочел сделать все вручную. Это немного расходится с философией Debian, но я выше этого :). Краткие указания вы можете найти в файле 'readme.txt' на аварийном диске.
Если вы забыли, как это делается, загляните в документацию по установке Debian.
Включите поддержку ZIP дисковода, подключаемого к параллельному порту (см. пункт 3.3.1), поддержкой RAM диска и загрузочного RAM диска (initial RAM). Кроме того требуется поддержка файловых систем msdos, fat, minix, ext2fs и procfs.
Настройте модули, которые вы желаете видеть в системе, устанавливаемой на ZIP диск.
Соберите ядро:
==> make dep; make clean
==> make bzImage
Соберите модули:
==> make modules
Установим их попозже.
ПРИМЕЧАНИЕ: Убедитесь в том, что вы дали команду 'make bzImage', а не 'make zImage'.
==> fdmount fd0
или
==> mount /dev/fd0 /mnt
или
==> whatever :)
Скопируйте ядро (на платформах i386 оно лежит в каталоге arch/i386/boot/bzImage) в 'linux' на флоппи диске.
Откройте файл 'rdev.sh' с аварийного диска вашим любимым редактором. Измените последнюю строку с
'rdev /mnt/linux /dev/ram0'на:
'rdev /mnt/linux /dev/sda1'
Кроме того, везде, где встречается /mnt/linux, замените его на соответствующий путь. Например, я подключаю мои флоппи диски в /fd0, поэтому меняю /mnt/linux на /fd0/linux.
Загрузитесь с исправленного аварийного диска. Если все пойдет как надо, то вы окажетесь в меню программы установки Debian. Единственное отличие будет в том, что вы будете работать с ZIP диском. Продолжайте установку, как если бы ставили систему на жесткий диск, только подключите в качстве корневой файловой системы /dev/sda1, а в качестве раздела подкачки - /dev/sda2.
Есть еще одно отклонение от стандартного процесса установки - не устанавливайте и/или не настраивайте подгружаемые модули. Они будут установлены позже (пункт 7.3.2).
Создание загрузочного диска описано в пунктах 3.3.1 и 3.3.2. Если хотите, можете просто выбрать пункт "Create Boot Disk" ("Создать загрузочный диск") во время установки Debian. Мне больше нравится второй способ, так как в этом случае я получаю еще один SYSLINUX диск. Я могу добавить параметры загрузки ядра и изменить приветствие (greeting message), описав в нем, что это за диск. Можно даже назначить функциональные клавиши для просмотра справки. Позже вы можете пересобрать ядро и убрать поддержку RAM-диска, изменив диск вручную. Выбор за вами.
Вставьте загрузочный диск в дисковод и выберите пункт 'Reboot' (перезагрузка) в меню программы установки.
После перезагрузки вы получите работающую (хоть и медленно) с ZIP диска базовую часть системы Debian. Продолжайте установку, как обычно. Я ставил все стандартные утилиты UNIX, документацию, make, gcc, библиотеки, и различные полезные утилиты для работы с файлами. В результате я получал мощную систему аварийной загрузки, с помощью которой мог восстанавливать любые системы в нашем отделе.
ПРИМЕЧАНИЕ: Для следующего пункта вам понадобится установить 'make'.
Если вы установили make, то можете подключить раздел жесткого диска с собранным ядром, перейти в нужный каталог и выполнить команду 'make modules_install'. Пример:
==> mount /dev/hda2 /mnt
==> cd /mnt/usr/src/linux
==> make modules_install
ПРИМЕЧАНИЕ: Вам не нужно править /etc/fstab (как в пункте 5). Программа установки Debian уже позаботилась об этом.
Уффф. После того как я записал 31 ZIP диск и ZIP дисковод полностью посадил батарейки, я решил: следующее, что я попытаюсь сделать - заставить работать pcmcia на моем лэптопе.
Авторские права на русский перевод этого текста принадлежат © 2000 SWSoft Pte Ltd. Все права зарезервированы.
Этот документ является частью проекта Linux HOWTO.
Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе, физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.
Все переводы и производные работы, выполненные по документам Linux HOWTO, должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO, с которым можно связаться по адресу приведенному ниже.
Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: <linux-howto@metalab.unc.edu> или к координатору русского перевода Linux HOWTO компании SWSoft Pte Ltd. по адресу <linux-howto@asplinux.ru>
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |