Установка Ubuntu Server с флеш-карты

Опубликовано ivul - сб, 20.06.2009 - 10:44

Установка десктопных дистрибутивов с USB-накопителей обычно не вызывает особых проблем, UNetBootin есть и под Windows и под Linux, кроме того, есть ещё несколько способов изготовления загрузочных “флешек”. Для серверного дистрибутива Ubuntu этот способ не подходит. Программа установки запускается, всё проходит гладко до монтирования привода CD-ROM и на этом заканчивается. Ни ручное монтирование привода, ни использование стандартных драйверов не помогает, что в общем-то естественно, CD-ROM’а-то нет. В итоге, выход нашёлся на официальном help’е Ubuntu.

И вот, что в итоге нам понадобитсья для создания “правильно” установочной “флешки” для Ubuntu Server:

  1. Собственно сам ISO-образ Ubuntu Server (ссылка на образ 8.10 84_64)
  2. initrd.gz (для него же, от HDD-установщика)
  3. vmlinuz (аналогично)
  4. Flash-накопитель от 1 Гб и больше

 

Если будете ставить другую версию или другую целевую платформу, то ссылки будут другие.

Ещё нам понадобится небольшой скрипт:

# Replace “sdx” with “sdb” or whatever your flash drive is
# – If unsure which device is your flash drive then
# run “sudo fdisk -l | less” in order to identify it

 

ISOIMAGE=ubuntu-9.04-server-amd64.iso

 

sudo apt-get install syslinux mtools mbr
echo “Use fdisk to manually create a 1GB bootable FAT16 partition.”
read -p “Press [Enter] to start the fdisk program…”
sudo fdisk /dev/sdx
sudo mkfs -t vfat /dev/sdx1
sudo mkdir -p /mnt/flash
sudo mount -t vfat /dev/sdx1 /mnt/flash
sudo syslinux -s /dev/sdx1
sudo mkdir -p /mnt/iso
sudo mount -o loop $ISOIMAGE /mnt/iso
sudo cp -R /mnt/iso/isolinux/* /mnt/flash
sudo mv /mnt/flash/isolinux.cfg /mnt/flash/syslinux.cfg
sudo mkdir -p /mnt/flash/install
sudo cp vmlinuz /mnt/flash/install
sudo cp initrd.gz /mnt/flash/install
# clear pool directory, which is unnecessary for installation
# that enables installation on 1G flash; remove if installing on
# bigger devices and you run into problems
sudo rm -rf /mnt/flash/pool
sudo cp $ISOIMAGE /mnt/flash
sudo install-mbr /dev/sdx
sudo umount /mnt/flash
sudo umount /mnt/iso

Копируем его, вставляем в любимый текстовый редактор. Переменной $ISOIMAGE присваеваем имя ISO-образа, а все упоминания sdx заменяем на имя устройства флешки (обычно sdb, если у Вас один физический винчестер). Сохраняем полученный файл в директории, куда сохранили скачанные файлы и добавляем права на выполнения скрипта:

user@ubuntu:-$ sudo chmod +x script

И выполняем его:

user@ubuntu:-$ sudo ./script

Во время работы скрипта запустится fdisk. В нём необходимо будет удалить все разделы с флешки и создеть единственный раздел с меткой загрузки. Ещё несколько минут на копирование образа на флешку и вы имеете установочный накопитель для Ubuntu Server.

Важно
В процессе тестирования данного способа выяснено, что работает он на Ubuntu Server 8.10 и более ранних, на 9.04 уже не работает, просто отказывается загружаться. Выходом из ситуации является применение стандартной утилиты в Ubuntu 9.04 Desktop для создания загрузочных “флешек”, где в качестве ISO-образа необходимо выбрать образ серверной версии ОС. Обязательно отформатировать перед этим накопитель, желательно средствами самой утилиты.