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.cfg
da 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.cfg
como arquivo de configuração incorporado antecipadamente.
Tudo isso aparecerá em breve como exercícios no grub-mkBootx64.efi @ sourceforge.net / projects / toysbox