From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 Date: Wed, 22 Apr 2020 16:09:15 +0200 From: Alexey Gladkov To: make-initrd@lists.altlinux.org Message-ID: <20200422140915.jzea3em5iup4an6d@comp-core-i7-2640m-0182e6> References: <20200309160228.xldd5fkzdt5je5ln@comp-core-i7-2640m-0182e6> <20200405190917.6tbnkxiwfz5te2os@comp-core-i7-2640m-0182e6> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20200405190917.6tbnkxiwfz5te2os@comp-core-i7-2640m-0182e6> Subject: Re: [make-initrd] [RFC] kexec feature 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, 22 Apr 2020 14:09:29 -0000 Archived-At: List-Archive: On Sun, Apr 05, 2020 at 09:09:17PM +0200, Alexey Gladkov wrote: > Я сделал первый вариант такой фичи [1]. С ней я смог выбрать ядро и > загрузить свою систему. > > К сожалению без странностей не обошлось. У меня пока не получилось > зафиксировать initrd. Указание CONFIG_CMDLINE не помогает: > > $ grep ^CONFIG_CMDLINE kernel.config > CONFIG_CMDLINE_BOOL=y > CONFIG_CMDLINE="ro quiet initrd=\\EFI\\LINUX\\bootloader.img" Потому что этот параметр разбирается до загрузки самого ядра [1]. Он передаётся либо через параметры, либо через efi сервис [2]. Необходимо написать враппер который сделает либо одно, либо другое. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/firmware/efi/libstub/file.c#n257 [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/firmware/efi/libstub/x86-stub.c#n788 > приходится указывать initrd через efi shell. > Также пакет пока не может собраться на aarch64. Ограничил архитектуру до x86_64 потому что только на ней я её использую. -- Rgrds, legion