uso real de 'grub-mkimage --config ='

1

No Linux, com o GRUB 2 Bootloader, tento descobrir o uso real da opção --config= em grub-mkimage . O man 1 grub-mkimage sobre este tópico:

-c, --config=FILE
embed FILE as an early config

Meu primeiro palpite seria /boot/grub/grub.cfg - > mas depois há um comando separado para construir este arquivo, o que me leva longe deste palpite. Outro palpite é /boot/config-3.16.0-4-686-pae ( file da saída: "Linux make config build file, texto ASCII"). Os outros arquivos que eu encontrei não eram ASCII, mas arquivos binários, o que também não é muito provável de ser feito, eu acho.

Pergunta : Que arquivo, ou tipo de arquivo, pode ser entendido?

UPDATE : Encontrei este na documentação do gnu.org para GRUB 2 , entre os comandos para o prompt do GRUB:

configfile file
Load FILE as a configuration file. If FILE defines any menu entries, then show a menu containing them immediately.

Provavelmente o mesmo arquivo? Sidenot engraçado: O manual on-line aparentemente não menciona essa opção.

UPDATE 2 : Encontrou a seguinte linha na saída de grub-mkrescue --output grub.iso --verbose

grub-mkrescue: info: grub-mkimage --directory '/usr/lib/grub/i386-pc' --prefix '/boot/grub' --output '/tmp/grub.ZiXwO6/boot/grub/i386-pc/eltorito.img' --format 'i386-pc-eltorito' --compression 'auto' --config '/tmp/grub.UtCj8W' 'biosdisk' 'iso9660''

Então --config '/tmp/grub.UtCj8W' exclui /boot/grub/grub.cfg .. de alguma forma? E não, eu não encontrei nada mencionado sobre configuração ao executar grub-install com a saída verbosa ativada

UPDATE 3 : man 1 grub2-mkstandalone abre man 3 grub2-mkstandalone , mas a emissão de man 3 grub2-mkstandalone leva a uma mensagem de erro. Além disso, grub-mkimage --config= parece aparecer apenas na página de manual, mas nem na --help nem na --usage output.

    
por erch 06.01.2016 / 17:54

1 resposta

1

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:

  1. opção -c , --config=File (incorpora FILE como uma configuração antecipada)

  2. 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

  1. ftp: // ftp .nluug.nl / pub / os / Linux / distr / tinycorelinux / 6.x / x86_64 / archive / 6.0 / TinyCorePure64-6.0.iso
  2. grub.cfg é configuração simples para reproduzir isolinux.cfg da ISO ao vivo original
  3. O bootloader efime.img é obtido com

    grub-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

  4. 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

    
por 31.03.2016 / 10:30

Tags