Skip to content
This repository has been archived by the owner on Sep 25, 2022. It is now read-only.

arceryz/artix-luks-base-install

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

artix-luks-base-install

A fully self-contained Artix Linux base installation script that installs the base system with an encrypted disk on /root /home and /swap using cryptsetup. The script is fully automated with no interaction from start to finish. Parameters are given as command line arguments.

The installer is only configured to work with EFI systems and installs the runit init system by default. By default it allocates 12G for /swap, 50G for /root and everything else for /home. This should be sufficient for most configurations.

Features:

  • EFI only.
  • Encrypted /root /home and /swap using LVM on LUKS encryption technique.
  • Runit init system (replaces systemd).
  • Configures defaults for locale, sudoers and networking.
  • Small and well documented script, no bloat.

The following articles we're used for reference:

Download.

You can download this script raw from github.

curl -LO https://raw.githubusercontent.com/swordstrike1/artix-luks-base-install/master/artix-luks-base-install

Usage.

Help is echoed by the script.

$ ./artix-luks-base-install /dev/sdX [ENCRYPTION-PASSWORD]

Wifi Setup With Connmanctl.

To use this script, make sure you are connected to the internet. You can connect to the internet either through ethernet or with connmanctl:

connmanctl
> agent on
> enable wifi
> scan wifi
...
Scan Completed
> services
... A long list of services SSIDS & codes ...

> connect <NETWORK ID>
Enter Password: ******
...
Connected
> exit

Install Summary.

The script follows the following install steps:

  1. Ask user confirmation.
  2. Download parted using pacman.
  3. Reset previous installation attempts.
  4. Partition disk using parted. (512MB boot, 100% leftover to encrypted drive)
  5. Create LUKS container using cryptsetup.
  6. Create physical volume.
  7. Create logic volume group (default name CryptVolGroup).
  8. Create logical volume SWAP size 12g.
  9. Create logical volume ROOT size 50g.
  10. Create logical volume HOME leftovers.
  11. Make filesystems.
  12. Mount filesystems.
  13. Basestrap system and generate fstab.
  14. Modify grub cfg and install grub with UEFI.
  15. Set root password to 123.
  16. Modify sudoers to allow 'wheel' group sudo access with root password only and set pwfeedback.
  17. Set hostname (default 4rt1x).
  18. Create /etc/hosts file.
  19. Link NetworkManager service to runsvdir.
  20. Generate and set default locale to en_US.UTF-8.
  21. Set default timezone to Europe and sync hwclock.
  22. Perform cleanups.
  23. Inform user :)

If you have suggestions on improving the script, or need help with the installation. Feel free to contribute/open issues.