Компилирую (легковесное) ядро Linux. Основываясь, вообще говоря, на этом + патчи от Gentoo (но и без них - так же).
В QEMU ядро не видит диска - https://gist.github.com/kuraga/1dd577489e726046095c8567ddb499d3 :
VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6
Please append a correct "root=" boot option; here are the available partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Сборка и запуск:
make clean
make mrproper
make distclean
rm -f boot/{config,System.map,vmlinuz}-5.15.59-gentoo
make tinyconfig
./scripts/config -e CONFIG_64BIT
./scripts/config -d CONFIG_EMBEDDED
./scripts/config -d CONFIG_EXPERT
./scripts/config -e CONFIG_HYPERVISOR_GUEST
./scripts/config -e CONFIG_X86_X2APIC
./scripts/config -e CONFIG_PARAVIRT
./scripts/config -e CONFIG_KVM_GUEST
./scripts/config -e CONFIG_SERIAL_8250
./scripts/config -e CONFIG_SERIAL_8250_CONSOLE
./scripts/config -e CONFIG_PCI
./scripts/config -e CONFIG_VIRTIO_PCI
./scripts/config -e CONFIG_VIRTIO_PCI_LEGACY
./scripts/config -e CONFIG_VIRTIO_BLK
./scripts/config -e CONFIG_EXT4_FS
./scripts/config -e CONFIG_EXT4_USE_FOR_EXT2
./scripts/config -e CONFIG_EXT4_FS_POSIX_ACL
./scripts/config -e CONFIG_BINFMT_ELF
./scripts/config -e CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS
./scripts/config -e CONFIG_GENTOO_LINUX
./scripts/config -e CONFIG_GENTOO_LINUX_UDEV
./scripts/config -e CONFIG_GENTOO_LINUX_PORTAGE
./scripts/config -e CONFIG_GENTOO_LINUX_INIT_SCRIPT
./scripts/config -d CONFIG_GENTOO_LINUX_INIT_SYSTEMD
./scripts/config -e CONFIG_NET
./scripts/config -e CONFIG_NAMESPACES
yes "" | make oldconfig
make -j16
make install
$ fdisk -l hdd.img
Диск hdd.img: 8 GiB, 8589934592 байт, 16777216 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: gpt
Идентификатор диска: DE5E4E6E-4344-48B6-A748-763F8612F635
Устр-во начало Конец Секторы Размер Тип
hdd.img1 2048 526335 524288 256M EFI
hdd.img2 526336 16777182 16250847 7.7G Файловая система Linux
$ qemu-system-x86_64 -kernel boot/vmlinuz-5.15.59-gentoo -append 'console=ttyAMA0,115200 console=tty highres=off console=ttyS0 root=/dev/vda2 init=/bin/bash' -drive file=hdd.img,format=raw -nographic -serial file:output -m 512
ЧЯДНТ? Спасибо.
P.S. UEFI видит файлы в разделе.