aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitchell Riedstra <mitch@riedstra.dev>2025-09-05 17:38:13 -0400
committerMitchell Riedstra <mitch@riedstra.dev>2025-09-05 17:38:13 -0400
commit0b11c5f77323f72fb56f8dc217c726133860f1f9 (patch)
tree078f5727f48c7b12f24f3e4d55f919c64eb74458
parent158aad959cab6784d06728f617ee6255d4c2f7fe (diff)
downloadvoussoir-0b11c5f77323f72fb56f8dc217c726133860f1f9.tar.gz
voussoir-0b11c5f77323f72fb56f8dc217c726133860f1f9.tar.xz
Pull in some stuff from releng and add some AUR packages.
-rw-r--r--.gitignore4
-rw-r--r--archiso_config/airootfs/etc/group64
-rw-r--r--archiso_config/airootfs/etc/pacman.d/hooks/uncomment-mirrors.hook13
-rw-r--r--archiso_config/airootfs/etc/pacman.d/hooks/zzzz99-remove-custom-hooks-from-airootfs.hook18
-rw-r--r--archiso_config/airootfs/etc/passwd2
-rw-r--r--archiso_config/airootfs/etc/sddm.conf.d/autologin.conf3
-rw-r--r--archiso_config/airootfs/etc/shadow1
-rw-r--r--archiso_config/airootfs/etc/sudoers5
l---------archiso_config/airootfs/etc/systemd/system/display-manager.service1
l---------archiso_config/airootfs/etc/systemd/system/multi-user.target.wants/NetworkManager.service1
l---------archiso_config/airootfs/etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service1
-rw-r--r--archiso_config/airootfs/etc/udev/hwdb.d/01-keyboard.hwdb12
-rw-r--r--archiso_config/packages.x86_64162
-rw-r--r--archiso_config/pacman.conf5
-rwxr-xr-xmkiso.sh4
-rwxr-xr-xmkrepo.sh31
16 files changed, 327 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..306eb6f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+work_dir/*
+out_dir/*
+pkgrepo/*
+pkgs/*
diff --git a/archiso_config/airootfs/etc/group b/archiso_config/airootfs/etc/group
new file mode 100644
index 0000000..c03e38b
--- /dev/null
+++ b/archiso_config/airootfs/etc/group
@@ -0,0 +1,64 @@
+root:x:0:root
+sys:x:3:bin
+mem:x:8:
+ftp:x:11:
+mail:x:12:live
+log:x:19:
+smmsp:x:25:
+proc:x:26:
+games:x:50:
+lock:x:54:
+network:x:90:
+floppy:x:94:
+scanner:x:96:
+power:x:98:
+nobody:x:65534:
+adm:x:999:daemon,live
+wheel:x:998:live
+utmp:x:997:
+audio:x:996:live,mpd
+disk:x:995:live
+input:x:994:live
+kmem:x:993:
+kvm:x:992:libvirt-qemu,qemu
+lp:x:991:
+optical:x:990:live
+render:x:989:
+sgx:x:988:
+storage:x:987:live
+tty:x:5:live
+uucp:x:986:live
+video:x:985:live
+users:x:984:live
+groups:x:983:
+systemd-journal:x:982:
+rfkill:x:981:
+bin:x:1:daemon
+daemon:x:2:bin
+http:x:33:
+dbus:x:81:
+systemd-coredump:x:980:
+systemd-network:x:979:
+systemd-oom:x:978:
+systemd-journal-remote:x:977:
+systemd-resolve:x:976:
+systemd-timesync:x:975:
+tss:x:974:
+uuidd:x:973:
+polkitd:x:102:
+alpm:x:972:
+git:x:971:
+virtlogin:x:970:
+libvirt:x:969:
+avahi:x:968:
+named:x:40:
+colord:x:967:
+libvirt-qemu:x:966:
+lightdm:x:965:
+mpd:x:45:
+nsd:x:964:
+qemu:x:963:
+rtkit:x:133:
+sddm:x:962:
+seat:x:961:
+live:x:1000:
diff --git a/archiso_config/airootfs/etc/pacman.d/hooks/uncomment-mirrors.hook b/archiso_config/airootfs/etc/pacman.d/hooks/uncomment-mirrors.hook
new file mode 100644
index 0000000..342aa95
--- /dev/null
+++ b/archiso_config/airootfs/etc/pacman.d/hooks/uncomment-mirrors.hook
@@ -0,0 +1,13 @@
+# remove from airootfs!
+[Trigger]
+Operation = Install
+Operation = Upgrade
+Type = Package
+Target = pacman-mirrorlist
+
+[Action]
+Description = Uncommenting all mirrors in /etc/pacman.d/mirrorlist...
+When = PostTransaction
+Depends = pacman-mirrorlist
+Depends = sed
+Exec = /usr/bin/sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist
diff --git a/archiso_config/airootfs/etc/pacman.d/hooks/zzzz99-remove-custom-hooks-from-airootfs.hook b/archiso_config/airootfs/etc/pacman.d/hooks/zzzz99-remove-custom-hooks-from-airootfs.hook
new file mode 100644
index 0000000..8dfb943
--- /dev/null
+++ b/archiso_config/airootfs/etc/pacman.d/hooks/zzzz99-remove-custom-hooks-from-airootfs.hook
@@ -0,0 +1,18 @@
+# remove from airootfs!
+# As a workaround for https://bugs.archlinux.org/task/49347 , remove pacman hooks specific to the ISO build process.
+# If not, they would be used when pacstrap is run in the live environment.
+
+[Trigger]
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Type = Package
+Target = *
+
+[Action]
+Description = Work around FS#49347 by removing custom pacman hooks that are only required during ISO build...
+When = PostTransaction
+Depends = sh
+Depends = coreutils
+Depends = grep
+Exec = /bin/sh -c "rm -- $(grep -Frl 'remove from airootfs' /etc/pacman.d/hooks/)"
diff --git a/archiso_config/airootfs/etc/passwd b/archiso_config/airootfs/etc/passwd
new file mode 100644
index 0000000..89a6596
--- /dev/null
+++ b/archiso_config/airootfs/etc/passwd
@@ -0,0 +1,2 @@
+root:x:0:0:root:/root:/usr/bin/bash
+live:x:1000:1000::/home/archie:/usr/bin/bash
diff --git a/archiso_config/airootfs/etc/sddm.conf.d/autologin.conf b/archiso_config/airootfs/etc/sddm.conf.d/autologin.conf
new file mode 100644
index 0000000..94120e7
--- /dev/null
+++ b/archiso_config/airootfs/etc/sddm.conf.d/autologin.conf
@@ -0,0 +1,3 @@
+[Autologin]
+User=live
+Session=xfce
diff --git a/archiso_config/airootfs/etc/shadow b/archiso_config/airootfs/etc/shadow
index 7edfd69..88e1e9f 100644
--- a/archiso_config/airootfs/etc/shadow
+++ b/archiso_config/airootfs/etc/shadow
@@ -1 +1,2 @@
root::14871::::::
+live::14871::::::
diff --git a/archiso_config/airootfs/etc/sudoers b/archiso_config/airootfs/etc/sudoers
new file mode 100644
index 0000000..31694bf
--- /dev/null
+++ b/archiso_config/airootfs/etc/sudoers
@@ -0,0 +1,5 @@
+Defaults!/usr/bin/visudo env_keep += "SUDO_EDITOR EDITOR VISUAL"
+Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/bin"
+root ALL=(ALL:ALL) ALL
+%wheel ALL=(ALL:ALL) NOPASSWD: ALL
+@includedir /etc/sudoers.d
diff --git a/archiso_config/airootfs/etc/systemd/system/display-manager.service b/archiso_config/airootfs/etc/systemd/system/display-manager.service
new file mode 120000
index 0000000..56f1df2
--- /dev/null
+++ b/archiso_config/airootfs/etc/systemd/system/display-manager.service
@@ -0,0 +1 @@
+/usr/lib/systemd/system/sddm.service \ No newline at end of file
diff --git a/archiso_config/airootfs/etc/systemd/system/multi-user.target.wants/NetworkManager.service b/archiso_config/airootfs/etc/systemd/system/multi-user.target.wants/NetworkManager.service
new file mode 120000
index 0000000..e874a9b
--- /dev/null
+++ b/archiso_config/airootfs/etc/systemd/system/multi-user.target.wants/NetworkManager.service
@@ -0,0 +1 @@
+/usr/lib/systemd/system/NetworkManager.service \ No newline at end of file
diff --git a/archiso_config/airootfs/etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service b/archiso_config/airootfs/etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service
new file mode 120000
index 0000000..b78b586
--- /dev/null
+++ b/archiso_config/airootfs/etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service
@@ -0,0 +1 @@
+/usr/lib/systemd/system/NetworkManager-wait-online.service \ No newline at end of file
diff --git a/archiso_config/airootfs/etc/udev/hwdb.d/01-keyboard.hwdb b/archiso_config/airootfs/etc/udev/hwdb.d/01-keyboard.hwdb
new file mode 100644
index 0000000..6321c7f
--- /dev/null
+++ b/archiso_config/airootfs/etc/udev/hwdb.d/01-keyboard.hwdb
@@ -0,0 +1,12 @@
+# /etc/udev.d/hwdb/01-keyboard.hwdb
+# https://wiki.archlinux.org/title/map_scancodes_to_keycodes
+# also 'yum -y install evtest'
+# evdev:name:AT Translated Set 2 keyboard:*
+# systemd-hwdb update && udevadm trigger
+# or perhaps:
+# udevadm hwdb -u
+# This should match all AT keyboards, apparently
+evdev:atkbd:dmi:bvn*:bvr*:bd*:svn*:pn*:pvr*
+ KEYBOARD_KEY_3a=leftctrl
+ KEYBOARD_KEY_1d=leftctrl
+ KEYBOARD_KEY_9d=capslock
diff --git a/archiso_config/packages.x86_64 b/archiso_config/packages.x86_64
index cbb93b0..279358f 100644
--- a/archiso_config/packages.x86_64
+++ b/archiso_config/packages.x86_64
@@ -1,12 +1,174 @@
+alsa-utils
+amd-ucode
+arch-install-scripts
+archinstall
+archlinux-keyring
+b43-fwcutter
base
+base-devel
+bcachefs-tools
+bind
+bluez
+bluez-tools
+bluez-utils
+bolt
+brltty
+broadcom-wl
+btop
+btrfs-progs
+chromium
+clonezilla
cloud-init
+cryptsetup
+darkhttpd
+ddrescue
+dhcpcd
+diffutils
+dmidecode
+dmraid
+dnsmasq
+dosfstools
+e2fsprogs
+edk2-shell
+efibootmgr
+espeakup
+ethtool
+exfat-utils
+exfatprogs
+f2fs-tools
+fastfetch
+fatresize
+foot-terminfo
+fsarchiver
+git
+git-lfs
+gpart
+gpm
+gptfdisk
+grml-zsh-config
+grub
+hdparm
hyperv
+intel-ucode
+iperf3
+irssi
+iw
+iwd
+jfsutils
+kitty-terminfo
+ldns
+less
+lftp
+libfido2
+libusb-compat
linux
+linux-atm
+linux-firmware
+linux-firmware-marvell
+livecd-sounds
+lsscsi
+lvm2
+lynx
+man-db
+man-pages
+mc
+mdadm
+memtest86+
+memtest86+-efi
mkinitcpio
mkinitcpio-archiso
+mkinitcpio-nfs-utils
+mmc-utils
+modemmanager
+mtools
+nano
+nbd
+ncdu
+ndisc6
+neovim
+net-tools
+networkmanager
+nfs-utils
+nilfs-utils
+nload
+nm-connection-editor
+nmap
+noto-fonts-emoji
+ntfs-3g
+nvme-cli
+open-iscsi
open-vm-tools
+openbsd-netcat
+openconnect
+openpgp-card-tools
openssh
+openvpn
+partclone
+parted
+partimage
+pass
+pass-otp
+pavucontrol
+pcsclite
+ppp
+pptpclient
+pulseaudio
pv
+pwgen
qemu-guest-agent
+refind
+reflector
+ripgrep
+rsync
+rxvt-unicode-terminfo
+screen
+scrot
+sddm
+sdparm
+seahorse
+sequoia-sq
+sg3_utils
+shellcheck
+smartmontools
+sof-firmware
+squashfs-tools
+sudo
syslinux
+systemd-resolvconf
+tcpdump
+terminus-font
+testdisk
+tmux
+tpm2-tools
+tpm2-tss
+ttf-3270-nerd
+udftools
+usb_modeswitch
+usbmuxd
+usbutils
+vim
virtualbox-guest-utils-nox
+vlc
+vpnc
+whois
+wireguard-tools
+wireless-regdb
+wireless_tools
+wpa_supplicant
+wvdial
+xclip
+xdg-utils
+xdotool
+xfce4
+xfce4-goodies
+xfsprogs
+xl2tpd
+xorg-apps
+xorg-server
+xorg-xkill
+zsh
+zstd
+
+
+yay
+brave-bin
diff --git a/archiso_config/pacman.conf b/archiso_config/pacman.conf
index e7e6497..03c9a15 100644
--- a/archiso_config/pacman.conf
+++ b/archiso_config/pacman.conf
@@ -98,3 +98,8 @@ Include = /etc/pacman.d/mirrorlist
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
+
+
+[bootstrapper]
+SigLevel = Optional TrustAll
+Server = file:///tmp/arch_pkgrepo
diff --git a/mkiso.sh b/mkiso.sh
new file mode 100755
index 0000000..624bb34
--- /dev/null
+++ b/mkiso.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+set -ex
+sudo rm -rf ./work_dir ./out_dir || echo ""
+sudo mkarchiso -w ./work_dir -o ./out_dir ./archiso_config
diff --git a/mkrepo.sh b/mkrepo.sh
new file mode 100755
index 0000000..8fe1164
--- /dev/null
+++ b/mkrepo.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+set -ex
+mkdir -p ./pkgrepo
+#shellcheck disable=SC2155
+export PKGDEST="$(pwd)"/pkgrepo
+if ! [ -L /tmp/arch_pkgrepo ] ; then
+ ln -s "$(pwd)"/pkgrepo /tmp/arch_pkgrepo
+fi
+
+
+#############################################################
+
+if ! [ -d pkgs/yay ] ; then
+ git clone https://aur.archlinux.org/yay.git pkgs/yay
+fi
+cd pkgs/yay
+makepkg -sf
+cd -
+
+
+if ! [ -d pkgs/brave-bin ] ; then
+ git clone https://aur.archlinux.org/brave-bin.git pkgs/brave-bin
+fi
+cd pkgs/brave-bin
+makepkg -sf
+cd -
+
+
+cd /tmp/arch_pkgrepo
+repo-add ./bootstrapper.db.tar.zst ./*
+cd -