ALT Linux Distributions development
 help / color / mirror / Atom feed
From: "Антон Мидюков" <midyukov-anton@ya.ru>
To: devel-distro@lists.altlinux.org
Subject: Re: [devel-distro] netstart: ядро+initrd для сетевой загрузки других дистрибутивов
Date: Mon, 13 Sep 2021 08:27:25 +0700
Message-ID: <72ef3d7c-f1d5-be29-8c9e-cb5ca50dca70@ya.ru> (raw)
In-Reply-To: <f7eace0d-82b1-9b12-dce7-0cd507a502f7@gmail.com>

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

Анонса не было, так как у меня, как помнишь, установка regular-jeos-sysv.iso дальше первого шага не идёт :-)

> I. Зачем вообще нужен netstart?
> 
> 1. Можно не записывать образы на флэшку, а ставить систему или загружать live сразу по сети.

Но не хватает возможность вбить имя stage2 в bootchain. Да и выбора, как в propagator, между dhcp и настройки static в altboot нет.

> 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, т.к. заранее неизвестно, какой пункт какого дистрибутива будет загружаться.

Нужна возможность задавать в altboot.

> 4. Сейчас приходится добивать руками конечную часть пути к скачиваемому ISO-образу дистрибутива, тут легко ошибиться. Да и вообще надо знать, что и откуда скачивать. Проще выбирать, а не набивать.

Было бы здорово получать список на выбор.

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

Есть же MD5SUM. Может ориентироваться на него и за одно проверять контрольную сумму?
А список получать при условии, что указан не образ, а каталог или же заданный образ не существует?
automatic переопределять, думаю, не нужно, как и lowmem. Достаточно только stagename, в том же шаге,
где прописываем путь до образа.

Также зачастую на образе есть только один из вариантов stage2. Можно перебирать последовательно: altinst, live, rescue.
Для регулярок это актуальная фича.

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


-- 
С уважением, Антон Мидюков <antohami@altlinux.org>


  reply	other threads:[~2021-09-13  1:27 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-12 23:01 Leonid Krivoshein
2021-09-13  1:27 ` Антон Мидюков [this message]
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=72ef3d7c-f1d5-be29-8c9e-cb5ca50dca70@ya.ru \
    --to=midyukov-anton@ya.ru \
    --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