Como bootar uma imagem ISO no seu HD com EFI
Para entender o porquê de eu ter esse setup veja Como bootar uma imagem ISO usando o Grub.
Aqui vou mostrar primeiro como usar um arquivo squashfs e depois uma ISO do Ubuntu.
Meu setup é um laptop Arch Linux usando UEFI e systemd-boot. Para ver como fazer o mesmo usando grub veja o outro post.
GRML Small
Baixe a ISO: grml.org.
Primeiro você precisa copiar alguns arquivos da ISO.
Monte a ISO e entre nela com cd
:
$ mkdir /boot/grml
$ cp boot/grml64small/vmlinuz boot/grml64small/initrd.img live/grml64-small/grml64-small.squashfs /boot/grml
Crie o arquivo /boot/loader/entries/grml.conf
:
title Grml Live Linux
linux /grml/vmlinuz
initrd /grml/initrd.img
options apm=power-off boot=live live-media-path=/grml/ nomce net.ifnames=0
GRML Full
Para a versão full o comando é similar, apenas substitua small por full:
$ cp boot/grml64full/vmlinuz boot/grml64full/initrd.img live/grml64-full/grml64-full.squashfs /boot/grml
O arquivo entry é similar, mas não idêntico. Certifique-se de atualizá-lo.
Ubuntu
Com Ubuntu é similar, ainda é necessário copiar um initrd.img
, vmlinuz
, mas também a ISO.
Para isso é necessário monta a ISO pelo menos uma vez para copiar casper/initrd
e casper/vmlinuz
.
Depois desse setup inicial atualizar é apenas copiar a imagem ISO para /boot
novamente. (Opcionalmente copie os outros arquivos).
Primeiro copie a ISO para /boot
.
Monte a ISO e cd
para o diretório no qual ela está montada, então:
$ mkdir /boot/casper
$ cp casper/initrd casper/vmlinuz /boot/casper
Crie o arquivo /boot/loader/entries/ubuntu.conf
:
title Ubuntu Linux
linux /casper/vmlinuz
initrd /casper/initrd
options boot=casper iso-scan/filename=/ubuntu-20.04-desktop-amd64.iso noeject noprompt
Lembre-se de atualizar a última linha com o nome correto da sua ISO.
Também lembre-se que a ISO está em /boot
, mas os outros arquivos estão em /boot/casper
.
Se quiser mais facilidade renomeie a ISO para ubuntu.iso
desta forma você não precisa atualizar o arquivo entry toda vez que atualizar a ISO.
Para mais opções para o casper seja: https://manpages.ubuntu.com/manpages/xenial/man7/casper.7.html.