Como setar root=?? para dar boot no .iso via grub

1. Como setar root=?? para dar boot no .iso via grub

Leomar de Oliveira
leoCCB

(usa Slackware)

Enviado em 22/02/2022 - 20:44h

Saudações Linuxers...
Eu ferrei 3 pendrives tentando fazer bootável para instalar OS's em diferentes partições do meu notebook. Depois desse prejuízo, resolvi me aventurar a inicializar uma iso diretamente do grub de inicialização do kubuntu, nesse caso. Me basiei aqui "https://www.linuxbabe.com/desktop-linux/boot-from-iso-files-using-grub2-boot-loader" ,, "https://www.howtogeek.com/196933/how-to-boot-linux-iso-images-directly-from-your-hard-drive/" ,, e aqui "https://debianbrasil.gitlab.io/FiqueEmCasaUseDebian/arquivos/2020-05-21-como-utilizar-o-grub-para-iniciar-live-isos.pdf" e em mais alguns q nem me lembro mais. Também instalei o grml-rescueboot (não conhecia e achei muito interessante). Mas nesse programa aí parece ser só para isos do ubuntu, mas serviu para me dar ideia de linhas do grub. Também instalei o grub-imageboot, mas pedia para iniciar usando a memória (possivelmente rã (hehehe) e não carregava).
A questão é que baseado em toda essa parafernália e mais o arquivo grub.cfg do próprio HardCore eu consegui dar o boot com esse bloquinho no /etc/grub.d/40_custom
menuentry "Bootable ISO Image: Redcore-21024" {
set gfxpayload=keep
insmod part_gpt
insmod ext2
set root='hd0,gpt7'
set isofile="/leo-isos/Redcore-21024.iso"
loopback loop ${isofile}
if [x$feature_platform_search_hint=xy]; then
search --no-floppy --fs-uuid --set=root 58cdba57-b3ce-469d-93e1-408671707d6c
fi
set isofile="/leo-isos/Redcore-21024.iso"
loopback loop ${isofile}
linux (loop)/boot/vmlinuz rd.live.image root=UUID="15afc063-0830-4a18-bc62-c096f4be16eb" rootfstype=auto vconsole.keymap=us rd.locale.LANG=en_US.utf8 audit=0 loglevel=1 console=tty0 rd.live.overlay.thin=1 rd.luks=0 rd.lvm=0 rd.md=0 rd.dm=0 splash quiet ${acpi_opt} --
initrd (loop)/boot/initrd
}

Pra conseguir eu tive que copiar a o imagem .iso na partição com o root=UUID=15afc063-0830-4a18-bc62-c096f4be16eb, com o comando rsync, mas eu queria saber como fazer sem precisar da partição, usando a própria iso. Testei root=${isofile}, etc, mas não consegui.... alguém tem os dons de me dar uma luz aí??



  


2. Re: Como setar root=?? para dar boot no .iso via grub

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 23/02/2022 - 22:03h


Tenta colocar a iso na partição /boot que vai estar disponível logo no começo do boot. Em relação aos pendrives vc pode investigar a cópia para mídias externas, talvez alguns ajustes no kernel via sysctl. Acho que queimar vários pendrives não é algo normal. Vc pode considerar também se não há algum problema na máquina(p ex. fonte)


3. Re: Como setar root=?? para dar boot no .iso via grub

Leomar de Oliveira
leoCCB

(usa Slackware)

Enviado em 23/02/2022 - 23:05h

leandropscardua escreveu:


Tenta colocar a iso na partição /boot que vai estar disponível logo no começo do boot. Em relação aos pendrives vc pode investigar a cópia para mídias externas, talvez alguns ajustes no kernel via sysctl. Acho que queimar vários pendrives não é algo normal. Vc pode considerar também se não há algum problema na máquina(p ex. fonte)


Não só pendrives, mas também HD's... queimou 1 a cada 6 meses, mas imaginei que fosse problema nos próprios HD's, Isso que vc falou faz todo sentido agora!! Também achei que pudessem ser os arquivos iso no flash com o comando dd...




4. Re: Como setar root=?? para dar boot no .iso via grub

Leomar de Oliveira
leoCCB

(usa Slackware)

Enviado em 26/02/2022 - 20:36h


leandropscardua escreveu:


Tenta colocar a iso na partição /boot que vai estar disponível logo no começo do boot. Em relação aos pendrives vc pode investigar a cópia para mídias externas, talvez alguns ajustes no kernel via sysctl. Acho que queimar vários pendrives não é algo normal. Vc pode considerar também se não há algum problema na máquina(p ex. fonte)


coloquei a iso no /boot, setei o root como o (loop)/LiveOS/squashfs.img, tentei outros arquivos e nada... vou ver se vem mais alguma coisa à mente!!


5. Re: Como setar root=?? para dar boot no .iso via grub

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 27/02/2022 - 22:57h


leoCCB escreveu:


leandropscardua escreveu:


Tenta colocar a iso na partição /boot que vai estar disponível logo no começo do boot. Em relação aos pendrives vc pode investigar a cópia para mídias externas, talvez alguns ajustes no kernel via sysctl. Acho que queimar vários pendrives não é algo normal. Vc pode considerar também se não há algum problema na máquina(p ex. fonte)


coloquei a iso no /boot, setei o root como o (loop)/LiveOS/squashfs.img, tentei outros arquivos e nada... vou ver se vem mais alguma coisa à mente!!

Eu acho que a variável root não se define nesse tipo de boot, do contrário fica ambíguo de onde ele vai carregar o sistema.



6. Re: Como setar root=?? para dar boot no .iso via grub

Leomar de Oliveira
leoCCB

(usa Slackware)

Enviado em 28/02/2022 - 00:04h

leandropscardua escreveu:


leoCCB escreveu:


leandropscardua escreveu:


Tenta colocar a iso na partição /boot que vai estar disponível logo no começo do boot. Em relação aos pendrives vc pode investigar a cópia para mídias externas, talvez alguns ajustes no kernel via sysctl. Acho que queimar vários pendrives não é algo normal. Vc pode considerar também se não há algum problema na máquina(p ex. fonte)


coloquei a iso no /boot, setei o root como o (loop)/LiveOS/squashfs.img, tentei outros arquivos e nada... vou ver se vem mais alguma coisa à mente!!

Eu acho que a variável root não se define nesse tipo de boot, do contrário fica ambíguo de onde ele vai carregar o sistema.


Sem o root também não funciona.... tem a definição de root para a partição onde está o arquivo iso
"set root='hd0,gpt7'"
root com UUID da partição sda7
search --no-floppy --fs-uuid --set=root 58cdba57-b3ce-469d-93e1-408671707d6c
e o root que deveria ser a iso
linux (loop)/boot/vmlinuz rd.live.image root=UUID="15afc063-0830-4a18-bc62-c096f4be16eb"
essa última linha aí é a UUID de uma partição que eu fiz para copiar os dados da iso e é nela que eu faço os testes... vou colocar o grub.cfg da iso pra ver se vc ou outra pessoa tem uma luz, pq eu não tenho mais ideias



iso_distro=Redcore
export iso_distro

iso_version=2102
export iso_version

iso_theme=redcore
export iso_theme

iso_label=REDCORE
export iso_label

set timeout=10
set default=0
set pager=1

function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}

loadfont /boot/grub/themes/$iso_theme/dejavu_12.pf2

loadfont /boot/grub/fonts/unicode.pf2

set gfxmode=1366x768x32,1024x768x32,auto
load_video
insmod png
insmod gfxterm
insmod gettext
terminal_output gfxterm
insmod gfxmenu
insmod part_gpt

set theme="/boot/grub/themes/$iso_theme/theme.txt"
background_image -m stretch /boot/grub/themes/$iso_theme/terminal_bg.png

if [ x$bootlang = x ]; then
bootlang=en_US.utf8
export bootlang
fi

if [ x$bootkeymap = x ]; then
bootkeymap=us
export bootkeymap
fi

if [ x$acpi_opt = x ]; then
acpi_opt=''
export acpi_opt
fi

menuentry "Start $iso_distro $iso_version" --class redcore --class gentoo --class gnu-linux {
set gfxpayload=keep
echo "Language: ${bootlang}"
echo "Keyboard: ${bootkeymap}"
echo "Please wait..."
linux /boot/vmlinuz rd.live.image root=CDLABEL=$iso_label rootfstype=auto vconsole.keymap=${bootkeymap} rd.locale.LANG=${bootlang} audit=0 loglevel=1 console=tty0 rd.live.overlay.thin=1 rd.luks=0 rd.lvm=0 rd.md=0 rd.dm=0 splash quiet ${acpi_opt} --
initrd /boot/initrd
}

submenu "Advanced Options" {

menuentry "Disable ACPI" {
echo "Disabling ACPI..."
set acpi_opt="noacpi acpi=off"
export acpi_opt
configfile /boot/grub/grub.cfg
}

}

submenu "Language Selection" {

menuentry "English UK" {
echo "Switching to: $chosen"
set bootlang=en_GB.utf8
export bootlang
export lang
configfile /boot/grub/grub.cfg
}

menuentry "English US" {
echo "Switching to: $chosen"
set bootlang=en_US.utf8
export bootlang
export lang
configfile /boot/grub/grub.cfg
}

menuentry "Romanian" {
echo "Switching to: $chosen"
set bootlang=ro_RO.utf8
export bootlang
export lang
configfile /boot/grub/grub.cfg
}

}

submenu "Keyboard Selection" {

menuentry "English UK" {
echo "Switching to: $chosen"
set bootkeymap=gb
export bootkeymap
configfile /boot/grub/grub.cfg
}

menuentry "English US" {
echo "Switching to: $chosen"
set bootkeymap=us
export bootkeymap
configfile /boot/grub/grub.cfg
}

menuentry "Romanian" {
echo "Switching to: $chosen"
set bootkeymap=ro
export bootkeymap
configfile /boot/grub/grub.cfg
}

}


eu tento editar essa linha com o comando linux e tem ali o root com duas igualdades, com a variável $iso_label=REDCORE e CDLABEL definidos lá no começo do script... e eu não consegui achar essas variáveis em nenhum outro arquivo... mas acho que vou usar o comando grep pra isso, nem que demore um pouco... kkkkk ou peço ajuda aos desenvolvedores, eles conhecem todos os atalhos... será que são acessíveis? Me pouparia um trabalho hercúleo...
linux /boot/vmlinuz rd.live.image root=CDLABEL=$iso_label rootfstype=auto vconsole.keymap=${bootkeymap} rd.locale.LANG=${bootlang} audit=0 loglevel=1 console=tty0 rd.live.overlay.thin=1 rd.luks=0 rd.lvm=0 rd.md=0 rd.dm=0 splash quiet ${acpi_opt} --

depois faço um boot e tiro um "retrato" da tela reclamando que o root não está correto, e fala para adicionar um outro parâmetro q não lembro de cabeça agora (redbug) algo assim para apontar os erros. Acusa que não gera ou acessa um arquivo de root...
obrigado pela atenção e pelas dicas e pela atenção...






7. Re: Como setar root=?? para dar boot no .iso via grub

Perfil removido
removido

(usa Nenhuma)

Enviado em 28/02/2022 - 00:06h


leandropscardua escreveu:


Tenta colocar a iso na partição /boot que vai estar disponível logo no começo do boot. Em relação aos pendrives vc pode investigar a cópia para mídias externas, talvez alguns ajustes no kernel via sysctl. Acho que queimar vários pendrives não é algo normal. Vc pode considerar também se não há algum problema na máquina(p ex. fonte)


Concordo plenamente... Uso o mesmo pendrive pra gravar meus live-usb há mais de cinco anos... E confesso que formato e crio novos live-usb com uma frequência muito grande...




8. Re: Como setar root=?? para dar boot no .iso via grub

Leomar de Oliveira
leoCCB

(usa Slackware)

Enviado em 28/02/2022 - 13:38h


clodoaldops escreveu:


leandropscardua escreveu:


Tenta colocar a iso na partição /boot que vai estar disponível logo no começo do boot. Em relação aos pendrives vc pode investigar a cópia para mídias externas, talvez alguns ajustes no kernel via sysctl. Acho que queimar vários pendrives não é algo normal. Vc pode considerar também se não há algum problema na máquina(p ex. fonte)


Concordo plenamente... Uso o mesmo pendrive pra gravar meus live-usb há mais de cinco anos... E confesso que formato e crio novos live-usb com uma frequência muito grande...



vou ter que pesquisar a respeito... achei que fosse o comando dd... sabi nada inocenti kkkkk




9. Re: Como setar root=?? para dar boot no .iso via grub

Perfil removido
removido

(usa Nenhuma)

Enviado em 28/02/2022 - 18:05h

Nunca perdi pendrive usando DD para criar live-usb
https://www.vivaolinux.com.br/dica/Comando-dd-para-Iniciantes

Mas confesso que nunca tentei isso que vc pretende fazer...




10. Re: Como setar root=?? para dar boot no .iso via grub

Leomar de Oliveira
leoCCB

(usa Slackware)

Enviado em 01/03/2022 - 17:54h


clodoaldops escreveu:

Nunca perdi pendrive usando DD para criar live-usb
https://www.vivaolinux.com.br/dica/Comando-dd-para-Iniciantes

Mas confesso que nunca tentei isso que vc pretende fazer...


minh ideia seria dar boot nas isos usando o grub, como o grub-rescue do ubuntu (funciona só com isos ubuntu)... mas no caso do RedCore não acerto o parâmetro roo=qualquercoisa... o que deu certo foi só quando eu copiei o conteúdo da iso (montei e fiz um rsync) para uma partição, e fiz root="UUID da partição", que foi onde montou a partição raiz... eu queria dar um jeito de montar a partição raiz dentro da própria iso, mas acho que deveria antes montá-la em alguma partição, mas não sei se isso é possível no grub.cfg... vou fazendo os testes aqui...




11. Re: Como setar root=?? para dar boot no .iso via grub

Ricardo Fabiano Silva
madrugada

(usa Gentoo)

Enviado em 03/03/2022 - 15:24h

Use o loopback semelhante a configuração abaixo:
https://www.vivaolinux.com.br/artigo/Multiboot-pelo-pendrive-usando-grub2-instalando-varias-distros-...


12. Re: Como setar root=?? para dar boot no .iso via grub

Leomar de Oliveira
leoCCB

(usa Slackware)

Enviado em 04/03/2022 - 22:31h


madrugada escreveu:

Use o loopback semelhante a configuração abaixo:
https://www.vivaolinux.com.br/artigo/Multiboot-pelo-pendrive-usando-grub2-instalando-varias-distros-...


Grande madrugada... tudo na paz, irmão... vou testar essas dicas aí, com certeza... aquela que der certo eu coloco aqui!!