CentOS grub2 inicialização iso via loopback

3

Eu tenho uma configuração de chave usb para multi-boot de diferentes imagens do Linux. Estou tentando adicionar o CentOS, aqui está uma postagem com entradas semelhantes para grub.cfg

set drive_label=multipass01
set isopath=/iso

menuentry "CentOS-6.3-x86_64-LiveCD" {

# Tried the following root designations;
# root=live:LABEL="multipass01" 
# root=live:LABEL=multipass01 
# root=live:LABEL="multipass01":$isofile
# root=live:LABEL=multipass01:$isofile
# root=live:/dev/disk/by-label/$drive_label$isofile
# root=live:UUID=3A55-12BC:$isofile
# root=live:UUID=:$isofile
# root=UUID=3A55-12BC
# root=live:$isofile
# iso-scan/filename=$isofile

    set isofile="$isopath/CentOS-6.3-x86_64-LiveCD.iso"
    loopback loop $isofile
    linux (loop)/isolinux/vmlinuz0 boot=isolinux root=live:LABEL=multipass01:$isofile rootfstype=auto ro liveimg 3 rhgb rd.luks=0 rd.md=0 rd.dm=0 splash --
    initrd (loop)/isolinux/initrd0.img
}

Aqui está o resultado de tentar inicializar esta entrada (independentemente de qual root= );

editar; bug do fedora relacionado

    
por Thermionix 07.08.2012 / 01:55

3 respostas

1

Eu tentei a mesma abordagem que você (mas os liveos são Fedora 17 para mim), eu falhei também, nós não podemos usar o isofile para a opção root=live: . root=live:LABEL=multipass01:$isofile não pode ser reconhecido (talvez possa ser reconhecido em uma correção futura, mas não posso esperar).

Então usei uma abordagem diferente:

#step 1 create a blank partition that can hold the liveos.(/dev/sdb5)

#step 2 copy the liveos to the partition
dd if=/my-path-to-f17-live-iso of=/dev/sdb5

#step 3 change the grub.cfg,
#note1: don't need to use loopback, just use (hdX,Y).
#note2: "root=" becomes "root=live:/dev/sdb5"
menuentry 'F17 install' --class fedora --class gnu-linux --class gnu --class os {
    insmod part_msdos
    linux (hd1,5)/isolinux/vmlinuz0 linux root=live:/dev/sdb5 rootfstype=auto ro liveimg rd.luks=0 rd.md=0 rd.dm=0 
    initrd (hd1,5)/isolinux/initrd0.img
}

Você também pode tentar essa abordagem, pois o /dev/sdb5 age como um CD / DVD-ROM nessa abordagem.

Outra abordagem é alterar o script python do dracut para que ele reconheça essas opções, mas não acho que valha a pena.

    
por 09.08.2012 / 05:48
0

Também não foi possível encontrar uma resposta viável. Mas parece ser implementado até agora.

Esta postagem menciona um commit que implementa a dita funcionalidade no dracut (é isso que você quer ).

Lembre-se que a opção root = é um parâmetro de linha de comando kernel :

root=       [KNL] Root filesystem
        See name_to_dev_t comment in init/do_mounts.c.

Para que esses tipos de configuração funcionem, você precisa examinar a infraestrutura do initramfs e ver se isso é suportado. (isto é, a montagem do kernel .iso para uso como root aparentemente não é uma tarefa do kernel?)

Se você olhar para o comentário 38 e depois verá algum tipo de instrução passo a passo. Eu vou testar agora mesmo.

EDIT: Isso não vai voar para Centos 6.4: / que tem um com / dracut-004-303.el6.noarch.rpm "> versão antiga do dracut .

    
por 13.12.2013 / 20:56
0

Assim como este

menuentry "CentOS-7.0-1406-x86_64-DVD" {
    set root='hd1,msdos1'
    set isofile='/CentOS-7.0-1406-x86_64-DVD.iso'
    loopback loop $isofile
    linux (loop)/isolinux/vmlinuz noeject inst.stage2=hd:/dev/vdb1:$isofile
    initrd (loop)/isolinux/initrd.img
}
    
por 26.07.2016 / 09:03