Установка Линукс на ноутбук без CD-ROM привода

  Автор: © Alan Ward
Перевод: © Павел Ступин (Кобальт)


 

Эта статья родилась под впечатлением от экспериментов с ноутбуком, который я приобрел всего за 800$ несколько лет назад. Очень хорошая цена, но, к сожалению, ноутбук был без CD-ROM привода. В связи с этим мне захотелось разобраться, как установить на мою машину Линукс, используя сетевые загрузочные диски, которые теперь входят в состав большинства дистрибутивов. Перед началом этих экспериментов у меня имелся кое-какой опыт использования 486 в качестве терминалов (и тоже без CD-ROM).

Существуют различные способы экспортирования диска дистрибутива с компьютера, на котором установлен Линукс: NFS, FTP и HTTP. Перед тем, как рассказать о тех интересных проблемах, с которыми я столкнулся, мне бы хотелось вкратце обсудить каждый из этих способов. Я постараюсь сделать изложение материала доступным для всех и буду использовать те приемы, которые достаточно просты в реализации (за исключением разве что NFS).

Речь пойдет о схеме, применимой к дистрибутиву Red Hat и его производным (Mandrake, HispaLinux и др.). Также я не вижу каких-то проблем в применении идей, которые будут изложены, и к другим дистрибутивам (хотя сама реализация может, конечно, различаться).

 

Диски.

Большинство современных дистрибутивов позволяют загружаться прямо с установочного диска. Также в их состав входит несколько загрузочных образов, которые могут быть переписаны на флоппи-диск (обычно они находятся в каталоге /images). Обратите внимание на то, что существует разница между компьютером со стандартной ISA или PCI ethernet карточкой и ноутбуком c PCMCIA-картой. Для такого ноутбука нужно будет загрузить модуль поддержки pcmcia перед загрузкой ethernet-драйверов.

Например:

  • в состав дистрибутива RedHat 5.2 входит boot.img (диск и сеть), но вам может также понадобиться supp.img для поддержки PCMCIA-карты (Я, кстати, до сих пор использую ее для того, чтобы использовать четверки и старые Pentium'ы в качестве X-терминалов и роутеров - но не в качестве серверов!).
  • в состав дистрибутива RedHat 6.0 входят boot.img (только диск), bootnet.img (сеть) и pcmcia.img.

В состав Mandrake 7.0 входят cdrom.img, network.img и pcmcia.img, что можно также отнести и к Mandrake Corporate Server.

Итак, для загрузки через сеть в каждом отдельнов случае вам понадобится:

 

Дистрибутивбез PCMCIAc PCMCIA
RedHat 5.2boot.imgboot.img + supp.img
RedHat 6.0bootnet.imgbootnet.img + pcmcia
Mandrake 7.0network.imgpcmcia.img

 

Как правило, эти образы можно записать на флоппи-диск, используя команду dd:
dd if=/mnt/cdrom/images/network.img of=/dev/fd0

 

Сетевые настройки.

Все сетевые загрузочные диски позволяют настроить должным образом сетевое соединение, хотя порядок действий может варьироваться в зависимости от дистрибутива. Например, в Mandrake 6.1 процесс происходит в такой последовательности: 1. Выбор сетевого протокола (nfs, ftp или http) 2. Выбор сетевой карты (загрузочный диск Mandrake 6.1 не позволяет осуществить автоопределени карты - но об этом чуть позже) 3. Ввод вашего IP и конфигурации хоста (как правило, указанные на этой стадии параметры являются окончательными - то есть в дальнейшем не изменяются). 4. Ввод информации о сервере (IP-адрес или имя; каталог, содержащий дистрибутив).

 

Установка через NFS.

NFS может рассматриваться как средство, с помошью которого можно осуществить к каталогам, находящимся на компьютере с установленным на нем Линуксом, всем машинам в локальной или глобальной вычислительной сети. После эскпорта каталогов, их можно примонтировать как обычные локальные дискию

На сервере, я обычно просто монтирую CD и потом экспортирую /mnt/cdrom. Для этого требуется выполнение следующих шагов:

  1. Настройка NFS сервера (nfsd).
  2. Монтирование CD: mount /dev/cdrom /mnt/cdrom
  3. Включение этого каталога в список эспортируемых с сервера директорий. В /etc/exports я вставляю следующюю строку:

    /mnt/cdrom *(ro,no_root_squash)

    Данная строка значит, что я хочу экспортировать /mnt/cdrom для всех пользователей (*), в режиме "только чтение" (ro). Параметр no_root_squash дает удаленным суперпользователям соответствующие (суперпользовательские) права на ваши NFS-файлы; обычно, у удаленных суперпользователей есть так называемое nobody user's permission на эти файлы -- мера предосторожности на случай, если удаленным пользователям нельзя доверять.

     

  4. Реализация экспорта: exportfs

    В ответ должно появиться сообщение примерно такого содержания:
    /mnt/cdrom localhost
    /mnt/cdrom *

    Затем можно проверить, все ли работает, на любой машине, входящей в сеть (используя 192.168.0.1 в качестве IP-адреса сервера):
    mount 192.168.0.1:/mnt/cdrom /mnt

На клиентских машинах, программе установки нужно сказать следующее:

  • имя сервера NFS (или IP-адрес - в случае небольших сетей без DNS)
  • имя каталога с дистрибутивом (в моем примере: /mnt/cdrom)

Этот вариант проверен. Он работает. Но, возможно, это не самое легкое решение проблемы установки Линукса. Я использую такой подход, когда сервер в любом случае вынужден экспортировать /home, и NFS уже настроен.

 

Установка через FTP.

Со стороны сервера, процесс экспорта установочного диска RedHat через FTP - это довольно простой процесс. В моем случае, сервер wuftp уже был настроен и работал. А дальше - создается каталог /hom/ftp, откуда обслуживаются анонимные запросы через ftp. Самым лаконичным решением в данной ситуации будет:

  1. Создать подкаталог, например /home/ftp/cdrom: mkdir /home/ftp/cdrom
  2. Cмонтировать диск прямо в этот каталог вместо привычного /mnt/cdrom:
    mount /dev/cdrom /home/ftp/cdrom

Затем (на всякий случай), я проверяю, имеют ли пользователи доступ к этому каталогу во время ftp-сеанса.

На стороне клиента, я выбираю ftp-образ, затем прохожу все стандартные шаги, необходимые для настройки сетевого соедиения. Когда будут заданы соответствующие вопросы, нужно будет ввести:

  • имя ftp-сайта (или IP-адрес - в случае небольших сетей без DNS)
  • имя каталога, где находится дистрибутив RedHat (в моем случае - просто cdrom)

 

Установка через HTTP.

Данный процесс очень похож на тот, что был описан в случае с FTP.

На стороне сервера, я использую стандартные настройки apache с DocumentRoot, установленным в /home/httpd/html. Затем я:

  1. Создаю подкаталог, /home/httpd/html/cdrom:
    mkdir /home/httpd/html/cdrom
  2. Монтирую компакт диск прямо в этот каталог:
    mount /dev/cdrom /home/httpd/html/cdrom

Перед тем как продолжать - я проверяю имеется ли у пользователь доступ к устновочному диску. Это можно сделать прямо на сервере, сделав запрос на http://localhost/cdrom/. В ответ вы должны получить список файлов, находящихся на компакт диске.

На клиентской машине, установочной программе нужно сообщить следующие параметры:

  • имя web-сайта (или IP-адрес - в случае небольших сетей без DNS)
  • имя каталога, где находится дистрибутив RedHat (в моем случае - просто cdrom)

 

Проблемы.

С моим ноутбуком главной проблемой, с которой я столкнулся, была ethernet-карта Trust PCMCIA, на упаковке которой красовалась надпись "Полная совместимость с NE2000" (что совершенно не соответствовало реальности; кстати, зачем это они включили в поставку свои собственнуе драйверы для Win95?).

Этот проблема становилась тупиковой, когда я экспериментировал с рядом дистрибутивов (например, Mandrake 6.1): в определенный момент нужно было отвечать на вопрос о типе карты. Естественно, такой вариант, как модуль ne не проходил.

Затем я попробовал дистрибутив RedHat 6.0. Здесь происходит автоопределение типа карты, и все работает без проблем на модуле pcnet_cs. Это достаточно необычный тип карты, и он есть далеко не во всех списках, но, как правило, большиснтво ядер собраны с поддержкой этого типа. Весь трюк состоит в том, чтобы найти такой загрузочный диск, который бы либо производил автоопределение, либо позволял бы вручную вводить тип карты вместо выбора его из списка. Заметьте, что образ network.img из RedHat 6.0 работает и с Mandrake 6.1.

Также было несколько проблем с установкой разрешения экрана в Иксах. Ноутбук с разрешением 800х600 будет работать без проблем именно с таким же разрешением, но не с 640х480 - пикселы начинают искажаться. Пришлось поправить значение HorizSync в /etc/X11/XF86Config: стандартные значения VGA 30-40 kHz, оказалось, работают лучше, чем если указывать дискретные значения, говоря установочной программе, что у меня LCD экран 800х600. Однако будьте начеку (как впрочем и всегда, когда имеешь дело с Иксами).

Другая проблема - это когда забываешь поставить некоторые пакеты во время инсталляции. В этом случае приходится снова делать их доступными через сеть: либо монтирую CD на сервере через NFS, либо скачивая их через FTP или HTTP. Затем уже можно использовать rpm, kpackage или что вам больше по душе.

 

Дальнейшие шаги.

Одна из целей, преследуемых мной во время моих экспериментов, это было проверить разницу в скорости в при использовании трех разных методов. Из того, свидетелем чего я стал, можно сказать, что принципиальной разницы в скорости нет. Поэтому выбор способа, как мне кажется, обуславливается тем, что у вас уже установлено и настроено на сервере.

В большинстве случаев, это FTP и HTTP, потому что они работают "из коробки" в большинстве современных дистрибутивов. Выбор NFS менее вероятен, потому что это не тот сервис, который требуется для ежедневной работы на большинстве Линукс-компьютеров.

И, наконец, последний аспект, который бы я хотел обсудить в этой статье - "зачем использовать Линукс с ноутбуком?"

Кроме обычных доводов в пользу Линукса, я могу привести несколько примеров того, как я выигрываю будучи преподавателем, вооруженным ноутбуком с Линуксом:

  • использование StarOffice (моя любимая программа при работе с проектором на лекциях)
  • демонстрация того, как работает Линукс "вживую" (тоже через проектор)
  • использование ноутбука как сервера в компьютерных классах: студенты сразу же видят, что происходят на сервере (через проектор) и на их клиентских машинах, где они могут экспериментировать
  • использование ноутбука в качестве портативного X-терминала
  • использование ноутбука как "живого" аргумента для инвесторов и менеджеров: так я без проблем могу нагляно продемонстрировать, что Линукс выжимает максимум из железа. Достаточно просто принести с собой ноутбук, включить его и дать "большим людям" поиграться с ним. И мой последний аргумент: "а теперь смертельный номер: представьте Windows NT, с запущенными сервисами HTTP, FTP и почты, на моем ноутбуке с процессором P-133, 48 Mb RAM..." Я уж не буду говорить о Windows 2000 - это было бы уж слишком бестактно :-)

 


Copyright © 2000, Alan Ward.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 61 of Linux Gazette, January 2001

Вернуться на главную страницу