Linux на ногте большого пальца

Apr 29, 2011 By Joey Bernard
in HOW-TOs

Этот номер журнала весь посвящен портативному Линуксу. В данной статье я расскажу, как поместить Линукс на ноготь большого пальца. Я не хочу дискутировать о "нанокомпьютерах", которые использовал Джеймс Бонд. Вместо этого вы узнаете, как установить Линукс на карточку micro-SD, или любой другой USB-носитель.

Одна из утилит, которую можно предложить вашему вниманию в первую очередь, является UNetbootin (http://unetbootin.sourceforge.net). Это приложение доступно как для Линукс, так и для Windows. Оно имеет встроенную поддержку для загрузки и инсталляции некоторых дистрибутивов Линукс, включая Fedora, Debian, PCLinuxOS, Linux Mint, Sabayon Linux, openSUSE, Gentoo, Arch Linux, MEPIS и некоторых других.


Figure 1. UNetbootin

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

- Parted Magic: менеджер разделов, который умеет изменять размер партиций, исправлять в них ошибки, создавать резервные копии и восстанавливать из них разделы;
- SystemRescueCD: загрузочный диск для исправления ошибок в операционных системах и их восстановления;
- Super Grub Disk: инструмент для исправления ошибок в установках GRUB;
- Backtrack: набор утилит для анализа сети и тестов уязвимостей;
- Ophcrack: утилита для восстановления паролей Windows;
- Smart Boot Manager: помогает загрузить что-то с CD-ROM или флоппи-дисковода на аппаратных конфигурациях, где это не позволяет сделать BIOS;
- FreeDOS: DOS с открытыми кодами для запуска утилит перепрошивки BIOS.

UNetbootin может загрузить требуемый ISO-образ для данных дистрибутивов автоматически или же вы можете создать ваш собственный образ и сообщить имя файла приложению. Следующий шаг - извлечение всех необходимых для записи на носитель файлов из образа. Носитель уже должен иметь раздел с отформатированной файловой системой FAT. Когда файлы извлечены, UNetbootin применяет некоторые эвристические механизмы для поиска ядра и образа инициализационного диска для помещения их в каталоги соответственно /ubnkern и /ubninit. Далее в конфигурационных файлах происходит поиск опций загрузки, которые помещаются в syslinux.cfg. Осталось запустить syslinux для превращения диска в загрузочный и искомый объект получен.

Другая утилита, привлекающая внимание - usb-creator (https://launchpad.net/usb-creator). Эта официально используемый создатель загрузочных флешек из Ubuntu live CD-дисков начиная с версии 8.04. Это приложение того же рода, что и UNetbootin. Имеет встроенную возможность для создания Ubuntu live USB, но это еще не всё. Подобно UNetbootin, usb-creator может взять произвольный образ диска и скопировать его правильным образом на USB-носитель. Просто выберите источник и целевой диск и запустите процесс.


Figure 2. usb-creator

Одно большое преимущество usb-creator-а - это возможность создания диска, пригодного для сохранения файлов. Любое пространство, не занятое файлами ОС, может быть использовано для этой цели. Помимо прочего, это означает, что любые изменения настроек ОС, сделанные в лив-режиме, будут сохраняться. То есть мы получаем полноценную ОС в кармане, которую теоретически можно запустить на любом доступном компьютере.

Все эти техники требуют ISO-образа загрузочного лив-диска. Но что если вы захотите что-то сконструировать на более низком уровне, что-то более "from scratch"? Для этой цели пригоден Syslinux. Это набор инструментов, предоставляющих загрузку со следующих носителей. В зависимости от названия конкретной программы, это:

- syslinux: загрузка с файловых систем FAT;
- pxelinux: загрузка с сети;
- isolinux: загрузка с "El Torito" CD-ROM;
- extlinux: загрузка с файловых систем ext2/ext3/ext4 или btrfs;
- memdisk: инструмент для загрузки ОС с нетрадиционных носителей.

Syslinux устанавливается в boot-сектор устройства и помещает в корень файловой системы устройства файл LDLINUX.SYS. Он уже в свою очередь загружает ядра операционных систем с файловой системы. Поскольку файловая система - FAT, все манипуляции с необходимыми файлами можно проводить с помощью стандартных DOS-утилит. По умолчанию syslinux будет искать в корне файловой системы файл LINUX. Это умолчание можно изменить в конфигурационном файле. Если в процессе загрузки удерживать клавиши ALT или SHIFT, мы увидим приглашение в стиле загрузчика LILO, в котором можно указать конкретный образ ядра для загрузки на выбор.

Поиск своих конфигурационных файлов syslinux осуществляет в следующем порядке: /boot/syslinux/syslinux.cfg, затем /syslinux/syslinux.cfg, и далее /syslinux.cfg в корне файловой ситемы.

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

DEFAULT linux
LABEL linux
  SAY Now booting the kernel from SYSLINUX...
  KERNEL vmlinuz.img
  APPEND ro root=/dev/sda1 initrd=initrd.img

Ядра, которые поддерживает syslinux не обязательно должны быть в формате ядра Linux. Это могут быть программы для PXE-загрузки, boot-сектора или образы COMBOOT.

С помощью Линукса на флешке я могу загружаться и на своём старом Eee PC, и на MacBook с помощью Parallels. Ваша карманная ОС будет доступна вам на любой машине, допускающей загрузку с USB.

Удачи вам и новых открытий с Линукс!



Назад в тематический каталог
Назад на страницу переводов из Linux Journal

Comments

Система для установки портабильных Windows-программ на USB-флеш

Один из победителей конкурса 2011 на лучшее свободное ПО:

http://portableapps.com/