ALT Linux Distributions development
 help / color / mirror / Atom feed
* [devel-distro] netstart: ядро+initrd для сетевой загрузки других дистрибутивов
@ 2021-09-12 23:01 Leonid Krivoshein
  2021-09-13  1:27 ` Антон Мидюков
  2021-09-13  2:06 ` Vladimir D. Seleznev
  0 siblings, 2 replies; 9+ messages in thread
From: Leonid Krivoshein @ 2021-09-12 23:01 UTC (permalink / raw)
  To: Distributions development

Всем привет!


Антону Мидюкову практически удалось воплотить в m-p идею мини-образа 
ISO, позволяющего устанавливать (загружать или запускать) другие 
"большие" дистрибутивы без предварительного скачивания и записи на 
флэшку. В мини-образе netstart нет собственного stage2, есть только ядро 
и initrd, даже несколько на выбор. Основной дистрибутив он закачивает по 
сети прямо с нашего http/ftp-сервера. Анонса ещё не было, т.к. видимо 
ещё не всё дотестировано и не удаётся добиться идеала, а у меня как раз 
возникло понимание причин и хотел бы это здесь обсудить.

I. Зачем вообще нужен netstart?

1. Можно не записывать образы на флэшку, а ставить систему или загружать 
live сразу по сети.
2. С его помощью можно тестировать сетевую загрузку силами сообщества на 
очень разном железе.
3. Потенциально можно отказаться от main repo на диске и использовать 
сетевой репозиторий, тогда и установочный диск станет очень небольшим, а 
ставиться будет лишь актуальная пакетная база. Для Сизифа это особенно 
интересная возможность, т.к. он меняется непрерывно.
4. Сильно упрощается жизнь желающим попробовать сразу несколько 
регулярок или стартеров. В перспективе это можно использовать и для 
продуктов.

II. Ограничения.

1. Модули ядра в stage2 загружаемого дистрибутива должны соответствовать 
ядру и набору модулей в netstart. Хотя, я загружался и без полного 
соответствия.
2. Бесполезно задавать ramdisk_size=... -- размер скачиваемого образа 
заранее неизвестен. Данная проблема уже решена: нужно просто не 
указывать этот аргумент изначально и для методов http/ftp будет 
закачиваться образ в /run/boot-image.iso (tmpfs).
3. Параметры запуска каждого пункта загрузочного меню дистрибутива 
определяются в netstart, но сейчас это не мульти-загрузочный диск. 
Например, stagename=live бесполезно указывать в /proc/cmdline, т.к. 
заранее неизвестно, какой пункт какого дистрибутива будет загружаться.
4. Сейчас приходится добивать руками конечную часть пути к скачиваемому 
ISO-образу дистрибутива, тут легко ошибиться. Да и вообще надо знать, 
что и откуда скачивать. Проще выбирать, а не набивать.

III. Предложение к обсуждению.

Для поддержки netstart можно с пачкой ISO'шников выкладывать на сервер 
текстовый файл, который будет описывать загружаемые дистрибутивы и 
предлагаемые ими пункты меню. Тогда через bootchain можно будет 
загружаться так: bootchain=fg,netstart. Здесь netstart -- это шаг, 
который скачивает описание с ftp/http-сервера и формирует необходимые 
диалоги. Возможно, лучше даже не выкладывать описание на сервер, а 
включать его в образ stage1, поскольку конкретный netstart пригоден для 
вполне конкретной пачки ISO'шников и только для той же архитектуры. 
Изменить таким способом получится не все параметры /proc/cmdline, а 
только те, что известны заранее, типа automatic, stagename или lowmem.

IV. Вопрос.

Существует ли мульти-загрузка ISO'шников по сети? Например, через 
специально собранный ipxe, чтобы не указывать в нём путь, откуда 
загружаться.


-- 
Best regards,
Leonid Krivoshein.



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-09-13 14:52 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-12 23:01 [devel-distro] netstart: ядро+initrd для сетевой загрузки других дистрибутивов Leonid Krivoshein
2021-09-13  1:27 ` Антон Мидюков
2021-09-13  2:25   ` Leonid Krivoshein
2021-09-13  3:48     ` Антон Мидюков
2021-09-13 11:42       ` Leonid Krivoshein
2021-09-13  2:06 ` Vladimir D. Seleznev
2021-09-13  2:34   ` Leonid Krivoshein
2021-09-13 14:49     ` Vladimir D. Seleznev
2021-09-13 14:52       ` Denis Medvedev

ALT Linux Distributions development

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel-distro/0 devel-distro/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 devel-distro devel-distro/ http://lore.altlinux.org/devel-distro \
		devel-distro@lists.altlinux.org devel-distro@lists.altlinux.ru devel-distro@lists.altlinux.com
	public-inbox-index devel-distro

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


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