Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ulinja/asap

A versatile Arch Linux installer and installation-medium-builder.
https://github.com/ulinja/asap

arch-linux archlinux archlinux-installer archlinuxinstallation

Last synced: about 2 months ago
JSON representation

A versatile Arch Linux installer and installation-medium-builder.

Awesome Lists containing this project

README

        

# ASAP

*Version 0.7.4-alpha*

## About

ASAP is an automated installation suite for Arch Linux, simplifying a complete
installation into typing a few intuitive commands and watching the process on your
terminal:

![ASAP Demo](/img/stage3.gif)

### Getting started

ASAP runs in distinct stages:

Stage Number | Stage Overview
------------ | --------------
Stage 0 | Initialize installation resources
Stage 1 | Drive partitioning, formatting & mounting
Stage 2 | Bootstrapping (pre-chroot)
Stage 3 | System setup (post-chroot)

![ASAP Demo](/img/stage0.gif)

Begin a stage by running the following, where `X` is the stage number:

```bash
asap_stage-X
```

You can run your own commands in between stages. With the exception of stage 1,
no manual intervention is required for a standard installation.

## How it works

To check which installation scripts have run successfully, run:

```bash
asap_check-progress
```

This will display the contents of the asap checkpoint-file. Scripts listed in the
checkpoint-file will not be run again. This is useful if something went wrong: you
can fix the issue and just rerun the stage entirely using `asap_stage-X`.

To manually add a script to the checkpoint-file, use:

```bash
asap_set-checkpoint 'myCheckpoint'
```

where `myCheckpoint` is a stage-checkpoint in the form `stageX` or the filename
of a script.

### Packages

Asap comes with a few package-lists by default. They define which packages are installed
on your base system and can be freely modified. By default, they are limited to
a minimal list of linux utilities, including the [Saplib](https://github.com/ulinja/saplib) library.

## Customization

ASAP is customizable and extensible: you can **bake your own scripts right into the
installation medium**, and they will be executed and logged automatically by ASAP.
Building your own installation medium is very easy with the provided ASAP
archiso-profile and Makefile.
Simply add files or edit existing ones to the `asap/airootfs/` filesystem
and run `make build`.
Adding bash scripts to any of the folders in `asap/airootfs/usr/local/lib/asap/stages/`
will make ASAP run them automatically during that stage.
You can easily add an SSH key or even a WiFi configuration to the ISO using the
[convenience-scripts](/convenience-scripts/), which enables SSH access to the live
system without ever connecting a monitor or keyboard.
Building an installation image is limited to Arch-based systems though, and requires
the [archiso](https://wiki.archlinux.org/index.php/Archiso) package to be installed.

### Roadmap

- LVM-on-LUKS Full Disk Encryption Support (almost finished)
- Option to display previews of what each script in a stage does prior to running it