Code Monkey home page Code Monkey logo

alis's Introduction

alis

Arch Linux Install Script (alis) installs unattended, automated and customized Arch Linux system.

This a simple bash script for an easy and fast way of installing Arch Linux, follow the Arch Way of doing things and learn what this script does. This will allow you to know what is happening.

Please, don't ask for support for this script in Arch Linux forums, first read the Arch Linux wiki, the Installation Guide and the General Recomendations, later compare those commands with the commands of this script.

For new features, improvements and bugs fill an issue in GitHub or make a pull request. You can test it in a VirtualBox virtual machine (strongly recommended) before run it in real hardware. If you test it in real hardware please send me an email to [email protected] with the machine description and tell me if something goes wrong or all works fine. Pull request and new feature request are welcome!

Warning! This script can delete all partitions of the persistent storage

Currently these scripts are for me but maybe they are useful for you too.

Principles

  • Use the original Arch Linux installation media
  • Require as little interactivity as possible
  • Allow to customize the installation to cover the most common cases
  • Provide support for recovery
  • Provide support for get a log

Features

  • GPT, UEFI, BIOS
  • Support for SATA, NVMe and MMC
  • LVM and no LVM
  • root partition encrypted and no encrypted
  • LVM on LUKS when LVM and encrypted
  • Support automatic (wipe and use full disk), custom and manual partition
  • File system formats ext4, btrfs (with subvols), xfs
  • Optional file swap (not supported in btrfs)
  • WPA WIFI network installation
  • Periodic TRIM for SSD storage
  • VirtualBox guest utils
  • Intel and AMD processors microcode
  • Additional kernels installation (linux-lts, linux-hardened, linux-zen)
  • Kernel compression and custom parameters
  • Users creation and add to sudoers
  • Common and custom packages installation
  • AUR utility installation (aurman, yay)
  • Retry packages download on connection/mirror error
  • Desktop environments (GDM, KDE, XFCE, Mate, Cinnamon, LXDE), display managers (GDM, SDDM, Lightdm, lxdm) and no desktop environment
  • Graphics controllers (intel, nvidia, amd) with optionally early KMS start
  • GRUB, rEFInd, systemd-boot bootloaders
  • Script for download installation and recovery scripts and configuration files
  • Packer support for testing in VirtualBox
  • Installation log with all commands executed and output in a file and/or asciinema video
  • Wait after installation for an abortable reboot

Installation

Internet connection is required, with wireless WIFI connection see Wireless_network_configuration to bring up WIFI connection before starting installation with alis.

# # Start the system with lastest Arch Linux installation media
# loadkeys [keymap]
# curl https://raw.githubusercontent.com/picodotdev/alis/master/download.sh | bash, or with URL shortener curl -sL https://bit.ly/2F3CATp | bash
# # Edit alis.conf and change variables values with your preferences
# vim alis.conf
# ./alis.sh

Installation with asciinema vídeo

As another form of log.

# # Start the system with lastest Arch Linux installation media
# loadkeys [keymap]
# curl https://raw.githubusercontent.com/picodotdev/alis/master/download.sh | bash, or with URL shortener curl -sL https://bit.ly/2F3CATp | bash
# ./alis-asciinema.sh
# # Edit alis.conf and change variables values with your preferences
# vim alis.conf
# ./alis.sh
# exit
# ./alis-reboot.sh

Recovery

# # Start the system with lastest Arch Linux installation media
# loadkeys [keymap]
# curl https://raw.githubusercontent.com/picodotdev/alis/master/download.sh | bash, or with URL shortener curl -sL https://bit.ly/2F3CATp | bash
# # Edit alis-recovery.conf and change variables values with your last installation with alis
# vim alis-recovery.conf
# # Optional asciinema video
# ./alis-asciinema-recovery.sh
# ./alis-recovery.sh

How you can help

  • Test in VirtualBox and create an issue if something does not work, attach the main parts of the used configuration file and the error message
  • Create issues with new features
  • Send pull requests
  • Share it in social networks, forums, create a blog post or video about it

Test in VirtuaBox with Packer

VirtualBox and Packer are required.

  • Firmware: efi, bios
  • File system: ext4, btrfs, f2fs, xfs
  • Partition: luks, lvm
  • Bootloader: grub, refind, systemd
  • Desktop environment: gnome, kde, xfce, ...
$ curl https://raw.githubusercontent.com/picodotdev/alis/master/download-packer.sh | bash

$ ./alis-packer.sh -c alis-packer-efi-btrfs-luks-lvm-systemd.json
$ ./alis-packer.sh -c alis-packer-efi-ext4-grub-gnome.json
$ ./alis-packer.sh -c alis-packer-efi-ext4-grub-kde.json
$ ./alis-packer.sh -c alis-packer-efi-ext4-grub-xfce.json
$ ./alis-packer.sh -c alis-packer-efi-ext4-luks-lvm-grub.json
$ ./alis-packer.sh -c alis-packer-efi-f2fs-luks-lvm-systemd.json

Video

asciicast

Arch Linux Installation Media

https://www.archlinux.org/download/

Reference

alis's People

Contributors

kennystier avatar picodotdev avatar rawkode avatar shalokshalom avatar xnnism avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.