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

Clodoaldo Santos
clodoaldops

(usa Linux Mint)

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

Clodoaldo Santos
clodoaldops

(usa Linux Mint)

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!!







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts