Installer guide

Installer guide

Installer screens overview

Usage

GNOS Core installer
===================

Alternative Ubuntu system installer featuring advanced storage options

Usage:
======

gnos <options> <command> <args...>

Options:
========

-c|--config         Use config file
-C|--no-config      Don't detect config file
-a|--additional     Use additional code file
-h|--help           This help screen

Commands:
========

MenuInstall                     Interactive initial system install
MenuExtend                      Interactive additional ZFS install
MenuRepair                      Interactive recovery console
Deploy                          Unattended install
Internal     FUNCTION [ARGS...] Call one internal function with arguments
InternalList FUNCTION...        Call several internal functions without args

The installer can consume a configfile for  Unattended deployment, see  Configuration file format.

Basic

Ubuntu version

    ┌──────────────────────────────────────────────────────────────┐
    │ Ubuntu release                                               │
    │                                                              │
    │    ( ) xenial  LEGACY      Ubuntu 16.04 LTS  <2021           │
    │    (*) bionic  RECOMMENDED Ubuntu 18.04 LTS  <2023           │

Storage

Storage features

    │    [ ] UEFI         ┬─ UEFI boot                             │
    │    [ ] APPLE        └── Apple EFI on hfs+                    │
    │    [*] ZFS          ┬─ ZFS root partition(s)                 │
    │    [*] BOOTCLONE    └── Bootable root snapshots              │
    │    [ ] CRYPTO_ROOT  ┬─ Encrypted root partition(s)           │
    │    [ ] RANDOM       ├── Randomized encrypted partition(s)    │
    │    [ ] CRYPTO_BOOT  ├── Encrypted boot partition(s)          │
    │    [ ] PLAIN_BOOT   └┬─ Clear-text boot partition(s)         │
    │    [ ] SSH_UNLOCK    └── Remote unlock over SSH              │

Notice the dependecy tree (APPLE depends on UEFI, BOOTCLONE depends on ZFS, SSH_UNLOCK depends on PLAIN_BOOT which in turn depends on CRYPTO_ROOT).

    ┌──────────────────────────────────────────────────────────────┐
    │ WARNING RANDOM                                               │
    │ ───────                                                      │
    │ Randomizing encrypted space can spend hours depending on     │
    │ your storage size & performance.                             │

Storage drives & partitions

    ┌──────────────────────────────────────────────────────────────┐
    │ Pool partition(s), multiple means ZFS vdev                   │
    ┌──────────────────────────────────────────────────────────────┐
    │ [OPTIONAL] Boot partition(s), multiple means MD-RAID mirror  │
    ┌──────────────────────────────────────────────────────────────┐
    │ [OPTIONAL] Swap partition(s), multiple means MD-RAID mirror  │
    ┌──────────────────────────────────────────────────────────────┐
    │ Grub target(s), use disk(s), partition(s) are unreliable     │

Keyboard

    ┌──────────────────────────────────────────────────────────────┐
    │ Keyboard model: pc105                                        │
    ┌──────────────────────────────────────────────────────────────┐
    │ Keyboard layout: us                                          │
    ┌──────────────────────────────────────────────────────────────┐
    │ Keyboard variant:                                            │

LUKS

                    ┌──────────────────────────────┐
                    │ LUKS password                │
                    │                              │
                    │ ****________________________ │

    ┌──────────────────────────────────────────────────────────────┐
    │ LUKS options (expert)                                        │
    │                                                              │
    │ s-xts-plain64 --key-size 512 --hash sha512 --iter-time 2000_ │

SSH_UNLOCK has dedicated screens:

    ┌──────────────────────────────────────────────────────────────┐
    │ SSH_UNLOCK Ethernet interface                                │
    │                                                              │
    │    ( ) enp0s3                                                │

    ┌──────────────────────────────────────────────────────────────┐
    │                                                              │
    │ SSH_UNLOCK IP address assignment                             │
    │                                                              │
    │                <DHCP>                  <Static>              │

    ┌──────────────────────────────────────────────────────────────┐
    │ SSH_UNLOCK Static IP address configuration                   │
    │                                                              │
    │ host::gateway:netmask:hostname:device:'off'                  │
    │                                                              │
    │ 192.168.1.68::192.168.1.1:255.255.255.0::enp0s3:off_________ │

ZFS

    ┌──────────────────────────────────────────────────────────────┐
    │ ZFS pool options (expert)                                    │
    │                                                              │
    │ d=on -O atime=off -O compression=lz4 -O normalization=formD_ │

    ┌──────────────────────────────────────────────────────────────┐
    │ ZFS pool name                                                │
    │                                                              │
    │ pool________________________________________________________ │

    ┌──────────────────────────────────────────────────────────────┐
    │ ZFS root dataset, relative to pool/                          │
    │                                                              │
    │ root/gnos___________________________________________________ │

    ┌──────────────────────────────────────────────────────────────┐
    │ [OPTIONAL] ZFS data dataset, relative to pool/               │
    │                                                              │
    │ data________________________________________________________ │

Distro

┌────────────────────────────────────────────────────────────────────────┐
│ Timezone configuration                                                 │

    ┌──────────────────────────────────────────────────────────────┐
    │ Hostname                                                     │
    │                                                              │
    │ gnosdemo____________________________________________________ │

    ┌──────────────────────────────────────────────────────────────┐
    │ Username                                                     │
    │                                                              │
    │ user________________________________________________________ │

                    ┌──────────────────────────────┐
                    │ USER password                │

Review: Core

┌────────────────────────────────────────────────────────────────────────┐
│                                                                        │
│ Please review configuration:                                           │
│                                                                        │
│ BOOT_PARTITION=""                                                      │
│ GRUB_DEVICE="/dev/sda"                                                 │
│ HOST_HOSTNAME="gnosdemo"                                               │
│ HOST_TIMEZONE="Zulu"                                                   │
│ KEYBOARD_LAYOUT="us"                                                   │
│ KEYBOARD_MODEL="pc105"                                                 │
│ KEYBOARD_VARIANT=""                                                    │
│ LUKS_FORMAT_OPTS="--cipher aes-xts-plain64 --key-size 512 --hash       │
│ sha512 --iter-time 2000"                                               │
│ POOL_TOPOLOGY="/dev/sda2"                                              │
│ STORAGE_OPTIONS="ZFS BOOTCLONE CRYPTO_ROOT"                            │
│ SWAP_PARTITION=""                                                      │
│ UBUNTU_RELEASE="bionic"                                                │
│ USER_USERNAME="user"                                                   │
│ ZFS_DATA_DSET="data"                                                   │
│ ZFS_POOL_NAME="pool"                                                   │
│ ZFS_POOL_OPTS="-o ashift=13 -o autoexpand=on -O atime=off -O           │
│ compression=lz4 -O normalization=formD"                                │
│ ZFS_ROOT_DSET="root/gnos"                                              │

Additional

Features

    ┌──────────────────────────────────────────────────────────────┐
    │ Software additions                                           │
    │                                                              │
    │    [*] CLI   Command-line tools                              │
    │    [*] GUI   Graphical interface                             │
    │    [*] APPS  Install apps                                    │
    │    [*] FULL  Include all apps                                │
    │    [ ] FREE  Exclude proprietary apps                        │
    │    [ ] PICK  Manual app selection                            │

Categories

If PICK was set you can toggle installed apps categories.

    ┌──────────────────────────────────────────────────────────────┐
    │ Software categories                                          │
    │                                                              │
    │    [*] SETTINGS     Settings management                  ↑   │
    │    [*] SOFTWARE     Software management                  ▮   │
    │    [*] ACCESSORIES  Desktop accessories                      │
    │    [*] STORAGE      Storage management                       │
    │    [*] ENGINE       Execution engines                        │
    │    [*] BROWSE       Web browsers                             │
    │    [*] NET          Network tools                            │
    │    [*] TRANSFER     File transfer                            │
    │    [*] SPEAK        Chat and Share                           │
    │    [*] PERSONAL     Personal information                     │
    │    [*] ENTERTAIN    Entertainment                            │
    │    [*] AUDIO        Audio software                           │
    │    [*] GRAPHICS     Graphics software                    ↓   │

Apps

If PICK was set you can fine-tune installed apps.

    ┌──────────────────────────────────────────────────────────────┐
    │ Settings management                                          │
    │                                                              │
    │    [*] Controlcenter  Configuration center                   │
    │    [*] Dconfeditor    Configuration editor                   │
    │    [*] Tweaks         Gnome tweaks                           │
    │    [*] Galternatives  Software alternatives editor           │
    │    [*] Dfeet          D-BUS browser                          │
    ┌──────────────────────────────────────────────────────────────┐
    │ Software management                                          │
    │                                                              │
    │    [*] Drivers      Drivers installer                        │
    │    [*] Updates      Software updates                         │
    │    [*] Software     Software store                           │
    │    [*] Gdebi        Software installer                       │
    │    [*] Synaptic     Software manager                         │
    │    [*] Yppamanager  PPA manager                              │
    ┌──────────────────────────────────────────────────────────────┐
    │ Desktop accessories                                          │
    │                                                              │
    │    [*] Nautilus    File manager                              │
    │    [*] Hachoir     Binary stream viewer                      │
    │    [*] Mat         Metadata editor                           │
    │    [*] Calculator  Calculator                                │
    │    [*] Clocks      Time tools                                │
    │    [*] Gcolor      Color picker                              │
    │    [*] Gtkhash     Digest viewer                             │
    │    [*] Kazam       Screencaster                              │
    │    [*] Peek        GIF Screencaster                          │
    ┌──────────────────────────────────────────────────────────────┐
    │ Storage management                                           │
    │                                                              │
    │    [*] Baobab         Disk space analyzer                    │
    │    [*] Gparted        Partions editor                        │
    │    [*] Gsmartcontrol  SMART monitor                          │
    │    [*] Sirikali       Encrypted folders                      │
    │    [*] Zulucrypt      Encrypted devices                      │
    ┌──────────────────────────────────────────────────────────────┐
    │ Execution engines                                            │
    │                                                              │
    │    [*] Docker              Container engine                  │
    │    [*] Kubernetes          Container orchestrator            │
    │    [*] Lxc                 Container engine                  │
    │    [*] Lxd                 Container engine                  │
    │    [*] Kvm                 VM hypervisor                     │
    │    [*] Virtualbox          VM hypervisor                     │
    │    [*] Virtualbox_NONFREE  Extension Pack                    │
    │    [*] Wine                Win32 compatibility layer         │
    ┌──────────────────────────────────────────────────────────────┐
    │ Web browsers                                                 │
    │                                                              │
    │    [*] Chrome_NONFREE  Web browser (Google)                  │
    │    [*] Chromium        Chrome alternative                    │
    │    [*] Torbrowser      Tor browser (Official)                │
    │    [*] Tor             Tor browser (Experimental)            │
    │    [*] Vpn             Vpn browser                           │
    │    [*] Web             Web browser based on Mozilla Firefox  │
    ┌──────────────────────────────────────────────────────────────┐
    │ Network tools                                                │
    │                                                              │
    │    [*] Gstm                Ssh tunnel manager                │
    │    [*] Hamachi_NONFREE     Hosted VPN service (LogMeIn)      │
    │    [*] Synergy             Virtual KVM                       │
    │    [*] Teamviewer_NONFREE  Remote desktop (TeamViewer)       │
    │    [*] Vnc                 Remote desktop (vino+remmina)     │
    │    [*] Wireshark           Packet analyzer                   │
    │    [*] Zapproxy            Man-in-the-middle proxy           │
    │    [*] Zenmap              Nmap GUI                          │
    ┌──────────────────────────────────────────────────────────────┐
    │ File transfer                                                │
    │                                                              │
    │    [*] Grsync           Rsync GUI                            │
    │    [*] Filezilla        Sftp client                          │
    │    [*] Nitroshare       Lan share                            │
    │    [*] Sftpman          Sshfs client                         │
    │    [*] Transmission     Torrent client                       │
    │    [*] Sparkleshare     Git sync                             │
    │    [*] Syncthing        File sync                            │
    │    [*] Rclonebrowser    Cloud sync                           │
    │    [*] Dropbox_NONFREE  Sync client (Dropbox)                │
    │    [*] Mega_NONFREE     Sync client (Mega)                   │
    ┌──────────────────────────────────────────────────────────────┐
    │ Chat and Share                                               │
    │                                                              │
    │    [*] Pidgin            Universal chat client               │
    │    [*] Ring              Secure SIP client                   │
    │    [*] Signal            Secure chat client                  │
    │    [*] Skype_NONFREE     Chat client (Microsoft)             │
    │    [*] Telegram_NONFREE  Chat client (Discord)               │
    │    [*] Viber_NONFREE     Chat client (Viber)                 │
    ┌──────────────────────────────────────────────────────────────┐
    │ Personal information                                         │
    │                                                              │
    │    [*] Android    Android sync                               │
    │    [*] Electrum   Bitcoin wallet                             │
    │    [*] Evolution  Mail & personal manager                    │
    │    [*] Google     Google desktop integration                 │
    │    [*] Keepassxc  Password manager                           │
    │    [*] Keybase    Key directory, storage & chat              │
    │    [*] Liferea    Feed aggregator                            │
    │    [*] Rambox     Universal Web Chat client                  │
    ┌──────────────────────────────────────────────────────────────┐
    │ Audio software                                               │
    │                                                              │
    │    [*] Ardour          Audio studio                          │
    │    [*] Audacity        Audio editor                          │
    │    [*] Lmms            Audio studio                          │
    │    [*] Mixxx           DJ station                            │
    │    [*] Pulseeffects    Audio equalizer                       │
    │    [*] Soundconverter  Audio transcoder                      │
    ┌──────────────────────────────────────────────────────────────┐
    │ Graphics software                                            │
    │                                                              │
    │    [*] Darktable    Raw editor                               │
    │    [*] Digikam      Photo collection                         │
    │    [*] Gimp         Bitmap editor                            │
    │    [*] Inkscape     Vector editor                            │
    │    [*] Scribus      Desktop publishing                       │
    │    [*] Gthumb       Universal image viewer                   │
    │    [*] Fontmanager  Font manager                             │
    │    [*] Birdfont     Font editor                              │
    │    [*] Typecatcher  Online font installer                    │
    │    [*] Freecad      3D parametric modeler                    │
    │    [*] Sweethome3d  3D interior design                       │
    ┌──────────────────────────────────────────────────────────────┐
    │ Video software                                               │
    │                                                              │
    │    [*] Vlc        universal media player                     │
    │    [*] Handbrake  Video transcoder                           │
    │    [*] Kdenlive   Video editor                               │
    │    [*] Openshot   Video editor                               │
    │    [*] Blender    3D studio                                  │
    │    [*] Natron     Node-based compositing                     │
    ┌──────────────────────────────────────────────────────────────┐
    │ Entertainment                                                │
    │                                                              │
    │    [*] Clementine   Music collection                         │
    │    [*] Gradio       Online radio player                      │
    │    [*] Headset      Youtube music player                     │
    │    [*] Freetuxtv    TV player                                │
    │    [*] Kodi         Media center                             │
    │    [*] PopCornTime  Torrent video player                     │
    ┌──────────────────────────────────────────────────────────────┐
    │ Office software                                              │
    │                                                              │
    │    [*] LibreOffice        Office suite                       │
    │    [*] WpsOffice_NONFREE  Office suite, MS-compatible        │
    │    [*] MasterPdf_NONFREE  PDF editor                         │
    │    [*] Okular             Document viewer                    │
    │    [*] Paperwork          Document collection                │
    │    [*] Qownnotes          Markdown notepad                   │
    ┌──────────────────────────────────────────────────────────────┐
    │ Development tools                                            │
    │                                                              │
    │    [*] Konsole            Terminal emulator                  │
    │    [*] Sublime_NONFREE    Text editor                        │
    │    [*] Vscode             Code editor (Microsoft)            │
    │    [*] Gitkraken_NONFREE  Git client                         │
    │    [*] Meld               Diff viewer                        │
    │    [*] Okteta             Binary editor                      │
    │    [*] Dbeaver            Universal database manager         │
    │    [*] Sqlitebrowser      SQLite browser                     │
    │    [*] Zeal               Offline documentation browser      │
    │    [*] Scratch            Code for kids                      │
    ┌──────────────────────────────────────────────────────────────┐
    │ Learning sources                                             │
    │                                                              │
    │    [*] Maps           Online maps (OpenStreetMaps)           │
    │    [*] Earth_NONFREE  Online earth explorer (Google)         │
    │    [*] Stellarium     Online planetarium                     │
    │    [*] Geogebra       Math Learning                          │
    │    [*] Kiwix          Offline Learning                       │
    │    [*] TunesViewer    iTunes-University client               │

Review: Additional

TAB enter pgup/pgdown scroll

┌───────────────────┤ Please review additional software ├─────────────────┐
│                                                                         │
│ Cli             Gdebi              Lxd                Sweethome3d
│ Gui             Geogebra           Maps               Synaptic
│ Android         Gimp               MasterPdf_NONFREE  Synergy
│ Ardour          Gitkraken_NONFREE  Mat                Teamviewer_NONFREE
│ Audacity        Google             Meld               Telegram_NONFREE
│ Baobab          Gparted            Mixxx              Tor
│ Birdfont        Gradio             Natron             Torbrowser
│ Blender         Gsmartcontrol      Nautilus           TunesViewer
│ Calculator      Gstm               Okteta             Tweaks
│ Chrome_NONFREE  Gthumb             Okular             Typecatcher
│ Chromium        Gtkhash            Openshot           Updates
│ Clementine      Hachoir            Paperwork          Viber_NONFREE
│ Clocks          Hamachi_NONFREE    Peek               Virtualbox
│ Controlcenter   Handbrake          Pidgin             Virtualbox_NONFREE
│ Darktable       Headset            PopCornTime        Vlc
│ Dbeaver         Inkscape           Pulseeffects       Vnc
│ Dconfeditor     Kazam              Qownnotes          Vpn
│ Dfeet           Kdenlive           Rambox             Vscode
│ Digikam         Keepassxc          Ring               Web
│ Docker          Keybase            Scratch            Wine
│ Drivers         Kiwix              Scribus            Wireshark
│ Earth_NONFREE   Kodi               Signal             WpsOffice_NONFREE
│ Electrum        Konsole            Sirikali           Yppamanager
│ Evolution       Kubernetes         Skype_NONFREE      Zapproxy
│ Fontmanager     Kvm                Software           Zeal
│ Freecad         LibreOffice        Soundconverter     Zenmap
│ Freetuxtv       Liferea            Sqlitebrowser      Zulucrypt
│ Galternatives   Lmms               Stellarium
│ Gcolor          Lxc                Sublime_NONFREE

Disclaimer

┌───────────────────────────────────────────────────────────────────┐
│ WARNING                                                           │
│ ───────                                                           │
│                                                                   │
│ Data on the following devices will be permanently DELETED:        │
│                                                                   │
│ sda1(GRUB) sda1 sda2                                              │
│                                                                   │
│                                                                   │
│ Using this software without storage backups can lead to DATA LOSS │
│                                                                   │
│                                                                   │
│ Type 'I ACCEPT' to continue                                       │
│                                                                   │
│ _________________________________________________________________ │
│                                                                   │
│                                                                   │
│                 <Next>                   <Exit>                   │
│                                                                   │
└───────────────────────────────────────────────────────────────────┘

TODO

TODO