* [devel-distro] How to build bootable iso with mkimage
@ 2024-11-29 8:44 Eugene Prokopiev
2024-11-29 12:23 ` Eugene Prokopiev
0 siblings, 1 reply; 6+ messages in thread
From: Eugene Prokopiev @ 2024-11-29 8:44 UTC (permalink / raw)
To: Discussion of distributions <i>development</i>
Здравствуйте!
Подскажите, а как сейчас с помощью mkimage (без m-p) изготовить
загрузочный iso? Добавляю в верхнеуровневый Makefile:
MKI_PACK_RESULTS = hybrid-grubpc-grub-efi:live.iso
ISOHYBRID = yes
BOOT_VOLI = live
BOOT_TYPE = grub-pc-boot grub-efi
EFI_BOOTLOADER = grub-efi
EFI_CERT = altlinux
...
all: ... pack-image ...
При сборке получаю:
...
mkimage: Processing 'pack-image' ...
find: './.work/chroot/boot': Permission denied
...
find: './.work/chroot/etc/tcb': Permission denied
mki-pack-hybrid-grubpc-grub-efi: /.image/boot/grub/bios.img: not found
make: *** [/usr/share/mkimage/targets.mk:152: pack-image] Error 1
Что такое boot/grub/bios.img и как он должен оказаться в .image?
--
WBR,
Eugene Prokopiev
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel-distro] How to build bootable iso with mkimage
2024-11-29 8:44 [devel-distro] How to build bootable iso with mkimage Eugene Prokopiev
@ 2024-11-29 12:23 ` Eugene Prokopiev
0 siblings, 1 reply; 6+ messages in thread
From: Eugene Prokopiev @ 2024-11-29 12:23 UTC (permalink / raw)
To: Discussion of distributions <i>development</i>
пт, 29 нояб. 2024 г. в 11:44, Eugene Prokopiev <eugene.prokopiev@gmail.com>:
> all: ... pack-image ...
вот тут перед pack-image нужен copy-grubpcboot
> mki-pack-hybrid-grubpc-grub-efi: /.image/boot/grub/bios.img: not found
теперь bios.img оказывается на месте и iso-образ собирается, но не
загружается, пытаюсь понять куда подложить grub.conf и что в него
написать ...
--
WBR,
Eugene Prokopiev
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel-distro] How to build bootable iso with mkimage
@ 2024-12-03 11:38 ` Eugene Prokopiev
2024-12-03 11:44 ` Anton Midyukov
2024-12-03 21:19 ` Leonid Krivoshein
2 siblings, 0 replies; 6+ messages in thread
From: Eugene Prokopiev @ 2024-12-03 11:38 UTC (permalink / raw)
To: Discussion of distributions <i>development</i>
вт, 3 дек. 2024 г. в 14:33, Eugene Prokopiev <eugene.prokopiev@gmail.com>:
> Если я пытаюсь загрузить linux/initrd в grub shell вручную, то я
> получаю kernel panic
Ровно такой же kernel panic я получаю при загрузке образа, собранного
из https://git.altlinux.org/people/enp/packages/mkimage-profile-live-minimal-example.git?a=tree;h=refs/heads/isolinux-boot-kernel-panic
В этом случае isolinux загружает kernel/initrd, но корректно собрать
initrd с bootchain мне не удается
Вроде бы все необходимые для загрузки в qemu модули в наличии - что же
еще я мог забыть?
--
WBR,
Eugene Prokopiev
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel-distro] How to build bootable iso with mkimage
2024-12-03 11:38 ` Eugene Prokopiev
@ 2024-12-03 11:44 ` Anton Midyukov
2024-12-03 21:19 ` Leonid Krivoshein
2 siblings, 0 replies; 6+ messages in thread
From: Anton Midyukov @ 2024-12-03 11:44 UTC (permalink / raw)
To: devel-distro
03.12.2024 14:33, Eugene Prokopiev пишет:
> пт, 29 нояб. 2024 г. в 15:23, Eugene Prokopiev <eugene.prokopiev@gmail.com>:
>
>> ... iso-образ собирается, но не загружается, пытаюсь понять куда подложить grub.conf и что в него написать ...
>
> Не загружается он в том смысле, что вместо загрузки linux/initrd я
> получаю grub shell, а в нем в ответ на set вижу root=`memdisk` и
> prefix=`(memdisk)/boot/grub` - т.е. при сборке iso-образа нужно
> каким-то образом явно указать загрузочное устройство аналогично тому
> как мы это делаем при grub-install? как и где это описано в m-p?
>
Вероятно у вас отсутствует .disk/info
Для grub-pc:
https://github.com/legionus/mkimage/blob/0d59791883a889028fb2a2560099ac1a00061e3c/tools/mki-copy-grubpcboot#L40C39-L40C49
Для grub-efi:
https://github.com/legionus/mkimage/blob/0d59791883a889028fb2a2560099ac1a00061e3c/tools/mki-copy-grub-efi-chrooted#L168
Также можно задать переменную UUID_ISO
https://github.com/legionus/mkimage/blob/0d59791883a889028fb2a2560099ac1a00061e3c/docs/Makefile.md?plain=1#L218
Будет создан файл в корне iso образа, а сама isofs будет иметь этот uuid.
Загрузочное меню grub формируется фичей grub из кусочков конфига:
https://github.com/altlinux/mkimage-profiles/tree/master/features.in/grub/cfg.in
--
best regards, Anton Midyukov <antohami@altlinux.org>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel-distro] How to build bootable iso with mkimage
2024-12-03 11:38 ` Eugene Prokopiev
2024-12-03 11:44 ` Anton Midyukov
@ 2024-12-03 21:19 ` Leonid Krivoshein
2024-12-04 5:17 ` Anton Midyukov
2 siblings, 1 reply; 6+ messages in thread
From: Leonid Krivoshein @ 2024-12-03 21:19 UTC (permalink / raw)
To: devel-distro
Добрый вечер!
Судя по тексту ошибке на скрине, нет модулей поддержки блочного
устройства (virtio-blk, к примеру) или файловой системы, которая на нём,
не может смонтировать корень. Возможно ошибка из-за недостачи неявной
зависимости. Например, в образе есть модуль ext4.ko, но нет
crc32-generic.ko или чего-нибудь в этом роде.
On 12/3/24 14:33, Eugene Prokopiev wrote:
> пт, 29 нояб. 2024 г. в 15:23, Eugene Prokopiev <eugene.prokopiev@gmail.com>:
>
>> ... iso-образ собирается, но не загружается, пытаюсь понять куда подложить grub.conf и что в него написать ...
> Не загружается он в том смысле, что вместо загрузки linux/initrd я
> получаю grub shell, а в нем в ответ на set вижу root=`memdisk` и
> prefix=`(memdisk)/boot/grub` - т.е. при сборке iso-образа нужно
> каким-то образом явно указать загрузочное устройство аналогично тому
> как мы это делаем при grub-install? как и где это описано в m-p?
>
> Если я пытаюсь загрузить linux/initrd в grub shell вручную, то я
> получаю kernel panic (см. приложенную картинку), при этом:
>
> - вот так собирается initrd -
> https://git.altlinux.org/people/enp/packages/mkimage-profile-live-minimal-example.git?a=blob;f=scripts.d/01-boot
> - вот с такими параметрами загружается linux/initrd -
> https://git.altlinux.org/people/enp/packages/mkimage-profile-live-minimal-example.git?a=blob;f=data/boot/grub/grub.cfg
>
> Разница с мастер-веткой mkimage-profile-live-minimal-example лишь в
> том, что я пытаюсь использовать вроде бы штатный для mkimage способ
> сборки образа вместо usermode-fs-tools
>
>
> _______________________________________________
> devel-distro mailing list
> devel-distro@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel-distro
--
WBR, Leonid Krivoshein.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel-distro] How to build bootable iso with mkimage
2024-12-03 21:19 ` Leonid Krivoshein
@ 2024-12-04 5:17 ` Anton Midyukov
0 siblings, 0 replies; 6+ messages in thread
From: Anton Midyukov @ 2024-12-04 5:17 UTC (permalink / raw)
To: devel-distro
04.12.2024 00:19, Leonid Krivoshein пишет:
> Добрый вечер!
>
>
> Судя по тексту ошибке на скрине, нет модулей поддержки блочного устройства (virtio-blk, к примеру) или файловой системы, которая на нём, не может смонтировать корень. Возможно ошибка из-за недостачи неявной зависимости. Например, в образе есть модуль ext4.ko, но нет crc32-generic.ko или чего-нибудь в этом роде.
>
Можно взять готовый initrd.mk и конфиг bootchain из iso образов регулярок и использовать их:
.disk/initrd.mk
.disk/bootchain
Команда для сборки initrd там же в файле:
.disk/mkinitrd
>
> On 12/3/24 14:33, Eugene Prokopiev wrote:
>> пт, 29 нояб. 2024 г. в 15:23, Eugene Prokopiev <eugene.prokopiev@gmail.com>:
>>
>>> ... iso-образ собирается, но не загружается, пытаюсь понять куда подложить grub.conf и что в него написать ...
>> Не загружается он в том смысле, что вместо загрузки linux/initrd я
>> получаю grub shell, а в нем в ответ на set вижу root=`memdisk` и
>> prefix=`(memdisk)/boot/grub` - т.е. при сборке iso-образа нужно
>> каким-то образом явно указать загрузочное устройство аналогично тому
>> как мы это делаем при grub-install? как и где это описано в m-p?
>>
>> Если я пытаюсь загрузить linux/initrd в grub shell вручную, то я
>> получаю kernel panic (см. приложенную картинку), при этом:
>>
>> - вот так собирается initrd -
>> https://git.altlinux.org/people/enp/packages/mkimage-profile-live-minimal-example.git?a=blob;f=scripts.d/01-boot
>> - вот с такими параметрами загружается linux/initrd -
>> https://git.altlinux.org/people/enp/packages/mkimage-profile-live-minimal-example.git?a=blob;f=data/boot/grub/grub.cfg
>>
>> Разница с мастер-веткой mkimage-profile-live-minimal-example лишь в
>> том, что я пытаюсь использовать вроде бы штатный для mkimage способ
>> сборки образа вместо usermode-fs-tools
>>
>>
>> _______________________________________________
>> devel-distro mailing list
>> devel-distro@lists.altlinux.org
>> https://lists.altlinux.org/mailman/listinfo/devel-distro
>
--
best regards, Anton Midyukov <antohami@altlinux.org>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-12-04 5:17 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-11-29 8:44 [devel-distro] How to build bootable iso with mkimage Eugene Prokopiev
2024-11-29 12:23 ` Eugene Prokopiev
2024-12-03 11:38 ` Eugene Prokopiev
2024-12-03 11:44 ` Anton Midyukov
2024-12-03 21:19 ` Leonid Krivoshein
2024-12-04 5:17 ` Anton Midyukov
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