Growlight: Difference between revisions

 
(31 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[File:glight.png|right|thumb|alt="Growlight logo"|Grow, baby, grow]]
[[File:glight.png|right|thumb|alt="Growlight logo"|Grow, baby, grow]]
[http://www.sprezzatech.com/growlight.html Growlight] is Sprezzatech's open source disk management utility and system installation prep tool, designed for use with [http://www.sprezzatech.com/sprezzos.html SprezzOS]. Its use is described in the ''[https://www.sprezzatech.com/wiki/index.php/Installation#Preparing_the_target Installation]'' section of the SprezzOS Handbook.
Growlight is a powerful open source tool for visualizing and managing persistent storage under Linux, built atop [[Notcurses]]. It began life as Sprezzatech's system installation prep tool, designed for use with [http://www.sprezzatech.com/sprezzos.html SprezzOS], but is now aimed at more mainstream (and non-defunct) distributions.
* Code lives at [https://github.com/dankamongmen/growlight GitHub].
* Code lives at [https://github.com/dankamongmen/growlight GitHub].
* Downloads are available at http://dank.qemfd.net/pub or from GitHub
* Downloads are available from [https://github.com/dankamongmen/growlight/releases GitHub].
* Growlight is present in [https://src.fedoraproject.org/rpms/growlight Fedora Core], [https://tracker.debian.org/pkg/growlight Debian], Alpine Edge, the AUR, and OpenSUSE.
* There is a [https://groups.google.com/forum/#!forum/growlight-dev mailing list]. You can post by mailing [mailto:growlight-dev@googlegroups.com growlight-dev@googlegroups.com].
* There is a [https://groups.google.com/forum/#!forum/growlight-dev mailing list]. You can post by mailing [mailto:growlight-dev@googlegroups.com growlight-dev@googlegroups.com].
* The [https://www.sprezzatech.com/bugs/buglist.cgi?list_id=8&resolution=---&query_format=advanced&component=Growlight Growlight] component of the SprezzOS project can be found on [https://www.sprezzatech.com/bugs Sprezzabugs].
* Bugs are now being tracked via [https://github.com/dankamongmen/growlight/issues Github issues]
 
==Debian installer==
My talk, "[https://debconf21.debconf.org/talks/3-proposing-a-new-d-i-disk-preparation-tool-growlight/ proposing a new d-i disk preparation tool]" at [https://debconf21.debconf.org/ debconf21] introduces the idea of using growlight within the mainstream Debian Installer.
 
==Some capabilities==
==Some capabilities==
{|class="wikitable" border="1"
{|class="wikitable" border="1"
Line 11: Line 16:
! Helpers
! Helpers
|-
|-
| Make ext2, ext3, ext4 filesystems
| <tt>CDROM_TIMED_MEDIA_CHANGE</tt>
| 1.0.0
|
| e2fsprogs (mkfs.ext*)
| Linux 5.16
|-
| EFIstub setup
|
| efibootmgr
|-
| [https://phoronix.com/scan.php?page=news_item&px=Linux-5.15-Disk-Seq-No BLKGETDISKSEQ]
|
| Linux 5.15
|-
| [https://systemd.io/DISCOVERABLE_PARTITIONS Discoverable partitions]
|
|
|-
| NVMe-ZNS recognition
|
| Linux 5.9
|-
| exFAT support
|
| Linux 5.6, exfat-utils
|-
| Linux 5.6 "drivetemp" support
|
| Linux 5.6
|-
| [[NVMe|Optane]] DCPMM device support
|
| ipmctl
|-
| Collect and display statistics
| 1.1.0
| procfs
|-
| [[NVMe]] device support
| 1.0.5
| nvme-cli
|-
|-
| Pass stride_width and stripe parameters to mkfs.ext*
| Pass stride_width and stripe parameters to mkfs.ext*
Line 30: Line 71:
| 1.0.2
| 1.0.2
| mkfs.xfs
| mkfs.xfs
|-
| Make vfat filesystems
| 1.0.0
| mkfs.vfat
|-
|-
| Make HFS/HFS+ filesystems
| Make HFS/HFS+ filesystems
Line 39: Line 76:
| mkfs.hfs, mkfs.hfsplus
| mkfs.hfs, mkfs.hfsplus
|-
|-
| Make swap devices
| Filesystem signature wiping
| 1.0.0
| 1.0.2
| mkswap
| wipefs
|-
|-
| Labeled filesystem creation
| Create/manipulate MSDOS partition tables
| 1.0.0
| 1.0.2
|
|
|-
|-
| Filesystem signature wiping
| Create/manipulate Apple Partition Maps
| 1.0.2
| Create added in 1.0.4
| wipefs
|
|-
|-
| Create MD aggregates
| Create MD aggregates
Line 57: Line 94:
| Create DM aggregates
| Create DM aggregates
| needs testing
| needs testing
|
|-
| MD / zpool aggregate scan + import
| 1.0.1
| mdadm, zpool
|-
| Temperature sensing (where supported)
| 1.0.1
| libatasmart
|-
| Rotation speed / Transport detection
| 1.0.1
|
|
|-
|-
Line 63: Line 112:
| zpool, zfs
| zpool, zfs
|-
|-
| Create/manipulate GPT partition tables
| Make ext2, ext3, ext4 filesystems
| 1.0.0
| e2fsprogs (mkfs.ext*)
|-
| Make swap devices
| 1.0.0
| mkswap
|-
| Labeled filesystem creation
| 1.0.0
| 1.0.0
|
|
|-
|-
| Create/manipulate MSDOS partition tables
| Make vfat filesystems
| 1.0.2
| 1.0.0
|
| mkfs.vfat
|-
|-
| Create/manipulate Apple Partition Maps
| Create/manipulate GPT partition tables
| Create added in 1.0.4
| 1.0.0
|
|
|-
|-
Line 78: Line 135:
| 1.0.0
| 1.0.0
|
|
|-
| Temperature sensing (where supported)
| 1.0.1
| libatasmart
|-
|-
| SMART status check
| SMART status check
Line 87: Line 140:
| libatasmart
| libatasmart
|-
|-
| Rotation speed / Transport detection
| 1.0.1
|
|-
| MD / zpool aggregate scan + import
| 1.0.1
| mdadm, zpool
|-
|-
| UEFI boot preparation (UEFI bootloader, ESP, /etc/fstab)
| UEFI boot preparation (UEFI bootloader, ESP, /etc/fstab)
| needs testing
| 1.0.0
| grub2
| grub2
|-
|-
Line 187: Line 233:


==Resources==
==Resources==
Note that even using DMI 2.0, the standard 4x southbridge uplink can be supersaturated by four SATA3 devices.
Note that even using DMI 2.0, a 4x southbridge uplink can be supersaturated by four SATA3 devices.
{| class="wikitable" border="1"
{| class="wikitable" border="1"
! Interface
! Interface
Line 254: Line 300:
| 32
| 32
|-
|-
| DMI lane (almost always x4, sometimes x2)
| DMI lane
| 2.5 Gbps (312.5 MB/s)
| n/a
| 5
| 5
| 10
| 10
|-
|-
| DMI 2.0
| DMI 2.0 lane
| 5 Gbps (625 MB/s)
| n/a
| 10
| 10
| 20
| 20
|-
| DMI 3.0 lane
| n/a
| 20
| 40
|-
|-
|}
|}