6 июня 2013 г.

CentOS 6. Создание загрузочного USB флеш-накопителя.


Образы ISO, которые можно скачать с официальных зеркал, нельзя просто скопировать с помощью dd на USB флеш-накопитель и загрузить. Для установки с USB Flash требуется настроить загрузку с носителя и скопировать на него необходимые файлы. Все действия были произведены из Debian Wheezy (в отличие от CentOS использует GRUB2)
Порядок создания загрузочного флеш-накопителя:
1) Удалить таблицу разделов на носителе. Извлечь носитель из разъема USB и подключить обратно.
dd if=/dev/zero of=/dev/sdb bs=512 count=1
2) Создать новый раздел на носителе, изменить свойства созданного раздела:
# fdisk /dev/sdb

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 
Using default value 1
First sector (2048-7831551, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-7831551, default 7831551): 


Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 0B
Changed system type of partition 1 to b (W95 FAT32)

Command (m for help): a
Partition number (1-4): 1

Command (m for help): w

# partprobe

3) Создать файловую систему нового раздела
# mkfs.vfat /dev/sdb1
4) Копирование необходимых файлов на накопитель (требуется ISO образ диска):
# mount /dev/sdb1 /media/usb
# cd /media/usb
# cp /var/iso/CentOS-6.4-x86_64-minimal.iso centos.iso
# ls
centos.iso
# mount centos.iso /media/cdrom

# cp -R ../cdrom/images/ ./
# ls
centos.iso  images
# mkdir boot
# cp ../cdrom/isolinux/vmlinuz boot/
# cp ../cdrom/isolinux/initrd.img boot/
5) Установка загрузчика:
# grub-install --boot-directory=/media/usb/boot/ /dev/sdb
6) Создание файла настроек GRUB:
# vi boot/grub/grub.cfg 
Содержание grub.cfg после внесенных изменений:
# cat boot/grub/grub.cfg 
menuentry 'Boot Centos' --class gnu-linux --class gnu --class os {
        insmod gzio
        insmod part_msdos
        set root='(hd0,msdos1)'
        echo    'Loading Linux ...'
        linux   /boot/vmlinuz ro  quiet
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img
}
#