You are missing that Unix tradition is that normal computers: a: / b: swap c: whole disk d,e,f,h,h: /var /usr (and so on)
and that generally there is just a disklabel, which fits inside a which is first. As a exception on PCs, and hence i386/amd64, instead there is often a MBR partition table, and within that a "*BSD partition", with the convention: a: / b: swap c: entire NetBSD partition as specified in MBR d: entire disk e: /var f: /usr g: /home h: /foo One can also make a partition table entry that covers blocks not in (c), for other MBR partitions. (With GPT this is all different.) So on a RPI4, which is not a PC, you will find rsd0c as the whole disk. Just like on a pdp11 with 2.11BSD :-), vax, and pretty much everything not-PC. But, I recommend a practice of looking at tables and understanding first. gpt show sd0 disklabel sd0 and beware "Fictitious" which means there is no label. I expect that if you run disklabel on that drive on an amd64, the fake disklabel will show a/d and on RPI, a/c. As an example, here's what an old 500G disk that has been zeroed (well, written with zeroes and block counters) shows, on amd64: # /dev/rsd0: type: SCSI disk: Disk Device label: fictitious flags: bytes/sector: 512 sectors/track: 32 tracks/cylinder: 64 sectors/cylinder: 2048 cylinders: 477102 total sectors: 977105060 rpm: 3600 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0 # microseconds track-to-track seek: 0 # microseconds drivedata: 0 4 partitions: # size offset fstype [fsize bsize cpg/sgs] a: 977105060 0 4.2BSD 0 0 0 # (Cyl. 0 - 477102*) d: 977105060 0 unused 0 0 # (Cyl. 0 - 477102*) disklabel: boot block size 0 disklabel: super block size 0