From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 31 Mar 2021 17:57:28 +0200 From: Alexey Gladkov To: make-initrd@lists.altlinux.org Message-ID: <20210331155728.w4x2y6sqnnuykdzf@example.org> References: <20210330182101.ds4pqlztmokdz63n@example.org> <20210331074456.xtkckveii34cxh64@example.org> <574c8249-330c-1888-07ad-c49cce5f02f4@gmail.com> <20210331133927.j3gupd4yfflszaum@example.org> <83d214e6-2616-03ba-901b-4a92c69c22ff@gmail.com> <20210331144057.m3eyfwnns2x3s6do@example.org> <20210331152230.dshas3odtszxafyv@example.org> <27101e86-3f0a-4612-9ecf-eb46e84ec71a@basealt.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <27101e86-3f0a-4612-9ecf-eb46e84ec71a@basealt.ru> Subject: Re: [make-initrd] Release make-initrd 2.14.0 X-BeenThere: make-initrd@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: make-initrd@lists.altlinux.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Mar 2021 15:57:29 -0000 Archived-At: List-Archive: On Wed, Mar 31, 2021 at 10:37:35PM +0700, Антон Мидюков wrote: > 31.03.2021 22:22, Alexey Gladkov пишет: > > On Wed, Mar 31, 2021 at 09:50:11PM +0700, Антон Мидюков wrote: > >> 31.03.2021 21:40, Alexey Gladkov пишет: > >>> On Wed, Mar 31, 2021 at 04:55:18PM +0300, Leonid Krivoshein wrote: > >>>> Просто давали команду make-initrd, предварительно скармливая разными > >>>> способами список модулей через /etc/initrd.mk. Перепробованы были разные > >>>> директивы -- PUT_DIRS/PUT_FILES с указанием полных путей, директивы > >>>> MODULES_LOAD и MODULES_PRELOAD с указанием только названий модулей. Во всех > >>>> случаях модули попадают, но в основном не туда, куда надо. См. во вложении > >>>> пример вывода initrd-ls и один из вариантов скриптов, которым это делается. > >>> > >>> PUT_DIRS с самого момента создания make-initrd копирует содержимое > >>> каталога без самого каталога. Например так копируется: > >>> > >>> PUT_DIRS += /lib/initrd > >>> > >> > >> Вот, именно в этом и проблема. Нужно найти все модули в целевых каталогах и добавить в список MODULES_LOAD. > >> В MODULES_LOAD каталоги добавлять же нельзя? > > > > Это список имён модулей. Он же потом будет использован modprobe. > > Было бы отлично если бы я знал какую задачу вы хотите решить. > > > > Решается задача упаковки при помощи make-initrd модулей, которые даны списком. В списке есть как каталоги, так и название модулей, вида <имя_модуля.ko> > Список был изначально предназначен для mkmodpack. Передайте всё в PUT_FILES. Если в списке будет каталог, то он скопируется рекурсивно. Например: $ grep -v ^# /etc/initrd.mk AUTODETECT = all PUT_FILES += /lib/modules/5.8.0/kernel/fs $ make-initrd -k 5.12.0-rc4 -c /etc/initrd.mk ... $ initrd-ls /tmp/initrd-5.12.0-rc4.img | grep '5\.8\.0/.*\.ko' |head -5 2 -rw-r--r-- 1 0 0 21264 Mar 31 17:47:53 2021 ./lib/modules/5.8.0/kernel/fs/zonefs/zonefs.ko.xz 2 -rw-r--r-- 1 0 0 666356 Mar 31 17:47:53 2021 ./lib/modules/5.8.0/kernel/fs/xfs/xfs.ko.xz 2 -rw-r--r-- 1 0 0 69816 Mar 31 17:47:53 2021 ./lib/modules/5.8.0/kernel/fs/ufs/ufs.ko.xz 2 -rw-r--r-- 1 0 0 98740 Mar 31 17:47:53 2021 ./lib/modules/5.8.0/kernel/fs/udf/udf.ko.xz 2 -rw-r--r-- 1 0 0 53596 Mar 31 17:47:53 2021 ./lib/modules/5.8.0/kernel/fs/squashfs/squashfs.ko.xz > Конечная задача загрузка iso образа с initrd.img с использованием фичи pipeline вместо propagator. > Если модули просто добавить в initrd то они не подгружаются. waitdev не находит устройство (файловую систему isofs) по UUID. > Поэтому весь список модулей загружаем. Почему бы не сделать 'MODULES_LOAD += isofs' ? Зачем грузить всё ? Вы же знаете, что вы хотите ждать исошку. Для исошки вам нужно подождать пока udev загрузит нужный модуль и пока не появится условный /dev/cdrom. Для этого вообще не нужно ничего грузить руками (см test-pipeline-iso-squash). Возможно, понадобиться дополнительная команда, которая определит, что в приводе есть диск и он правильный. Но это уже совсем другое. -- Rgrds, legion