Install Gentoo on a bootable USB stick/ru

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

Приготовления
Начнём с установки пары необходимых пакетов. Наиболее важные - ядро и :

Чтобы добавить специфичные для пакета USE-флаги, создайте новый файл в :

Далее установите :

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

В ходе настройки, возможно скомпилировать модули и включить их в initramfs. Они будут загружаться при загрузке.

Команда выше займёт некоторое время на установку стандартного ядра, создание диска и копирования файлов в.

Приготовление USB-флэшки
Создайте 2 раздела на диске (при условии установки в и  (root) разделы). Мы предполагаем, что USB-флешка находится на (запустите  сразу после подключения USB-флешки, чтобы увидеть, какое устройство задействуется).

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

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

Установка Gentoo stage 3
С готовыми ядром, диском и файловыми системами, нам осталось выполнить минимальную установку. В том числе свежие stage3 и снимок дерева Portage.


 * current-stage3-amd64
 * portage-latest

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

В нижеследующих разделах охватываются частности Gentoo Linux, специфичные для установки на USB-флешку. Советуем использовать Gentoo handbook, при чтении этой статьи.

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

Раздел ниже приводит пример настроек lilo для и syslinux.

grub
Emerge grub (from within the chroot):

Install grub to corresponding place with your platform information. Suppose you are running x86_64 machine with EFI partition mounted to, the following command will install grub into the USB stick:

If nothing bad happens, run  to generate grub configuration.

Change the target directory accordingly if you use a different grub config directory.

lilo
Установите lilo (из под chroot):

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

Строки после image - просты, но дополнительная строка содержит некоторые интересные опции.


 * будет использовать метку диска вместо, что имеет важное значение, так как эти номера изменяются в зависимости от количества жестких дисков на компьютере или от числа USB.
 * Также важным для загрузки с USB является опция, так как USB-устройствам нужно некоторое время для обнаружения ядром. Если в системе есть множество модулей, то загрузка занимает много времени, и это не так критично, но если модулей мало, то это важно, так как система может быть загружена до того, как ядро обнаружит устройство USB. Кроме того, на новых машинах с контроллерами USB3 необходимо добавить   драйвер (встроенный в ядро или в виде модуля).

Теперь установим LILO (с настройками) на USB-флешку:

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

syslinux
Запишите загрузочный сектор на USB-флешку.

Теперь настроим загрузчик.

Далее установим syslinux на USB-флешку. Однако опция  не обязательна.

Советы и хитрости
Несмотря на то, что уже можно использовать только что сделанную систему в качестве стандартной Gentoo, было бы целесообразнее собрать бинарные пакеты непосредственно на хосте, а затем установить их на USB-флешку. Или, если система имеет достаточно памяти, просто примонтировать к TMPFS - компиляция, так или иначе, будет идти намного быстрей!