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] Release make-initrd 2.14.0
Date: Wed, 31 Mar 2021 16:55:18 +0300
Message-ID: <83d214e6-2616-03ba-901b-4a92c69c22ff@gmail.com> (raw)
In-Reply-To: <20210331133927.j3gupd4yfflszaum@example.org>

[-- Attachment #1: Type: text/plain, Size: 2741 bytes --]


31.03.2021 16:39, Alexey Gladkov пишет:
> On Wed, Mar 31, 2021 at 04:08:26PM +0300, Leonid Krivoshein wrote:
>> 31.03.2021 10:44, Alexey Gladkov пишет:
>>> On Tue, Mar 30, 2021 at 11:18:56PM +0300, Leonid Krivoshein wrote:
>>>>>          2.14.0
>>>>>
>>>> Шикарный набор, впечатляет! Огромное тебе спасибо!!!
>>>>
>>>> Не против, если я немного поковыряю pipeline для доведения его до нынешнего
>>>> пропагатора и скину все изменения оптом?
>>> Разве я могу запретить кому-то чем-то заниматься ? )))
>>>
>>> Если чего-то не хватает, то это можно добавить. Фича pipeline была сделана
>>> как минимальный базис.
>> Да, это понятно. Разобрались, наконец, с локальной загрузкой и как/чего
>> переделывать. Но наткнулись на другую неприятную ошибку. Скорее всего, она
>> внутри initrd-put -- при создании универсального загрузочного носителя (на
>> замену того, что было с propagator) более половины ядерных модулей и
>> каталогов с модулями попадает не в /lib/modules/$KVER, а в корневой каталог
>> initramfs. Причём, это не зависит от используемого способа (директив)
>> указания списка модулей и места, где это делается. И это не только в 2.14.0,
>> с 2.13.0 то же самое. Нужна ли какая-то дополнительная диагностика?
> Разумеется нужна. Расскажите, что вы делали ?

Просто давали команду make-initrd, предварительно скармливая разными 
способами список модулей через /etc/initrd.mk. Перепробованы были разные 
директивы -- PUT_DIRS/PUT_FILES с указанием полных путей, директивы 
MODULES_LOAD и MODULES_PRELOAD с указанием только названий модулей. Во 
всех случаях модули попадают, но в основном не туда, куда надо. См. во 
вложении пример вывода initrd-ls и один из вариантов скриптов, которым 
это делается.


-- 
Best regards,
Leonid Krivoshein.


[-- Attachment #2: 511.lst.gz --]
[-- Type: application/gzip, Size: 18769 bytes --]

[-- Attachment #3: 80-make-initrd-for-pipeline --]
[-- Type: text/plain, Size: 1957 bytes --]

#!/bin/sh -efux
# NB: /etc/initrd.mk carefully prepared by earlier scripts

fatal() { echo "** error: $@" >&1; exit 1; }

kver=
for KFLAVOUR in $GLOBAL_KFLAVOURS; do
	kver+=" $(rpm -qa 'kernel-image*' \
		--qf '%{version}-%{name}-%{release}\n' \
	| grep "$KFLAVOUR" \
	| sed 's/kernel-image-//')"
done

[ -n "$kver" ] ||
	fatal "no kernel version identified"

INITRD_FEATURES+="add-modules compress cleanup rdshell pipeline"

INITRD_MODULES="$(grep -v ^# /.in/modules |
	grep -v / |
	grep .ko |
	sort -u)"

INITRD_PUT_DIRS="$(grep -v ^# /.in/modules |
	grep -v .ko |
	sort -u)"

initrd_modules_find()
{
	if [ -n "$INITRD_MODULES" ]; then
		echo "MODULES_LOAD += \\"
		for INITRD_MODULE in $INITRD_MODULES; do
			MODNAME="$(find /lib/modules/$KVER -type f -name $INITRD_MODULE)"
			[ -z "$MODNAME" ] || echo "  ${MODNAME##*/} \\"
		done
		echo "  #"
	fi
	if [ -n "$INITRD_PUT_DIRS" ]; then
		echo "PUT_DIRS += \\"
		for INITRD_PUT_DIR in $INITRD_PUT_DIRS; do
			[ ! -d "/lib/modules/$KVER/$INITRD_PUT_DIR" ] ||
				echo "  /lib/modules/$KVER/$INITRD_PUT_DIR \\"
		done
		echo "  #"
	fi
}

# FIXME: large storage systems can get that tmpfs filled up
# with debug data as of make-initrd 2.2.12
rm -vf  /usr/share/make-initrd/data/etc/udev/rules.d/00-debug.rules \
	/usr/share/make-initrd/data/lib/uevent/filters/debug

MAKE_INITRD_OPTS="--no-checks AUTODETECT="
MAKE_INITRD_VER="`make-initrd -V \
	| sed -rn 's/^make-initrd version ([0-9.]+)/\1/p'`"

[ -z "$GLOBAL_VERBOSE" ] ||
	MAKE_INITRD_OPTS="$MAKE_INITRD_OPTS -v"

cd /boot

for KVER in $kver; do
	touch /etc/initrd.mk
	cp -Lvf /etc/initrd.mk /etc/initrd-mk.bak
	initrd_modules_find >> /etc/initrd.mk
	make-initrd $MAKE_INITRD_OPTS -k "$KVER" \
		FEATURES+="$INITRD_FEATURES" ||
		fatal "make-initrd failed"
	mv -vf /etc/initrd-mk.bak /etc/initrd.mk
done

case `arch` in
e2k)
	kname=image;;
*)
	kname=vmlinuz;;
esac

rm -f $kname initrd.img
ln -s $kname-$KVER $kname
ln -s initrd-$KVER.img initrd.img

:

  reply	other threads:[~2021-03-31 13:55 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-30 18:21 Alexey Gladkov
2021-03-30 20:18 ` Leonid Krivoshein
2021-03-31  7:44   ` Alexey Gladkov
2021-03-31 13:08     ` Leonid Krivoshein
2021-03-31 13:39       ` Alexey Gladkov
2021-03-31 13:55         ` Leonid Krivoshein [this message]
2021-03-31 14:07           ` Антон Мидюков
2021-03-31 14:34           ` Alexey Gladkov
2021-03-31 14:40           ` Alexey Gladkov
2021-03-31 14:48             ` Alexey Gladkov
2021-03-31 14:49             ` Leonid Krivoshein
2021-03-31 14:50             ` Антон Мидюков
2021-03-31 15:22               ` Alexey Gladkov
2021-03-31 15:37                 ` Антон Мидюков
2021-03-31 15:54                   ` Leonid Krivoshein
2021-03-31 15:57                   ` Alexey Gladkov
2021-03-31 16:20                     ` Leonid Krivoshein
2021-03-31 16:55                       ` Alexey Gladkov
2021-03-31 17:02                         ` Антон Мидюков
2021-03-31 17:17                           ` Alexey Gladkov
2021-03-31 18:08                             ` Leonid Krivoshein
2021-03-31 18:10                               ` Leonid Krivoshein
2021-03-31 18:29                               ` Alexey Gladkov
2021-03-31 18:54                                 ` Leonid Krivoshein
2021-03-31 18:03                         ` Leonid Krivoshein
2021-03-31 18:11                           ` Антон Мидюков
2021-03-31 18:24                             ` Michael Shigorin
2021-03-31 19:02                               ` Leonid Krivoshein
2021-03-31 18:38                             ` Alexey Gladkov
2021-03-31 18:49                               ` Leonid Krivoshein
2021-03-31 19:20                               ` Leonid Krivoshein
2021-04-01  2:32                               ` Антон Мидюков
2021-03-31 18:44                             ` Leonid Krivoshein
2021-03-31 18:45                           ` Alexey Gladkov
2021-03-31 23:49                         ` Leonid Krivoshein
2021-04-01  9:02                           ` Alexey Gladkov
2021-04-01 10:38                             ` Leonid Krivoshein
2021-04-02 17:46                             ` Leonid Krivoshein
2021-04-02 17:57                               ` Leonid Krivoshein
2021-04-04 19:04                                 ` Konstantin Lepikhov
2021-04-04 19:21                                   ` Leonid Krivoshein
2021-04-02 18:37                             ` Leonid Krivoshein
2021-04-03 11:09                               ` Alexey Gladkov
2021-04-03 11:31                                 ` Leonid Krivoshein
2021-04-03 11:37                                   ` Антон Мидюков
2021-04-03 12:16                                     ` Leonid Krivoshein
2021-04-03 12:27                                       ` Антон Мидюков
2021-04-03 11:59                                   ` Alexey Gladkov

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=83d214e6-2616-03ba-901b-4a92c69c22ff@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