Make-initrd development discussion
 help / color / mirror / Atom feed
From: Leonid Krivoshein <klark.devel@gmail.com>
To: make-initrd@lists.altlinux.org
Subject: Re: [make-initrd] Установка окружения в stage1 для передачи в stage2
Date: Sat, 3 Apr 2021 16:52:50 +0300
Message-ID: <662166a5-ed57-c782-cd07-a8dd97104a49@gmail.com> (raw)
In-Reply-To: <20210403133438.yzbiwm76ztbrbn3h@example.org>


03.04.2021 16:34, Alexey Gladkov пишет:
> On Sat, Apr 03, 2021 at 03:24:26PM +0300, Leonid Krivoshein wrote:
>>>> и обобщённой функции, типа add_to_env(), пока не предусмотрено?
>>> Пока потребителей не было я такого не писал. Не уверен нужна ли отдельная
>>> функция.
>> Не возражаешь, если добавлю тогда в pipeline_sh_functions?
> Я не против, но где ты хочешь эту функцию использовать ?

В стадиях pipeline -- вместо waitdev и после него.

После -- в liveboot, который заменит пропагатор и init-bottom из 
make-initrd-propagator.
Если получится поделить liveboot на отдельные стадии pipeline, будет 
очень здорово.
Но сначала хочу добиться того, чтобы перемычка между stage1 и stage2 
заработала правильно.
Потом уже, по-возможности, вписывать это всё в идеологию pipeline.

Вместо waitdev -- в нескольких "сетевых методах" a.k.a. ftp, http, cifs 
и nfs.
Первые два в нынешнем пропагаторе работают совсем иначе, нежели чем 
getimage.
Они закачивают ISO-образ целиком сразу в /dev/ramN, независимо от lowmem.
Я пока не уверен, что такое поведение правильно оставлять.
Вторые два монтируют ISO-образ по сети и начисто отмонтируют всё на 
выходе из stage1.
При этом в ряде случаев (altinst и live) остаётся смонтирован ISO образ 
в /root/image,
последний слой (NFS/CIFS-каталог) отмонтируется "lazy" через umount -fl 
/image.

В пропагаторе функция называется add_to_env().
Давай назовём её тут stage2_setenv() и это будет именно set/reset, а не add.


>> Дело в том, что propagator оставлял после себя определённое окружение,
>> которое как-то используется в stage2. Мне не нравится, что он передавал даже
>> пароли на FTP через него, я даже не смог пока найти клиента для PIGGYBACK=1
>> -- это используется, когда в stage1 был смонтирован каталог по NFS или CIFS,
>> и при выходе всё начисто отмонтируется. В основном же там экспортируется то,
>> что было передано через командную строку, типа метода, сервера, каталога,
>> итд. В общем, если уж делать совместимость со stage2, то сразу правильно
>> надо её реализовать.
> Это не моё дело, но я бы посоветовал вам не реализовывать сразу весь
> функционал propagator. Реализуйте сначала то, чем пользуетесь.

Согласен, я начал с локальной загрузки a.k.a "cdrom" и "disk", то бишь 
liveboot (следом за wiatdev).
Надеюсь за сегодня-завтра сделать и до-отладить в первом приближении.

Кстати, захотелось стадию pipeline: debug -- выводим результаты 
предыдущих шагов и вызываем rdshell.


-- 
Best regards,
Leonid Krivoshein.



      reply	other threads:[~2021-04-03 13:52 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-03 11:05 Leonid Krivoshein
2021-04-03 11:48 ` Alexey Gladkov
2021-04-03 12:24   ` Leonid Krivoshein
2021-04-03 13:34     ` Alexey Gladkov
2021-04-03 13:52       ` Leonid Krivoshein [this message]

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=662166a5-ed57-c782-cd07-a8dd97104a49@gmail.com \
    --to=klark.devel@gmail.com \
    --cc=make-initrd@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

Make-initrd development discussion

This inbox may be cloned and mirrored by anyone:

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

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


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