ALT Linux sysadmins discussion
 help / color / mirror / Atom feed
From: "Michael A. Kangin" <mak@complife.ru>
To: shigorin@gmail.com,
	 ALT Linux sysadmins' discussion <sysadmins@lists.altlinux.org>
Subject: Re: [Sysadmins] I: regular-rescue.iso
Date: Tue, 05 Mar 2013 15:33:57 +0400
Message-ID: <5135D825.2030400@complife.ru> (raw)
In-Reply-To: <20130303221859.GD22041@osdn.org.ua>

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: кросспост, просьба отвечать в ту рассылку, где прочли.
>



  parent reply	other threads:[~2013-03-05 11:33 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-03 22:18 Michael Shigorin
2013-03-03 22:29 ` [Sysadmins] [Comm] " Aleksey Novodvorsky
2013-03-05 11:33 ` Michael A. Kangin [this message]
2013-03-05 11:41   ` [Sysadmins] " Michael Shigorin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5135D825.2030400@complife.ru \
    --to=mak@complife.ru \
    --cc=shigorin@gmail.com \
    --cc=sysadmins@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux sysadmins discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \
		sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com
	public-inbox-index sysadmins

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sysadmins


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git