Создание загрузочной USB-флешки с Gentoo


Процесс установки Gentoo на USB достаточно тривиален и подробно описан в официальных руководствах.
Правда, по-моему, только на английском языке. Поэтому данная статья - это скорее просто русский
перевод с моими комментариями. Первое что предлагается сделать - найти свободную флешку объемом 1Гб
и выше, и компьютер с установленной Gentoo. У меня такого компьютера под рукой не оказалось, поэтому
я скачал и прожег образ LiveCD_x64 и загрузился с него.
 
Дальше - ничего не монтируем, ничего никуда не устанавливаем - просто вставляем флешку и разбиваем
ее с помощью fdisk

# fdisk /dev/sdc

Делаем один раздел, выбираем файловую систему FAT16 (id=6), не забываем сделать раздел активным
и сохраняемся. Проверка показывает:

# fdisk -l /dev/sdc

Disk /dev/sdc: 2063 MB, 2063597056 bytes
255 heads, 63 sectors/track, 250 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

 Device Boot      Start         End      Blocks   Id  System
/dev/sdc1   *         1         250     2008124+   6  FAT16

Теперь создаем файловую систему:

# mkdosfs -F 16 /dev/sdc1

Если в вашей системе mkdosfs отсутствует - придется поставить (emerge -av sys-fs/dosfstools), но
на LiveCD оно есть. Заодно сразу нужно проверить наличие пакета syslinux версии больше 3. Оно тоже
нужно. Далее устанавливаем mbr на флешку.

# dd if=/usr/lib/syslinux/mbr.bin of=/dev/sdc

Поскольку мы загрузились с LiveCD /mnt/cdrom у нас уже примонтирован. Для тех, кто ставит из
своей системы - нужен образ:

# mount -o loop,ro -t iso9660 livecd-i686-installer-2007.0.iso /mnt/cdrom

На этом этапе пока примонтировать нашу флешку - наступает время заливать файлы.

# mkdir -p /mnt/usb
# mount -t vfat /dev/sdc1 /mnt/usb

Файлы копируются не тупо - а с изюмом. Т.е. пару фич придется запомнить или записать:

# cp -r /mnt/cdrom/* /mnt/usb
# mv /mnt/usb/isolinux/* /mnt/usb
# mv /mnt/usb/isolinux.cfg /mnt/usb/syslinux.cfg
# rm -rf /mnt/usb/isolinux*
# mv /mnt/usb/memtest86 /mnt/usb/memtest

После этого системный iso-образ можно отмонтировать - он больше не нужен. Настраиваем
загрузчик syslinux:

# sed -i \
    -e "s:cdroot:cdroot slowusb:" \
    -e "s:kernel memtest86:kernel memtest:" \
    /mnt/usb/syslinux.cfg

Важно: отмонтируем нашу флешку (но это еще не всё!)

# umount /mnt/usb

И заключительный этап - ставим бутлоадер куда надо:

# syslinux /dev/sdc1

На последнем этапе мой процесс вывалился с ошибкой, ругнувшись непотребно на mtools.conf.
Лезем в mtools.conf (путь к нему забыл!), и правим там - божий одуванчик. Одну строчку надо
закомментировать, которая начинается с SAMPLE. Полагаю ее намеренно оставили, чтоб человек еще
раз задумался, что он делает - и это правильно.

Кстати, если в дальнейшем вам придется поменять что-либо в файле syslinux.cfg, то установку
бутлоадера нужно повторить: syslinux /dev/sdc1

И на последок: моя флешка была гораздо менее полезной в деле распространения linux, если бы я не
скопировал на нее два очень важных файла, а именно:

stage3-i686-2008.0.tar.bz2 и portage-latest.tar.bz2