Linux mini-HOWTO

         

Что должно быть:


Вы успешно установили Windows 95.

Windows 95 установлена на диске C.

Вы успешно установили Linux.

Вы знаете, на каком раздел установлен Linux.

LILO НЕ установлен на вашем жестком диске.

Если вы используете Windows 95 OSR2 (версия 4.00.950b), вы хорошо читали Windows95 OSR2 FAQ.



Что, если у меня уже есть двойная


Искренне, если вы хотите сделать это, я рекомендовал бы использовать LILO. Однако, если вы действительно не хотите использовать LILO, нужно загружать первым Win 3.x, затем запустите команду Loadlin. (Удостоверитесь, что Windows 3.x не выполняется, и что вы находитесь в DOS 5.0 или 6.x).



Дополнительные способы авто-загрузки Linux, особенно для пользователей файловой системой FAT32.


Этот раздел будет работать для всех версий Windows 95 до настоящего времени, независимо от того, имеете ли вы файловую систему FAT32. Существует два метода, которые я буду рассматривать в этом разделе. Сначала я начну с самого простого.



Где я могу найти больше информации по использованию Loadlin?




Slackware версий 3.2 и 3.5 содержит файл "loadlin.tgz" в каталоге \slakware\A5, в Slackware версий 3.3 и 3.4 есть loadlin.tgz в каталоге \slakware\A4. Slackware версии 3.6 содержит loadlin.tgz в каталоге \slackware\A8. Разархивируйте файл и смотрите в каталоге \docs файл manual.txt. Я не знаю относительно более ранних версий Slackware.

RedHat версий 4.2 до 5.2 содержит файл "loadlin16.tgz" в каталоге \dosutils. Разархивируйте файл и смотрите в каталоге \docs файл manual.txt. RedHat 4.1 кажется, не имеет этот архив. Файл manual.txt также доступен для скачки по адресу:



Где я могу получить текстовую версию этого документа?


Текстовую версию документа можно взять здесь:

ftp://ftp.eskimo.com/u/p/praxis/loadlin.txt



Имеет ли значение очередность установки Linux и Windows 95?


Технически нет. Однако, проще сначала установить Win95. Linux проще распознать ваш раздел DOS во время установки.



Я не уверен, на каком раздел установлен Linux. Как это выяснить?


В Linux, запустите утилиту fdisk и нажмите "p". Там вы все увидите. Если вам нужна дополнительная помощь по использованию утилиты fdisk, смотрите страницы руководства (man).



Как это работает.


Windows 95 имеет встроенное меню начальной загрузки. По умолчанию вы не видите его при запуске (хотя вы можете изменить это, если желаете), но вы увидете его, если нажмете клавишу F8, когда появится надпись "Starting Windows 95...". В меню вы увидите несколько пунктов. Последний пункт - "Previous version of MS-DOS". Вместо нажатия на клавишу F8 и выбора пункта "Previous version of MS-DOS", можно использовать клавишу F4, когда на экране появится надпись "Starting Windows 95...". Когда Windows 95 загружает предыдущую версию MS-DOS, используются системные файлы с расширением .dos. Поэтому важно иметь правильный файл Config.dos, если вы инициализируете Linux из файла Autoexec.dos. Если Windows 95 не находит файлы с расширением .dos расширением при попытке загрузить предыдущую операционную систему, загрузятся файлы для запуска Windows 95. Поэтому, если вы не имеете файла Config.dos, Windows 95 загрузит все драйверы, указанные в файле Config.sys. Это не помешает, Linux загрузится, но загрузка будет более длительной. Наличие правильного файла Config.dos предотвращает Windows 95 от чтения файла Config.sys файла при загрузке предыдущей версии MS-DOS.



Компоненты, необходимые до начала:


Загрузочный диск DOS 5.0 или DOS 6.x с системными файлами (io.sys, msdos.sys, command.com) и с файлом config.sys. Если вы используете загрузочный диск DOS 5.0, вам будет также необходим файл autoexec.bat. Если вы используете Windows 95 OSR2 (версия 4.00.950b), то будете должны с помощью текстового редактора создать файл Winboot.sys, и поместить его в корневой каталог диска C. Winboot.sys может быть пустой.

ВНИМАНИЕ: Если ваш жесткий диск уже содержит файлы autoexec.dos, config.dos, io.dos, msdos.dos, и command.dos, тогда вам не нужна дискета. Можно проверить это, введя команды: dir и dir /ah в корне диска C. Если вы устанавливали обновленную версию Windows 95, то должны иметь их.

Программа Loadlin.exe

Файл образа ядра, обычно zImage или vmlinuz. (Для информации смотри FAQ).

Простой текстовый редактор, типа Блокнот (Notepad).



В этом документе содержится информация


Chris Fischer
protek@brigadoon.com
Перевод: Александр Ермолаев, ASPLinux

В этом документе содержится информация о том, как использовать Loadlin с Windows 95, чтобы загрузить Linux.


Определите, какая версия Windows 95 у вас установлена.


Загрузите Windows 95 и щелкните правой клавишей мыши по значку Мой компьютер (My computer). Из контекстного меню выберите пункт Свойства (Properties). На вкладке Общие (General) посмотрите, под надписью "Система:" (System) вы увидите номер версии системы.



Отредактируйте ваши системные файлы.


Откройте программу Блокнот (Notepad). В меню "Файл" выберите пункт "Открыть". Измените "Тип файлов" (Files of type) на "Все файлы (*.*)" (All files (*.*)). Выберите диск C. Откройте Config.dos двойным щелчком по имени файла. Удалите все содержимое файла. Получится файл размером в 0Kб..., для чего это делается, будет объяснено позже. Сохраните файл.

Используйте Блокнот (Notepad), чтобы открыть и отредактировать файл Autoexec.dos, и введите команду Loadlin. Команда Loadlin должна быть такого вида:

Loadlin DriveLetter:\LinuxKernelFile root=/dev/LinuxBootPartition ro

Ниже приводится файл Autoexec.dos в качестве примера:

Loadlin f:\vmlinuz root=/dev/hdc2 ro

ВНИМАНИЕ: Ядро, также как и Loadlin.exe, может находиться где угодно на вашем диске, главное указать правильный путь к нему. Например, если файл ядра находится в каталоге e:\linux\kernels, а Loadlin.exe в c:\utils, то вы должны использовать команду:

c:\utils\loadlin e:\linux\kernels\vmlinuz root=/dev/hdc2 ro

Сохраните файл.



Переименуйте ваши системные файлы.


Вставьте загрузочный диск системы DOS 5.0 или DOS 6.x в устройство A. Щелкните по значку устройства A и вы увидите содержимое флоппи диска.

Переименуйте каждый файл в файл с расширением .dos. Вы можете делать это, щелкая мышью по файлу, затем нажать клавишу F2, и ввести новое имя файла. Если вы нуждаетесь в загрузочной дискете, просто переименуйте файлы обратно после окончания процедуры.



Почти закончили


Остался один файл для редактирования, и тогда вы закончите. Используйте блокнот, чтобы открыть и исправить файл Msdos.sys. Перейдите к разделу "Options". Ищите строку, которая имеет BootMulti=. Установите значение этого параметра равное 1. Это должно выглядеть примерно так:



для пользователей Windows95 OSR2 (версия 4.00.950b):


НЕ пытайтесь делать двойную загрузку с Windows 95 без первой консультации с Windows 95 OSR2 FAQ. FAQ также содержит много информации, относительно файловой системы FAT32. Если вы имеете OSR2 и используете файловую систему FAT16, то можете использовать двойную загрузку, используя функциональную клавишу F4.



Редактирование и переименование системных файлов DOS 6.x.


Откройте программу Блокнот (Notepad). В меню "Файл" выберите пункт "Открыть". Измените "Тип файлов" (Files of type) на "Все файлы (*.*)" (All files (*.*)). Выберите диск C. Сейчас откройте Config.dos двойным щелчком по имени файла. Удалите все содержимое файла. Сейчас вы будете должны ввести команду установки оболочки (shell) со следующим синтаксисом:

shell=loadlin.exe LinuxKernelFile root=/dev/LinuxBootPartition ro

Здесь мой файл Config.dos в качестве примера:

shell=f:\loadlin.exe f:\vmlinuz root=/dev/hdc2 ro

ВНИМАНИЕ: Ядро, также как Loadlin.exe, может находиться где угодно на вашем диске, пока к нему указан правильный путь. Например, если файл ядра находится в каталоге e:\linux\kernels, а Loadlin.exe - в c:\utils, то вы должны использовать команду:

shell=f:\utils\loadlin.exe e:\linux\kernels\vmlinuz root=/dev/hdc2 ro

Сохраните файл.



Способ 1.


Этот метод использует файл Autoexec.bat, чтобы вызвать (или выполнить) другой командный файл под именем Linux.bat в течение начальной загрузки.

Создайте файл Linux.bat, используя простой текстовый редактор EDIT или Notepad. Содержимое должно быть подобно следующему:



Способ 2.


Этот способ немного более сложен, но более гибок. Этот способ позволяет создать ваше собственное меню начальной загрузки, хотя оно не заменяет меню начальной загрузки Windows 95. Вам будут нужны файлы Config.sys и Autoexec.bat.

Вначале нужно определить меню загрузки в файле Config.sys (коментарии находятся в круглых скобках):

[menu] menuitem=Linux, Загрузка Linux (Это определяет блок меню и дает ему описание). menuitem=Win95, Загрузка Windows 95. menucolor=15,1 (Белый текст на синем фоне). menudefault=Linux, 15 (Пункт по умолчанию и ожидание ввода в течении 15 секунд).

[linux] shell=f:\loadlin.exe f:\vmlinuz root=/dev/hdc2 ro (Смотрите Раздел 4 для примеров и по синтаксису).

[win95] (Включите нормальное содержимое вашего файла config.sys здесь. Если вы не имели до этого файл config.sys - оставьте этот раздел пустым).

Сохраните ваш файл Config.sys. Если вы хотите, то можете использовать этот файл Config.sys template для начала.

Затем, редактируйте файл Autoexec.bat file (коментарии находятся в круглых скобках):

goto %config%

:win95 (Включите нормальное содержимое вашего файла autoexec.bat здесь. Если вы не имели до этого файл autoexec.bat - оставьте этот раздел пустым).

Сохраните файл Autoexec.bat file. Если вы хотите, вы можете использовать этот файл Autoexec.bat template для начала. При каждой загрузке должно появляться меню начальной загрузки Linux и Window 95.



Удостоверьтесь, что расширения имени файла показываются в Проводнике (Explorer) Windows.


Запустите Проводник (Explorer) Windows - диспетчер файлов.

В меню окна выберите пункт Вид (View), затем Параметры (Options). На вкладке Вид (View) удостоверьтесь, что выбран переключатель (radio button) "Показать все файлы" (Show all files). Также убедитесь, что не поставлен флажок "Не показывать расширения для зарегистрированных типов файлов" (Hide MS-DOS file extensions for file types that are registered). Щелкните кнопку OK.



В настоящее время у меня установлен


Вам нужно восстановить Win95 MBR (master boot record - главная загрузочная запись Windows 95), которая была перезаписана при устаноке LILO. В командной строке DOS введите:



Важное предупреждение.


ЧРЕЗВЫЧАЙНО ВАЖНО: Удостоверьтесь, что переименовываете файлы на дискете ПРЕЖДЕ, ЧЕМ скопируете их на Диск C, иначе перепишете системные файлы вашего Windows 95. Вы были предупреждены. Далее скопируйте все файлы в корневой каталог диска C. Для этого щелкните по значку диска A, нажмите CTRL+A, затем CTRL+C, щелкните по значку диска C и нажмите CTRL+V.



Возможно ли запускать Linux с рабочего стола Windows 95?


Да. Вначале, создайте командный файл "linux.bat" со следующим содержимым:



Вы закончили!


Сейчас все готово, чтобы перезагрузить компьютер (Не забудьте в дисководе флоппи диск). Когда вы увидите "Starting Windows 95...", нажмите клавишу F4, и Linux должен загрузится.



Другие возможности зацикленных корневых устройств


Мы подробно описали возможность загрузки корневой файловой системы из DOS-раздела, но существует много других вещей, которые вы можете сделать.



Электронные диски


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

В этом случае, устройство ссылается не на какое-то физическое устройство, а на часть оперативной памяти, выделенной для этой цели. Эта память никогда не сбрасывается в swap на диск, но остается в дисковом кэше.

Электронный диск может быть создан в любой момент путем записи в устройство электронного диска /dev/ram0, /dev/ram1 и т.п. Затем его можно отформатировать и подключить так же, как и зацикленное устройство.

Когда электронный диск используется при загрузке (что часто применяется на инсталляционных дисках Linux или дисках аварийного восстановления), тогда образ диска (полное содержимое диска в виде отдельного файла) может содержаться на загрузочном флоппи-диске в закомпрессированной форме. Эта ситуация автоматически распознается ядром, когда оно загружается, и этот образ разжимается в электронный диск перед его подключением.



Как создать зацикленное корневое устройство


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



Корневая файловая система


Корневая файловая система - это устройство, которое подключается первым, поэтому бывает представлено в виде каталога / после загрузки.

Существует некоторое количество проблем с корневой файловой системой благодаря тому факту, что она содержит все файлы. Когда загрузочные rc-скрипты загружаются, они содержатся в файлах /etc/rc.d или /etc/rc?.d, в зависимости от версии программы /etc/init.

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



Мини-HOWTO: Зацикленная корневая файловая система


Andrew Bishop
amb@gedanken.demon.co.uk
Перевод: Станислав Рогин, ASPLinux

Этот HOWTO объясняет, как использовать зацикленное (loopback) устройство Linux, чтобы создать файловую систему Linux, которая может запускаться из DOS-раздела без изменения системы разделов. Другое применение этой техники также обсуждается в этом документе.



Общие принципы зацикленных устройств и электронных дисков (Ramdisks)


Сначала я опишу некоторые общие принципы, используемые при настройке зацикленной файловой системы в качестве корневого устройства.



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


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

Ядро загружается в память. Эту операцию производит LILO или LOADLIN. В этот момент выводится сообщение Loading...

Образ электронного диска загружается в память, это тоже делает LILO или LOADLIN. В этот момент также выводится сообщение Loading...

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

На загрузочном электронном диске запускается программа /linuxrc.

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

Запускается программа /etc/init, которая уже производит настраиваемую пользователем последовательность загрузки.

Это упрощенное описание того, что происходит на самом деле, но этого достаточно, чтобы описать, как запускается ядро и как используется электронный диск.



Создаем ядро Linux


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

Опции ядра, которые вам надо будет включить:

Поддержка электронных дисков (RAM disk support) (CONFIG_BLK_DEV_RAM).

Поддержка загрузочного электронного диска (Initial RAM disk (initrd) support) (CONFIG_BLK_DEV_INITRD).

Поддержка зацикленных устройств (Loop device support) (CONFIG_BLK_DEV_LOOP).

Поддержка файловой системы FAT (fat fs support) (CONFIG_FAT_FS).

Поддержка файловой системы MSDOS (msdos fs support) (CONFIG_MSDOS_FS).

Первые две опции - это сам электронный диск и загрузочный электронный диск. Следующая - это зацикленная файловая система. Последние две - это поддержка файловой системы msdos, которая необходима для подключения DOS-раздела.

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

В зависимости от версии вашего ядра, вам, возможно, придется установить патч к ядру. Это очень простой патч, который разрешает использование зацикленной файловой системы в виде корневой.

Ядра версий до 2.0.0 - у меня нет информации по этому поводу.

Ядра версий 2.0.0 - 2.0.34 - вам придется использовать патч для ядер 2.0.х, приведенный ниже.

Ядра версий 2.0.35 - 2.0.x - патч не требуется.

Ядра версий 2.1.x - вам придется использовать патч для ядер 2.0.х или 2.2.х, приведенный ниже, в зависимости от конкретной версии ядра 2.1.x.

Ядра версий 2.2.0 - 2.2.10 - вам придется использовать патч для ядер 2.2.х, приведенный ниже.

Ядра версий 2.3.x - вам придется использовать патч для ядер 2.2.х, приведенный ниже.

Для ядер версий 2.0.x в файл /init/main.c надо добавить одну строку, в соответствии с уже измененной версией, приведенной ниже. В строке, которую надо добавить написано "loop", 0x0700.



Создаем каталог MSDOS


Файлы, которые будут нами использоваться, необходимо переписать на DOS-раздел.

В DOS-каталоге C:\LINUX должны находиться следующие файлы:

LINUXDSK.IMG Образ диска, который станет корневой файловой системой.

LINUXSWP.IMG Swap-пространство.



Создаем корневое устройство


Корневое устройство, которое вы будете использовать - это файл linuxdsk.img. Его вам придется создать самим так же, как вы создавали загрузочный электронный диск, но значительно большего размера. Вы можете установить любой дистрибутив Linux, который вам понравится, на этот диск.

Наиболее простой путь для этого - скопировать существующую инсталляцию Linux в этот файл. Другой путь - установить туда Linux с дистрибутива. Предполагая, что вы это сделали, внесем некоторые незначительные изменения.

Файл /etc/fstab должен ссылаться на корневой раздел и swap-пространство через два зацикленных устройства, настроенных загрузочным электронным диском.



Создаем Swap-устройство


Swap-устройство, которое вы будете использовать - это файл linuxswap.img. Swap-устройство очень просто создать. Создайте пустой файл так же, как делали это для загрузочного электронного диска, и затем запустите mkswap linuxswap.img

для его инициализации.

Размер swap-устройства, которое вы будете использовать, зависит от ваших планов по использованию новой системы, но я бы рекомендовал его от 8 Мб до размера вашей оперативной памяти.



Создаем загрузочный флоппи-диск


Загрузочный флоппи-диск, который мы будем использовать, является простым загрузочным диском DOS.

Он создается командой DOS format a: /s.

На этом диске вам надо создать файл AUTOEXEC.BAT (пример приведен ниже) и скопировать туда ядро, компрессированный загрузочный электронный диск и программу LOADLIN.

AUTOEXEC.BAT Автоматически запускаемый командный файл DOS.

LOADLIN.EXE Программа LOADLIN.

ZIMAGE Ядро Linux.

INITRDGZ.IMG Компрессированный образ загрузочного электронного диска.

В файле AUTOEXEC.BAT должна быть только одна строка.

\loadlin \zImage initrd=\initrdgz.img root=/dev/loop0 ro

Здесь указано, какой образ ядра использовать, какой образ загрузочного электронного диска использовать, а также корневая файловая система, которая должна быть подключена "только для чтения".



Создаем загрузочный электронный диск


Загрузочный электронный диск проще всего создавать, как зацикленное устройство с самого начала. Вы должны делать это в качестве root-а. Список команд, которые вы должны запустить, приведен ниже. Они предполагают запуск из личного каталога root-а (/root).



Ссылки на другие документы


При создании моей первой зацикленной корневой файловой системы я использовал следующие источники информации:

Исходные тексты ядра Linux, в особенности init/main.c

Документацию к ядру Linux, в особенности Documentation/initrd.txt и Documentation/ramdisk.txt.

Документацию LILO.

Документацию LOADLIN.



Требования


Создание зацикленного корневого устройства потребует от вас нескольких вещей.

Систему с работающим Linux-ом.

Способ скопировать большие файлы на DOS-раздел.

Наиболее важно иметь доступ к работающему Linux-у. Это необходимо по причине того, что зацикленное устройство может быть создано только в Linux-е. Это означает, что нельзя создать работающую машину с зацикленной корневой файловой системой из ничего. От этой Linux-системы потребуется возможность собрать на ней ядро.

После создания зацикленное устройство будет представлять из себя большой файл. Я использовал примерно 80 Мб файлов, но этого достаточно только, чтобы сделать Х-терминал, а возможно, если вы захотите чего-то большего, вам потребуется больше места. Этот файл должен быть скопирован на DOS-раздел, то есть придется использовать или сеть, или кучу флоппи-дисков.

Вам также понадобится следующее программное обеспечение:

LOADLIN версии 1.6 или новее

mount, поддерживающий зацикленные устройства

ядро, поддерживающее все необходимые условия.

Это все должно входить в последние инсталляции дистрибутивов Linux.



Установка Linux без изменения разделов


Процесс установки Linux на компьютер со стандартного дистрибутива предполагает загрузку с флоппи-диска и изменение структуры разделов диска. Вместо этого можно создать загружаемый флоппи-диск, который создаст пустое зацикленное устройство и swap-файл. После этого установка может быть продолжена обычным образом, просто система будет установлена в зацикленное устройство вместо раздела.

Этот метод может быть альтернативой установке в раздел UMSDOS - он значительно более эффективен в использовании дискового пространства, так как минимальный размер кластера в файловой системе ext2 - 1 Кб, а в DOS он достигает 32 Кб. Его можно использовать и на дисках VFAT и NTFS, которые сами по себе являются проблемой :-).



Установка на DOS-жесткий-диск


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

Для того, чтобы загрузить LOADLIN из AUTOEXEC.BAT. можно использовать загрузочное меню. Этот способ значительно ускоряет загрузку, а в остальном совершенно идентичен вышеописанному.



Установка на VFAT / NTFS


Я использовал этот метод и с NTFS, и у меня не возникло никаких проблем. Драйвер файловой системы NTFS не входит в стандартную поставку ядра версий 2.0.x, но доступен в виде патча по адресу http://www.informatik.hu-berlin.de/~loewis/ntfs/. В версиях 2.2.x драйвер NTFS включен в стандартную поставку ядра.

Единственное изменение, касающееся VFAT или NTFS, должно быть внесено в загрузочный электронный диск, а конкретнее, в файл /linuxrc: при подключении файловой системы необходимо указать тип файловой системы vfat или ntfs, вместо msdos.

Я не знаю причин, по которым это не должно работать в разделе VFAT.



Установка с загрузкой при помощи LILO


Использование LOADLIN - это только один способ загрузки ядра Linux. Существует также LILO, которое делает то же самое, но без использования DOS.

В этом случае DOS-флоппи диск можно заменить на диск, отформатированный как ext2fs. Остальные детали очень похожи потому, что ядро и загрузочный электронный диск - это файлы на этом флоппи-диске.

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



Возможные проблемы и их решение


Существует ряд причин, по которым что-то в этом процессе идет не так. Я попытаюсь объяснить, в чем они заключаются, и что необходимо проверить.

Загрузку DOS легко узнать по сообщению MS-DOS Starting ... на экране. Если его нет, то диск либо не является загружаемым, либо сам компьютер не может загрузиться с этого дисковода.

Когда запускается файл AUTOEXEC.BAT, то команды, входящие в него, выводятся на экран. В нашем случае, это одна строка, содержащая запуск LOADLIN.

Когда загружается LOADLIN, то он выводит две очень хорошо заметные строки, сначала он загрузит ядро в память, затем также будет загружать загрузочный электронный диск. Обе этих загрузки сопровождаются сообщением Loading....

Когда ядро декомпрессирует себя, оно может выдать сообщение о crc-ошибках, если ядро повреждено. Затем начнется инициализационная последовательность, которая содержит очень много диагностических сообщения. Загрузка в память загрузочного электронного диска также видна на этой фазе.

Когда запускается файл /linuxrc, тогда нет диагностических сообщения, но их вы можете добавить сами для того, чтобы помочь себе в поисках причин возможных проблем. Если на этой фазе не удается настроить зацикленное устройство, вы увидите сообщение о том, что "Не найдено корневое устройство (No root device)", и ядро прекратит работу.

Затем должна продолжиться нормальная последовательность загрузки уже с новой корневой файловой системой, и она также насыщена сообщениями. Могут появиться проблемы типа "Корневое устройство подключено в режиме чтение/запись", но с этим должна справиться опция 'ro' команды LOADLIN. Другая проблема, которая может возникнуть - это вопрос о реальном местоположении корневой файловой системы, это возникнет, возможно, из-за проблем с файлом /etc/fstab.

Когда последовательность загрузки закончится, может возникнуть проблема, состоящая в том, что некоторые программы не очень хорошо понимают, подключен ли DOS-раздел. Поэтому я советую использовать "поддельную" команды mount, описанную выше. Она значительно упростит жизнь, если вы хотите использовать файлы на DOS-устройстве.



Зацикленные устройства


Зацикленное (loopback) устройство Linux - это виртуальное устройство, которое можно использовать так же, как и любой другой носитель информации.

Обычные носители информации - это, например, разделы жесткого диска /dev/hda1, /dev/hda2, /dev/sda1

или полностью диски, как, например, флоппи-диск /dev/fd0 и т.п. Все эти устройства могут содержать в себе файлы и структуры каталогов. Они могут быть отформатированы в формате необходимой файловой системы (ext2fs, msdos, ntfs и т.п.) и затем подключены (mount).

Зацикленная файловая система представляет файл на другой файловой системе как полноценное устройство. Она может быть отформатирована и подключена так же, как и любое другое устройство, описанное выше. Чтобы сделать это, устройства под названиями /dev/loop0, /dev/loop1 и т.п. сопоставляются с файлами, и затем может быть подключено новое виртуальное устройство.



Загрузка с незагружаемого (Non-bootable) устройства


Вышеописанный метод можно также использовать для загрузки Linux-а с устройства, которое обычно не является загружаемым.

CD-Rom

Zip-диски

Диски на параллельном порте

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



Загрузка системы


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

Вы увидите следующую последовательность событий.

Загрузка DOS

Запуск AUTOEXEC.BAT

Запуск LOADLIN

Загрузка в память ядра Linux

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

Запуск ядра Linux

Запуск файла /linuxrc с загрузочного электронного диска

Подключение DOS-раздела и настройка корневого и swap-устройств

Последовательность загрузки продолжается с зацикленного устройства

Когда все это пройдет, вы можете убрать флоппи-диск и использовать Linux.



Загрузочный электронный диск


Загрузочный электронный диск Linux - еще один важный механизм, который нам понадобится при использовании зацикленного устройства в качестве корневой файловой системы.

Когда используется загрузочный электронный диск, образ файловой системы загружается в память и подключается для того, чтобы файлы на нем были доступны. Затем запускается программа на этом диске (файл под именем /linuxrc), и, когда она заканчивает работу, другое устройство подключается в виде корневой файловой системы. Старый электронный диск также остается доступен и подключен к каталогу /initrd, если такой каталог присутствует, или может использоваться через устройство /dev/initrd.

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



Другие программы для терминала Mac


Этот метод также хорош для любой другой программы терминалов Mac. Если у вас есть ZTerm, то можно использовать rz и sz

на Linux для передачи файлов по протоколу ZModem. Если вы приобрели факс-модем вместе с программой Microphone Lite, то это тоже неплохое решение, они будут работать не хуже kermit.



Источники Macintosh


Это одно из очень немногих приложений к kermit, где для передач полезна установка типа файла text. Это происходит потому, что файлы Macintosh имеют две части: data fork (область данных) и resource fork (область ресурсов). Область данных соответствует тому, что мы думаем о мире Linux, как о некоем файле: это фактические данные. Область ресурсов содержит растровые изображения для иконок, раскладки клавиатуры, настройки шрифта и тому подобное. Если вы передадите файл с Linux на Mac, последний не узнает этот файл как текстовый, если вы используете двоичный режим.

При передаче двоичных файлов от одной системы к другой, следует использовать формат Macintosh .hqx BinHex, который является 7-битовым кодированием 8-битового файла данных. Утилиты Mac, такие как BinHexer или StuffIt, преобразуют файл в его двоичную форму.

Если у вас будет текстовый файл, который вдруг закончится, как файл данных в системе Mac, скорее всего он даже не появится в диалоговом окне "Открыть". Вам придется открыть файл при помощи ResEdit, который можно взять с mac.archive.umich.edu. ResEdit скажет, что файл, который вы открываете, не имеет область источников и затем спросит, желаете ли добавить эту область. Вы должны ответить на этот вопрос положительно ("Yes"). Затем отредактируйте тип и программу, создавшую файл, выбрав специальную опцию "Открыть" в меню "Файл". Все текстовые файлы Macintosh являются типом TEXT, так что замените знаки вопроса в окне на TEXT. Код программы, создавшей файл (Creator code), зависит от вашего текстового редактора. Каждый из них уникален и зависит от того, как Mac идентифицирует различные приложения. Код для GNU Emacs на Mac будет, например, EMAC. Если вы сомневаетесь, каким будет код программы, создавшей файл для вашего текстового редактора, используйте ttxt, который является кодом для TeachText (эквивалент EDLIN.EXE.). Затем настоящий текстовый редактор сможет перевести файл с TeachText на его родной код.

Существует много других подобных вещей, которые под силу TeachText, так что имеет смысл постоянно держать его на своем Mac. Книга Voodoo Mac, написанная Kay Yarborough Nelson,- это источник уже испытанных способов работы Macintosh, которые используют ResEdit, TeachText, the Finder, а также другие программы.



Мини-HOWTO: "MacTerminal"


Robert Kiesling

Перевод: Михаил Корепанов, ASPLinux

Это мини HOWTO описывает 1,002-ое применение для мертвого Macintosh (шутка). А если серьезно, как настроить Mac, чтобы использовать его в качестве терминала Linux. Настройки с применением getty, а также kermit описаны так же, как и использование прямой сети kermit между Linux и Macintosh. Этот документ может быть воспроизведен свободно, полностью или частями, при условии, что любое применение согласуется со стандартной заметкой об авторских правах для документов HOWTO, входящих в Linux Documentation Project. Смотрите подробно файл COPYRIGHT. Присылайте все жалобы, предложения, опечатки и любые другие вопросы, чтобы этот документ стал как можно полнее и современнее.



Соединение Клиента и Сервера, при помощи kermit.


Это самая быстро выполняемая из всех настроек, здесь описанных. Она требует наименьшее количество настроек системы, хотя они довольно сложные.

Итак, вы запустили kermit и на Linux, и на Mac, и одна из них работает в режиме сервера. Не важно, какая система-клиент, а какая- сервер, потому что это прямое соединение. Однако у kermit Linux есть преимущество в возможности написания скриптов, так что будет логичным (для меня, по крайней мере) создать kermit на Linux как сервер, потому что это более автоматизировано.

Убедитесь, что правильно установили kermit и на ПК, работающем в Mac, и на ПК с Linux. Следуйте инструкциям в соответствующих дистрибутивах kermit. На машине, работающей в Linux, наберите kermit в командной строке, чтобы запустить ее. Вам нужны права пользователя root, чтобы установить порт и скорость передачи.

kermit - последняя версия POSIX для Unices, поддерживает скорость передачи до 115 Кб\с. Более поздняя версия Macintosh поддерживает скорость последовательных портов до 57.6 Кб\с. Это более, чем достаточно, для приложений использующих простой tty, но если вам нужно высокоскоростное соединение, то это может обеспечить kermit. Потому как kermit может предоставить вам средства для связи при помощи протокола TCP/IP (я не имел возможности это протестировать). При этом не забывайте (особенно того, что касается Mac) использовать отличный от TCP/IP соединений порт для последовательных соединений kermit, потому что kermit на Mac будет сильно забивать лишними данными последовательный порт.

С учетом этого ваш файл .kermrc будет содержать примерно следующее:



Установка последовательного соединения


Чтобы установить последовательную связь между машиной, работающей на операционной системе Linux, и системой Mac, вам понадобится:

Для Linux кабель последовательного порта DB9 Female-to-DB25 Male или DB25 Female-to-DB25 Male, это зависит от вашего последовательного порта.

Для Macintosh: кабель высокоскоростного модема DIN9-to-DB25 Male.

Убедитесь, что на кабеле обозначено "высокоскоростной" кабель, так как некоторые более старые кабели Macintosh предназначены для своих устаревших линий, которые делают их бесполезными для высокоскоростных последовательных соединений.

Вам также нужен адаптер к нуль-модему, выпускающийся американской фирмой Radio Shack, и соответствующие выходы, а также переходник DB25 Female-to-DB25 Female, чтобы соединить кабели для последовательного порта.

Я слышал, что кабели для принтера Mac в действительности являются кабелями нуль-модема, но этого я не утверждаю. Некоторые из них все-таки- DIN9-to-DIN9, и использование их в последовательном соединении может доставить слишком много хлопот.

Если вам что-то непонятно, прочитайте Serial-HOWTO, чтобы ознакомиться в деталях с настройками кабеля RS-232 и протоколами передачи данных.

Прежде, чем соединить систему Mac и машину, работающую под операционной системой Linux, вы должны определить, что у вас есть рабочие последовательные порты на обеих машинах. Это можно проверить, "дозвонившись" с одной машины на другую, используя программы: minicom

(Linux), ZTerm (Mac), kermit (оба), или с помощью коммуникационной программы по вашему выбору.

Самую последнюю версию minicom вы можете взять на sunsite.unc.edu/pub/Linux/apps/serialcomm/dialout и зеркальных сайтах.

ZTerm является целостной и легкой в использовании программой. К сожалению, она условно бесплатная. Текущую версию можно взять на mac.archive.umich.edu и подобных этому источниках.

Версии программы kermit есть для каждой машины и любой операционной системы. Архивы размещены на ftp.columbia.edu/kermit.

Вы должны серьезно обдумать возможность использования kermit на обеих машинах на этой стадии, по крайней мере, так как 1) она бесплатна (хотя не охвачена открытой лицензией (General Public License) фонда бесплатных программных обеспечений, и 2) гораздо удобнее иметь на обеих машинах kermit, вместо двух совершенно разных коммуникационных программ.

Если у вас другой способ определения состояния портов на двух машинах, то можете воспользоваться и им. Главное- убедиться в том, что у обеих систем есть работающие последовательные порты.

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

Linux PC DB9- or DB25- Null Gender DIN9-to- MacBox --------- to-DB25 male Modem Changer DB25 Mac -------- | | serial cable. | | | | Serial Cable | | | |-----------------| |--| |-----------------| | | | | | | | | | --------- Adapter --------



Загрузка через kermit.


Настройка Linux для использования Mac как терминала login: легче. kermit идеален для этих целей, потому что это одна из нескольких бесплатных коммуникационных программ, которая обеспечит нужную степень эмуляции VT100/120/220.

Запустите kermit на Macintosh, как в предыдущем разделе, но не отдавайте команды серверу, а войдите в режим connect. Это режим эмуляции терминала, который используется в большинстве случаев.

На Linux, для настройки последовательного порта, надо использовать программу getty, чтобы получить приглашение на вход в систему. Для этого вам надо чтобы программа init распознала терминал на последовательном порте. В файле /etc/inittab необходимо иметь строку:



у вас возникают вопросы или


Если у вас возникают вопросы или предложения относительно этого документа, пожалуйста, напишите мне по адресу kiesling@terracom.net.