Que arquivo ISO, vmlinuz e initrd.gz deve ser usado para instalar o CentOS a partir do Multiboot USB?

0

Eu criei um USB inicializável de inicialização múltipla com o GRUB e o usei para instalar o Debian 8.1 com sucesso. Um USB de inicialização múltipla é aquele que contém as imagens ISO de vários sistemas operacionais, com o GRUB sendo usado para escolher qual delas inicializar.

Para o Debian, é uma chave que:

  1. O Debian 8.1 ISO deve ser o tipo de híbrido. Eu fiz o download do link

  2. Os arquivos vmlinuz e initrd.gz devem ser hd-median para o debian-installer. Eu os baixei do link

O arquivo grub.cfg para instalar o Debian 8.1 é:

menuentry 'to install Debian 8.1 from usb' {
    insmod part_msdos
    insmod ext2
    set isofile="(hd0)/debian-8.1/debian-8.1-hybrid.iso"
    loopback loop $isofile
    linux (hd0)/debian-8.1/vmlinuz
    initrd (hd0)/debian-8.1/initrd.gz
 }

Agora, quero adicionar o CentOS 7 à mesma unidade USB e inicializá-lo no menu GRUB. Existem três tipos de CentOS ISO:

  1. DVD ISO
  2. Tudo ISO
  3. ISO mínimo

Não existe um ISO híbrido para o CentOS como existe para o Debian. Que tipo de arquivo ISO e vmlinuz , initrd.gz arquivos devo usar para instalar o CentOS a partir de USB? Como devo configurar o GRUB para inicializar o ISO do CentOS 7?

Eu testei:

  1. eu baixei CentOS-7-x86_64-LiveCD-1503.iso
  2. montei o ISO e copiei vmlinuz0 e initrd0.img do diretório isolinux
  3. Eu criei uma entrada grub.cfg da seguinte forma:

    menuentry 'to install centos7.1 from usb' {
        insmod part_msdos
        insmod ext2
        insmod ntfs
        set isofile="(hd0,0)/centos-7.1/CentOS-7-x86_64-LiveCD-1503.iso"
        loopback loop $isofile
        linux (hd0,0)/centos-7.1/vmlinuz0    
        initrd (hd0,0)/centos-7.1/initrd0.img
    }
    

Recebi o seguinte erro:

O disco rígido USB que eu estou usando tem uma estrutura de diretórios da seguinte forma:.

├── boot
│   └── grub
│       ├── fonts
│       │   └── unicode.pf2
│       ├── grub.cfg
│       ├── grubenv
│       ├── i386-pc
│       │   ├── 915resolution.mod
│       │   └── zfs.mod
│       └── locale
│           ├── ast.mo
│           ├── ca.mo
│           ├── da.mo
│           ├── vi.mo
│           ├── zh_CN.mo
│           └── zh_TW.mo
├── centos-7.1
│   ├── CentOS-7-x86_64-LiveCD-1503.iso
│   ├── initrd0.img
│   └── vmlinuz0
├── debian-8.1
│   ├── debian-8.1-hybrid.iso
│   ├── initrd.gz
│   └── vmlinuz

Muitos subdiretórios foram excluídos por simplicidade.

    
por it_is_a_literature 19.07.2015 / 14:42

3 respostas

1

Quando você faz referência a onde o arquivo vmlinuz faz referência a partir da raiz do ISO, o diretório centos-7.1 está errado.

Para iniciar a partir de um ISO oficial que tenha sido marcado como um CD ao vivo, você terá que fazer alguns hackers.

Primeiro, identifique o que vmlinuz e initrd eu montaria a imagem iso, e encontre o diretório onde o vmlinuz e o initrd estão. Esse é o diretório que você tem que escrever no seu grub.cfg depois (hd0,0) (By the way, deve ser loop , não (hd0,0)) substituindo centos-7.1 eu também Verifique seus scripts de configuração para ver se algumas opções são necessárias e adicione essas opções.

De qualquer forma, você tem um guia aqui

    
por 22.07.2015 / 09:35
0

O wiki do CentOS tem um guia para instalar a partir do USB que cobre 6.5 e posteriores (incluindo 7.x). Você já tentou essas etapas?

Basicamente, envolve a gravação da imagem ISO em uma unidade USB e a inicialização a partir dela. Então, algo como:

dd if=CentOS-7-x86_64-DVD-1503-01.iso of=/dev/sdb

Onde /dev/sdb é seu pen drive.

Isso é um pouco diferente do seu exemplo Debian, mas você não especifica a inicialização do ISO do GRUB é um requisito apenas "do USB". Se esse for o caso, a resposta do YoMismo tem as informações necessárias.

    
por 22.07.2015 / 09:34
0

Na minha situação, o formato adequado do grub.cfg deve ser o seguinte:

menuentry "to install  CentOS-7.0-1406-x86_64-DVD" {
    insmod part_msdos
    insmod ext2
    insmod ntfs
    set isofile='(hd0)/centos-7.1/CentOS-7-x86_64-DVD-1503-01.iso'
    loopback loop $isofile
    linux (loop)/isolinux/vmlinuz noeject inst.stage2=hd:/dev/sdb:/centos-7.1/CentOS-7-x86_64-DVD-1503-01.iso
    initrd (loop)/isolinux/initrd.img
}
    
por 23.07.2015 / 07:22