All Projects → picodotdev → Alis

picodotdev / Alis

Licence: gpl-3.0
Arch Linux Install Script (or alis) installs unattended, automated and customized Arch Linux system.

Programming Languages

shell
77523 projects
bash
514 projects

Projects that are alternatives of or similar to Alis

Alterlinux
Alter Linux - ArchLinux-derived OS made in Japan aimed at being usable by anyone
Stars: ✭ 179 (-55.25%)
Mutual labels:  archlinux, linux-distribution
Snacklinux
Linux distribution for lazy people
Stars: ✭ 9 (-97.75%)
Mutual labels:  operating-system, linux-distribution
Archcraft
// Source : ISO
Stars: ✭ 437 (+9.25%)
Mutual labels:  operating-system, archlinux
Customarch
Arch Linux Based Custom ISOs Made With "Archiso"
Stars: ✭ 606 (+51.5%)
Mutual labels:  operating-system, archlinux
Calinix-Arch
CalinixOS Linux Distribution ISO Profiles
Stars: ✭ 42 (-89.5%)
Mutual labels:  archlinux, linux-distribution
Cylon
A CLI TUI menu driven bash shell script supporting updates, maintenance, backups and system checks for an Arch based Linux distro
Stars: ✭ 121 (-69.75%)
Mutual labels:  archlinux, linux-distribution
Darch
A tool for building and booting stateless and immutable images, bare metal.
Stars: ✭ 701 (+75.25%)
Mutual labels:  operating-system, linux-distribution
Termuxarch
You can use setupTermuxArch.bash 📲 to install Arch Linux in Amazon, Android, Chromebook and Windows. https://sdrausty.github.io/TermuxArch/docs/install
Stars: ✭ 653 (+63.25%)
Mutual labels:  archlinux, linux-distribution
chromium os-tinker board
Build your Chromium OS for Asus Tinker Board
Stars: ✭ 30 (-92.5%)
Mutual labels:  operating-system, linux-distribution
Jingos
JingOS - The World’s First Linux-based OS design for Tablets
Stars: ✭ 101 (-74.75%)
Mutual labels:  operating-system, linux-distribution
Chromium os Raspberry pi
Build your Chromium OS for Raspberry Pi 3B/3B+/4B and Pi400
Stars: ✭ 1,156 (+189%)
Mutual labels:  operating-system, linux-distribution
triton
Triton Operating System
Stars: ✭ 56 (-86%)
Mutual labels:  operating-system, linux-distribution
yosild
Yosild is a single shell script that builds a full, minimal Linux distribution based on BusyBox.
Stars: ✭ 97 (-75.75%)
Mutual labels:  operating-system, linux-distribution
Grub-Themes
Grub themes that will give a customized look to the Grub2 menu during boot.
Stars: ✭ 34 (-91.5%)
Mutual labels:  archlinux, linux-distribution
Console
The Hoa\Console library.
Stars: ✭ 354 (-11.5%)
Mutual labels:  console
Mordant
Full-featured text styling for Kotlin command-line applications
Stars: ✭ 382 (-4.5%)
Mutual labels:  console
Distortos
object-oriented C++ RTOS for microcontrollers
Stars: ✭ 354 (-11.5%)
Mutual labels:  operating-system
Legoos
Disseminated, Distributed OS for Hardware Resource Disaggregation. USENIX OSDI 2018 Best Paper.
Stars: ✭ 350 (-12.5%)
Mutual labels:  operating-system
Dotfiles
Configuration for Arch Linux, sway, kitty, kakoune, zsh and more + scripted installation guide
Stars: ✭ 385 (-3.75%)
Mutual labels:  archlinux
Upterm
A terminal emulator for the 21st century.
Stars: ✭ 19,441 (+4760.25%)
Mutual labels:  console

alis

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

It is a simple bash script that fully automates the installation of a Arch Linux system after booting from the original Arch Linux installation media. It contains the same commands that you would type and execute one by one interactively to complete the installation. The only user intervention needed is to edit a configuration file to choose the installation options and preferences from partitioning, to encryption, bootloader, file system, language and keyboard mapping, desktop environment, kernels, packages to install and graphic drivers. This automation makes the installation easy and fast.

If some time later after an system update for any reason the system does not boot correctly a recovery script is also provided to enter in a recovery mode that allows to downgrade packages or execute any other commands to restore the system. Also a log of the installation can be taken with asciinema.

Warning! This script can delete all partitions of the persistent storage. It is recommended to test it first in a virtual machine like VirtualBox.

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

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 Recommendations, 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!

Arch Linux Install Script (alis) is based on Arch Linux but is NOT approved, sponsored, or affiliated with Arch Linux or its related projects.

Arch Linux

Index

Donations

If you find useful this script, you can support me with a small donation through PayPal to continue adding features, updating the script, accepting pull request and responding to any question. Also there are other ways you can contribute in the How you can help section.

Donate with PayPal button

Principles

  • Use the original Arch Linux installation media
  • As much unattended and automated as possible, require as little interactivity as possible
  • Allow to customize the installation to cover the most common cases
  • Provide support for system recovery
  • Provide support for installation log

Features

  • System: UEFI, BIOS
  • Storage: SATA, NVMe and MMC
  • Encryption: root partition encrypted and no encrypted
  • Partition: no LVM, LVM, LVM on LUKS, GPT on UEFI, MBR on BIOS
  • File system: ext4, btrfs (with subvols), xfs, f2fs, reiserfs
  • Kernels: linux, linux-lts, linux-hardened, linux-zen
  • Desktop environment: GNOME, KDE, XFCE, Mate, Cinnamon, LXDE, i3-wm, i3-gaps
  • Display managers: GDM, SDDM, Lightdm, lxdm
  • Graphics controller: intel, nvidia and amd with optionally early KMS start. With intel optionally fastboot, hardware video acceleration and framebuffer compression.
  • Bootloader: GRUB, rEFInd, systemd-boot
  • Custom shell: bash, zsh, dash, fish
  • WPA WIFI network installation
  • Periodic TRIM for SSD storage
  • Intel and AMD processors microcode
  • Optional swap file
  • VirtualBox guest additions
  • Kernel compression and custom parameters
  • Users creation and add to sudoers
  • systemd units enable or disable
  • Multilib support
  • Arch Linux common and custom packages installation
  • Flatpak utility installation and Flatpak packages installation
  • SDKMAN utility installation and SDKMAN packages installation
  • AUR utility installation (yay, aurman) and AUR packages installation
  • Packages installation after base system installation (preferred way of packages installation)
  • Script for download installation and recovery scripts and configuration files
  • Retry packages download on connection/mirror error
  • 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
  • Fork the repository and use your own configuration

System installation

Download and boot from the latest original Arch Linux installation media. After boot use the following commands to start the installation.

Follow the Arch Way of doing things and learn what this script does. This will allow you to know what is happening.

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

#                         # Start the system with latest Arch Linux installation media
# loadkeys [keymap]       # Load keyboard keymap, eg. loadkeys es, loadkeys us, loadkeys de
# iwctl --passphrase "[WIFI_KEY]" station [WIFI_INTERFACE] connect "[WIFI_ESSID]"          # (Optional) Connect to WIFI network. _ip link show_ to know WIFI_INTERFACE.
# curl -sL https://raw.githubusercontent.com/picodotdev/alis/master/download.sh | bash     # Download alis scripts
# # curl -sL https://bit.ly/2F3CATp | bash                                                 # Alternative download URL with URL shortener
# ./alis-asciinema.sh     # (Optional) Start asciinema video recording
# vim alis.conf           # Edit configuration and change variables values with your preferences (system configuration)
# vim alis-packages.conf  # (Optional) Edit configuration and change variables values with your preferences (packages to install)
#                         # (The preferred way to install packages is after system installation, see Packages installation)
# ./alis.sh               # Start installation
# ./alis-reboot.sh        # (Optional) Reboot the system, only necessary when REBOOT="false"

If you fork alis repository you can host your own configuration and changes in your repository.

# curl https://raw.githubusercontent.com/picodotdev/alis/master/download.sh | bash -s -- -u [github user]

Packages installation

After the base Arch Linux system is installed, alis can install packages with pacman, Flatpak, SDKMAN and from AUR.

#                                  # After system installation start a user session
# curl -sL https://raw.githubusercontent.com/picodotdev/alis/master/download.sh | bash     # Download alis scripts
# # curl -sL https://bit.ly/2F3CATp | bash                                                 # Alternative download URL with URL shortener
# ./alis-packages-asciinema.sh     # (Optional) Start asciinema video recording
# vim alis-packages.conf           # Edit configuration and change variables values with your preferences (packages to install)
# ./alis-packages.sh               # Start packages installation

Recovery

Boot from the latest original Arch Linux installation media. After boot use the following commands to start the recovery, this will allow you to enter in the arch-chroot environment.

#                                  # Start the system with latest Arch Linux installation media
# loadkeys [keymap]                # Load keyboard keymap, eg. loadkeys es, loadkeys us, loadkeys de
# iwctl --passphrase "[WIFI_KEY]" station [WIFI_INTERFACE] connect "[WIFI_ESSID]"          # (Optional) Connect to WIFI network. _ip link show_ to know WIFI_INTERFACE.
# curl -sL https://raw.githubusercontent.com/picodotdev/alis/master/download.sh | bash     # Download alis scripts
# # curl -sL https://bit.ly/2F3CATp | bash                                                 # Alternative download URL with URL shortener
# ./alis-recovery-asciinema.sh     # (Optional) Start asciinema video recording
# vim alis-recovery.conf           # Edit configuration and change variables values with your last installation configuration with alis (mainly device and partition scheme)
# ./alis-recovery.sh               # Start recovery
# ./alis-recovery-reboot.sh        # Reboot the system

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
  • Send me an email, I like to read that the script is being used and is useful :). Which are your computer specs, which is your alis configuration, if is your personal or working computer, if all worked fine or some suggestion to improve the script
  • Consider to make a small donation

Test in VirtualBox 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, ...
$ ./alis-packer.sh -c alis-packer-efi-ext4-systemd.sh
$ ./alis-packer.sh -c alis-packer-efi-ext4-systemd-gnome.sh
$ ./alis-packer.sh -c alis-packer-efi-ext4-luks-lvm-grub.sh
$ ./alis-packer.sh -c alis-packer-efi-btrfs-luks-lvm-systemd.sh
$ ./alis-packer.sh -c alis-packer-efi-f2fs-luks-lvm-systemd.sh
$ ./alis-packer.sh -c alis-packer-efi-ext4-grub-gnome.sh
$ ./alis-packer.sh -c alis-packer-efi-ext4-grub-kde.sh
$ ./alis-packer.sh -c alis-packer-efi-ext4-grub-xfce.sh

Video

asciicast

Arch Linux Installation Media

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

Reference

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].