aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitchell Riedstra <mitch@riedstra.dev>2025-11-26 12:03:39 -0500
committerMitchell Riedstra <mitch@riedstra.dev>2025-11-26 12:03:39 -0500
commit8090ee305b8759beb2afce335640db244c132455 (patch)
treeeeca7492cc78f509fa8bde36e45287895376888a
parent4e8db800787b181a917efa093848c2476af4f31c (diff)
downloadvoussoir-8090ee305b8759beb2afce335640db244c132455.tar.gz
voussoir-8090ee305b8759beb2afce335640db244c132455.tar.xz
Some more tweaking to the installer, bake packages into the image
-rw-r--r--archiso_config/packages.x86_645
-rw-r--r--archiso_config/pacman.conf1
-rw-r--r--archiso_config/profiledef.sh5
-rw-r--r--installer/run.sh21
-rwxr-xr-xmkrepo.sh9
-rw-r--r--readme.md41
6 files changed, 73 insertions, 9 deletions
diff --git a/archiso_config/packages.x86_64 b/archiso_config/packages.x86_64
index abda48e..b83a4c0 100644
--- a/archiso_config/packages.x86_64
+++ b/archiso_config/packages.x86_64
@@ -33,6 +33,7 @@ dosfstools
e2fsprogs
edk2-shell
efibootmgr
+entr
espeakup
ethtool
exfat-utils
@@ -101,6 +102,7 @@ nmap
noto-fonts-emoji
ntfs-3g
nvme-cli
+obs-studio
open-iscsi
open-vm-tools
openbsd-netcat
@@ -116,9 +118,10 @@ pass
pass-otp
pavucontrol
pcsclite
+pipewire
+pipewire-pulse
ppp
pptpclient
-pulseaudio
pv
pwgen
qemu-guest-agent
diff --git a/archiso_config/pacman.conf b/archiso_config/pacman.conf
index 03c9a15..c65616e 100644
--- a/archiso_config/pacman.conf
+++ b/archiso_config/pacman.conf
@@ -11,6 +11,7 @@
# If you wish to use different paths, uncomment and update the paths.
#RootDir = /
#DBPath = /var/lib/pacman/
+CacheDir = /tmp/isopkgcache
#CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
diff --git a/archiso_config/profiledef.sh b/archiso_config/profiledef.sh
index d627c03..aba5ff6 100644
--- a/archiso_config/profiledef.sh
+++ b/archiso_config/profiledef.sh
@@ -8,9 +8,8 @@ iso_application="Installer for Voussir, an arch boostrapper with snapshotting"
iso_version="$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y.%m.%d)"
install_dir="arch"
buildmodes=('iso')
-bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito'
- 'uefi-ia32.grub.esp' 'uefi-x64.grub.esp'
- 'uefi-ia32.grub.eltorito' 'uefi-x64.grub.eltorito')
+bootmodes=('bios.syslinux'
+ 'uefi.grub' )
arch="x86_64"
pacman_conf="pacman.conf"
airootfs_image_type="erofs"
diff --git a/installer/run.sh b/installer/run.sh
index 74e15a5..ff9ff43 100644
--- a/installer/run.sh
+++ b/installer/run.sh
@@ -26,7 +26,14 @@ if [ "$(id -u)" -ne 0 ] ; then
fi
# temporary Workaround for slow mirrors
-reflector | grep rit.edu > /etc/pacman.d/mirrorlist
+# reflector | grep rit.edu > /etc/pacman.d/mirrorlist
+
+# Our local repository should have most of our packages:
+cat >> /etc/pacman.conf <<EOF
+[bootstrapper]
+SigLevel = Optional TrustAll
+Server = file:///home/pkgrepo
+EOF
echo "############################################################"
echo "INSTALL PROCESS"
@@ -208,6 +215,7 @@ pacstrap -K "$_install_path" \
btop \
btrfs-progs \
chromium \
+ chrony \
clonezilla \
cloud-init \
cryptsetup \
@@ -222,6 +230,7 @@ pacstrap -K "$_install_path" \
e2fsprogs \
edk2-shell \
efibootmgr \
+ entr \
espeakup \
ethtool \
exfat-utils \
@@ -290,6 +299,7 @@ pacstrap -K "$_install_path" \
noto-fonts-emoji \
ntfs-3g \
nvme-cli \
+ obs-studio \
open-iscsi \
open-vm-tools \
openbsd-netcat \
@@ -305,9 +315,10 @@ pacstrap -K "$_install_path" \
pass-otp \
pavucontrol \
pcsclite \
+ pipewire \
+ pipewire-pulse \
ppp \
pptpclient \
- pulseaudio \
pv \
pwgen \
qemu-guest-agent \
@@ -362,8 +373,9 @@ pacstrap -K "$_install_path" \
xorg-server \
xorg-xkill \
zsh \
- chrony \
zstd \
+ yay \
+ brave-bin \
set +x
@@ -515,7 +527,8 @@ case $(lspci | grep VGA) in
;;
*Intel*)
# OpenCL Drivers
- do_chroot pacman -S --needed intel-compute-runtime
+ do_chroot pacman -S --needed \
+ intel-compute-runtime intel-media-driver libva-utils vulkan-intel vulkan-mesa
;;
*)
echo "No GPU detected"
diff --git a/mkrepo.sh b/mkrepo.sh
index 8fe1164..e35231e 100755
--- a/mkrepo.sh
+++ b/mkrepo.sh
@@ -25,7 +25,14 @@ cd pkgs/brave-bin
makepkg -sf
cd -
+sudo pacman --noconfirm --cachedir "/tmp/arch_pkgrepo2" \
+ -Sw $(cat archiso_config/packages.x86_64 | grep -vE '^(brave-bin|yay)')
+
+sudo mv "/tmp/arch_pkgrepo2"/* "${PKGDEST}"/
cd /tmp/arch_pkgrepo
-repo-add ./bootstrapper.db.tar.zst ./*
+repo-add ./bootstrapper.db.tar.zst ./*pkg.tar.zst
cd -
+
+# And put the whole repo onto the ISO...
+sudo cp -r pkgrepo archiso_config/airootfs/home/
diff --git a/readme.md b/readme.md
new file mode 100644
index 0000000..84684e8
--- /dev/null
+++ b/readme.md
@@ -0,0 +1,41 @@
+# Voussoir, an Arch Linux installer and rescue system
+
+Really, it's just an install script and ISO with some extra flair
+
+
+## Building an ISO
+
+From the base of the repository:
+
+```bash
+$ ./mkrepo.sh
+$ sudo ./mkiso.sh
+```
+
+Note, you may wish to clean your pacman cache (`pacman -Scc`) if you want it to
+skip downloading packages from upstream mirrors.
+
+## Installing from the ISO
+
+Open a terminal and type `sudo install.sh`, follow the prompts.
+
+Once you reboot into your new system, run `sudo setup.sh` to make sure snapshots
+are properly enabled.
+
+## Notes:
+
+Installer assumes you want the entire disk wiped with encrypted btrfs root
+and snapshotting.
+
+The installer has a lot of prompts especially towards the end where the AUR is
+used more heavily, you should be able to just hit "enter" on them for the most
+part.
+
+All the regular Arch Linux install tools should be available to you if you'd
+like to do something custom instead.
+
+
+## Todo:
+
+Remove the aur building and post install script. Shouldn't be too difficult
+to build the packages into the ISO, but I haven't bothered to yet.