[Sysadmins] I: regular-rescue.iso
Michael A. Kangin
mak на complife.ru
Вт Мар 5 15:33:57 MSK 2013
04.03.2013 02:18, Michael Shigorin пишет:
Я так понимаю, это не продолжение сборки rider@?
Вообще-то его сборка была ценна именна минимализмом, не то, чтобы на
CDROM и дешевую флешку, а и через тормознутый virtual CD в IPMI например
сервер загрузить в Гонконге. Каждый мегабайт, так сказать, на счету.
Так что был бы интересен вариант вообще без графики, но с gpm. :)
В самом образе было бы очень ценно иметь заранее прописанными
репозитарии и resolv.conf например на гугловские сервера - в рескью
пакетиков мало, и постоянно приходится что-нибудь доставлять на
live-систему.
FreeDOS ok, и было бы неплохо туда еще HDT засунуть
(http://www.hdt-project.org/)
И еще про freedos & прошивки, оффтопик немного, но оставлю тут для
поисковиков:
------------------------------
Удаленное обновление BIOS на серверах можно делать через IPMI, подключая
поддерживаемые IPMI загрузочные образы дискеты или ISO с DOS (по
современному - FreeDOS).
Тут есть пара небольших проблемок, а именно:
- образы BIOS разжирели настолько, что перестали вмещаться на дискету, а
она должна быть аккурат 1440 Кб, чтобы её понимала IPMI;
- DOS не видит виртуальный CDROM, потому что не знакома с USB, а CDROM
эмулируется как раз в качестве USB устройства.
Можно предложить несколько вариантов решения этой проблемы:
1 Дискета с RAM-диском.
Образ лежит
[тут>ftp://webshare.iptp.net/pub/bios_tools/fdfloppy_1440_ramdisk.img].
На эту дискету можно класть сжатые (zip) образы, подключать её к IPMI,
загружаться, настраивать RAM-диск
необходимого размера, распаковывать туда сжатый образ и запускать
процедуру прошивки.
Положить файлы прошивки на такой образ не просто, а очень просто:
{code}
# mkdir /mnt/mountpoint
# mount -o loop fdfloppy_1440_ramdisk.img /mnt/mountpoint
# cp some files /mnt/mountpoint/
# umount /mnt/mountpoint
{code}
После загрузки создать RAM-диск необходимого размера можно командой
<tt>srdisk размер-в-килобайтах</tt>
1 Эмуляция дискеты в ISO.
ISOшка умеет таскать внутри себя в качестве загрузчика образ загрузочной
дискеты, чем мы можем подло
воспользоваться. Размер такой дискеты может быть уже 2880Kb, что
позволяет запихнуть имиджи большего размера.
Ну и рамдиск тоже присутствует, так что можно пользоваться сжатыми
образами. Образ лежит
[тут>ftp://webshare.iptp.net/pub/bios_tools/fdfloppy_2880_ramdisk.img].
Монтировать дискетку и закидывать
туда файлы можно так же, как и в предыдущем пункте. А собирать ISO-образ
можно так:
{code}
mkdir cdproject
mv fdfloppy_2880_ramdisk.img cdproject/
mkisofs -o newiso.iso -b fdfloppy_2880_ramdisk.img cdproject/
{code}
Полученный образ можно проверить в виртуалке:
{code}
qemu-kvm -cdrom newiso.iso
{code}
ну и подключить к IPMI и загрузить с него сервер.
1 Загрузка образа жесткого диска
Загрузчик isolinux умеет грузить всякие виртуальные образы, чем мы можем
воспользоваться, собрав образ жесткого
диска большущих размеров со всеми необходимыми образами и
инструментарием, и запихнув его в ISO.
Вот [тут>ftp://webshare.iptp.net/pub/bios_tools/fd_hdd.img] лежит образ
первого раздела жесткого диска.
К нему нужно сделать и добавить еще один раздел, содержащий все
необходимые файлы:
{code}
# mkfs.vfat -C volume.img 16384
# mkdir /mnt/mountpoint
# mount -o loop volume.img /mnt/mountpoint
# cp all needed files /mnt/mountpoint
# umount volume.img
# cat fd_hdd.img volume.img > whole_hdd.img
{code}
Полученный диск можно протестировать в виртуалке:
{code}
qemu-kvm -hda whole_hdd.img
{code}
Сделанный нами раздел с нужными файликами нужно искать на буковке D:\\
Если всё выглядит нормально, то можно собирать ISO. Нам понадобятся:
свежесделанный образ HDD,
[загрузчик
isolinux.bin>ftp://webshare.iptp.net/pub/bios_tools/isolinux.bin],
модуль для загрузки образов
виртуальных дисков
[memdisk>ftp://webshare.iptp.net/pub/bios_tools/memdisk], и
[простенький конфиг
isolinux.cfg>ftp://webshare.iptp.net/pub/bios_tools/isolinux.cfg].
Копируем все эти файлы в директорию проекта ISO, сжимая образ hdd для
лучшей скорости загрузки (memdisk такое
понимает, только расширение должно обязательно быть img), и собираем ISO:
{code}
mkdir cdproject
cp isolinux.bin memdisk isolinux.cfg cdproject/
gzip -c whole_hdd.img > cdproject/whole_hdd.img
mkisofs -o newiso.iso --no-emul-boot -b isolinux.bin cdproject/
{code}
Полученный образ можно как обычно протестировать в виртуалке и загрузить
с него сервер. На реальном сервере,
где есть в наличии его родные диски, наш второй раздел еще поискать
надо, на какую он буковку попал.
------------------------------
> Здравствуйте.
> Доступны сборки rescue LiveCD на базе Sisyphus (i586, x86_64):
> http://nightly.altlinux.org/sisyphus/flavours/rescue/
>
> Содержат довольно свежие ядро и инструментарий, списки пакетов
> сегодня в очередной раз перешерстил, но замечания и предложения
> всё так же приветствуются.
>
> См. тж. http://www.altlinux.org/Rescue (имеет отношение,
> но не как дословное ТЗ).
>
> PS: кросспост, просьба отвечать в ту рассылку, где прочли.
>
Подробная информация о списке рассылки Sysadmins