Check out my first novel, midnight's simulacra!

Growlight

From dankwiki
"Growlight logo"
Grow, baby, grow

Growlight is Sprezzatech's open source installer project, designed for use with SprezzOS. It lives at GitHub. The Growlight component of the SprezzOS project can be found on Sprezzabugs.

Identifying Block Devices

"A terminal running growlight-tty"
A terminal running growlight-tty
"A terminal running growlight-curses"
A terminal running growlight-curses

Terminology!

  • UUID A 128-bit RFC 4122 number. Used in GPT for disks and partitions. Used in many filesystems.
  • WWN A 64- or 128-bit number associated with physical components. Makes use of IEEE OUIs.
  • Partition table: A structure describing logical volumes on a single disk
    • Disklabel An old (BSDish) name for a partition table
  • Label A string of up to 16 bytes associated with a filesystem
    • Volume Label An old (DOSish) name for a filesystem label
  • Master Boot Record The first sector on a disk in a BIOS/MBR machine
    • Boot sector The first sector of a bootable partition

Thus:

  • A disk has a WWN, a model, and a serial number.
  • A GPT partition table has a UUID, sometimes called the disk GUID
    • but though there is only one per disk, it's a property of the GUID Partition Table
  • A MBR partition table has nothing, really.
  • A GPT partition has a UUID and a name of up to 36 UTF-16LE units
    • A GPT partition also has a 128-bit number for its partition type, but they're commonly defined
      • Thus UUID/GUID is really a misnomer, but whatever
      • 024DEE41-33E7-11D3-9D69-0008C781F39F -- MBR scheme
      • C12A7328-F81F-11D2-BA4B-00A0C93EC93B -- EFI system partition (ESP)
      • ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 -- basic data partition
      • A19D880F-05FC-4D3B-A006-743F0F84911E -- linux raid
      • etc...
  • A MBR partition once again has nothing, just an 8-bit type.
  • A filesystem probably has a label, and probably has a UUID. Depends on the filesystem.

Partition Tables

FIXME I think some of these values are wrong, maybe embarrassingly so

Table type Max disk size Max partition size Max partitions
MBR (CHS) 8GB 8GB 4 primary

OR 3 primary, 1 extended, arbitrarily many logical

MBR (LBA) 8TB 2TB 4 primary

OR 3 primary, 1 extended, arbitrarily many logical

GPT 9.4ZB 9.4ZB 128 * n

Resources

Interface Max theoretical bandwidth x2 x4
SATA 1.5 Gbps (187.5 MB/s) 3 6
SATA 2 3 Gbps (375 MB/s) 6 12
SATA 3 6 Gbps (750 MB/s) 12 24
SAS 2.4 Gbps (300 MB/s) 4.8 9.6
SAS 2 4.8 Gbps (600 MB/s) 9.6 19.2
SAS 3 9.6 Gbps (1.2 GB/s) 19.2 38.4
USB 1.1 12 Mbps (1.5 MB/s) n/a n/a
USB 2 .48 Gbps (60 MB/s) n/a n/a
USB 3 5 Gbps (625 MB/s) n/a n/a
PCIe lane 2 Gbps (250 MB/s) 4 8
PCIe 2.0 lane 4 Gbps (500 MB/s) 8 16
PCIe 3.0 lane 8 Gbps (1 GB/s) 16 32
DMI lane (almost always x4, sometimes x2) 2.5 Gbps (312.5 MB/s) 5 10
DMI 2.0 5 Gbps (625 MB/s) 10 20

Quick Path Interconnect (QPI) works at different frequencies and usually employs 20 lanes.

8 SATAII devices on 8xPCIe 2.0: 3GB/s on 4GB/s ✔
LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 03)
 [0:0:0:0]    disk    ATA      ST2000DL003-9VT1 CC3C 
 [0:0:1:0]    disk    ATA      ST2000DL003-9VT1 CC3C
 [0:0:2:0]    disk    ATA      ST2000DL003-9VT1 CC32
 [0:0:3:0]    disk    ATA      ST2000DL003-9VT1 CC3C
 [0:0:4:0]    disk    ATA      INTEL SSDSA2M080 02HD
 [0:0:5:0]    disk    ATA      WDC WD20EARS-00M 51.0
 [0:0:6:0]    disk    ATA      WDC WD20EARS-00M 51.0
 [0:0:7:0]    disk    ATA      ST2000DL003-9VT1 CC32

2 SATAIII devices on 1xPCIe 2.0: 1.5GB/s on 500MB/s ✘
Marvell Technology Group Ltd. 88SE9120 SATA 6Gb/s Controller (rev 12)
[10:0:0:0]    disk    ATA      ST2000DL003-9VT1 CC32
[11:0:0:0]    disk    ATA      ST3000DM001-9YN1 CC9C

1 SATAII device on USB 2.0: 375MB/s on 480MB/s ✔−
Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
[19:0:0:0]    disk    HTC      Android Phone    0100

1 SATAIII device +
1 SATAII device on 1xPCIe 2.0: 1.125GB/s on 500MB/s ✘
Marvell Technology Group Ltd. 88SE9123 PCIe SATA 6.0 Gb/s controller (rev 11)
 [2:0:0:0]    disk    ATA      INTEL SSDSA2CW12 0302
 [3:0:0:0]    disk    ATA      ST2000DL003-9VT1 CC32

4 SATAII devices +
1 SATAIII-on-SATAII device (✘) on PCI 2.0 PCH (?)
Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 05)
 [4:0:0:0]    disk    ATA      ST9320423AS      SDM1
 [5:0:0:0]    disk    ATA      ST9320423AS      SDM1
 [6:0:0:0]    cd/dvd  ATAPI    iHBS112   2      CL0F
 [7:0:0:0]    disk    ATA      WDC WD20EARX-00P 51.0
 [9:0:0:0]    disk    ATA      ST3000DM001-9YN1 CC9C


1 MDRAID6
1 MDRAID1
1 ZRAID2

Definite Goals

Disks

  • Fully support ZFS during install, include RAIDZ setup
  • Use GPT (correctly) by default.
  • Extract true parameters from SSDs and 4k sector (especially WD-EARS) drives
  • Properly align everything

Possible Goals

  • Install either Linux or FreeBSD