lsblk (FreeBSD) erkennt nur /dev/sd1a-Partition von OpenBSD

morromett

Well-Known Member
Ich habe auf einem USB3-Stick OpenBSD installiert:
Code:
:~ #mount    
/dev/sd1a on / type ffs (local)
/dev/sd1l on /home type ffs (local, nodev, nosuid)
/dev/sd1d on /tmp type ffs (local, nodev, nosuid)
/dev/sd1f on /usr type ffs (local, nodev)
/dev/sd1g on /usr/X11R6 type ffs (local, nodev)
/dev/sd1h on /usr/local type ffs (local, nodev, wxallowed)
/dev/sd1k on /usr/obj type ffs (local, nodev, nosuid)
/dev/sd1j on /usr/src type ffs (local, nodev, nosuid)
/dev/sd1e on /var type ffs (local, nodev, nosuid)
Wenn ich diesen USB-Stick in FreeBSD, mit lsblk anschauen/mounten will, wird nur die /-Partition (da1s4) erkannt:
Code:
:~% lsblk da1 
DEVICE MAJ:MIN SIZE TYPE LABEL MOUNT
da1 1:201 29G MBR - -
<FREE> -:- 16M - - -
da1s1 1:202 16M fat32lba msdosfs/BOOT -
da1s4 1:203 29G !166 - /media/da1s4
Weiß evtl. jemand warum das so ist (... denn das Dateisystem ist auf allen Partitionen, ffs) bzw. ob und wie auch eine andere Partition (z. B. /dev/sd1e für /var bzw. /dev/sd1f für /usr) gemountet werden kann? read-only wäre OK, denn ich will ja nichts ändern.
 
Was sagt denn ein ls /dev/da1s4*?

Ansonsten kannst Du ja einfach mal versuchen, z.B. mit mount -t ffs /dev/da1s4l /mnt die slices zu mounten.
 
Wie muss ich das verstehen?
Ist "/dev/sd1a on / type ffs (local)" nur ffs (denn das wird erkannt, kann gemountet und angeschaut werden) und "/dev/sd1f on /usr type ffs (local, nodev)" ist ffs2 (weil es nicht erkannt wird)?
Unter OpenBSD kannst Du das z.B. fuer sd0a so abfragen:

Code:
$ dumpfs /dev/rsd0a | head -1                                    
magic    19540119 (FFS2)    time    Tue Nov  1 08:40:32 2022

Aber wie gesagt ist das nur eine Vermutung, dass FreeBSD evtl. keine slices von FFS2 korrekt lesen oder zuordnen kann.
 
Was sagt denn ein ls /dev/da1s4*?

... versuchen, z.B. mit mount -t ffs /dev/da1s4l /mnt die slices zu mounten.
Code:
:~% ls /dev/da1s4*
/dev/da1s4
Code:
:~ # mount -t ffs /dev/da1s4l /mnt
mount: /dev/da1s4l: No such file or directory
Code:
mount -t ffs /dev/da1s4 /mnt
Code:
:~ # lsblk da1
DEVICE         MAJ:MIN SIZE TYPE                                          LABEL MOUNT
da1              1:196  29G MBR                                               - -
  <FREE>         -:-    16M -                                                 - -
  da1s1          1:197  16M fat32lba                               msdosfs/BOOT -
  da1s4          1:198  29G !166                                              - /mnt
Mehr als da1s1 und da1s4 gibt es nicht.
 
Wie erkennt gpart die Partitionen?
Code:
Geom name: da1
modified: false
state: OK
fwheads: 255
fwsectors: 63
last: 60063743
first: 63
entries: 4
scheme: MBR
Providers:
1. Name: da1s1
   Mediasize: 16777216 (16M)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 16777216
   Mode: r0w0e0
   efimedia: HD(1,MBR,00000000,0x8000,0x8000)
   attrib: active
   rawtype: 12
   length: 16777216
   offset: 16777216
   type: fat32lba
   index: 1
   end: 65535
   start: 32768
2. Name: da1s4
   Mediasize: 30719082496 (29G)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 33554432
   Mode: r0w0e0
   efimedia: HD(4,MBR,00000000,0x10000,0x3938000)
   rawtype: 166
   length: 30719082496
   offset: 33554432
   type: !166
   index: 4
   end: 60063743
   start: 65536
Consumers:
1. Name: da1
   Mediasize: 30752636928 (29G)
   Sectorsize: 512
   Mode: r0w0e0
Geom name: diskid/DISK-4C530001191230107220
modified: false
state: OK
fwheads: 255
fwsectors: 63
last: 60063743
first: 63
entries: 4
scheme: MBR
Providers:
1. Name: diskid/DISK-4C530001191230107220s1
   Mediasize: 16777216 (16M)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 16777216
   Mode: r0w0e0
   efimedia: HD(1,MBR,00000000,0x8000,0x8000)
   attrib: active
   rawtype: 12
   length: 16777216
   offset: 16777216
   type: fat32lba
   index: 1
   end: 65535
   start: 32768
2. Name: diskid/DISK-4C530001191230107220s4
   Mediasize: 30719082496 (29G)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 33554432
   Mode: r0w0e0
   efimedia: HD(4,MBR,00000000,0x10000,0x3938000)
   rawtype: 166
   length: 30719082496
   offset: 33554432
   type: !166
   index: 4
   end: 60063743
   start: 65536
Consumers:
1. Name: diskid/DISK-4C530001191230107220
   Mediasize: 30752636928 (29G)
   Sectorsize: 512
   Mode: r0w0e0
 
FreeBSD erkennt da aber nicht den root-slice (sd1a), sondern die gesamte MBR-Partition (A6), was auch als sd1c dargestellt wird (disklabel).
und das 'c' sollten auch die 29GB sein.

Nur so am Rande, wie man da weiterhin mit FreeBSD an so slice-in-MBR rankommt, weiss ich nicht.

Ein MBR-freier "stick" wuerde wahrscheinlich besser funktionieren, aber da ist dann mit UEFI-Boot wieder Essig.
 
Ein MBR-freier "stick" wuerde wahrscheinlich besser funktionieren, ...
Ich habe jetzt eine Anleitung (OpenBSD auf dem PI) gefunden, nach der man den MBR auf der SD-Karte und auf dem Stick, vor der Installation überschreiben kann: https://dev.to/spacial/installing-openbsd-7-on-raspberry-pi-3-1f98

Code:
Linux
(Optional) Clean your MBR:
#dd if=/dev/zero of=/dev/mmcblk0 count=4096

Linux
(Optional) Clean your MBR:
# dd if=/dev/zero of=/dev/sda count=4096

Ich werde das mal testen.
 
Da ist dann wieder ein UEFI ESP dabei, ohne das kommt ein Pi aber wohl nicht aus. Den part des Zitats fehlt ;-)

Ich denke schon, dass man dem FreeBSD das beibiegen kann in den disklabel innerhalb des MBR zu schauen. Aber wohl nicht trivial-default und ich kenn mich da auf der FreeBSD seite null aus.
 
Und ich auf der OpenBSD-Seite nicht. Generell arbeitet GEOM aber nach dem Zwiebelprinzip. Wenn das disklabel in ada0s1 liegt, könnte ein gpart show da0s1 es lesen.
 
Da ist dann wieder ein UEFI ESP dabei, ohne das kommt ein Pi aber wohl nicht aus. Den part des Zitats fehlt ;-)
Aber ist es nicht so, dass das UEFI ESP sich nur auf der SD-Karte/sd0 (von der bzw. mit Hilfe derer gebootet wird) befindet? Die Installation von OpenBSD befindet ich dann nur auf dem Stick/sd1. Die SD-Karte/sd0 wird in der Ausgabe von "df -h" oder von "mount -v", nicht angezeigt. Mit sysctl bekommt man sie angezeigt:
Code:
:~ #sysctl hw.disknames
hw.disknames=sd0:2f5fb007e75915b8,sd1:5d7619c2dc853121
Ich weiß auch nicht, wie ich von OpenBSD aus, die SD-Karte/sd0 mounten bzw. die SD-Karte/sd0 von OpenBSD aus, einsehen kann.

Welcher Part des Zitates ist es, der fehlt?
BTW: Seit der Version 6.9 gibt es zwei Möglichkeiten, OpenBSD auf dem PI, mit Hilfe der SD-Karte zu booten:
As of OpenBSD 6.9, the standard miniroot supports at least the
Raspberry Pi 3 and 4 with no additional firmware.
Alternatively the system can be booted using UEFI firmware found at
https://github.com/pftf/RPi4.
Quelle: https://ftp.openbsd.org/pub/OpenBSD/7.0/arm64/INSTALL.arm64
Das booten von OpenBSD (auf dem PI) ohne diese UEFI firmware, geht wesentlich schneller.
Ich werde mir dann mal die SD-Karte/sd0 (ohne diese UEFI firmware) in einem FreeBSD- oder Linux-System anschauen.
 
Zuletzt bearbeitet:
Sorry - bin unter Medis grad - das mit den zwei Karten hatte ich irgendwie ueberlesen.

Schau mal in fdisk(8) manpage von OpenBSD. Da gibt es die Darstellung der fdisk Ausgabe wenn es NUR eine GPT gibt und wie, wenn es einen GPT-in-MBR ist. Das nur-GPT reicht und sollte fuer die angesprochene Zwiebel funktionieren.
 
Da gibt es die Darstellung der fdisk Ausgabe wenn es NUR eine GPT gibt und wie, wenn es einen GPT-in-MBR ist. Das nur-GPT reicht und sollte fuer die angesprochene Zwiebel funktionieren.
Die Ausgaben von fdisk sind:
SD-Karte:
Code:
:~ #fdisk -v sd0 
Primary GPT:
Not Found
Secondary GPT:
Not Found
MBR:
Disk: sd0    geometry: 1936/255/63 [31116288 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 ] Win95 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 -   1936 229  21 [       65536:    31050752 ] OpenBSD
USB-Stick:
Code:
:~ #fdisk -v sd1                                                                                            
Primary GPT:
Not Found
Secondary GPT:
Not Found
MBR:
Disk: sd1    geometry: 3740/255/63 [60088320 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 ] Win95 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 -   3740  82  54 [       65536:    60022784 ] OpenBSD
Bei der nächsten Installation von OpenBSD auf dem PI, werde ich vor der Installation, auf SD-Karte und auf dem Stick den MBR mit dd überschreiben.
 
Auf der SD-Installations-Disk wahrscheinlich unnoetig, wenn das image (iso) nen MBR mit bringt - was an der Stelle kein Problem waer.

SOlange da C/H/S Kram bei ist, ist das ein MBR.
 
Auf der SD-Installations-Disk wahrscheinlich unnoetig, wenn das image (iso) nen MBR mit bringt - ...
So richtig verstehe ich das noch nicht. Was genau meinst Du mit "SD-Installations-Disk"? Die SD-Karte (im SD-Karten-slot) mit dem miniroot72.img oder der (2.) Datenträger (target disk for installation) auf dem OpenBSD installiert werden soll?

Beim 1. booten mit miniroot72.img wird doch eine ram-disk benutzt, d. h. die SD-Karte (mit miniroot72.img) sollte als sd0-Disk noch gar nicht erkannt werden (... weil die Treiber nicht geladen sind?). Aber wie kann man dann schon zu diesem Zeitpunkt, die SD-Karte als "target disk for installation" wählen, wenn es "sd0 noch nicht gibt"? Und wenn der USB-Stick jetzt zu diesem Zeitpunkt, im PI stecken würde, wäre dieser dann als sd0 erkannt (und später als sd1, ... nach dem 1. reboot wenn die SD-Karte nur zum booten benutzt werden muss und deshalb im SD-Karten-slot bleibt, ...weil z. B. der PI3 nicht vom USB-Stick booten kann.
 
So richtig verstehe ich das noch nicht. Was genau meinst Du mit "SD-Installations-Disk"? Die SD-Karte (im SD-Karten-slot) mit dem miniroot72.img oder der (2.) Datenträger (target disk for installation) auf dem OpenBSD installiert werden soll?
Wie Du zuvor geschrieben hast.. die reine Bootdisk mit ESP ist doch nacher unter FreeBSD garnicht mehr relevant? Also auch nicht, ob da MBR drauf ist, oder nicht.

Aber ist es nicht so, dass das UEFI ESP sich nur auf der SD-Karte/sd0 (von der bzw. mit Hilfe derer gebootet wird) befindet? Die Installation von OpenBSD befindet ich dann nur auf dem Stick/sd1.
 
Zurück
Oben