Solved mountroot problem

I've recently installed FreeBSD on a hard disk which I subsequently inserted into a USB caddy and obviously stopped at the mountroot prompt because fstabwhich created during installation, no longer relevant.

I undertand that this can be corrected using labels, but I don't understand how this works.

Can someone point me at a guide?
I managed to get Labels working on one system but on another I'm having difficulties setting up the slices (partitions).

Here is my disk layout

root@tester:/etc # gpart show
=>       63  234441585  da0  MBR  (112G)
         63          1       - free -  (512B)
         64       1984    4  freebsd  (992K)
       2048   10162176    1  !39  (4.8G)
   10164224  138536960    2  ntfs  (66G)
  148701184   85740463    3  freebsd  [active]  (41G)
  234441647          1       - free -  (512B)

=>       0  85740463  da0s3  BSD  (41G)
         0  81788928      1  freebsd-ufs  (39G)
  81788928   3951534      2  freebsd-swap  (1.9G)
  85740462         1         - free -  (512B)

=>   0  1984  da0s4  BSD  (992K)
     0  1984         - free -  (992K)

How should I identify the Root FS and the Swap file?

rootfs /dev/da0s3s1
swap /dev/da0s3s2


That doesn't seem to work....
That doesn't work because you're basically asking for a slice within a slice (that's what the s indicates) which is not possible. What you want to reference is a partition within a slice. So you're looking for da0s3a and da0s3b.

Handbook: Example 3.12. Sample Disk, Slice, and Partition Names

Granted, it's a bit confusing. But a BSD slice is the same thing as an old school MBR MS-DOS/BIOS primary partition. With BSD partitions are named a, b, d, e, f or h and are created within a slice. Slices are numbered 0 to 3.

But to make matters worse, on GPT there are only partitions, and those are named p1, p2, etc. For example; da0p1.