• Stars
    star
    209
  • Rank 187,219 (Top 4 %)
  • Language
    Shell
  • License
    GNU General Publi...
  • Created over 4 years ago
  • Updated 25 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Official archiso scripts Repository (read-only mirror)

archiso

The archiso project features scripts and configuration templates to build installation media (.iso images and .tar.gz bootstrap images) as well as netboot artifacts for BIOS and UEFI based systems on the x86_64 architecture. Currently creating the images is only supported on Arch Linux but may work on other operating systems as well.

Requirements

The following packages need to be installed to be able to create an image with the included scripts:

  • arch-install-scripts
  • awk
  • dosfstools
  • e2fsprogs
  • erofs-utils (optional)
  • findutils
  • grub
  • gzip
  • libarchive
  • libisoburn
  • mtools
  • openssl
  • pacman
  • sed
  • squashfs-tools

For running the images in a virtualized test environment the following packages are required:

  • edk2-ovmf
  • qemu

For linting the shell scripts the following package is required:

  • shellcheck

Profiles

Archiso comes with two profiles: baseline and releng. While both can serve as starting points for creating custom live media, releng is used to create the monthly installation medium. They can be found below configs/baseline/ and configs/releng/ (respectively). Both profiles are defined by files to be placed into overlays (e.g. airootfs ‎→‎ the image's /).

Read README.profile.rst to learn more about how to create profiles.

Create images

Usually the archiso tools are installed as a package. However, it is also possible to clone this repository and create images without installing archiso system-wide.

As filesystems are created and various mount actions have to be done when creating an image, root is required to run the scripts.

When archiso is installed system-wide and the modification of a profile is desired, it is necessary to copy it to a writeable location, as /usr/share/archiso is tracked by the package manager and only writeable by root (changes will be lost on update).

The examples below will assume an unmodified profile in a system location (unless noted otherwise).

It is advised to consult the help output of mkarchiso:

mkarchiso -h

Create images with packaged archiso

mkarchiso -w path/to/work_dir -o path/to/out_dir path/to/profile

Create images with local clone

Clone this repository and run:

./archiso/mkarchiso -w path/to/work_dir -o path/to/out_dir path/to/profile

Testing

The convenience script run_archiso is provided to boot into the medium using qemu. It is advised to consult its help output:

run_archiso -h

Run the following to boot the iso using BIOS:

run_archiso -i path/to/an/arch.iso

Run the following to boot the iso using UEFI:

run_archiso -u -i path/to/an/arch.iso

The script can of course also be executed from this repository:

./scripts/run_archiso.sh -i path/to/an/arch.iso

Installation

To install archiso system-wide use the included Makefile:

make install

Optional features

The iso image contains a GRUB environment block holding the iso name and version. This allows to boot the iso image from GRUB with a version specific cow directory to mitigate overlay clashes.

loopback loop archlinux.iso
load_env -f (loop)/boot/grub/grubenv
linux (loop)/arch/boot/x86_64/vmlinuz-linux ... \
    cow_directory=${NAME}/${VERSION} ...
initrd (loop)/arch/boot/x86_64/initramfs-linux-lts.img

Contribute

Development of archiso takes place on Arch Linux' Gitlab: https://gitlab.archlinux.org/archlinux/archiso.

Please read our distribution-wide Code of Conduct before contributing, to understand what actions will and will not be tolerated.

Read our contributing guide to learn more about how to provide fixes or improvements for the code base.

Discussion around archiso takes place on the arch-releng mailing list and in #archlinux-releng on Libera Chat.

All past and present authors of archiso are listed in AUTHORS.

Releases

Releases of archiso are created by their current maintainers

  • David Runge (991F6E3F0765CF6295888586139B09DA5BF0D338)
  • nl6720 (BB8E6F1B81CF0BB301D74D1CBF425A01E68B38EF)

Tags are signed using respective PGP keys.

To verify a tag, first import the relevant PGP key(s):

gpg --auto-key-locate wkd --search-keys [email protected]

or

gpg --auto-key-locate keyserver --recv-keys BB8E6F1B81CF0BB301D74D1CBF425A01E68B38EF

Afterwards a tag can be verified from a clone of this repository:

git verify-tag <tag>

License

Archiso is licensed under the terms of the GPL-3.0-or-later (see LICENSE).

More Repositories

1

archinstall

Arch Linux installer - guided, templates etc.
Python
6,002
star
2

archlinux-docker

Docker Base Image for Arch Linux (read-only mirror)
Shell
450
star
3

arch-install-scripts

Useful scripts for installing Arch Linux (read-only mirror)
Shell
327
star
4

svntogit-packages

Automatic import of svn 'packages' repo (read-only mirror)
Shell
317
star
5

archweb

Arch Linux website code
Python
314
star
6

svntogit-community

Automatic import of svn 'community' repo (read-only mirror)
Shell
302
star
7

asp

Arch Build Source Management Tool
Shell
292
star
8

arch-boxes

Arch-boxes provides automated builds of the Arch Linux releases for different providers and post-processors (read-only mirror)
Shell
217
star
9

mkinitcpio

Arch Linux initramfs generation tools (read-only mirror)
Shell
201
star
10

aur

⚠️⚠️Experimental aur.git mirror⚠️⚠️ (read-only mirror)
152
star
11

archwiki

MediaWiki used on Arch Linux websites (read-only mirror)
PHP
146
star
12

archlinux-repro

Tools to reproduce arch linux packages
Shell
125
star
13

arch-security-tracker

Arch Linux Security Tracker
Python
119
star
14

alpm.rs

Rust bindings for libalpm
Rust
112
star
15

devtools

Tools for Arch Linux package maintainers (read-only mirror)
Shell
92
star
16

infrastructure

Official Arch Linux Infrastructure Repository (read-only mirror)
Jinja
92
star
17

contrib

Arch contrib scripts
Shell
63
star
18

pyalpm

Python 3 bindings for libalpm (read-only mirror)
C
56
star
19

aurweb

Hosting platform for the Arch User Repository (AUR), a collection of packaging scripts created by the Arch Linux community (read-only mirror)
Python
40
star
20

dbscripts

Arch Linux repository management scripts (read-only mirror)
Shell
30
star
21

archmanweb

Codebase for the Arch manual pages repository (read-only mirror)
Python
22
star
22

pacman-contrib

Contributed scripts and tools for pacman systems (read-only mirror)
Shell
20
star
23

arch-repro-status

Check the reproducibility status of your Arch Linux packages (read-only mirror)
Rust
19
star
24

arch-rebuild-order

WIP Rust based rebuild order generation script (read-only mirror)
Rust
19
star
25

repod

(read-only mirror)
Python
17
star
26

archlinux-keyring

Arch Linux PGP keyring (read-only mirror)
Python
11
star
27

gluebuddy

A secure helper daemon that watches several aspects of the Arch Linux infrastructure and makes sure that certain conditions are met (read-only mirror)
Rust
10
star
28

archbbs

Arch customized FluxBB install (read-only mirror)
PHP
9
star
29

libudev0-shim

libudev.so.0 compatibility library for systems with newer udev versions
C
9
star
30

conf.archlinux.org

Arch Linux Conference Website (read-only mirror)
CSS
8
star
31

.github

(read-only mirror)
8
star
32

mkinitcpio-archiso

Initcpio scripts used by archiso (read-only mirror)
Shell
7
star
33

sandcrawler

A tool to get all versions of a given of software project (read-only mirror)
6
star
34

neoasknot

Contribution landing page for Arch Linux (read-only mirror)
Svelte
5
star
35

state

Git packaging repository state (read-only mirror)
Roff
5
star
36

releng

Arch Linux release engineering (read-only mirror)
Shell
4
star
37

signstar

A secure enclave signing solution (read-only mirror)
4
star
38

arch-release-promotion

Promote official releases with signatures and additional artifacts (read-only mirror)
Python
3
star
39

tu-bylaws

The bylaws which govern the Arch Linux Trusted Users (read-only mirror)
Makefile
2
star
40

rebuilderd-website

Arch Linux Rebuilderd status webpage (read-only mirror)
JavaScript
2
star
41

pytest-pacman

A pytest plugin which provides helpers to create pacman's localdb and sync db's (read-only mirror)
Python
1
star