ZFS Solaris Boot partition

Anybody know why there is one "Solaris Boot" partition in the ZFS default install ???
I have installed Zorin on encrypted ZFS and this is my disk partitions:

Périphérique     Début        Fin   Secteurs Taille Type
/dev/nvme0n1p1    2048    1050623    1048576   512M Système EFI
/dev/nvme0n1p2 1050624    5244927    4194304     2G Partition d*échange Linux
/dev/nvme0n1p3 5244928    9439231    4194304     2G Amorcage Solaris
/dev/nvme0n1p4 9439232 2000409230 1990969999 949,4G Racine Solaris

Partition 1 is for EFI, 2 is the swap, 3 ???, 4 the zroot zfs partition.

If I look at everything mounted, I don't see the partition #3 nvme0n1p3 anywhere. Is it used for something ??? I'm just curious. I haven't find much zorin documentation about the zfs setup.

Thanks for any hints,
BT

Can you please show us a screenshot of your Gparted instead, might be easier for us to figure it out for you.


My Gparted for example.


Without going into much detail, partition types work by assigning a numeric code that identifies it, and that has a description string. For a typical installation with EXT4 that would be 83 for "Linux filesystem", 82 for "Linux Swap", and so on. Most likely, there is no identifier available for ZFS and the one for Solaris is used.

I don't know if Disks or Gparted can show the partition number, but you can check that using this command:

:warning: Be very careful with this. Commands are case-sensitive, and you don't want to be making any typos.

gdisk /dev/nvme0n1

This will bring up an text-based menu that you can use to query and modify your drive's partition table. First, press p to print the partition table and see the codes. Then, press q to quit discarding any changes (in case you've made any accidentally).

For example:

As you can see, I have this drive formatted using 8300 which corresponds to a Linux partition (it's using EXT4). The reason it shows 8300 instead of 83 is because gdisk is a slightly more modern version than fdisk and supports many more partition types.

There is one command that you can type with l to see the partition types available:

Here I'm searching for "zfs" and "solaris"; as you can see, there aren't many options for the former, and none seem to correspond to a Linux file system.
My guess is that your second and third partitions will be of type: "bf02" (Solaris swap) and "be00" (Solaris boot), respectively.

Why there is no partition for ZFS, I don't know. I assume that it being a Solaris project it's just left under this category as a generic type, just EXT4 and similar partition types are simply labeled as "Linux file system".

For reference:

https://tldp.org/HOWTO/Partition-Mass-Storage-Definitions-Naming-HOWTO/x190.html

3 Likes

The partition #3 type is "BE00".

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         1050623   512.0 MiB   EF00  EFI System Partition
   2         1050624         5244927   2.0 GiB     8200  
   3         5244928         9439231   2.0 GiB     BE00  
   4         9439232      2000409230   949.4 GiB   BF00

I'm just trying to understand why is that partition needed since it doesn't even seems to used once booted. It could be used by zfs at boot but I haven't succeed to read it to check its content (if any).
Does Zorin have any documentation on the ZFS default setup ????

Oh, right, BE00 for the boot partition and BF00 for the root partition.

I don't really know much about ZFS, only that it's a much better fit for storing large amounts of data and using multiple drives. I wouldn't recommend it using it for single drives, not without good reason to do so.

As for documentation, I don't think Zorin OS specifically has anything about it. I'd suggest checking on the Ubuntu documentation, or dive into the OpenZFS documentation directly:

https://openzfs.github.io/openzfs-docs/Getting%20Started/Ubuntu/index.html

1 Like

I had many problem with btrfs and I like the snapshot capability (cow power) so I decided to give a try at zfs. I know it may be overkill for a laptop with a single disk but it is way more mature than btrfs. I have read a lot on zfs documentation but have not found yet the explication for the BE00 partition usefullness. Thanks anyway for the infos.

This may be necessary for other programs and/or drivers to understand how to read the data stored within the partition, and how to write to it.

I can't say why there's that dedicated boot partition but it looks like that may be necessary to store some metadata to get things running. But if your question is why there's a "Solaris" labeled thrown in there, that's likely a remnant of when ZFS was developed under Solaris (or Oracle, I'm not sure). I looked it up to be sure, and it's simply hard coded this way:

1 Like

I much prefer the tried and tested Ext4. I presume TRIM is still needed regardless of FS in use? Found you need this: