diff --git a/README b/README index 2805731..8bae885 100644 --- a/README +++ b/README @@ -1,27 +1,48 @@ -Usage example: +# Arch Linux Appliance Builder -1) Create an aab.conf file describing your template. +This is a fork of [Proxmox AAB project](https://git.proxmox.com/) with the goal of building an updated Arch Linux LXC template for use with PVE, also to prevent removal of `pacman keyring`; disable `systemd-resolved` and enable `sshd`. ---- Example aab.conf: -Name: base -Version: 2015-08-21-1 -Section: optional -Maintainer: Your Name -Headline: ArchLinux base image. -Architecture: x86_64 -Source: http://archlinux.cu.be/$repo/os/$arch ---- End of example +## Requirements for building +The best way to build this template is running inside of an Arch Linux environment and will need the following packages: **`lxc make perl-uuid`** -2) Run as root: +Also to prevent an error when starting the container, you need to enable devices cgroup since LXC will apply [device cgroup limits](https://github.com/lxc/lxc/issues/2268#issuecomment-380019126). - # ./aab init - # ./aab bootstrap +```Shell +mount -o remount,rw /sys/fs/cgroup +mkdir /sys/fs/cgroup/devices +mount -t cgroup devices -o devices /sys/fs/cgroup/devices +mount -o remount,ro /sys/fs/cgroup +``` -3) Maybe install additional packages +## To enable/disable services and install additional packages - # ./aab install base-devel +Go to the file `PVE/AAB.pm` and search for the following lines: +- Add new packages: `my @BASE_PACKAGES` +- Disable service: `print "Masking problematic systemd units...\n";` +- Enable serivce: `print "Enable systemd services...\n";` -4) Create the archive and clean up: +## Usage - # ./aab finalize - # ./aab cleanup +### with Make + - `make aab.conf` + - run as root `make build-current` + - go drink mate or kofi while is creating and compacting the template + - when done will have the following file `archlinux-base_${DATE}-1_${ARCH}.tar.zst` + - upload to your PVE and enjoy~ + +### or step by step + +### 1. Create an aab.conf file describing your template. + - `make aab.conf` + - edit the source argument inside of `aab.conf` and change to a mirror of your choice + +### 2. Run as root: + - `./aab init` + - `./aab bootstrap` + +### 3. Maybe install additional packages + - `./aab install base-devel` + +### 4. Create the archive and clean up: + - `./aab finalize` + - `./aab cleanup` \ No newline at end of file