Hello,

thanks to those of you working on the arm64 port of OpenBSD, as well as working

on this great OS as a whole!

I spend a couple of days now trying to get a FDE install of OpenBSD 6.8 working without

success. I tried different methods, hence, my knowledge about the boot process on

aarch64/arm64 architecture is limited, so it is for x86 I'm afraid. The "error" I receive is

that after a successful install, the boot process won't execute. An installation to an

unencrypted device won't jeopardize my efforts, which limits the error to some config

issue involving the FDE and not a BIOS misconfiguration.


Starting with a bsd.rd boot, I'm following the FDE setup described in

(https://www.openbsd.org/faq/faq14.html#softraidFDE).  In my setup there is a couple

of devices involved: - sd0 8gb sd-card with raspberry-firmware v1.21

                                - sd1 16gb usb-stick to become the key-disk

                                - sd2 16gb usb-stick with miniroot.img flashed onto

                                -sd3 250gb usb attached ssd


Manual steps:

# fdisk -iy -g -b 960 sd3

# disklabel -E sd3 -> creating the RAID partition on a with an offset of 64


I read about the necessity of creating an EFI-Sys partition and realigning the OpenBSD

one here (https://www.reddit.com/r/openbsd/comments/5487cb/full_disk_encryption_gpt/d80cwf1/?utm_source=reddit&utm_medium=web2x&context=3). Following this example I'll end up wit the following sd3 GPT-Table:

Disk: sd3       Usable LBA: 64 to 488397104 [488397168 Sectors]
GUID: d0211d02-06fb-4f06-9821-727cbc5d534d
   #: type                                 [       start: size ]
      guid                                 name
------------------------------------------------------------------------
   1: EFI Sys                              [          64: 960 ]
7656e91c-21e5-49d6-803b-e683d212258b
   3: OpenBSD                              [        1024: 488396081 ]
      baad59dd-a515-4d7c-b1aa-b0b632253e78 OpenBSD Area


# disklabel -E sd3
Label editor (enter '?' for help at any prompt)
sd3> a a
offset: [1024]
size: [488396081] *
FS type: [4.2BSD] RAID
sd3*> w
sd3> q
No label changes.


# fdisk -iy sd1
Writing MBR at offset 0.


# disklabel -E sd1
sd1> a a
offset: [64] 1024
size: [30297566] 1m
FS type: [4.2BSD] RAID
sd1*> w

I read about formatting the remaining space on the key-disk to FAT-322 the slides of

a presentation on the official OpenBSD page, but don't know if this is either relevant,

outdated or not applicable for arm64 infrastructure

(https://www.openbsd.org/papers/eurobsdcon2015-softraid-boot.pdf).

sd1> a i
offset: [16065]
size: [30282525] *
FS type: [4.2BSD] MSDOS
sd1*> p
OpenBSD area: 64-30298590; size: 30298526; free: 960
#                size           offset  fstype [fsize bsize   cpg]
  a:            15041             1024    RAID
  c:         30310400                0  unused
  i:         30282525            16065   MSDOS
sd1*> w
sd1> q
No label changes.

# newfs_msdos /dev/rsd1i

# bioctl -c C -k sd1a -l sd3a softraid0

softraid0: CRYPTO volume attached as sd4

# cd /dev && sh MAKEDEV sd4
# dd if=/dev/zero of=/dev/rsd4c bs=1m count=1


I'm starting the installation process, providing answers manually.

[...]

Available disks are: sd0 sd1 sd2 sd3 sd4.
Which disk is the root disk? ('?' for details) [sd0] sd4
Disk: sd4       geometry: 30401/255/63 [488395553 Sectors]
Offset: 0       Signature: 0xAA55
            Starting         Ending         LBA Info:
 #: id      C   H   S -      C   H   S [       start:        size ]
-------------------------------------------------------------------------------
*0: 0C      2  10   9 -      4  20  16 [       32768:       32768 ] FAT32L
 1: 00      0   0   0 -      0   0   0 [           0:           0 ] unused
 2: 00      0   0   0 -      0   0   0 [           0:           0 ] unused
 3: A6      4  20  17 -  30401  55  23 [       65536:   488330017 ] OpenBSD


Use (W)hole disk or (E)dit the MBR? [whole]
Creating a msdos partition and an OpenBSD partition for rest of sd4...done.
/dev/rsd4i: 32668 sectors in 8167 FAT16 clusters (2048 bytes/cluster)
bps=512 spc=4 res=1 nft=2 rde=512 mid=0xf8 spf=32 spt=63 hds=255 hid=32768 bsec=32768
The auto-allocated layout for sd4 is:
#                size           offset  fstype [fsize bsize   cpg]
  a:          1024.0M            65536  4.2BSD   2048 16384     1 # /
  b:          4152.7M          2162688    swap
  c:        238474.4M                0  unused
  d:          4096.0M         10667488  4.2BSD   2048 16384     1 # /tmp
  e:         11889.5M         19056064  4.2BSD   2048 16384     1 # /var
  f:          6144.0M         43405664  4.2BSD   2048 16384     1 # /usr
  g:          1024.0M         55988576  4.2BSD   2048 16384     1 # /usr/X11R6   h:         20480.0M         58085728  4.2BSD   2048 16384     1 # /usr/local
  i:            16.0M            32768   MSDOS
  j:          2048.0M        100028768  4.2BSD   2048 16384     1 # /usr/src   k:          6144.0M        104223072  4.2BSD   2048 16384     1 # /usr/obj
  l:        181440.2M        116806016  4.2BSD   4096 32768     1 # /home

Use (A)uto layout, (E)dit auto layout, or create (C)ustom layout? [a] e
Label editor (enter '?' for help at any prompt)
sd4> d a
sd4*> d b
sd4*> d d
sd4*> d e
sd4*> d f
sd4*> d g
sd4*> d h
sd4*> d j
sd4*> d k
sd4*> d l
sd4*> w
sd4> p

OpenBSD area: 65536-488395553; size: 488330017; free: 488330017
#                size           offset  fstype [fsize bsize   cpg]
  c:        488395553                0  unused
  i:            32768            32768   MSDOS


sd4> a a
offset: [65536]
size: [488330017] 10240m
FS type: [4.2BSD]
mount point: [none] /
sd4*> w
sd4> a d
offset: [21045120]
size: [467350433] 4096m
FS type: [4.2BSD]
mount point: [none] /tmp
sd4*> w
sd4> a e
offset: [29447136]
size: [458948417] 40960m
FS type: [4.2BSD]
mount point: [none] /var
sd4*> w
sd4> a f
offset: [113338560]
size: [375056993] 147456m
FS type: [4.2BSD]
mount point: [none] /usr
sd4*> w
sd4> a g
offset: [415344448]
size: [73051105] 16384m
FS type: [4.2BSD]
mount point: [none] /home
sd4*> w
sd4> p
OpenBSD area: 65536-488395553; size: 488330017; free: 39491265
#                size           offset  fstype [fsize bsize   cpg]
  a:         20979584            65536  4.2BSD   2048 16384     1 # /
  c:        488395553                0  unused
  d:          8402016         21045120  4.2BSD   2048 16384     1 # /tmp
  e:         83891424         29447136  4.2BSD   2048 16384     1 # /var
  f:        302005888        113338560  4.2BSD   4096 32768     1 # /usr
  g:         33559840        415344448  4.2BSD   2048 16384     1 # /home
  i:            32768            32768   MSDOS
sd4> q

No label changes.

Which disk do you wish to initialize? (or 'done') [done]
/dev/sd4a (5463406fee5a6848.a) on /mnt type ffs (rw, asynchronous, local)
/dev/sd4g (5463406fee5a6848.g) on /mnt/home type ffs (rw, asynchronous, local, nodev, nosuid) /dev/sd4d (5463406fee5a6848.d) on /mnt/tmp type ffs (rw, asynchronous, local, nodev, nosuid) /dev/sd4f (5463406fee5a6848.f) on /mnt/usr type ffs (rw, asynchronous, local, nodev) /dev/sd4e (5463406fee5a6848.e) on /mnt/var type ffs (rw, asynchronous, local, nodev, nosuid)

[...]

What timezone are you in? ('?' for list) [Canada/Mountain] Europe/Berlin
Saving configuration files... done.
Making all device nodes... done.
Multiprocessor machine; using bsd.mp instead of bsd.
Relinking to create unique kernel... done.

CONGRATULATIONS! Your OpenBSD install has been successfully completed!

Exit to (S)hell, (H)alt or (R)eboot? [reboot] s


On my endeavor to find the missing part to the puzzle, I found a block entry, saying

that after a successful install one should format the i partition with newfs_msdos,

mount it and the copy the bootaa64.efi file into a newly created /efi/boot directory

(https://jasper.la/posts/openbsd-uefi-bootloader-howto/). The blog entry from 2015

is not relevant anymore, as the file is already present.


Once I'm restarting now, the Raspberry is skipping the boot order set in the bios

going over all four pxe-boot options, before telling me that no boot media was found.


Can anyone elaborate what I'm doing wrong and how a I can get a working

FDE OpenBSD install with an Raspberry Pi 4 arm board?


Thanks in advance!


Reply via email to