Путь к LINUX

Загрузка дистрибутива Slackware


Прежде всего необходимо создать загрузочные

диски. Для Unix вам потребуется две дискеты 5.25" HD - так

называемые boot и root. Конечно, если загрузочным является дисковод

3.5", то вам потребуется две дискеты емкостью 1.44 МБайт.

Кроме того, подготовьте еще две чистых дискеты, они понадобятся

при отладке.

Какие диски выбрать для начальной загрузки?

Создаем разделы на диске

Установите в привод CD-ROM диск TAE Volume

2 (или более поздней версии) и создайте дискеты с помощью программы

Install. В некоторых случаях диски, создаваемые с помощью программы

Install, упорно не желают загружаться на вашей машине. Это не

дефект компьютера, а ошибки разработчиков программы установки.



Но это ошибка не смертельная. На каждом диске есть специальный

каталог BOOT, в котором помещены версии загрузочных (boot) и корневых

(root) дисков для различных вариантов конфигурации системы. Там

же вы сможете найти и программу посекторного копирования rawrite,

которая позволит сформировать образ на дискете.

Но вернемся к процессу установки. Поместив

в привод дискету boot смело жмите клавишу Reset. Если процесс

загрузки прекратится через несколько секунд, значит вы не угадали,

какое ядро системы соответствует вашей конфигурации. В противном

случае на экран будут выведены диагностические сообщения, а затем

вы получите сообщение, приглашающее вас установить диск root.

Еще немного поворчит дисковод и перед вами появится подсказка

программы привратника:

darkstar login:

введите в ответ root и нажмите <Enter>.

Теперь вы хозяин системы и вольны распоряжаться ею. Но прежде

необходимо поставить Linux на винчестер. А поэтому запускайте

программу fdisk.

fdisk <идентификатор диска>

Обозначения дисков в Unix естественно отличаются

от MS-DOS. Так, первый винчестер, подключенный к контроллеру IDE,

обозначается как /dev/hda, второй - /dev/hdb, а

винчестеры, подключенные к интерфейсу SCSI - как /dev/sda,

/dev/sdb и так далее. Но предположим, у вас только один винчестер,


подключенный к контроллеру IDE. Поэтому вы подаете системе команду:

fdisk /dev/hda

и программа fdisk выдаст подсказку. Польщоваться

fdisk в Unix проще, чем в DOS. Команда m позволит

вам получить список команд, а p - распечатать текущее

состояние таблицы разделов. Ваша задача - создать два новых раздела

- для файлов системы Linux (Native Linux - тип 83) и для подкачки

(Linux swap- тип 82).

Кстати о подкачке. Если в вашей системе больше

16 МБайт оперативной памяти - раздел подкачки вам не нужен. А

если меньше, не жмитесь! Но и не жадничайте. Размер раздела подкачки

В старых версиях Linux не мог превышать 16 Мбайт, а сегодня вы

можете устанавливать хоть 128 МБайт. А можете и создавать специальный

файл для подкачки на время выполнения программы и освобождать

пространство на диске после ее завершения!

Да, надо отметить одну особенность программы

fdisk. При создании раздела вам будет предложено указать первый

цилиндр раздела, а затем размер, выделяемый разделу. Чтобы выделить,

скажем 80 МБайт, на запрос системы о последнем цилиндре раздела

введите +80M (если введете +80 - получите 80 Байт!).

Перед выходом из программы еще раз посмотрите

на таблицу. И если результаты вас устраивают жмите клавишу w.

Если же нет, можете выйти без записи результатов (команда - q)

и еще раз попытать счастье.

Запомните обозначения разделов, которые используются

для MS-DOS и Linux. Они нам вскоре понадобятся.

Ох, первый нужен уже сейчас. Вы скорее всего,

не настолько богаты, чтобы бросаться оперативной памятью, и создали

специальный раздел подкачки. Теперь необходимо поставить об этом

в известность операционную систему. Предположим, что под подкачку

выделен раздел /dev/hda4 размером 8192 блока (1 блок = 1 КБайт

- и никаких тебе кластеров!).

Поэтому введите следующую команду:

mkswap -c /dev/hda4 8192

В результате раздел будет размечен для подкачки.

Опция -c нужна только для старых винчестеров - при разметке будет

проведена проверка на предмет наличия плохих блоков и, в случае



обнаружения оные блоки будут огорожены красными флажками. Поэтому

сообщения об ошибках можно игнорировать. На последующую работу

системы они не повлияют. Теперь необходимо разрешить системе

использовать раздел подкачки. Для этого вы подаете команду:

swapon /dev/hda4

Все. Объем оперативной памяти вашей системы

увеличился на 8192 КБайта.

Если вы создали несколько разделов подкачки,

повторите эту процедуру для каждого из них.

Теперь можно продолжать, но позвольте еще

одно небольшое отступление. Unix очень похож на исполнительного

солдата, который делает только то, что ему приказывают. Но с другой

стороны, не надо ничего повторять два раза. Это означает, что

созданный и инициированный однажды раздел подкачки будет "подкачивать",

до тех пор пока вы не подадите команду swapoff. А описываемая

ниже процедура установки предложит вам еще раз отформатировать

и установить раздел подкачки. Так вот этого делать не надо! Категорически

не надо!

Дело в том, что если у вас мало памяти, вы

не сможете запустить программу установки, не инициализировав раздел

подкчки. А если попытаетесь установить раздел второй раз, можете

развалить всю систему - ведь страницы подкачки на одном и том

же разделе будут распределяться двумя независимыми механизмами.

Поэтому, после запуска программы setup необходимо

отказаться от предложения выполнить команду mkswap, но не стоит

возражать против включения swapon в сценарий загрузки. В противном

случае вам придется самостоятельно выполнять эту команду при каждом

запуске системы.

Теперь необходимо установить источник, откуда

будет осуществляться загрузка системы на винчестер. Конечно, с

оптического диска! Затем уточните тип привода, на этом этапе система

поддерживает все перечисленные в списке и переходим к следующему

пункту.

А следующим пунктом мы должны определить,

куда устанавливать Linux и какие разделы винчестера мы будем использовать.

Вот еще один повод вспомнить состояние таблицы разделов. Предположим,



что у нас имеется два раздела MS-DOS: /dev/hda1 и /dev/hda2, а

также раздел типа Linux native - /dev/hda3. Давайте ка включим

их в систему.

Вначале программа setup попросит указать,

какой раздел использовать для файлов Linux. Без вариантов - раздел

/dev/hda3. После этого вам предложат выбрать тип файловой системы.

Не вчитывайтесь в различные мудрстовавния, а выбирайте ext2fs.

Как сказало бы покойное АО "МММ" - "Это лучше,

Леня!" После этого спокойно соглашайтесь на форматирование

раздела, не стоит возражать и против проверки на наличие плохих

блоков.

После завершения форматирования вам предложат

включить в состав файловой системы разделы DOS. Не стоит отказываться,

подключите хотя бы один из разделов. Тогда вы сможете передавать

файлы в DOS и обратно путем простой команды cp (аналог copy из

MS-DOS). Единственный тонкий момент - выбор точки монтирования.

Под этим в Unix понимается название каталога, который ставится

в соответствие с тем или иным дисковым устройством. Так вот, к

моменту запроса системы на подключение разделов винчестера у вас

на диске есть только один корневой каталог, обозначаемый как "/".

Следовательно ваши каталоги, связывающие

Unix с DOS должны быть потомками основного каталога, например

/dos-c для /dev/hda1 или /dos.d для /dev/hda2. Но я бы советовал

Вам подключить в Linux только второй раздел, не содержащий самой

DOS - все-таки береженого Бог бережет!

Теперь, при желании, Вы можете распечатать

каталог файлов DOS, находящиеся в каталоге D:\F117, с помощью

команды: dir /dos.d/* . А вот при обратном копировании нужно помнить

что длина имени файлов в MS-DOS ограничена восемью символами,

а расширение - не длиннее трех. Но об этом мы поговорим позже,

а сейчас продолжим установку.

Первоначальная установка системы

После установки основных разделов винчестера

система предложит список наборов дисков (diskset) для установки

на вашем компьютере. Вначале, конечно, глаза разбегаются и хочется



установить все по максимуму. Вот этого делать ни в коем случае

не нужно. Успеется. А сейчас мы с вами должны получить нормальную

работоспособную операционную систему. Поэтому вы выбираете только

два набора дисков: A и D и приступаете к установке.

По умолчанию система выбирает режим установки

с подсказкой для пользователя. Не возражайте, в этом случае в

процессе установки на винчестер вы сможете узнать, что же вы записываете

на диск. Сначала идет установка набора A. Это базовый набор и

ваше участие в его установке минимально. Есть только один

важный момент. Вам НЕ НУЖНО устанавливать

ядро SCSIKERN, если у вас диск с контроллером IDE и наоборот,

не нужно ядро IDEKERN, если у вас винчестер с интерфейсом SCSI.

Если у вас есть и те и другие диски, устанавливайте ядро только

для того винчестера, на который СЕЙЧАС устанавливаете систему.

С остальными разберемся позже.

При установке утилит для поддержки принтера

обратите внимание, что демон печати работает с протоколами TCP/IP.

Не вдаваясь в подробности отметим, что для работы с устройством

печати вам потребуется создать локальную сеть, состоящую хотя

бы из одной вашей машины.

Второй набор дисков - D, содержит инструментальные

средства разработки программного обеспечения в среде Linux. Вам

потребуются:



  • компилятор Си (gcc);


  • библиотеки к нему;


  • ядро операционной системы (Linux kernel)


  • в ИСХОДНЫХ ТЕКСТАХ;

  • включаемые файлы для подключения библиотек.


  • Устанавливать на диск компиляторы C++, Objective

    C и тем более LISP, PERL, препроцессоры Pascal, Modula, Fortran

    на этом этапе не нужно. Вы сможете сделать это потом.

    Но вот установка выбранного нами программного

    обеспечения на винчестер завершена. Система предлагает вам выбрать

    вариант загрузки Linux. На этом этапе генерации системы

    мы выбираем загрузку с дискеты. Вы устанавливаете чистую дискету

    (Вы ведь подготовили ее в самом начале процесса, не так ли?) и

    программа setup устанавливает на нее загрузчик ОС Linux. Конфигурировать

    модем, мышку, и зональное время не надо. Скоро вы поймете почему.



    Прежде всего, перезагрузитесь с полученной

    дискеты. Если загрузка оказалась неудачной, придется повторить

    процесс создания образа системы на диске и загрузочного диска,

    как указано выше. Вот именно поэтому и используется отдельная

    дискета для загрузки системы - ваши диски root и boot остались

    целости и сохранности. Поскольку MBR винчестера вы не изменяли,

    то при включении питания и отсутствии дискеты в окошке A: компьютер

    так же как и раньше будет загружать MS-DOS. А загрузка Unix будет

    осуществляться с созданной вами только что дискеты.

    После загрузки системы с дискеты вы вновь

    должны зарегистрироваться с идентификатором root. Это, кстати,

    единственный доступный вам сейчас идентификатор. Других в системе

    пока просто нет. А теперь мы приступим к процессу, который должен

    повергнуть рядового пользователя в священный трепет. А именно

    - сейчас мы с вами перекомпилируем ядро операционной системы.

    Компиляция ядра операционной системы

    Не волнуйтесь, ситуация под контролем. Вы

    переходите в каталог /usr/src/linux. Как перейти в этот каталог?

    Но ведь MS-DOS заимствовала многие команды пользователя из операционной

    системы CP/M, которая в свою очередь использовала привычные пользователям

    начала 80-х годов команды многопользовательских UNIX-систем.

    Находясь в этом каталоге вы запускаете следующую

    команду:

    make config

    В ответ на это требование вы получите список

    вопросов, на которые надо отвечать достаточно внимательно. Если

    в вашей системе есть математический сопроцессор, то эмуляция команд

    80387 вам, по всей видимости не нужна. Если вы устанавливаете

    Linux на компьютер с процессором 80386, то оптимизация под 80486

    также окажется бесполезна.

    Но это пока безвредные вопросы. А вот когда

    пойдет речь о файловых системах - будьте бдительны.

    Во-первых, именно сейчас вы должны будете

    сообщить системе, какие типы винчестеров используются в вашем

    компьютере: IDE и/или SCSI. Создавая свою систему вы можете использовать

    оба типа контроллеров. Ну например, загрузка осуществляется с



    обычного винчестера подключенного к IDE-контроллеру, а второй

    винчестер подключен к плате SoundBlaster ASP 16 SCSI-2. Или у

    вас установлен контроллер Adaptec 1522 без встроенного ПЗУ с BIOS.

    Так вот, в отличие от MS-DOS эти контроллеры SCSI поддерживаются

    ядром Linux! Нужно только предупредить систему об их наличии.

    Когда вас спросят, нужна ли вам сетевая поддержка,

    долго не задумывайтесь и отвечайте "Да!" Во-первых,

    даже поддержка принтера в Linux реализована через сетевые функции,

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

    "клиент-сервер" (например, СУБД Postgress или отечественный

    (!) сервер баз данных LDBF), также используют функции TCP/IP.

    Следующий важный момент - тип привода CD-ROM.

    Базовая версия системы устанавливаемая по умолчанию не содержит

    драйверов CD-ROM и не может обслуживать привод какого бы то

    ни было типа. Поэтому от перегенерации системы вам никуда не уйти.

    Ваша задача состоит только в том, чтобы корректно указать тип

    привода.

    Звуковая плата, если она у вас есть, также

    должна быть сконфигурирована на этом этапе. Впрочем здесь ничего

    сложного нет. А вот с файловыми системами надо держать ухо востро!

    Поддержка лишних стандартов вам конечно ни к чему. Вот список

    тех систем, которые вы должны включить при генерации системы:



    • ext2fs (старая extfs, о которой вас спросят


    • вначале, вам не нужна!);

    • ms-dos (это понятно);


    • minix (это формат, "завещанный


    • предками" );

    • iso9660 (а это формат дисков CD-ROM -


    • без него вы не сможете читать диски!).

      С дополнительной периферией сложности не

      возникнет. Единственное предупреждение: bus mouse и serial mouse

      - суть вещи разные! Если ваша мышка подключается к последовательному

      порту, не включайте в конфигурацию bus mouse, не надо. Зачем вам

      лишний код в ядре системы?

      После того, как программа make завершит работу

      и Linux выведет на экран приглашение к вводу команды, повторите

      вызов make, но уже с вариациями:

      make depend

      а минут через двадцать, когда программа завершит



      свою работу, введите make еще раз, вот так:

      make zImage

      Теперь можете поставить чайник или сходить

      пообедать. Время трансляции для 80386DX-40/4 МБ составило 1 час

      5 минут, а когда появилась возможность нарастить объем оперативной

      памяти до 8 МБайт, компиляция ядра системы заняла всего сорок

      минут. При установке Linux на 486DX2-66/8 МБ на трансляцию потребовалось

      всего двадцать минут. Но как видите, важнее не производительность

      процессора, а объем оперативной памяти.

      Что мы получим в результате трансляции? Всего

      навсего cкомпилированное и упакованное ядро системы, помещенное

      в файл /usr/src/linux/arch/i386/zImage.

      Активизация скомпилированного ядра

      Это ядро пока что не активизировано и хранится

      как обычный файл данных. Но прежде, чем устанавливать его на винчестер,

      давайте создадим специальную загрузочную дискету, чтобы проверить,

      правильно ли мы все сконфигурировали.


      Содержание раздела