Como criar o Ubuntu LiveUSB manualmente

2

A coisa que estou tentando fazer:

  1. Faça um USB inicializável com duas partições (FAT32 e NTFS inicializáveis para dados). (FEITO)
  2. Instale a partição GRUB2 para FAT32. (FEITO)
  3. Faça a inicialização múltipla da partição FAT32, com o Ubuntus instalado persistente.

O último não deve ser tão difícil, mas agora a minha cabeça está prestes a explodir ... Não consigo encontrar em qualquer lugar instruções passo-a-passo sobre como fazer a instalação persistente do Ubuntu em uma partição e não em o diretório raiz (na pasta ubuntu12.04, por exemplo). Neste momento, eu juntei as informações que aparecem na internet e aqui o que eu fiz:

  1. Extraiu o LiveCD ISO do Ubuntu 12.04 para o diretório /ubuntu12.04 .
  2. Criado o arquivo /ubuntu12.04/casper-rw usando dd e mkfs.ext2 it.
  3. Adicionada menuentry a grub.cfg :

    menuentry "Run Ubuntu 12.04.2 Live" {
        linux   /ubuntu12.04/casper/vmlinuz  file=/ubuntu12.04/preseed/ubuntu.seed boot=casper persistent rw quiet splash --
        initrd  /ubuntu12.04/casper/initrd.lz
    }
    

Mas o resultado é sempre o mesmo:

(initramfs): Unable to find a medium containing a live file system.

Onde devo colocar o arquivo casper-rw para que o initramfs o encontre? Ou qualquer coisa para conseguir o que preciso.

    
por MadBrozzeR 27.07.2013 / 01:41

2 respostas

3

Para o Ubuntu 12.04.2, o kernel é /casper/vmlinuz.efi . Observe que .efi foi adicionado recentemente.

Além disso, você não precisa extrair os arquivos do CD, você pode inicializar diretamente do .iso . Aqui está um modelo que eu uso para multiboot USB:

menuentry "YOUR TITLE" {
    insmod ntfs
    insmod iso9660
    loopback loop /distros/FILENAME.ISO
    linux (loop)/casper/vmlinuz.efi persistent boot=casper iso-scan/filename="/distros/FILENAME.ISO" noeject noprompt splash toram --
    initrd (loop)/casper/initrd.lz
}

Dessa forma, posso manter todas as distribuições / versões como arquivos .iso originais em um diretório /distros dentro da partição de dados NTFS. O Grub2 é instalado no MBR e seus arquivos /boot (incluindo o /boot/grub/grub.cfg manuscrito acima) também na partição de dados. O Grub2 foi instalado como:

sudo grub-install --no-floppy --root-directory="/PATH/TO/MOUNTED/USB" "/dev/sdX"
    
por MestreLion 27.07.2013 / 02:18
0

A criação manual do disco de inicialização usando o grub é bastante frágil da minha experiência. Se for feito em um sistema efi, ele não funcionará em sistemas bios, falhando com o erro

error:invalid arch independent ELF magic.
grub rescue>

Em sistemas apenas efi, os bootoaders do bios podem não funcionar. O melhor é ir para o grub-efi e o syslinux assim como o CD ao vivo criado automaticamente.

Você pode querer fazer isso para

a) evita que as pastas e arquivos do bazilion atravancem o pendrive e o tornem inutilizável para qualquer outra finalidade

b) multibooting

A técnica que uso é a seguinte: coloque grub:

sudo grub-install --removable --root-directory=/path/to/mount /dev/sdx

o --removable parece ser necessário ou produz erros engraçados de instalação em alguns computadores com efi

Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
Try 'modprobe efivars' as root.

isso cria uma pasta boot e uma efi . para instalar o syslinux dentro da pasta boot (ao contrário do live cd padrão):

cd /path/to/mount
sudo syslinux --directory boot/syslinux --install /dev/sdx

extraia o ubuntu iso para uma pasta, como o ubuntu ( /path/to/mount/ubuntu ) editar /path/to/mount/boot/grub/grub.cfg para conter:

menuentry "Ubuntu" {
    set gfxpayload=keep
    linux   /ubuntu/casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash live-media-path=/ubuntu/casper --
    initrd  /ubuntu/casper/initrd.lz
}

depois configure o syslinux: copie vesamenu.c32 do diretório isolinux no iso para /path/to/mount/boot/syslinux/vesamenu.c32 crie /path/to/mount/boot/syslinux/slax.cfg para conter:

PROMPT 0
TIMEOUT 90
DEFAULT /boot/syslinux/vesamenu.c32


LABEL Ubuntu
MENU LABEL Ubuntu
    kernel  /ubuntu/casper/vmlinuz.efi  
    append initrd=/ubuntu/casper/initrd.lz boot=casper live-media-path=/ubuntu/casper quiet splash --
    
por staticd 01.08.2013 / 15:08