[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