Install Gentoo on a bootable USB stick/ru

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

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

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

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

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

During the configuration, it is of course possible to compile modules as these will be included in the initramfs and loaded at boot.

The above command will take some time as it will build the default kernel, create a ramdisk and then copy all files into.

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

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

Now format the new partitions. In the example we use the ext2 file system but another file system for the partition can be used if it is supported in the kernel. Notice that during the formatting operation, a label is assigned to the partitions. This is important because it will be how the root file system is detected later as the USB stick can be booted on systems where the drive letter allocation is completely different. This is related to the  option of the genkernel command line earlier.

Установка 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.

The sections below cover those aspects of a Gentoo Linux installation that are specific to installing on an USB stick. It is recommended to use the Gentoo handbook instructions while keeping an eye on this article.

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

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

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

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

The lines after image are all easy but the append line contains some interesting options.


 * 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 xhci_hcd driver (built into the kernel or as a module).

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

The first warning is to be expected as we are not installing the boot loader onto the hard disk in the computer. The second warning will only cause a problem on machines that are old; if it is a problem try cutting down the kernel by removing modules.

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

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

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

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