Bootflash/mkbootflash
Создание загрузочной флешки
Для создания загрузочной флеши, теоретически достаточно сделать две операции - поместить на неё необходимую информацию - файлы, образы и т.п. - сделать её загрузочной.
Теория её создания аналогична созданию LiveCD LiveCD/Howto. Проблема наполнения флешки легко решается, при наличии установочного дистрибутива или LivCD - надо просто скопировать содержимое дистрибутива, сконфигурировать файлы syslinux и инициировать его командой syslinux, как описано здесь : Bootflash/InstallFlash
Вкратце повторюсь : 1 Если у нас есть флешка с файловой системой fat, то всё нормально, если файловая система не fat, то делаем с помощью следующих команд:
Как определить на каком /dev видна флешка? Переключаемся на 12-й экран <Ctrl>+<Alt>+<F12> Вставляем флешку.
Пробегают строчки :
Nov 18 21:52:06 Rostov kernel: [ 5268.564551] usb 1-9: new high speed USB device using ehci_hcd and address 5 Nov 18 21:52:06 Rostov kernel: [ 5268.707151] usb 1-9: configuration #1 chosen from 1 choice Nov 18 21:52:06 Rostov kernel: [ 5268.710413] scsi7 : SCSI emulation for USB Mass Storage devices Nov 18 21:52:11 Rostov kernel: [ 5273.709807] scsi 7:0:0:0: Direct-Access Kingston DataTraveler 2.0 PMAP PQ: 0 ANSI: 0 C Nov 18 21:52:11 Rostov kernel: [ 5273.710031] sd 7:0:0:0: Attached scsi generic sg3 type 0 Nov 18 21:52:14 Rostov kernel: [ 5276.945898] sd 7:0:0:0: [sdd] 15646720 512-byte hardware sectors: (8.01 GB/7.46 GiB) Nov 18 21:52:14 Rostov kernel: [ 5276.946536] sd 7:0:0:0: [sdd] Write Protect is off Nov 18 21:52:14 Rostov kernel: [ 5276.946541] sd 7:0:0:0: [sdd] Assuming drive cache: write through Nov 18 21:52:14 Rostov kernel: [ 5276.958800] sd 7:0:0:0: [sdd] Assuming drive cache: write through Nov 18 21:52:14 Rostov kernel: [ 5276.958809] sdd: sdd1 Nov 18 21:52:14 Rostov kernel: [ 5276.959590] sd 7:0:0:0: [sdd] Attached SCSI removable disk
Работа с fdisk
Из этого лога, мы сразу видим, что флешка у нас обнаружена, как на /dev/sdd. Для более подробной информации о ней, мы выполняем команду fdisk -l /dev/sdd
Допустим, мы увидим :
[root]# fdisk -l /dev/sdd
Диск /dev/sdd: 8011 МБ, 8011120640 байт 255 heads, 63 sectors/track, 973 cylinders Units = цилиндры of 16065 * 512 = 8225280 bytes Disk identifier: 0x00001d1d Устр-во Загр Начало Конец Блоки Id Система /dev/sdd1 * 1 973 7815591 7 HPFS/NTFS
Т.е на флешке есть NTFS раздел. К сожалению, syslinux пока не поддерживает ntfs разделы. Бедим считать, что на флешке нет информации (если есть, то конечно сохраняем её где-то отдельно).
Удаляем раздел и создаём новый с помощью команды fdisk.
fdisk /dev/sdd
Команда (m для справки): m Выведем список команд fdisk - нажмём букву m
Действие команды a переключение флага загрузки b редактирование метки диска bsd c переключение флага dos-совместимости d удаление раздела l список известных типов файловых систем m вывод этого меню n добавление нового раздела o создание новой пустой таблицы разделов DOS p вывод таблицы разделов q выход без сохранения изменений s создание новой чистой метки диска Sun t изменение id системы раздела u изменение единиц измерения экрана/содержимого v проверка таблицы разделов w запись таблицы разделов на диск и выход x дополнительная функциональность (только для экспертов)
Команда (m для справки):
Выведем список разделов флешки - нажмём букву p
Команда (m для справки): p
Диск /dev/sdd: 8011 МБ, 8011120640 байт 255 heads, 63 sectors/track, 973 cylinders Units = цилиндры of 16065 * 512 = 8225280 bytes Disk identifier: 0x00001d1d
Устр-во Загр Начало Конец Блоки Id Система /dev/sdd1 * 1 973 7815591 7 HPFS/NTFS
Нажмём d: Команда (m для справки): d Выбранный раздел 1 Теперь, если нажать p, мы увидем, что разделов на флешке не осталось
Команда (m для справки): p
Диск /dev/sdd: 8011 МБ, 8011120640 байт 255 heads, 63 sectors/track, 973 cylinders Units = цилиндры of 16065 * 512 = 8225280 bytes Disk identifier: 0x00001d1d
Создаём раздел :
Команда (m для справки): n Действие команды e расширенный p основной раздел (1-4)
Выбираем основной - нажимаем p
Номер раздела (1-4): 1 Первый цилиндр (1-973, по умолчанию 1): Используется значение по умолчанию 1 Last цилиндр, +цилиндры or +size{K,M,G} (1-973, по умолчанию 973): Используется значение по умолчанию 973
Теперь изменяем идентификатор (id) раздела
Команда (m для справки): t Выбранный раздел 1 Шестнадцатеричный код (введите L для получения списка кодов):
Если сейчас ввести букву L, то можно получить список всех возможных типов разделов, в том числе интересующих нас:
1 FAT12 4 FAT16 <32M 6 FAT16 b W95 FAT32 c W95 FAT32 (LBA) e W95 FAT16 (LBA)
Подробнее о разновидностях разделов fat смотри [здесь] Выбираем тип раздела -с (W95 FAT32)
Команда (m для справки): t Выбранный раздел 1 Шестнадцатеричный код (введите L для получения списка кодов): c Системный тип раздела 1 изменен на c (W95 FAT32 (LBA))
Теперь осталось выполнить все сделанные нами операции - нажимаем букву w и выйти - нажимаем букву q (не привожу подробного лога, т.к. не хочу ничего стирать со своей флешки :) )