Desde 9.10 Ubuntu viene con Grub 2 que tiene nuevas formas de configuración. A continuación se presenta como configurarlo para iniciar OpenBSD o adJ.

1. Identificar partición de OpenBSD/adJ y partición EFI

Desde Ubuntu para ver que partición es la de OpenBSD/adJ:

sudo fdisk /dev/sda

(o /dev/hda si no funciona el anterior) de el comando p para ver la lista de particiones e identificar la de OpenBSD, puede ser algo como:

/dev/sda3           26001       30401    35351001   a6  OpenBSD

Que indica que es la tercera partición primaria.

Si instaló OpenBSD/adJ en modo UEFI su disco debe tener particionado GPT y en tal caso es mejor que tome nota de la partición EFI con sistema FAT, puede ser algo como:

/dev/sda1        2048    206847    204800   100M Sistema EFI

Presione q para salir.

2. Configuración

Edite el archivo /etc/grub.d/40_custom por ejemplo con

sudo gedit /etc/grub.d/40_custom

y agregue algunas lineas al final empezando en una nueva línea.

Las lineas por agregar dependen de la arquitectura del procesador, de la versión de Grub2 y de si su instalación fue UEFI o uso modo BIOS legado.

2.1. Para Grub2-2.04 incluido en Ubuntu 20.04 en modo UEFI

Puede verificar que la instalación de OpenBSD/adJ dejó los archivos de arranque UEFI en la partición EFI. Para eso puede bien reiniciar el computador y desde Grub pasar a la línea de ordenes (con F2) e intentar autocompletar la siguiente orden que debe adaptar según la partición EFI que determinó (también puede autocompletar con TAB).

set root=(hd0, gpt1)

Despues puede autocompletar con TAB

chainloader /

Para confirmar que existe la ruta /efi/Boot/bootx64.efi y de ser así las líneas por agregar a /etc/grub.d/40_custom son:

menuentry "adJ" {
  set root=(hd0,gpt1)
  chainloader /efi/Boot/bootx64.efi
} 

2.2. Para Grub2-1.99 incluido en Ubuntu 12.04 en modo de arranque BIOS legado

menuentry "adJ" {
  set root=(hd0,msdos3)
  kopenbsd /bsd
} 

El comando kopenbsd puede tener algunos parametros que pueden verse con kopenbsd --help:

  • -a Para pedir el nombre del archivo desde el cual reiniciar
  • -b Para no reiniciar sino apagar
  • -c Para cambiar dispositivos configurados
  • -s Para iniciar en modo single
  • -d Para ingresar a KBD en el arranque
  • -r wd0a o por ejemplo -r sd0a Para establecer subpartición root
  • -h com![,velocidad] para usar consola serial

2.3. Para Ubuntu 11.04 en modo de arranque BIOS legado

menuentry "adJ" {
  set root=(hd0,msdos3)
  chainloader +1

  boot
} 

!Para Grub2 1.98 incluido en Ubuntu 10.10:

menuentry "adJ" {
  set root=(hd0,3)
  kopenbsd=(hd0,3)/bsd
  boot
}

2.4. Grub2 de UbuntuCE 10.04 y 9.10 y arquitectura amd64:

menuentry "adJ" {
  set root=(hd0,3,a)
  openbsd /bsd
}

2.5. Grub2 de UbuntuCE 10.04 y 9.10 y arquitectura i386 en modo de arranque BIOS legado

menuentry "adJ" {
  set root=(hd0,3,a)
  chainloader +1
}

3. Pasos finales de configuración

Salve el archivo con el ícono guardar y salga cerrando la ventana. Para que pueda ver el menú de Grub durante el arranque desde una terminal ejecute:

sudo gedit /etc/default/grub

y cambie las siguientes líneas:

GRUB_DEFAULT=4   # Cambie 4 por el númer de la entrada de OpenBSD en el menu
#!GRUB_HIDDEN_TIMEOUT=0
!GRUB_HIDDEN_TIMEOUT_QUIET=true

Guarde, cierre y finalmente desde la terminal ejecute:

sudo update-grub2

Tras lo cual puede reiniciar y probar.

4. Referencias

  • Ejemplo de configuración en Ubuntu 9.10 /usr/share/doc/grub-pc/examples/grub.cfg
  • http://www.crice.org/?q=node/364
  • http://ubuntuforums.org/showthread.php?t=1195275

5. Agradecimientos

A Dios y a Carlos, Angélica y Antonia.