Install Gentoo on a bootable USB stick/ru

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

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

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

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

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

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

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

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

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

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

Установка Gentoo stage 3
With the kernel, ramdisk and file systems ready, we now need the minimal installation to be performed. This includes a fresh stage3 as well as a Portage tree snapshot.


 * current-stage3-amd64
 * portage-latest

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

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

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

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

lilo
Emerge lilo (from within the chroot):

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

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


 * will use the label of the disk instead of which is important because these device numbers move around depending on the number of hard disks in the computer or number of USB disk drives.
 * Also important for USB booting is the  option, as USB devices need a little time to be detected by the kernel; that is what this option is for. When there are lots of modules booting takes a long time so it probably does not matter, but if there are only a few modules loaded then it is important, because the system could have booted before the kernel detects the USB device. Also, on newer machines with USB3 controllers it is necessary to add the   driver (built into the kernel or as a module).

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

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

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

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

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

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