growlight(8)

πŸ“¦ version 1.2.38, in fedora 43, fedora 44

πŸ’– growlight β€” the manual page, but make it a group chat πŸ’–

okay bestie, listen up. this is growlight, and it lives in the System Manager's Manual, section 8. it's a block device and filesystem editor and honestly? she's that girl. πŸŽ€


✨ NAME ✨

growlight β€” Block device and filesystem editor. that's the whole vibe. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

growlight [-h|--help] [-i|--import] [-v|--verbose] [-V|--version]
[--disphelp] [-t path|--target=path]

look at her. concise. iconic. no cap. ✨


🌸 DESCRIPTION 🌸

so growlight detects and describes disk pools, block devices, partition tables, and partitions. she sees everything. she's the main character of your storage stack fr fr. πŸ‘‘

she can partition devices, manipulate ZFS, MD, DM, LVM and hardware RAID virtual devices, and she can prepare an fstab file for using the devices to boot or in a chroot. and yes bestie, she is fully aware of variable sector sizes, GPT, and UEFI. like, she knows. 🧚

she also facilitates use of UUID/WWN- and HBA-based identification of block devices. so you can stop guessing which /dev/sd? is which. you're welcome. πŸ’–

okay so real talk: this page describes the fullscreen notcurses(3notcurses) implementation. if you want the line-oriented readline(3) variant, go read growlight-readline(8). different girl, same energy. πŸ¦‹

✨ OPTIONS ✨

  • -h, --help β€” prints a brief usage summary and then dips. πŸ‘‹
  • -i, --import β€” tries to assemble aggregates (zpools, MD devices, etc) based on block device scans at startup. she's doing detective work at boot. πŸ”
  • -v, --verbose β€” be more verbose. she talks more. love that for her. πŸ—£οΈ
  • -V, --version β€” prints version information and exits. the receipts. 🧾
  • --disphelp β€” displays the help subdisplay upon startup. help first, everything else later. 🫢
  • --notroot β€” forces growlight to start without necessary privileges. and like... it will usually refuse to start without them, so this is you overriding her better judgment. risky queen behavior. πŸ’€
  • -t path, --target=path β€” runs in system installation mode, using path as the temporary mountpoint for the target's root filesystem. "map" commands will populate the hierarchy rooted at this mountpoint. system installation mode can also be entered at run time with the "target" command. the "map" command will not result in active mounts unless growlight is operating in system installation mode (they'll merely be used to construct target fstab output). once system installation mode is entered, growlight will return 0 only as a result of a successful invocation of the "target finalize" command. and path must exist at the time of its specification, so don't be out here naming paths that don't exist yet. 😭

πŸŽ€ USAGE πŸŽ€

press H or F1 to toggle a help display. this display lists all available commands β€” and the ones that don't make sense at the moment are grayed out. no false promises. πŸ’… most of these commands are also available from the menu at the top of the screen. press Alt plus the underlined shortcut key to open a section of the menu, or just click on it with a mouse. yes, a mouse. we contain multitudes. πŸ–±οΈ

press q to exit the program. bye bestie! πŸ‘‹

the display is hierarchal, with block devices being collected under their respective storage adapters. in addition to various physical adapters, a "virtual" adapter is provided for e.g. aggregated devices. move among the adapters with Page Up and Page Down. move among the block devices of an adapter with up and down; move among the partitions of a block device with left and right. vi keys ('h'/'j'/'k'/'l') are also supported β€” because of course they are, and we love her for it. 🌈 search with '/'; this search will be applied to all metadata. she's thorough. πŸ”₯

the 'G'rowlight menu allows toggling various subscreens, including the help, recent diagnostics, mount points, and a details view. and heads up: only one subscreen can be up at a time. one at a time. patience, babe. πŸ™ˆ


the 'B'lockdevs menu lets you:

  • 'm'ake a partition table β€” only if the selected block device doesn't already have one
  • 'r'emove a partition table β€” assuming one is present
  • 'W'ipe a Master Boot Record (overwriting it with zeroes)
  • perform a 'B'ad block check
  • cre'A'te a new aggregate block device (e.g. an mdadm array or ZFS zpool)
  • modify an existing aggregate with 'z'
  • unbind an aggregate with 'Z'
  • set u'p' a loop device

the 'P'artitions menu lets you:

  • make a 'n'ew partition (in empty, unallocated space, on a block device with an existing partition table)
  • 'd'elete a partition
  • 's'et partition attributes
  • 'M'ake a filesystem
  • 'F'sck a filesystem
  • 'w'ipe a filesystem
  • name a filesystem 'L'abel or name
  • set a filesystem's 'U'uid
  • m'o'unt a filesystem
  • unm'O'unt a filesystem

and bestie, most of these latter commands can also be applied to swap devices. versatile icon. 🌸


when running in system installation mode (see --target above), the following commands are also supported:

  • moun't' target
  • unmoun'T' target
  • finalize UEFI with '*'
  • finalize BIOS with '#'
  • finalize fstab with '@'

πŸ’€ BUGS πŸ’€

pedantic collections of ambiguous identifiers (for instance, if a label equals another device's /dev/ name) will lead to questionable results. this ought be fixed. not me reading that and going "yeah that tracks" 😭


🫢 SEE ALSO 🫢

mount (2), swapoff (2), swapon (2), umount (2), libblkid (3), notcurses (3), fstab (5), proc (5), inotify (7), udev (7), blkid(8),, dmraid(8), dmsetup (8), growlight-readline(8), grub-install (8), grub-mkdevicemap (8), hdparm (8), losetup (8), lsblk (8), mdadm (8), mkfs (8), mount (8), parted (8), sfdisk (8), umount (8), zfs (8), zpool (8)

go read them. all of them. iykyk. πŸ“šβœ¨


πŸ‘‘ AUTHORS πŸ‘‘

nick black β€” nickblack@linux.com


and that's the whole page bestie, tysm for reading πŸ’– this edition was v1.2.38 of growlight(8), so if you see that version number floating around, you know exactly which iconic queen you're dealing with. periodt. πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from