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

Reply via email to