grub-mkimage é a chave central para grub criar todos os outros materiais quando necessário.
Por exemplo, grub-[install,mkstandalone,mkrescue] refere-se ao uso de grub-mkimage , portanto, assim que grub-mkimage for compreendido, tudo parece fácil de ser feito.
grub-mkimage tem 2 maneiras de "anexar" um arquivo de configuração à sua imagem:
-
opção
-c,--config=File(incorpora FILE como uma configuração antecipada) -
opção
-m,--memdisk=file(inclua FILE como um memdisk contendo eventualmente um arquivo de configuração)
Exemplo: configuração incorporada [$prefix]/boot/grub/[x86_64-efi/]grub.cfg
O memdisk é um dispositivo de disco virtual visto por grub , tendo um tarfs filesystem; os vários módulos sentados lá estão "prontos para uso", o que significa que
pode ser carregado por insmod diretamente. Mas eles não são diretamente chamados como o
"módulos pré-carregados" como aqueles nas opções --modules="blah blah...:"
(os últimos são semelhantes aos drivers carregados em initramfs no Linux OS)
A melhor demonstração para essa asserção é usar um comando de linha
para remasterizar um livecd_only_biosPC_awared em um livecd_isohybrid_bios_and_efi_awared
xorriso -osirrox on -indev TinyCorePure64-6.0.iso -outdev new.iso \
-cpr efime.img /boot -- \
-rm /boot/isolinux/boot.cat -- \
-mkdir /.disk /boot/grub -- \
-cpr grub.cfg /boot/grub -- \
-cpr info /.disk/info -- \
-as mkisofs -graft-points -volid "tinyefi" -r -J -l -eltorito-boot boot/isolinux/isolinux.bin -eltorito-catalog boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -isohybrid-mbr /usr/lib/syslinux/isohdpfx.bin -eltorito-alt-boot -e boot/efime.img -no-emul-boot -isohybrid-gpt-basdat
onde
- ftp: // ftp .nluug.nl / pub / os / Linux / distr / tinycorelinux / 6.x / x86_64 / archive / 6.0 / TinyCorePure64-6.0.iso
-
grub.cfgé configuração simples para reproduzirisolinux.cfgda ISO ao vivo original -
O bootloader
efime.imgé obtido comgrub-mkimage -m memdisk -O x86_64-efi -o grubx64.efi --compression=xz disk part_msdos part_gpt linux linux16 loopback normal configfile test search search_fs_uuid search_fs_file true iso9660 test search_label efi_uga efi_gop gfxterm gfxmenu gfxterm_menu fat ext2 ntfs cat echo ls memdisk tar -
O mais simples memdisk contém
(memdisk)/boot/grub/grub.cfgcomo arquivo de configuração incorporado antecipadamente.
Tudo isso aparecerá em breve como exercícios no grub-mkBootx64.efi @ sourceforge.net / projects / toysbox