A highly configurable script installing Arch Linux.
- Fully automated installation of a ready-to-use Arch Linux system
- Installation to any device, including USB sticks or into a VirtualBox VM
- Auto-detecting SSDs to configure TRIM
- Supports both BIOS (legacy) and EFI/UEFI boot methods
- for BIOS:
grub
boot loader - for EFI/UEFI: choose between
grub
or thegummiboot
boot loader
- for BIOS:
- "One-switch" installation of a fully LVM-on-LUKS encrypted system (also to USB sticks!)
yaourt
installation to install AUR packages right away- Xorg installation
- Optionally install Ubuntu's font rendering (much smoother!)
- Xfce installation, including the Numix theme and icons
- Graphical user login using LightDM
- Installation of individually configurable software package sets, already
including
- Chrome, Firefox, Thunderbird, Skype, Pidgin, TeamViewer
- GIMP, gThumb, Shutter, Kazam
- Dropbox, FileZilla, gSTM, Tor
- OpenJDK 8, LibreOffice
- VLC, Spotify, Banshee, Audacity, MuseScore
- VirtualBox
- Ant, Maven, GCC, Code::Blocks, GCC for AVR, Arduino, Fritzing
- Apache, MariaDB, PHP, Composer, Node.js, npm, Google Protocol Buffers
- ...
- Optimization settings like
noatime
, swappiness and a better IO scheduler for SSDs
You should look into the configuration file arch-install.conf
-- almost
everything is configurable...
(For a more detailed usage guide scroll down.)
Boot the Arch Linux ISO image and type in:
curl -L https://github.com/wrzlbrmft/arch-install/archive/master.tar.gz | tar zxvf -
arch-install-master/arch-install.sh
CAUTION: The installation will delete all existing data on the installation device including all other partitions and operating systems on it.
After a while, reboot
and enjoy!
Start by downloading(, burning) and booting the latest Arch Linux ISO image.
After the auto-login as root
, you can load an alternative keyboard layout,
e.g. German:
loadkeys de-latin1
(on German keyboards: for y
press z
, for -
press ß
)
Make sure you have a working internet connection:
ping -c 3 8.8.8.8
To connect to a wireless network use:
wifi-menu
Next, download and unpack the arch-install
repository:
curl -L https://github.com/wrzlbrmft/arch-install/archive/master.tar.gz | tar zxvf -
arch-install-master/arch-install.sh
You may want to change the default configuration:
nano -w arch-install-master/arch-install.conf
NOTE: If you are installing into a VirtualBox
VM, make sure to set both INSTALL_VIRTUALBOX_GUEST
and
ENABLE_MODULES_VIRTUALBOX_GUEST
to yes
and maybe
ENABLE_MODULES_VIRTUALBOX_HOST
to no
.
see also: Configuration/Most Important Settings
Finally, start the installation process:
arch-install-master/arch-install.sh
CAUTION: The installation will delete all existing data on the installation device including all other partitions and operating systems on it.
NOTE: For both the root
and main user, and also if you enabled the
LVM-on-LUKS encryption, you will have to type in some passwords during the
installation process.
Depending on your computer and internet connection speed, installing the defaults takes about 60 minutes (downloading 1.8 GB) and uses 11.1 GB of the installation device.
The installation is done, once you see
[arch-install] Wake up, Neo... The installation is done!
Finally, reboot your machine:
reboot
That's it!
Eventually, I will add more comments to arch-install.conf soon... :-)
Default: /dev/sda
Definitely the most important setting: where to install Arch Linux.
CAUTION: The installation will delete all existing data on the installation device including all other partitions and operating systems on it.
Value: legacy
(default) or efi
Boot method to be used: legacy
for BIOS boot, efi
for
EFI/UEFI
boot. This affects the boot loader configuration.
Value: yes
or no
(default)
Whether to install an LVM-on-LUKS encrypted system. For more information, start reading on Wikipedia about LUKS and dm-crypt.
Value: yes
(default) or no
Whether to add a main user. If set to yes
, have a look at the
MAIN_USER_USERNAME
and MAIN_USER_REALNAME
settings.
CAUTION: The installation process highly depends on the creation of a main
user (for basically everything being installed by yaourt
). Disable at your
own risk!
If ADD_MAIN_USER
is set to yes
, a main user will be created. Use these two
settings to configure its username and the user's realname.
You can use an alternative configuration file by passing it to the installation script:
arch-install-master/arch-install.sh -c my.conf
This software is distributed under the terms of the GNU General Public License v3.