Added first version of ISO build
This commit is contained in:
6 files changed
+86
-1
No files matched your search
@@ -0,0 +1,2 @@
|
||||
out/
|
||||
**/**.iso
|
||||
@@ -0,0 +1,3 @@
|
||||
[submodule "archiso"]
|
||||
path = archiso
|
||||
url = https://gitlab.archlinux.org/archlinux/archiso.git
|
||||
@@ -1 +1,31 @@
|
||||
# omarchy-iso
|
||||
# omarchy-iso
|
||||
|
||||
This will create an ISO that does two things:
|
||||
|
||||
1. Auto-boot into Live Arch Linux (without prompt)
|
||||
2. Will auto-launch `omarchy-tui`
|
||||
|
||||
# Build instructions
|
||||
|
||||
```
|
||||
$ docker run --rm \
|
||||
--privileged \
|
||||
-v "./out/:/out/" \
|
||||
-v "./build_iso.sh:/build_iso.sh:ro" \
|
||||
-v "./archiso:/archiso:ro" \
|
||||
-v "./grub-autoboot.patch:/grub-autoboot.patch:ro" \
|
||||
archlinux/archlinux:latest /build_iso.sh
|
||||
```
|
||||
|
||||
Finished result should be in `./out`.
|
||||
Note that `--privileged` is used. The main reason being `mkarchiso` mounts `/sys/proc` and other locations, which requires privileged permissions.
|
||||
|
||||
# Signing
|
||||
|
||||
```
|
||||
$ gpg --local-user 0xD4B58E897A929F2E \
|
||||
--output ./out/*.iso.sig \
|
||||
--detach-sig ./out/*.iso
|
||||
```
|
||||
|
||||
Note that `gpg --list-keys --fingerprint --keyid-format 0xLONG torxed@archlinux.org` can give you your GPG Key ID. In my case `ed25519/0xD4B58E897A929F2E`.
|
||||
Submodule
+1
Submodule archiso added at 69047bdc03.
Executable
+36
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
pacman-key --init
|
||||
pacman --noconfirm -Sy archlinux-keyring
|
||||
pacman --noconfirm -Sy archiso git
|
||||
|
||||
# Packages to add to the archiso profile packages
|
||||
# As a base example (the TUI packages needs to be here)
|
||||
packages=(
|
||||
git
|
||||
)
|
||||
|
||||
cache_dir=$(realpath --canonicalize-missing ~/.cache/omarchy/iso_$(date +%Y-%m-%d))
|
||||
|
||||
mkdir -p $cache_dir/
|
||||
cp -r archiso/configs/releng/* $cache_dir/
|
||||
|
||||
# We add in our auto-start applications
|
||||
# We'll assume the TUI installer is called omarchy-tui for now
|
||||
cat <<- _EOF_ | tee $cache_dir/airootfs/root/.zprofile
|
||||
omarchy-tui
|
||||
_EOF_
|
||||
|
||||
# Add packages to the archiso profile packages
|
||||
for package in "${packages[@]}"; do
|
||||
echo "$package" >> "$cache_dir/packages.x86_64"
|
||||
done
|
||||
|
||||
# We patch grub to our liking:
|
||||
(cd $cache_dir/ && git apply /grub-autoboot.patch)
|
||||
# We could also use:
|
||||
# patch -p1 < grub-autoboot.patch
|
||||
|
||||
mkarchiso -v -w "$cache_dir/work/" -o "/out/" "$cache_dir/"
|
||||
@@ -0,0 +1,13 @@
|
||||
--- a/grub/grub.cfg
|
||||
+++ b/grub/grub.cfg
|
||||
@@ -45,8 +45,8 @@ fi
|
||||
|
||||
# Set default menu entry
|
||||
default=archlinux
|
||||
-timeout=15
|
||||
-timeout_style=menu
|
||||
+timeout=0
|
||||
+timeout_style=hidden
|
||||
|
||||
|
||||
# Menu entries
|
||||
Reference in new issue
Block a user