OpenBSD unter UEFI installieren

kraekers

Well-Known Member
Moin Kolleginnen, Kollegen,

ich habe mich mal rangemacht und OpenBSD auf meinem UEFI-Desktop installiert. Warum auch immer, ich bekomme die Maschine jetzt auch gestartet. Nach Abschluss der Installation bekomme ich immer den Hinweis, dass der Bootloader nicht installiert werden konnte und nach einem Reboot fuhr der Rechner in der Tat auch dann nicht hoch. Also, alles von Anfang. Diesmal habe ich nicht "custom" sondern "automatic" bei der Partitionierung gewählt und von nun an funktionierte die Installation des Bootloaders. Da ich aber meine eigene Partition haben möchte, habe ich die Installation neu angeworfen und wieder "custom" ausgewählt. Nach Abschluss der Installation kam dann wieder die Meldung, dass der Bootloader nicht installiert werden kann. Erstaunlicherweise, kann das System jetzt aber trotzdem gestartet werden.

Für die Bootplatte habe ich "openbsd" als Partition für die gesamte Platte gewählt, für den Rest der Platten "gpt". Meine Bootplatte ist eine externe ssd.

Wie gesagt, dass System fährt jetzt hoch. Bei

Code:
# syspatch

erscheint jedoch nun folgende Meldung:

Code:
Relinking to create unique kernel... failed!
!!! "/usr/libexec/reorder_kernel" must be run manually to install the new kernel

Nach Eingabe von:

Code:
sha256 -h /var/db/kernel.SHA256 /bsd

erscheint der Hinweis nicht mehr.

Muss ich jetzt jedes Mal, nach Ausführung von syspatch, den sha256-Befehl ausführen? Ich habe nun Angst, dass ich beim nächsten Sysupgrade das System zerschieße, wäre ein Legacy BIOS angebrachter als UEFI? Muss UEFI überhaupt sein? Auch bei meinen Linux-Systemen überlege ich immer ob UEFI wirklich sein muss.

Wie seht Ihr das? Muss ich in meinem Fall Probleme unter UEFI im Zusammenhang mit OpenBSD befürchten?

Ich danke Euch im Voraus und verbleibe

mit den besten Grüßen

Kraekers
 
Wie ist denn dein BIOS eingestellt? UEFI first? Wenn Du OpenBSD fuer UEFI installieren moechtest, muss der USB-Stick auch mit UEFI gebootet werden. Das sieht man im header des Bootloaders.
Code:
>> OpenBSD/amd64 EFIBOOT 3.29
boot>

Danach solltest Du vor der Installation (s)hell auswaehlen und dort die disk sicherheitshalber wie folgt neu initialisieren:

(Vorausgesetzt, dass deine disk sd0 ist!)
Code:
# cd /dev && sh MAKEDEV sd0
# cd /
Code:
# dd if=/dev/zero of=/dev/rsd0c bs=1m count=1
# fdisk -iy -g -b 960 sd0

Nun kannst du exit eingeben und das System ganz normal installieren und der Bootloader sollte zum Schluss auch ohne Fehlermeldung installiert werden koennen. Wichtig ist ausserdem, dass die MSDOS-Partition "i" unter disklabel unangetastet bleibt, da hier der UEFI-Bootloader BOOTX64.EFI installiert wird.
 
Zuletzt bearbeitet:
Moin Midnight,

danke für Deine rasche Rückmeldung. Ich werde das Alles einmal durchspielen. Bei mir wird anstatt EFIBOOT, BOOTX64 angezeigt. Mein BIOS ist jedoch so eingestellt, dass nur von einem UEFI-Stick gebootet werden kann. Verstehe ich nicht. Dann muss ich den Stick ja noch mit einem OpenBSD UEFI bestücken, eine Anleitung dazu habe ich leider noch nicht gefunden, war der Meinung das der Stick mit einem OpenBSD UEFI ausgestattet wäre.

Beste Grüße

kraekers
 
So, habe das alles mal durchgespielt, funktioniert. Mein Fehler war wohl, dass ich die MSDOS-Partition "i" unter disklabel benutzt habe. Trotzdem zeigt mir OpenBSD BOOTX64 anstatt EFIBOOT.

Beste Grüße

kraekers
 
Bei meiner Bootplatte sieht es so aus:


Code:
 fdisk /dev/rsd0c 
Disk: /dev/rsd0c       Usable LBA: 34 to 1953525134 [1953525168 Sectors]
   #: type                                 [       start:         size ]
------------------------------------------------------------------------
   0: EFI Sys                              [          64:          960 ]
   1: OpenBSD                              [        1024:   1953524111 ]
; disklabel /dev/sd0c
# /dev/sd0c:
type: SCSI
disk: SCSI disk
label: Samsung SSD 980 
duid: 842f7827818faf62
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 255
sectors/cylinder: 16065
cylinders: 121601
total sectors: 1953525168
boundstart: 1024
boundend: 1953525135

16 partitions:
#                size           offset  fstype [fsize bsize   cpg]
  a:       1887432064             1024  4.2BSD   8192 65536 52270 # /
  b:         16783492       1887433088    swap                    # none
  c:       1953525168                0  unused                    
  d:         49308512       1904216608  4.2BSD   2048 16384 12960 # /tmp
  i:              960               64   MSDOS                    
; mount /dev/sd0i /mnt/
; ls -l /mnt/efi/BOOT/
-rw-r--r--  1 root  wheel  132096 Apr  5 14:51 BOOTIA32.EFI
-rw-r--r--  1 root  wheel  149504 Apr  5 14:51 BOOTX64.EFI
; md5 /mnt/efi/BOOT/*
MD5 (/mnt/efi/BOOT/BOOTIA32.EFI) = f73562637958c9190b56654c3e0f29f6
MD5 (/mnt/efi/BOOT/BOOTX64.EFI) = 6d26de801c56e8f5df53728e5afd4c1c

Manches BIOS hat im Bootloader auch die Moeglichkeit, direkt UEFI-Loader aufzurufen. Vielleicht taucht er dort bei dir auf: Dann ist die Installation im GPT schiefgegangen.
 
Zurück
Oben