> Installation into a disk partition
The default for Tribblix installation (with the -G
flag
to live_install.sh
) is to use the whole disk. While this is
the preferred way to install Tribblix, it's possible to create partitions
on the disk. The aim here would be to support the installation of multiple
operating systems simultaneously.
The Tribblix installer is not (yet) itself capable of partitioning of the disk that Tribblix is installed to. If you need to partition the disk, you'll need to partition it outside the installer.
Terminology
An important note on terminology. On illumos (as in Solaris) there are two terms that are used to describe how a disk is split up. These are partitions and slices. Sadly these are often used as if they're interchangeable, but to avoid confusion:
- A partition is the highest level. On x86, with traditional disk
labelling (MBR), there can only be 4 primary partitions (or 3 primary
and one partition with extended partitions). On illumos, the device
names corresponding to these are
p0
for the whole disk andp1
throughp4
for these 4 partitions. - With modern GPT labelling of disks, the limit of 4 partitions no longer applies.
- Inside an MBR primary partition, illumos can have a secondary level of
splitting the disk up into slices. That's what the device names ending
in
s0
throughs15
refer to.
Tools
There are two tools on illumos that manage partitions and slices.
- The
fdisk
command manages primary partitions using MBR labelling, and can create a single top-level GPT partition. - The
format
command manages slices within an MBR partition, and partitions on a GPT-labelled disk. In both cases, format unhelpfully uses the term partition.
MBR labelling
With MBR labelled disks, there has to be exactly one solaris
or solaris2
partition. The fdisk
command can
create and manage those partitions. In particular, the command
fdisk -B /dev/rdsk/cXtYdZp0
will create a single solaris
partition that uses all the disk.
If you want to leave space for other partitions, or you've already partitioned
it with another tool, then simply allocate the space you need and set the type
of the partition you want to use for Tribblix to solaris
.
With that in place, the format
command can be used to
configure the slices. To do this, select the disk in format, then
p
to enter the partition editor, and then p
to
show the table and the numeric id of a slice to edit it. You'll need to
give a tag (which is mostly unused), flags (wm for anything you're going
to use), the starting cylinder, and a size. One nice feature is that you
give give the end cylinder with e
which is the only way to be
precise. I use p
to show the table every time I edit anything,
then once you're happy l
to write a new label to the disk.
In most cases, if you're using ZFS, then you should set up
slice s0
to the maximum size. Then run the installer as
./live_install.sh cXtYdZs0
and, without the -G
flag it will use the disk exactly as it
finds it.
GPT labelling
If you use the -G
flag with the live_install.sh
script then a ZFS pool will be created that fills the whole disk. This actually
creates 2 partitions, a small system
partition and a 2nd partition
that uses the rest of the space.
To split things up, then you still need the system
partition
which has to be big enough to create a FAT filesystem (pcfs) on it. If the disk
has already been partitioned by some other system, you'll almost certainly
already have this. If you're partitioning the disk from scratch, then you'll
need to first allocate the whole disk
fdisk -E /dev/rdsk/cXtYdZp0
which simply puts a single EFI partition on the disk.
With that in place, the format
command can be used to
configure individual partitions, only this time you need to invoke it
in expert mode with format -e
. The first thing to do is create
a small partition (256MB is always big enough, usually 64MB is fine), and
it must have type system
.
Then you can create your partitions for data. For example, you can create
partition 5 with the space you want to allocate for Tribblix. Again, use the
p
option to show what you have, and l
to write the
label. In this case, make sure it's EFI and not SMI (which is the old style).
And to install to the specific partition number 5,
./live_install.sh cXtYdZs5
and, just like with an MBR label, without the -G
flag it
will use the disk exactly as it finds it.
IMPORTANT: Note that illumos and Solaris count from 0. Some other
partition editors start counting from 1. Make sure (by running
format -e
to examine the partition table before running the
installer, for example) that you're sure you're installing to the partition
you expect.