ALT Linux Distributions development
 help / color / mirror / Atom feed
From: Leonid Krivoshein <klark.devel@gmail.com>
To: Distributions development <devel-distro@lists.altlinux.org>
Subject: [devel-distro] netstart: ядро+initrd для сетевой загрузки других дистрибутивов
Date: Mon, 13 Sep 2021 02:01:37 +0300
Message-ID: <f7eace0d-82b1-9b12-dce7-0cd507a502f7@gmail.com> (raw)

Всем привет!


Антону Мидюкову практически удалось воплотить в 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.



             reply	other threads:[~2021-09-12 23:01 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-12 23:01 Leonid Krivoshein [this message]
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

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=f7eace0d-82b1-9b12-dce7-0cd507a502f7@gmail.com \
    --to=klark.devel@gmail.com \
    --cc=devel-distro@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 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