Hace 4 años | Por mr_b a maslinux.es
Publicado hace 4 años por mr_b a maslinux.es

GRUB (Grand Unified Bootloader) es un gestor de arranque disponible del proyecto GNU y es el primer programa que se inicia cuando se enciende el ordenador para posteriormente transferirle el control al núcleo del sistema operativo. GRUB es el gestor de arranque predeterminado para casi todas las distribuciones de GNU/Linux, pero ¿hay vida más allá de GRUB? La respuesta inmediata es sí.

Comentarios

D

#1 Eso mismo pensé yo cuando querían sustituir el lilo de toda la vida por un tal grub lol. No hay que cerrarse a los cambios hombre, a veces son para mejor

Conde_Lito

#1 Arrancas desde un pendrive o un CD en modo rescue y vuelves a instalar el cargador de arranque desde el programa de instalación.


Por cierto, en el artículo sen han olvidado de incluír yaboot, el cargador de arranque de los Macintosh e IBM con arquitectura PPC.
grub no funciona muy bien en esta arquitectura, el framebuffer va muy lento, se está venga a retrazar la imagen en el monitor cada vez que haces algo en el menú, además de fallar o no funcionar un montón de características, pero al menos han conseguido que arranque el sistema operativo sin tener que utilizar forzosamente yaboot.
Las versiones inestables de Debian (sid) para PPC ya vienen con grub por defecto como cargador de arranque.

D

#20 Eso es porque Grub fué diseñado para VGA en Intel. De hecho emular una VGA pura en Qemu, en modo 10h? es una forma de ver como se redibuja TODO a velocidad desesperante en i3 al menos en los modos esos de bajo nivel.

editado:
No recuerdo el modo.

Conde_Lito

#22 Creo que el problema está en que la arqutectura del ordenador (PPC) y el OpenFirmware no dejan acceder directamente al hardware desde un cargador de arranque o desde el propio OpenFirmware, ya que la tasa de refresco también es eternizante cuando te metes en este último y es en modo texto puro y duro, fondo blanco con letras en negro y sin más filigranas, lo mismo con el selector de arranque gráfico que traen los Apple de aquella época.

Con una resolución baja de por ejemplo 800x600 funciona bastánte fluído, tanto grub, como el OpenFirmware o el selector de arranque de Apple, pero con una resolución de por ejemplo 1920x1200... 😖 va bastante lento.
Además hay que tener en cuenta que los ordenadores estos tampoco funcionaban a unas frecuencias muy altas, con el que he hecho pruebas, un G4, va a 533Mhz aunque los malditos rindieran mejor que un Pentium III a 1000Mhz...

Una vez que sale del cargador de arranque y empieza a cargar el SO la fluidez es totalmente normal a cualquier resolución, y una vez ha cargado el controlador gráfico (nvidia) tengo sin problema aceleración gráfica tanto en OS X como con la distribución Debian que tengo instalada.

D

#25 Curioso. En PPC antes (y creo ahora también) Xorg/Xenocara van bastante bien y hay aceleración mínima en OpenBSD PPC.

Sí, se que los G4 eran una bestia, y eran usados por editores de video (amateur y no) como setas.

En OpenBSD puedes trabajar en CLI perfectamente, pero lo recomendable es usar X con un gestor mínimo (trae cwm, twm y fvwm) de serie y ahí arrancar XTerm's y visores gráficos para lo que sea, ya que el TTY (wscons) no tiene soporte de imágenes como en Linux.

Total, no van a usar demasiados recursos por usar X. Que es un sistema donde los Sun m68k iban a velocidad glacial, pero iba.

Y bueno, los Gen-Z admiran demasiado a los Unix "con pedigrí" comerciales. En muchos casos eran una puta mierda donde un NetBSD o GNU Linux (Bash ya tenia bastante mejor fama que SH) se los comían en Intel excepto cosas muy tochas como los Sun Blade y maquinones de HP. El resto? CPU Intel tipo Pentium2/3 y una VooDoo y sobre todo las GeForce hicieron el resto.

Y eso que GNU/Linux hoy tiene fama de sobrecargado respecto a BSD, pero es que antes los Unix eran lentorros de cojones y SIN "features". Y la gente despreciando a FVWM, pero luego comparaban velocidades contra CDE y ya muchos le dieron la patada a esas máquinas.

Sobre cargadores de arranque, [E]Lilo lo sigue petando en Slackware y Syslinux en Alpine es bastante manejable.

Conde_Lito

#27 X va sin problemas en un G4 con por ejemplo la última versión de xfce, con mate va un poco peor, se nota que le cuesta, gnome ni entra por temas de aceleración gráfica ya que no la tiene completa.
No hay drivers de nvidia antiguos para una versión nueva de X y además nvidia creo que tampoco ha sacado drivers para linux PPC, así que toca tirar de nouveau y como no reconoce bien la gráfica ya que fue un apaño que hice, nouveau dice que no se puede encontrar una BIOS-ROM válida en la gráfica, ni en la NVRam o PRAM del ordenador... roll
Convertí una gráfica para arquitectura x86 en una para PPC flasheando el firm y cortando un par de pistas del AGP para que la gráfica fuera AGPx2 y de ahí que nouveau se vuelva loco.
Lo curioso del caso es que en cambio con OS X tengo aceleración completa y corren sin problemas programas de modelado 3D como el Blender.

También funcionaba bastánte bien, a su ritmo, hasta hace cosa de año y pico kde-plasma. Ahora las ventanas que tienen aceleración se ven color azul y/o cian...

Hay que decir que el ordenador tiene instalado 1.5Gb de RAM y de ahí que también vaya más o menos bien con estos escritorios, con 512Mb iría mal hasta con xfce al hacer un par de cosas, y lógicamente mejor olvidarse de internet y de los exploradores más o menos nuevos independientemente de la cantidad de RAM que tenga instalada, aunque no te chupen toda la RAM el ordenador va ahogadísimo.

D

#43 en nouveau montaron un fork desde Debian PPC con un apaño.

Conde_Lito

#44 Tengo instalado Debian en el PPC pero la aceleración gráfica brilla por su ausencia, yo creo que es por el tema de que la grafica x86 esté apañada para que funcione en un PPC.

Conde_Lito

#47 Gracias, me la guardo en marcadores y ya probaré si funciona el tema cuando vuelva a desempolvar el G4.

D

#48 Yo metería OpenBSD en el G4, junto con ScummVM y emuladores. Te tirarían bastantes cosas.

Conde_Lito

#49 Lo intentaré, me encanta cacharrear todo lo que pueda.

v

Grub, mi villano favorito.

prejudice

#4 Lilo y Stitch

hasta_los_cojones

#7 Cuando pulso la tecla de seleccionar medios, me sale la lista de dispositivos.

Pero hasta la fecha no he visto que me muestre la lista de sistemas operativos en diferentes particiones.

Estaría genial algún enlace.

Am_Shaegar

Estaría bien que la propia BIOS UEFI se encargara de esto sin cargadores intermediarios.

Pudiendo configurar parámetros y demás.

Y luego si se necesita elegir otra opción de arranque pues se le dé a la tecla de función correspondiente.

hasta_los_cojones

#3 con selector de arranque???

Conde_Lito

#2 Ampliando lo que dice #3
De ahí que puedas arrancar sin problema un pendrive con la instalación de Windows con solo copiar todos los archivos de instalación que trae el DVD, o que no puedas marcar una partición de arranque en una partición GPT ya que no tiene sentido un sector de arranque.

Esto viene del firmware EFI, que era anterior al UEFI. Invento de Intel para sus procesadores Itanium que no tardó en adoptar Apple allá por 2006 con los nuevos ordenadores que sacaron con arquitectura x86.
Pero es que la idea aún viene de más atrás, del firmware Openfirmware utilizaban los Sun, IBM y los ordenador de Apple, los famosos G3, G4, G5 y similares.
Entrando en el OpenFirmware podías arrancar directamente el OS X o cualquier otro sistema operativo compatible, indicando desde que disco duro, u otros dispositivos como el USB o la red, y la partición donde se encontraba el sistema operativo.

boot ide1:3,\:tbxi
Con esto le dices al OpenFirmware que arranque desde el sistema operativo compatible que encuentre, si es que hay instalado uno, (:tbxi) en la tercera partición del disco duro que está como esclavo en el IDE1
El problema era cuando no te quedaba otra que poner la ruta entera donde estaba situado ese hardware desde donde quierías arrancar..., /pci@f2000000/mac-io@17/ata-4@1f4000/disk@1,3,\:tbxi roll

Da igual cual de los dos escribas en la línea de comandos del OpenFirmware, el comando corto es un alias que apunta a la orden larga, que es la que realmente va a entender el OpenFirmware.

Si quieres arrancar ejecutando un programa que está en un directorio específico solo hay que cambiar el :tbxi por la ruta del directorio y el programa desde el cual quieres arrancar.
boot ide1:3,\aaaaaboot.xyz

D

#23 Eso me recuerda que ahora puedes arrancar OS9 y OSX en Qemu PPC en las versiones upstream (desde GIT). Estan metiendo soporte hasta de la AtiRage en forma de emulación y todo.

Ojalá metan un JIT mejor que el TCG en Qemu, anda que no me molaría volver a reinstalar OSX Tiger PPC.

Conde_Lito

#29 Tengo que probar Qemu más a fondo, apenas he trasteado con él y tiene pinta de ser muy potente.

Am_Shaegar

#3 #14 #23 Pues yo no he visto la forma de "atacar" directamente al fichero del kernel de mi instalación de Linux y ponerle los parámetros adecuados desde los menús de configuración de mi placa base (que es lo que estaba intentando decir en mi primer comentario).

Cierto es que veo "registradas" las entradas correspondientes a mi Windows y mi Linux, pero porque va a mirar a la partición de EFI donde están los cargadores de Windows y Linux.

R

#33 Basado en el manual que puse antes, esta es la seccion donde defines parametros para el kernel:
https://wiki.archlinux.org/index.php/EFISTUB#efibootmgr

a

#35 Pues oye. Aúnque sabía que últimamente se había añadido soporte para el kernel Linux para que pudiera ser arrancado directamente por UEFI (es decir, que el kernel es una aplicación UEFI) nunca se me había pasado por la cabeza que se podía añadir al menú de la UEFI incluyendo sus parámetros de arranque.

Esto da para una nueva opción para Rescatux ( https://www.supergrubdisk.org/rescatux/ ).

Siempre y cuando tengas UEFI puedes recrear en base a tus kernels y initds un menú en UEFI para usarlo más tarde.
Aún cuando por alguna razón en tu distribución hayas desinstalado el paquete de Grub podrías arrancar mediante un menú de arranque fijo.
(Esto ya lo hace al vuelo Super Grub2 Disk por cierto pero te obliga a tener siempre su disco insertado.)

Eso sí, si los kernel/initrds están en una partición diferente de la de sistema ya no sé si sabría muy bien cómo asignar una con otra. Bueno, ahora que pienso se lo puedo preguntar al usuario final.

De todas maneras dos preguntas me surgen:
- ¿Cómo llamamos a esta nueva hipotética opción?
- ¿Vale la pena invertir tiempo en esta opción si la mayoría de la gente se supone que tiene bien instalado y configurado grub en su distribución de GNU/Linux instalada?

Am_Shaegar

#35 Muy interesante, gracias.

Conde_Lito

#33 Cuando estés en el menú de grub desplazate a la entrada que quieras modificar y luego dale a la tecla e.
Una vez apretada la tecla e verás todos los parámetros que ejecuta grub al presionar intro en esa entrada.

Una vez modificado el parámetro que quieras pasar al kernel me imagino que tendrás que apretar control+x para que comience grub a ejecutar ese script.
Las instrucciones estas normalmente aparecen en la parte de abajo del menú de grub, en la zona que no tiene un fonde de color.

Para hacer que los cambios en grub sean fijos, una vez que ha cargado linux editas el archivo de configuración de grub que normalmente está en /etc/default
Lo puedes hacer perfectamente también desde la consola (CLI) con cualquier editor de texto, para estas cosas yo suelo utilizar nano.
nano /etc/default/grub
Una vez que has editado el archivo de configuración, tanto si lo has hecho desde la consola o desde un entorno gráfico, tienes que actualizar grub desde la consola poniendo update-grub

Resumiendo, primero abres el archivo de configuración de grub y modificas lo que quieras, y segundo actualizas la configuración de grub con update-grub
Todo ello como superusuario, bien desde la cuenta root o desde la tuya con el comando sudo

R

#2 Perfectamente posible de hacer (es como tengo mi ordenador). Si quiero arrancar Windows, F12 y la bios me permite seleccionarlo

En mi caso es un arch, y el manual es bastante decente:
https://wiki.archlinux.org/index.php/EFISTUB

Eso si, recomiendo guardarse el comando usado con efibootmgr en un fichero, por si en algun momento tienes que añadir algun parametro al kernel o similar

sergyc

#14 un btw I use arch de manual

R

#24 Totalmente 😂

D

Y en slackware usando Lilo por defecto, como debe de ser. Los BSD y Windows pasan de gestores de arranque complejos, de hecho es así de triste:

https://man.openbsd.org/installboot
https://man.openbsd.org/boot.8
https://man.openbsd.org/biosboot.8
https://man.openbsd.org/boot_amd64.8

%file /usr/mdec/*
/usr/mdec/BOOTIA32.EFI: MS-DOS executable PE for MS Windows Intel 80386 32-bit
/usr/mdec/BOOTX64.EFI: MS-DOS executable PE for MS Windows
/usr/mdec/biosboot: ELF 32-bit LSB executable, Intel 80386, version 1
/usr/mdec/boot: ELF 32-bit LSB executable, Intel 80386, version 1
/usr/mdec/cdboot: data
/usr/mdec/cdbr: data
/usr/mdec/fdboot: ELF 32-bit LSB executable, Intel 80386, version 1
/usr/mdec/mbr: x86 boot sector
/usr/mdec/pxeboot: data

eltoloco

En mi época de trastear con el PC día y noche, hace unos 10 años, me encontré con Burg, palabro traspuesto de Grub, que es una interfaz gráfica para Grub que te permite seleccionar el SO de una forma mucho más bonita que la interfaz de texto por defecto.

En cuanto se me pasó la época de trastear volví a la simplicidad de Grub, más que nada por no perder tiempo en configurarlo, la verdad que estaría muy bien que pusiesen algo más bonito por defecto, seguro que mucha más gente se animaría a tener arranque dual solo por no tener esa interfaz de texto al arrancar el PC.

Volviendo a Burg, la última vez que lo miré su desarrollo estaba semi-abandonado, y haciendo un búsqueda rápida parece que sigue así. Una pena..

Aokromes

#13 lastima que no mencionan http://www.rodsbooks.com/refind/ #15 este te molaria

eltoloco

#17 también lo probé en su momento en mi antiguo Macbook Air. Es chulo pero estéticamente me gusta más Burg, tanto por la estética por defecto como por las posibilidades de personalización. Se que rEFInd también es personalizable, pero mucho menos.

De nuevo, cuando me cansé de trastear abandoné rEFInd en el Macbook y Burg en el PC de escritorio, actualmente tengo el arranque por defecto de Bootcamp en el Macbook y el Grub por defecto de Ubuntu en el PC. Al final es algo que se ve durante dos segundos y no la pena molestarse tanto para eso, aunque se agradecería si lo pusiesen por defecto..

zoezoe

#15 #17 ¡Qué tiempos! -> https://launchpad.net/burg

Ako3

Pues a parte de grub2 había uno gallego, el GAG: https://www.neoteo.com/gag-administrador-de-arranque-grafico-14061/

o

¿Para cuándo será el año de GRUB en el escritorio?

Endor_Fino

Grub, mib villanob favoritob

Bourée

Al final dice que si tienes los dedos como morcillas (mi caso ) mejor no tocar nada y seguir con GRUB. 😄

averageUser

Sólo hay algo más placentero que cargarse el bootloader, hacer un chmod recursivo sobre var.

javi_ch

Sin noticias de Grub.

box3d

Grub y U-Boot (que solo sale de refilón) son realmente los dos únicos relevantes a día de hoy. Uno en PC y el otro en todo lo demás.

f

#13 Exacto, hasta los decodificadores y tv boxes funcionan con U-Boot

D

#16 U-boot me da pesadillas en maquinas embedded. En serio.

Nómada_sedentario

Siempre será mi villano favorito
(tranquilos, cierro al salir)

A

Que systemd-boot está abandonado?? Pues yo lo tengo instalado desde hace un año o dos porque la wiki de arch me dijo que al final era lo más sencillo con UEFI y tal, no sabía que estuviera abandonado... No creo que un componente de systemd esté abandonado, no se... No me ha dado ningún problema nunca

D

Buah, no he usado otro cargador que no sea GRUB desde Mandrake (antes de llamarse Mandriva), que creo que usaba LILO