On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
администратор


Сообщение: 1
Зарегистрирован: 17.06.09
Репутация: 0
ссылка на сообщение  Отправлено: 18.06.09 10:12. Заголовок: Модификация usbboot.img


Обычно, все начинают модификацию дистрибутива с переделки iso образа дистра.
Современные же компьютеры обзавелись возможностью загрузки с usb флешки.
Поэтому, рациональнее в своих экспериментах использовать usb флешку, чем портить кучу компактов.

В составе дистрибутива Slackware есть загрузочный образ для установки дистрибутива с флеш-карты, находящийся по адресу /usb-and-pxe-installers/usbboot.img.
Вот его то и попробуем распаковать для предполагаемых изменений.

Образ предназначен для записи на флеш-карту и имеет размер в 28 мегабайт. То есть, при воссоздании загрузочной флешки, на ней будет воссоздан fat-раздел с файлами обеспечивающими установку дистрибутива. Остальное пространство флешки не используется никак. Что не есть карашо.

Обратно, usbboot.img воссоздавать не будем, а воспользуемся утилитой syslinux для создания загрузочной флешки. Тем самым задействуем пространство памяти флешки полностью, и дополнительно разместим на ней все пакеты устанавливаемого дистрибутива.

Ну это я забежал немного вперед, пока расскажу как добраться до скриптов инсталлятора.

Для своих экспериментов я создал рабочий каталог /work, куда и поместил образ usbboot.img.
Чтобы извлечь содержимое образа его нужно примонтировать.
Для этого я создал еще один каталог /work/boot, куда и примонтировал образ командой:

mount -o loop usbboot.img ./boot




Для интереса, успех операции проверил утилитой kdf:



С ее же помощью удобно потом отмонтировать примонтированный образ.
Теперь можно просмотреть на спрятанные в образе файлы:



Затем я создал каталог /work/files и скопировал туда содержимое образа.
Отмонтировал образ, и привел в нормальное состояние атрибуты файлов.



Каталог /work/boot и образ usbboot.img удалил, теперь они уже не нужны.

Из всех извлеченных из образа файлов нас интересует один - initrd.img.
Его то и нужно разархивировать, чтобы добраться до скриптов инсталлятора.
Для удобства копируем файл initrd.img в каталог /work и разжимаем его с помощью нескольких команд от Патрика:
 
mkdir extract
cd extract
zcat ../initrd.img | cpio -div



Вот мы и у цели - скрипты инсталлятора дистрибутива Slackware находятся по адресу /work/extract/usr/lib/setup!
Теперь можем модифицировать скрипты в свое удовольствие. Но это уже другая песня, теперь соберем все назад и создадим загрузочную флешку.

Удаляем немодифицированный initrd.img из каталога /work, переходим в каталог /work/extract и вводим команду:
 
find . | cpio -o -H newc | gzip -9fv > ../initrd.img



Как видите по дате создания файла initrd.img, воссоздание прошло успешно.



На следующем этапе возвращаем модифицированный файл initrd.img в каталог /work/files и модифицированный набор файлов для загрузки на флешку у нас готов.
Как я говорил выше, образ для флешки воссоздавать не будем, а просто скопируем все файлы из каталога /work/files на предварительно отформатированную и примонтированную флешку.
Флешку лучше отформатировать с файловой системой ext2.
Переименовать файл syslinux.cfg в extlinux.conf!
затем вводим команды:
 
extlinux -i /mnt/usb/boot # install syslinux to partition
cat /usr/lib/syslinux/mbr.bin > /dev/sdb # make it bootable through MBR

Все, загрузочная флешка создана. Осталось скопировать на нее каталог дистрибутива /slackware.









Спасибо: 0 
ПрофильЦитата Ответить
Новых ответов нет


Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 0
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет