summaryrefslogtreecommitdiff
path: root/configs/talkingparabola
diff options
context:
space:
mode:
Diffstat (limited to 'configs/talkingparabola')
-rw-r--r--configs/talkingparabola/airootfs/etc/hostname2
-rw-r--r--configs/talkingparabola/airootfs/etc/locale.conf3
l---------configs/talkingparabola/airootfs/etc/localtime1
-rw-r--r--configs/talkingparabola/airootfs/etc/mkinitcpio.conf69
-rw-r--r--configs/talkingparabola/airootfs/etc/mkinitcpio.d/linux-libre.preset11
-rw-r--r--configs/talkingparabola/airootfs/etc/motd17
-rw-r--r--configs/talkingparabola/airootfs/etc/pam.d/su6
-rw-r--r--configs/talkingparabola/airootfs/etc/passwd1
-rw-r--r--configs/talkingparabola/airootfs/etc/shadow1
-rw-r--r--configs/talkingparabola/airootfs/etc/ssh/sshd_config116
-rw-r--r--configs/talkingparabola/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf5
-rw-r--r--configs/talkingparabola/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf7
-rw-r--r--configs/talkingparabola/airootfs/etc/systemd/network/20-ethernet.network (renamed from configs/talkingparabola/airootfs/etc/systemd/network/ethernet.network)6
-rw-r--r--configs/talkingparabola/airootfs/etc/systemd/network/20-wireless.network (renamed from configs/talkingparabola/airootfs/etc/systemd/network/wireless.network)6
l---------configs/talkingparabola/airootfs/etc/systemd/system/brltty.service1
-rw-r--r--configs/talkingparabola/airootfs/etc/systemd/system/choose-mirror.service5
l---------configs/talkingparabola/airootfs/etc/systemd/system/dbus-org.freedesktop.network1.service1
l---------configs/talkingparabola/airootfs/etc/systemd/system/dbus-org.freedesktop.resolve1.service1
-rw-r--r--configs/talkingparabola/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount3
-rw-r--r--configs/talkingparabola/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf3
l---------configs/talkingparabola/airootfs/etc/systemd/system/multi-user.target.wants/choose-mirror.service1
l---------configs/talkingparabola/airootfs/etc/systemd/system/multi-user.target.wants/iwd.service1
l---------configs/talkingparabola/airootfs/etc/systemd/system/multi-user.target.wants/pacman-init.service1
l---------configs/talkingparabola/airootfs/etc/systemd/system/multi-user.target.wants/reflector.service1
l---------configs/talkingparabola/airootfs/etc/systemd/system/multi-user.target.wants/systemd-networkd.service1
l---------configs/talkingparabola/airootfs/etc/systemd/system/multi-user.target.wants/systemd-resolved.service1
l---------configs/talkingparabola/airootfs/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service1
-rw-r--r--configs/talkingparabola/airootfs/etc/systemd/system/pacman-init.service6
-rw-r--r--configs/talkingparabola/airootfs/etc/systemd/system/reflector.service44
l---------configs/talkingparabola/airootfs/etc/systemd/system/sockets.target.wants/systemd-networkd.socket1
-rw-r--r--configs/talkingparabola/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf6
-rwxr-xr-xconfigs/talkingparabola/airootfs/root/.automated_script.sh4
-rwxr-xr-xconfigs/talkingparabola/airootfs/root/customize_airootfs.sh25
-rw-r--r--configs/talkingparabola/airootfs/root/install.txt2
-rwxr-xr-xconfigs/talkingparabola/airootfs/usr/bin/livecd-alsa-unmuter4
-rwxr-xr-xconfigs/talkingparabola/airootfs/usr/bin/pick-a-card9
-rwxr-xr-xconfigs/talkingparabola/airootfs/usr/local/bin/Installation_guide5
-rwxr-xr-xconfigs/talkingparabola/airootfs/usr/local/bin/choose-mirror (renamed from configs/talkingparabola/airootfs/etc/systemd/scripts/choose-mirror)2
-rwxr-xr-xconfigs/talkingparabola/build.sh261
-rw-r--r--configs/talkingparabola/efiboot/loader/entries/parabolaiso-x86_64-cd.conf5
-rw-r--r--configs/talkingparabola/efiboot/loader/entries/parabolaiso-x86_64-usb.conf3
-rw-r--r--configs/talkingparabola/efiboot/loader/entries/uefi-shell-full-x86_64.conf2
-rw-r--r--configs/talkingparabola/efiboot/loader/entries/uefi-shell-x86_64.conf2
-rw-r--r--configs/talkingparabola/efiboot/loader/loader.conf3
-rw-r--r--configs/talkingparabola/isolinux/isolinux.cfg3
-rw-r--r--configs/talkingparabola/mkinitcpio.conf3
-rw-r--r--configs/talkingparabola/packages.both39
-rw-r--r--configs/talkingparabola/packages.x86_641
-rw-r--r--configs/talkingparabola/syslinux/parabolaiso.cfg3
-rw-r--r--configs/talkingparabola/syslinux/parabolaiso_head.cfg5
-rw-r--r--configs/talkingparabola/syslinux/parabolaiso_pxe32.cfg9
-rw-r--r--configs/talkingparabola/syslinux/parabolaiso_pxe64.cfg9
-rw-r--r--configs/talkingparabola/syslinux/parabolaiso_pxe_32_inc.cfg3
-rw-r--r--configs/talkingparabola/syslinux/parabolaiso_pxe_both_inc.cfg3
-rw-r--r--configs/talkingparabola/syslinux/parabolaiso_pxe_choose.cfg3
-rw-r--r--configs/talkingparabola/syslinux/parabolaiso_sys32.cfg14
-rw-r--r--configs/talkingparabola/syslinux/parabolaiso_sys64.cfg14
-rw-r--r--configs/talkingparabola/syslinux/parabolaiso_sys_32_inc.cfg3
-rw-r--r--configs/talkingparabola/syslinux/parabolaiso_sys_both_inc.cfg3
-rw-r--r--configs/talkingparabola/syslinux/parabolaiso_sys_choose.cfg3
-rw-r--r--configs/talkingparabola/syslinux/parabolaiso_tail.cfg11
-rw-r--r--configs/talkingparabola/syslinux/syslinux.cfg3
62 files changed, 576 insertions, 212 deletions
diff --git a/configs/talkingparabola/airootfs/etc/hostname b/configs/talkingparabola/airootfs/etc/hostname
index 8aaf41b..5178d59 100644
--- a/configs/talkingparabola/airootfs/etc/hostname
+++ b/configs/talkingparabola/airootfs/etc/hostname
@@ -1 +1,3 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
parabolaiso
diff --git a/configs/talkingparabola/airootfs/etc/locale.conf b/configs/talkingparabola/airootfs/etc/locale.conf
index 01ec548..9bf7aef 100644
--- a/configs/talkingparabola/airootfs/etc/locale.conf
+++ b/configs/talkingparabola/airootfs/etc/locale.conf
@@ -1 +1,4 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
LANG=en_US.UTF-8
diff --git a/configs/talkingparabola/airootfs/etc/localtime b/configs/talkingparabola/airootfs/etc/localtime
new file mode 120000
index 0000000..0e35b57
--- /dev/null
+++ b/configs/talkingparabola/airootfs/etc/localtime
@@ -0,0 +1 @@
+/usr/share/zoneinfo/UTC \ No newline at end of file
diff --git a/configs/talkingparabola/airootfs/etc/mkinitcpio.conf b/configs/talkingparabola/airootfs/etc/mkinitcpio.conf
new file mode 100644
index 0000000..aa45b33
--- /dev/null
+++ b/configs/talkingparabola/airootfs/etc/mkinitcpio.conf
@@ -0,0 +1,69 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+# vim:set ft=sh
+# MODULES
+# The following modules are loaded before any boot hooks are
+# run. Advanced users may wish to specify all system modules
+# in this array. For instance:
+# MODULES=(piix ide_disk reiserfs)
+MODULES=()
+
+# BINARIES
+# This setting includes any additional binaries a given user may
+# wish into the CPIO image. This is run last, so it may be used to
+# override the actual binaries included by a given hook
+# BINARIES are dependency parsed, so you may safely ignore libraries
+BINARIES=()
+
+# FILES
+# This setting is similar to BINARIES above, however, files are added
+# as-is and are not parsed in any way. This is useful for config files.
+FILES=()
+
+# HOOKS
+# This is the most important setting in this file. The HOOKS control the
+# modules and scripts added to the image, and what happens at boot time.
+# Order is important, and it is recommended that you do not change the
+# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
+# help on a given hook.
+# 'base' is _required_ unless you know precisely what you are doing.
+# 'udev' is _required_ in order to automatically load modules
+# 'filesystems' is _required_ unless you specify your fs modules in MODULES
+# Examples:
+## This setup specifies all modules in the MODULES setting above.
+## No raid, lvm2, or encrypted root is needed.
+# HOOKS=(base)
+#
+## This setup will autodetect all modules for your system and should
+## work as a sane default
+# HOOKS=(base udev autodetect block filesystems)
+#
+## This setup will generate a 'full' image which supports most systems.
+## No autodetection is done.
+# HOOKS=(base udev block filesystems)
+#
+## This setup assembles a pata mdadm array with an encrypted root FS.
+## Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
+# HOOKS=(base udev block mdadm encrypt filesystems)
+#
+## This setup loads an lvm2 volume group on a usb device.
+# HOOKS=(base udev block lvm2 filesystems)
+#
+## NOTE: If you have /usr on a separate partition, you MUST include the
+# usr, fsck and shutdown hooks.
+HOOKS=(base udev memdisk parabolaiso_shutdown parabolaiso parabolaiso_loop_mnt parabolaiso_pxe_common parabolaiso_pxe_nbd parabolaiso_pxe_http parabolaiso_pxe_nfs parabolaiso_kms block filesystems keyboard)
+
+# COMPRESSION
+# Use this to compress the initramfs image. By default, gzip compression
+# is used. Use 'cat' to create an uncompressed image.
+#COMPRESSION="gzip"
+#COMPRESSION="bzip2"
+#COMPRESSION="lzma"
+COMPRESSION="xz"
+#COMPRESSION="lzop"
+#COMPRESSION="lz4"
+
+# COMPRESSION_OPTIONS
+# Additional options for the compressor
+#COMPRESSION_OPTIONS=()
diff --git a/configs/talkingparabola/airootfs/etc/mkinitcpio.d/linux-libre.preset b/configs/talkingparabola/airootfs/etc/mkinitcpio.d/linux-libre.preset
new file mode 100644
index 0000000..782d1cd
--- /dev/null
+++ b/configs/talkingparabola/airootfs/etc/mkinitcpio.d/linux-libre.preset
@@ -0,0 +1,11 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+# mkinitcpio preset file for the 'linux-libre' package on parabolaiso
+
+PRESETS=('parabolaiso')
+
+ALL_kver='/boot/vmlinuz-linux-libre'
+ALL_config='/etc/mkinitcpio.conf'
+
+parabolaiso_image="/boot/parabolaiso.img"
diff --git a/configs/talkingparabola/airootfs/etc/motd b/configs/talkingparabola/airootfs/etc/motd
index e4c893c..4c7a45d 100644
--- a/configs/talkingparabola/airootfs/etc/motd
+++ b/configs/talkingparabola/airootfs/etc/motd
@@ -1,14 +1,9 @@
+To install Parabola GNU/Linux-libre follow the installation guide:
+https://wiki.parabola.nu/Installation_Guide
-===============================================================================
+For Wi-Fi, authenticate to the wireless network using the iwctl utility.
+Ethernet and Wi-Fi connections using DHCP should work automatically.
- Parabola GNU/Linux-libre live media _DATE_
+After connecting to the internet, the installation guide can be accessed
+via the convenience script Installation_guide.
- To install Parabola, the system must be connected to the internet.
- For instructions, enter this command:
- less install.txt
-
- Press the function keys while holding Alt to switch virtual terminals.
- This allows entering commands without closing less.
-
-===============================================================================
-
diff --git a/configs/talkingparabola/airootfs/etc/pam.d/su b/configs/talkingparabola/airootfs/etc/pam.d/su
deleted file mode 100644
index a291042..0000000
--- a/configs/talkingparabola/airootfs/etc/pam.d/su
+++ /dev/null
@@ -1,6 +0,0 @@
-#%PAM-1.0
-auth sufficient pam_rootok.so
-auth sufficient pam_wheel.so trust use_uid
-auth required pam_unix.so
-account required pam_unix.so
-session required pam_unix.so
diff --git a/configs/talkingparabola/airootfs/etc/passwd b/configs/talkingparabola/airootfs/etc/passwd
new file mode 100644
index 0000000..2807d5d
--- /dev/null
+++ b/configs/talkingparabola/airootfs/etc/passwd
@@ -0,0 +1 @@
+root:x:0:0:root:/root:/usr/bin/zsh
diff --git a/configs/talkingparabola/airootfs/etc/shadow b/configs/talkingparabola/airootfs/etc/shadow
new file mode 100644
index 0000000..7edfd69
--- /dev/null
+++ b/configs/talkingparabola/airootfs/etc/shadow
@@ -0,0 +1 @@
+root::14871::::::
diff --git a/configs/talkingparabola/airootfs/etc/ssh/sshd_config b/configs/talkingparabola/airootfs/etc/ssh/sshd_config
new file mode 100644
index 0000000..8ef1758
--- /dev/null
+++ b/configs/talkingparabola/airootfs/etc/ssh/sshd_config
@@ -0,0 +1,116 @@
+# $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $
+
+# This is the sshd server system-wide configuration file. See
+# sshd_config(5) for more information.
+
+# This sshd was compiled with PATH=/usr/local/sbin:/usr/local/bin:/usr/bin
+
+# The strategy used for options in the default sshd_config shipped with
+# OpenSSH is to specify options with their default value where
+# possible, but leave them commented. Uncommented options override the
+# default value.
+
+#Port 22
+#AddressFamily any
+#ListenAddress 0.0.0.0
+#ListenAddress ::
+
+#HostKey /etc/ssh/ssh_host_rsa_key
+#HostKey /etc/ssh/ssh_host_ecdsa_key
+#HostKey /etc/ssh/ssh_host_ed25519_key
+
+# Ciphers and keying
+#RekeyLimit default none
+
+# Logging
+#SyslogFacility AUTH
+#LogLevel INFO
+
+# Authentication:
+
+#LoginGraceTime 2m
+PermitRootLogin yes
+#StrictModes yes
+#MaxAuthTries 6
+#MaxSessions 10
+
+#PubkeyAuthentication yes
+
+# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
+# but this is overridden so installations will only check .ssh/authorized_keys
+AuthorizedKeysFile .ssh/authorized_keys
+
+#AuthorizedPrincipalsFile none
+
+#AuthorizedKeysCommand none
+#AuthorizedKeysCommandUser nobody
+
+# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
+#HostbasedAuthentication no
+# Change to yes if you don't trust ~/.ssh/known_hosts for
+# HostbasedAuthentication
+#IgnoreUserKnownHosts no
+# Don't read the user's ~/.rhosts and ~/.shosts files
+#IgnoreRhosts yes
+
+# To disable tunneled clear text passwords, change to no here!
+#PasswordAuthentication yes
+#PermitEmptyPasswords no
+
+# Change to no to disable s/key passwords
+ChallengeResponseAuthentication no
+
+# Kerberos options
+#KerberosAuthentication no
+#KerberosOrLocalPasswd yes
+#KerberosTicketCleanup yes
+#KerberosGetAFSToken no
+
+# GSSAPI options
+#GSSAPIAuthentication no
+#GSSAPICleanupCredentials yes
+
+# Set this to 'yes' to enable PAM authentication, account processing,
+# and session processing. If this is enabled, PAM authentication will
+# be allowed through the ChallengeResponseAuthentication and
+# PasswordAuthentication. Depending on your PAM configuration,
+# PAM authentication via ChallengeResponseAuthentication may bypass
+# the setting of "PermitRootLogin without-password".
+# If you just want the PAM account and session checks to run without
+# PAM authentication, then enable this but set PasswordAuthentication
+# and ChallengeResponseAuthentication to 'no'.
+UsePAM yes
+
+#AllowAgentForwarding yes
+#AllowTcpForwarding yes
+#GatewayPorts no
+#X11Forwarding no
+#X11DisplayOffset 10
+#X11UseLocalhost yes
+#PermitTTY yes
+PrintMotd no # pam does that
+#PrintLastLog yes
+#TCPKeepAlive yes
+#PermitUserEnvironment no
+#Compression delayed
+#ClientAliveInterval 0
+#ClientAliveCountMax 3
+#UseDNS no
+#PidFile /run/sshd.pid
+#MaxStartups 10:30:100
+#PermitTunnel no
+#ChrootDirectory none
+#VersionAddendum none
+
+# no default banner path
+#Banner none
+
+# override default of no subsystems
+Subsystem sftp /usr/lib/ssh/sftp-server
+
+# Example of overriding settings on a per-user basis
+#Match User anoncvs
+# X11Forwarding no
+# AllowTcpForwarding no
+# PermitTTY no
+# ForceCommand cvs server
diff --git a/configs/talkingparabola/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf b/configs/talkingparabola/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf
new file mode 100644
index 0000000..3104779
--- /dev/null
+++ b/configs/talkingparabola/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf
@@ -0,0 +1,5 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+[Journal]
+Storage=volatile
diff --git a/configs/talkingparabola/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf b/configs/talkingparabola/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf
new file mode 100644
index 0000000..c6b17a4
--- /dev/null
+++ b/configs/talkingparabola/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf
@@ -0,0 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+[Login]
+HandleSuspendKey=ignore
+HandleHibernateKey=ignore
+HandleLidSwitch=ignore
diff --git a/configs/talkingparabola/airootfs/etc/systemd/network/ethernet.network b/configs/talkingparabola/airootfs/etc/systemd/network/20-ethernet.network
index 5e9f0b7..efa309c 100644
--- a/configs/talkingparabola/airootfs/etc/systemd/network/ethernet.network
+++ b/configs/talkingparabola/airootfs/etc/systemd/network/20-ethernet.network
@@ -1,11 +1,13 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
[Match]
Name=en*
Name=eth*
[Network]
-DHCP=ipv4
+DHCP=yes
IPv6PrivacyExtensions=yes
-IPv6AcceptRA=false
[DHCP]
RouteMetric=512
diff --git a/configs/talkingparabola/airootfs/etc/systemd/network/wireless.network b/configs/talkingparabola/airootfs/etc/systemd/network/20-wireless.network
index 5a6da15..bf9ab9d 100644
--- a/configs/talkingparabola/airootfs/etc/systemd/network/wireless.network
+++ b/configs/talkingparabola/airootfs/etc/systemd/network/20-wireless.network
@@ -1,11 +1,13 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
[Match]
Name=wlp*
Name=wlan*
[Network]
-DHCP=ipv4
+DHCP=yes
IPv6PrivacyExtensions=yes
-IPv6AcceptRA=false
[DHCP]
RouteMetric=1024
diff --git a/configs/talkingparabola/airootfs/etc/systemd/system/brltty.service b/configs/talkingparabola/airootfs/etc/systemd/system/brltty.service
new file mode 120000
index 0000000..f466627
--- /dev/null
+++ b/configs/talkingparabola/airootfs/etc/systemd/system/brltty.service
@@ -0,0 +1 @@
+/usr/lib/systemd/system/brltty.service \ No newline at end of file
diff --git a/configs/talkingparabola/airootfs/etc/systemd/system/choose-mirror.service b/configs/talkingparabola/airootfs/etc/systemd/system/choose-mirror.service
index 1e4d771..b3e4847 100644
--- a/configs/talkingparabola/airootfs/etc/systemd/system/choose-mirror.service
+++ b/configs/talkingparabola/airootfs/etc/systemd/system/choose-mirror.service
@@ -1,10 +1,13 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
[Unit]
Description=Choose mirror from the kernel command line
ConditionKernelCommandLine=mirror
[Service]
Type=oneshot
-ExecStart=/etc/systemd/scripts/choose-mirror
+ExecStart=/usr/local/bin/choose-mirror
[Install]
WantedBy=multi-user.target
diff --git a/configs/talkingparabola/airootfs/etc/systemd/system/dbus-org.freedesktop.network1.service b/configs/talkingparabola/airootfs/etc/systemd/system/dbus-org.freedesktop.network1.service
new file mode 120000
index 0000000..4c158e6
--- /dev/null
+++ b/configs/talkingparabola/airootfs/etc/systemd/system/dbus-org.freedesktop.network1.service
@@ -0,0 +1 @@
+/usr/lib/systemd/system/systemd-networkd.service \ No newline at end of file
diff --git a/configs/talkingparabola/airootfs/etc/systemd/system/dbus-org.freedesktop.resolve1.service b/configs/talkingparabola/airootfs/etc/systemd/system/dbus-org.freedesktop.resolve1.service
new file mode 120000
index 0000000..4f6ae34
--- /dev/null
+++ b/configs/talkingparabola/airootfs/etc/systemd/system/dbus-org.freedesktop.resolve1.service
@@ -0,0 +1 @@
+/usr/lib/systemd/system/systemd-resolved.service \ No newline at end of file
diff --git a/configs/talkingparabola/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount b/configs/talkingparabola/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount
index 4eab551..f86a91d 100644
--- a/configs/talkingparabola/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount
+++ b/configs/talkingparabola/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
[Unit]
Description=Temporary /etc/pacman.d/gnupg directory
diff --git a/configs/talkingparabola/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf b/configs/talkingparabola/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf
index d1d8474..370735f 100644
--- a/configs/talkingparabola/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf
+++ b/configs/talkingparabola/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin root --noclear %I 38400 linux
diff --git a/configs/talkingparabola/airootfs/etc/systemd/system/multi-user.target.wants/choose-mirror.service b/configs/talkingparabola/airootfs/etc/systemd/system/multi-user.target.wants/choose-mirror.service
new file mode 120000
index 0000000..2d8d256
--- /dev/null
+++ b/configs/talkingparabola/airootfs/etc/systemd/system/multi-user.target.wants/choose-mirror.service
@@ -0,0 +1 @@
+../choose-mirror.service \ No newline at end of file
diff --git a/configs/talkingparabola/airootfs/etc/systemd/system/multi-user.target.wants/iwd.service b/configs/talkingparabola/airootfs/etc/systemd/system/multi-user.target.wants/iwd.service
new file mode 120000
index 0000000..3625abd
--- /dev/null
+++ b/configs/talkingparabola/airootfs/etc/systemd/system/multi-user.target.wants/iwd.service
@@ -0,0 +1 @@
+/usr/lib/systemd/system/iwd.service \ No newline at end of file
diff --git a/configs/talkingparabola/airootfs/etc/systemd/system/multi-user.target.wants/pacman-init.service b/configs/talkingparabola/airootfs/etc/systemd/system/multi-user.target.wants/pacman-init.service
new file mode 120000
index 0000000..d09eec6
--- /dev/null
+++ b/configs/talkingparabola/airootfs/etc/systemd/system/multi-user.target.wants/pacman-init.service
@@ -0,0 +1 @@
+../pacman-init.service \ No newline at end of file
diff --git a/configs/talkingparabola/airootfs/etc/systemd/system/multi-user.target.wants/reflector.service b/configs/talkingparabola/airootfs/etc/systemd/system/multi-user.target.wants/reflector.service
new file mode 120000
index 0000000..f5071ce
--- /dev/null
+++ b/configs/talkingparabola/airootfs/etc/systemd/system/multi-user.target.wants/reflector.service
@@ -0,0 +1 @@
+../reflector.service \ No newline at end of file
diff --git a/configs/talkingparabola/airootfs/etc/systemd/system/multi-user.target.wants/systemd-networkd.service b/configs/talkingparabola/airootfs/etc/systemd/system/multi-user.target.wants/systemd-networkd.service
new file mode 120000
index 0000000..4c158e6
--- /dev/null
+++ b/configs/talkingparabola/airootfs/etc/systemd/system/multi-user.target.wants/systemd-networkd.service
@@ -0,0 +1 @@
+/usr/lib/systemd/system/systemd-networkd.service \ No newline at end of file
diff --git a/configs/talkingparabola/airootfs/etc/systemd/system/multi-user.target.wants/systemd-resolved.service b/configs/talkingparabola/airootfs/etc/systemd/system/multi-user.target.wants/systemd-resolved.service
new file mode 120000
index 0000000..4f6ae34
--- /dev/null
+++ b/configs/talkingparabola/airootfs/etc/systemd/system/multi-user.target.wants/systemd-resolved.service
@@ -0,0 +1 @@
+/usr/lib/systemd/system/systemd-resolved.service \ No newline at end of file
diff --git a/configs/talkingparabola/airootfs/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service b/configs/talkingparabola/airootfs/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service
new file mode 120000
index 0000000..7d6ad92
--- /dev/null
+++ b/configs/talkingparabola/airootfs/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service
@@ -0,0 +1 @@
+/usr/lib/systemd/system/systemd-networkd-wait-online.service \ No newline at end of file
diff --git a/configs/talkingparabola/airootfs/etc/systemd/system/pacman-init.service b/configs/talkingparabola/airootfs/etc/systemd/system/pacman-init.service
index 3414ebc..6e9b84d 100644
--- a/configs/talkingparabola/airootfs/etc/systemd/system/pacman-init.service
+++ b/configs/talkingparabola/airootfs/etc/systemd/system/pacman-init.service
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
[Unit]
Description=Initializes Pacman keyring
Wants=haveged.service
@@ -9,8 +12,7 @@ After=etc-pacman.d-gnupg.mount
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/pacman-key --init
-ExecStart=/usr/bin/pacman-key --populate archlinux
-ExecStart=/usr/bin/pacman-key --populate parabola
+ExecStart=/usr/bin/pacman-key --populate parabola archlinux archlinux32
[Install]
WantedBy=multi-user.target
diff --git a/configs/talkingparabola/airootfs/etc/systemd/system/reflector.service b/configs/talkingparabola/airootfs/etc/systemd/system/reflector.service
new file mode 100644
index 0000000..4058e36
--- /dev/null
+++ b/configs/talkingparabola/airootfs/etc/systemd/system/reflector.service
@@ -0,0 +1,44 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+[Unit]
+Description=pacman mirrorlist update
+Wants=network-online.target
+After=network-online.target nss-lookup.target
+ConditionKernelCommandLine=!mirror
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/reflector --protocol https --latest 70 --sort rate --save /etc/pacman.d/mirrorlist
+Restart=on-failure
+RestartSec=10
+CacheDirectory=reflector
+CapabilityBoundingSet=~CAP_SETUID CAP_SETGID CAP_SETPCAP CAP_SYS_ADMIN CAP_SYS_PTRACE CAP_CHOWN CAP_FSETID CAP_SETFCAP CAP_DAC_OVERRIDE CAP_DAC_READ_SEARCH CAP_FOWNER CAP_IPC_OWNER CAP_NET_ADMIN CAP_SYS_TIME CAP_AUDIT_CONTROL CAP_AUDIT_READ CAP_AUDIT_WRITE CAP_KILL CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_RAW CAP_SYS_NICE CAP_SYS_RESOURCE CAP_MAC_ADMIN CAP_MAC_OVERRIDE CAP_SYS_BOOT CAP_LINUX_IMMUTABLE CAP_IPC_LOCK CAP_SYS_CHROOT CAP_BLOCK_SUSPEND CAP_LEASE CAP_SYS_PACCT CAP_SYS_TTY_CONFIG CAP_WAKE_ALARM
+Environment=XDG_CACHE_HOME=/var/cache/reflector
+LockPersonality=true
+MemoryDenyWriteExecute=true
+NoNewPrivileges=true
+PrivateDevices=true
+PrivateTmp=true
+PrivateUsers=true
+ProtectClock=true
+ProtectControlGroups=true
+ProtectHome=true
+ProtectHostname=true
+ProtectKernelTunables=true
+ProtectKernelLogs=true
+ProtectKernelModules=true
+ProtectSystem=strict
+ReadWritePaths=/etc/pacman.d/mirrorlist
+RemoveIPC=true
+RestrictAddressFamilies=~AF_AX25 AF_IPX AF_APPLETALK AF_X25 AF_DECnet AF_KEY AF_NETLINK AF_PACKET AF_RDS AF_PPPOX AF_LLC AF_IB AF_MPLS AF_CAN AF_TIPC AF_BLUETOOTH AF_ALG AF_VSOCK AF_KCM AF_UNIX AF_XDP
+RestrictNamespaces=true
+RestrictRealtime=true
+RestrictSUIDSGID=true
+SystemCallArchitectures=native
+SystemCallFilter=@system-service
+SystemCallFilter=~@resources @privileged
+UMask=177
+
+[Install]
+WantedBy=multi-user.target
diff --git a/configs/talkingparabola/airootfs/etc/systemd/system/sockets.target.wants/systemd-networkd.socket b/configs/talkingparabola/airootfs/etc/systemd/system/sockets.target.wants/systemd-networkd.socket
new file mode 120000
index 0000000..51942c8
--- /dev/null
+++ b/configs/talkingparabola/airootfs/etc/systemd/system/sockets.target.wants/systemd-networkd.socket
@@ -0,0 +1 @@
+/usr/lib/systemd/system/systemd-networkd.socket \ No newline at end of file
diff --git a/configs/talkingparabola/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf b/configs/talkingparabola/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf
new file mode 100644
index 0000000..1b4c091
--- /dev/null
+++ b/configs/talkingparabola/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf
@@ -0,0 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+[Service]
+ExecStart=
+ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --any
diff --git a/configs/talkingparabola/airootfs/root/.automated_script.sh b/configs/talkingparabola/airootfs/root/.automated_script.sh
index aaf5583..ed3a924 100755
--- a/configs/talkingparabola/airootfs/root/.automated_script.sh
+++ b/configs/talkingparabola/airootfs/root/.automated_script.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
script_cmdline ()
{
@@ -16,7 +16,7 @@ automated_script ()
script="$(script_cmdline)"
if [[ -n "${script}" && ! -x /tmp/startup_script ]]; then
if [[ "${script}" =~ ^((http|https|ftp)://) ]]; then
- wget "${script}" --retry-connrefused -q -O /tmp/startup_script >/dev/null
+ curl "${script}" --retry-connrefused -s -o /tmp/startup_script >/dev/null
rt=$?
else
cp "${script}" /tmp/startup_script
diff --git a/configs/talkingparabola/airootfs/root/customize_airootfs.sh b/configs/talkingparabola/airootfs/root/customize_airootfs.sh
index 66679b2..c72644a 100755
--- a/configs/talkingparabola/airootfs/root/customize_airootfs.sh
+++ b/configs/talkingparabola/airootfs/root/customize_airootfs.sh
@@ -1,27 +1,12 @@
-#!/bin/bash
+#!/usr/bin/env bash
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
set -e -u
+echo 'Warning: customize_airootfs.sh is deprecated! Support for it will be removed in a future parabolaiso version.'
+
sed -i 's/#\(en_US\.UTF-8\)/\1/' /etc/locale.gen
locale-gen
-ln -sf /usr/share/zoneinfo/UTC /etc/localtime
-
-usermod -s /usr/bin/zsh root
-cp -aT /etc/skel/ /root/
-chmod 700 /root
-# unset the root password
-passwd -d root
-
-sed -i 's/#\(PermitRootLogin \).\+/\1yes/' /etc/ssh/sshd_config
sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist
-sed -i 's/#\(Storage=\)auto/\1volatile/' /etc/systemd/journald.conf
-
-sed -i 's/#\(HandleSuspendKey=\)suspend/\1ignore/' /etc/systemd/logind.conf
-sed -i 's/#\(HandleHibernateKey=\)hibernate/\1ignore/' /etc/systemd/logind.conf
-sed -i 's/#\(HandleLidSwitch=\)suspend/\1ignore/' /etc/systemd/logind.conf
-
-systemctl enable multi-user.target pacman-init.service choose-mirror.service systemd-networkd.service systemd-resolved.service livecd-alsa-unmuter.service brltty.service
-systemctl set-default multi-user.target
-
-sed -i "s/_DATE_/$(date +%Y.%m.%d)/" /etc/motd
diff --git a/configs/talkingparabola/airootfs/root/install.txt b/configs/talkingparabola/airootfs/root/install.txt
deleted file mode 100644
index a594b97..0000000
--- a/configs/talkingparabola/airootfs/root/install.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-View this installation guide online at
-https://wiki.parabola.nu/Installation_Guide
diff --git a/configs/talkingparabola/airootfs/usr/bin/livecd-alsa-unmuter b/configs/talkingparabola/airootfs/usr/bin/livecd-alsa-unmuter
index 6de05a0..2a0d814 100755
--- a/configs/talkingparabola/airootfs/usr/bin/livecd-alsa-unmuter
+++ b/configs/talkingparabola/airootfs/usr/bin/livecd-alsa-unmuter
@@ -1,7 +1,11 @@
#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
# Properly initialize the sound card so that we have audio at boot.
# This script is released under the GNU General Public License.
+
+# shellcheck disable=SC1091
source /usr/share/livecd-sound/functions
preinit_levels all
diff --git a/configs/talkingparabola/airootfs/usr/bin/pick-a-card b/configs/talkingparabola/airootfs/usr/bin/pick-a-card
index 7f469e8..10f2f79 100755
--- a/configs/talkingparabola/airootfs/usr/bin/pick-a-card
+++ b/configs/talkingparabola/airootfs/usr/bin/pick-a-card
@@ -1,9 +1,12 @@
#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
# If there are multiple usable sound cards, prompt the user to choose one,
# using auditory feedback.
# This script is released under the GNU General Public License.
+# shellcheck disable=SC1091
source /usr/share/livecd-sound/functions
nwords() {
@@ -12,7 +15,7 @@ nwords() {
is_numeric() {
local str=$1
- expr match "$str" '[[:digit:]]\+$' > /dev/null 2>&1
+ expr "$str" : '[[:digit:]]\+$' > /dev/null 2>&1
}
set_default_card() {
@@ -28,7 +31,7 @@ play_on_card() {
set -f
usable_cards="$(list_non_pcsp_cards)"
-num_usable_cards=$(nwords $usable_cards)
+num_usable_cards=$(nwords "$usable_cards")
if [ "$num_usable_cards" -eq 1 ]; then
exit 0
@@ -47,7 +50,7 @@ for card in $usable_cards; do
continue
fi
play_on_card "$card" /usr/share/livecd-sound/sounds/beep.wav
- if read -t 10; then
+ if read -rt 10; then
set_default_card "$card"
break
fi
diff --git a/configs/talkingparabola/airootfs/usr/local/bin/Installation_guide b/configs/talkingparabola/airootfs/usr/local/bin/Installation_guide
new file mode 100755
index 0000000..876fbd2
--- /dev/null
+++ b/configs/talkingparabola/airootfs/usr/local/bin/Installation_guide
@@ -0,0 +1,5 @@
+#!/bin/sh
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+exec lynx 'https://wiki.parabola.nu/Installation_Guide'
diff --git a/configs/talkingparabola/airootfs/etc/systemd/scripts/choose-mirror b/configs/talkingparabola/airootfs/usr/local/bin/choose-mirror
index 13c9f69..e8f8254 100755
--- a/configs/talkingparabola/airootfs/etc/systemd/scripts/choose-mirror
+++ b/configs/talkingparabola/airootfs/usr/local/bin/choose-mirror
@@ -1,4 +1,6 @@
#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
get_cmdline() {
local param
diff --git a/configs/talkingparabola/build.sh b/configs/talkingparabola/build.sh
index 4b5dd96..7e85827 100755
--- a/configs/talkingparabola/build.sh
+++ b/configs/talkingparabola/build.sh
@@ -1,4 +1,6 @@
-#!/bin/bash
+#!/usr/bin/env bash
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
set -e -u
@@ -10,20 +12,13 @@ iso_version=$(date +%Y.%m.%d)
install_dir=parabola
work_dir=work
out_dir=out
-gpg_key=
+gpg_key=""
arch=$(uname -m)
verbose=""
-script_path=$(readlink -f ${0%/*})
-
-# Init system. Options are:
-# - openrc
-# - sysvinit
-# - systemd
-#
-# sysvinit uses OpenRC as service manager
-init=systemd
+script_path="$( cd -P "$( dirname "$(readlink -f "$0")" )" && pwd )"
+export arch
umask 0022
_usage ()
@@ -49,184 +44,211 @@ _usage ()
echo " Default: ${out_dir}"
echo " -v Enable verbose output"
echo " -h This help message"
- exit ${1}
+ exit "${1}"
}
# Helper function to run make_*() only one time per architecture.
run_once() {
- if [[ ! -e ${work_dir}/build.${1}_${arch} ]]; then
- $1
- touch ${work_dir}/build.${1}_${arch}
+ if [[ ! -e "${work_dir}/build.${1}_${arch}" ]]; then
+ "$1"
+ touch "${work_dir}/build.${1}_${arch}"
fi
}
# Setup custom pacman.conf with current cache directories and custom mirrorlist.
make_pacman_conf() {
local _cache_dirs
- _cache_dirs=($(pacman -v 2>&1 | grep '^Cache Dirs:' | sed 's/Cache Dirs:\s*//g'))
- sed -r "s|^#?\\s*CacheDir.+|CacheDir = $(echo -n ${_cache_dirs[@]})|g" ${script_path}/pacman.conf > ${work_dir}/pacman.conf
+ _cache_dirs=("$(pacman -v 2>&1 | grep '^Cache Dirs:' | sed 's/Cache Dirs:\s*//g')")
+ sed -r "s|^#?\\s*CacheDir.+|CacheDir = $(echo -n "${_cache_dirs[@]}")|g" \
+ "${script_path}/pacman.conf" > "${work_dir}/pacman.conf"
}
-# Base installation, plus needed packages (airootfs)
-make_basefs() {
- arch=${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -i "${init}" init
- arch=${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -i "${init}" -p "haveged memtest86+ mkinitcpio-nfs-utils nbd zsh efitools" install
+# Prepare working directory and copy custom airootfs files (airootfs)
+make_custom_airootfs() {
+ local _airootfs="${work_dir}/${arch}/airootfs"
+ mkdir -p -- "${_airootfs}"
+
+ if [[ -d "${script_path}/airootfs" ]]; then
+ cp -af --no-preserve=ownership -- "${script_path}/airootfs/." "${_airootfs}"
+
+ [[ -e "${_airootfs}/etc/shadow" ]] && chmod -f 0400 -- "${_airootfs}/etc/shadow"
+ [[ -e "${_airootfs}/etc/gshadow" ]] && chmod -f 0400 -- "${_airootfs}/etc/gshadow"
+
+ # Set up user home directories and permissions
+ if [[ -e "${_airootfs}/etc/passwd" ]]; then
+ while IFS=':' read -a passwd -r; do
+ [[ "${passwd[5]}" == '/' ]] && continue
+
+ if [[ -d "${_airootfs}${passwd[5]}" ]]; then
+ chown -hR -- "${passwd[2]}:${passwd[3]}" "${_airootfs}${passwd[5]}"
+ chmod -f 0750 -- "${_airootfs}${passwd[5]}"
+ else
+ install -d -m 0750 -o "${passwd[2]}" -g "${passwd[3]}" -- "${_airootfs}${passwd[5]}"
+ fi
+ done < "${_airootfs}/etc/passwd"
+ fi
+ fi
}
-# Additional packages (airootfs)
+# Packages (airootfs)
make_packages() {
- arch=${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -p "$(grep -h -v ^# ${script_path}/packages.{both,${arch}})" install
-}
-
-# Needed packages for x86_64 EFI boot
-make_packages_efi() {
- arch=${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -p "efitools" install
-}
-
-# Copy mkinitcpio parabolaiso hooks and build initramfs (airootfs)
-make_setup_mkinitcpio() {
- local _hook
- mkdir -p ${work_dir}/${arch}/airootfs/etc/initcpio/hooks
- mkdir -p ${work_dir}/${arch}/airootfs/etc/initcpio/install
- for _hook in parabolaiso parabolaiso_shutdown parabolaiso_pxe_common parabolaiso_pxe_nbd parabolaiso_pxe_http parabolaiso_pxe_nfs parabolaiso_loop_mnt; do
- cp /usr/lib/initcpio/hooks/${_hook} ${work_dir}/${arch}/airootfs/etc/initcpio/hooks
- cp /usr/lib/initcpio/install/${_hook} ${work_dir}/${arch}/airootfs/etc/initcpio/install
- done
- sed -i "s|/usr/lib/initcpio/|/etc/initcpio/|g" ${work_dir}/${arch}/airootfs/etc/initcpio/install/parabolaiso_shutdown
- cp /usr/lib/initcpio/install/parabolaiso_kms ${work_dir}/${arch}/airootfs/etc/initcpio/install
- cp /usr/lib/initcpio/parabolaiso_shutdown ${work_dir}/${arch}/airootfs/etc/initcpio
- cp ${script_path}/mkinitcpio.conf ${work_dir}/${arch}/airootfs/etc/mkinitcpio-parabolaiso.conf
- gnupg_fd=
- if [[ ${gpg_key} ]]; then
- gpg --export ${gpg_key} >${work_dir}/gpgkey
- exec 17<>${work_dir}/gpgkey
+ if [[ "${gpg_key}" ]]; then
+ gpg --export "${gpg_key}" >"${work_dir}/gpgkey"
+ exec 17<>"${work_dir}/gpgkey"
+ fi
+ if [ -n "${verbose}" ]; then
+ PARABOLAISO_GNUPG_FD="${gpg_key:+17}" mkparabolaiso -v -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" \
+ -p "$(grep -h -v '^#' "${script_path}"/packages.{both,"${arch}"}| sed ':a;N;$!ba;s/\n/ /g')" install
+ else
+ PARABOLAISO_GNUPG_FD="${gpg_key:+17}" mkparabolaiso -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" \
+ -p "$(grep -h -v '^#' "${script_path}"/packages.{both,"${arch}"}| sed ':a;N;$!ba;s/\n/ /g')" install
fi
- PARABOLAISO_GNUPG_FD=${gpg_key:+17} arch=${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -r 'mkinitcpio -c /etc/mkinitcpio-parabolaiso.conf -k /boot/vmlinuz-linux-libre -g /boot/parabolaiso.img' run
- if [[ ${gpg_key} ]]; then
+ if [[ "${gpg_key}" ]]; then
exec 17<&-
fi
}
# Customize installation (airootfs)
make_customize_airootfs() {
- cp -af ${script_path}/airootfs ${work_dir}/${arch}
+ if [[ -e "${script_path}/airootfs/etc/passwd" ]]; then
+ while IFS=':' read -a passwd -r; do
+ [[ "${passwd[5]}" == '/' ]] && continue
+ cp -RdT --preserve=mode,timestamps,links -- "${work_dir}/${arch}/airootfs/etc/skel" "${work_dir}/${arch}/airootfs${passwd[5]}"
+ chown -hR -- "${passwd[2]}:${passwd[3]}" "${work_dir}/${arch}/airootfs${passwd[5]}"
- cp ${script_path}/pacman.conf ${work_dir}/${arch}/airootfs/etc
-
- curl -o ${work_dir}/${arch}/airootfs/etc/pacman.d/mirrorlist 'https://www.parabola.nu/mirrorlist/?country=all&protocol=http&use_mirror_status=on'
-
- lynx -dump -nolist 'https://wiki.parabola.nu/index.php/Installation_Guide?action=render' >> ${work_dir}/${arch}/airootfs/root/install.txt
+ done < "${script_path}/airootfs/etc/passwd"
+ fi
- arch=${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -r '/root/customize_airootfs.sh' run
- rm ${work_dir}/${arch}/airootfs/root/customize_airootfs.sh
+ if [[ -e "${work_dir}/${arch}/airootfs/root/customize_airootfs.sh" ]]; then
+ if [ -n "${verbose}" ]; then
+ mkparabolaiso -v -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" \
+ -r '/root/customize_airootfs.sh' run
+ else
+ mkparabolaiso -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" \
+ -r '/root/customize_airootfs.sh' run
+ fi
+ rm "${work_dir}/${arch}/airootfs/root/customize_airootfs.sh"
+ fi
}
# Prepare kernel/initramfs ${install_dir}/boot/
make_boot() {
- mkdir -p ${work_dir}/iso/${install_dir}/boot/${arch}
- cp ${work_dir}/${arch}/airootfs/boot/parabolaiso.img ${work_dir}/iso/${install_dir}/boot/${arch}/parabolaiso.img
- cp ${work_dir}/${arch}/airootfs/boot/vmlinuz-linux-libre ${work_dir}/iso/${install_dir}/boot/${arch}/vmlinuz
+ mkdir -p "${work_dir}/iso/${install_dir}/boot/${arch}"
+ cp "${work_dir}/${arch}/airootfs/boot/parabolaiso.img" "${work_dir}/iso/${install_dir}/boot/${arch}/"
+ cp "${work_dir}/${arch}/airootfs/boot/vmlinuz-linux-libre" "${work_dir}/iso/${install_dir}/boot/${arch}/"
}
# Add other aditional/extra files to ${install_dir}/boot/
make_boot_extra() {
- cp ${work_dir}/${arch}/airootfs/boot/memtest86+/memtest.bin ${work_dir}/iso/${install_dir}/boot/memtest
- cp ${work_dir}/${arch}/airootfs/usr/share/licenses/common/GPL2/license.txt ${work_dir}/iso/${install_dir}/boot/memtest.COPYING
+ if [[ -e "${work_dir}/${arch}/airootfs/boot/memtest86+/memtest.bin" ]]; then
+ # rename for PXE: https://wiki.parabola.nu/Syslinux#Using_memtest
+ cp "${work_dir}/${arch}/airootfs/boot/memtest86+/memtest.bin" "${work_dir}/iso/${install_dir}/boot/memtest"
+ mkdir -p "${work_dir}/iso/${install_dir}/boot/licenses/memtest86+/"
+ cp "${work_dir}/${arch}/airootfs/usr/share/licenses/common/GPL2/license.txt" \
+ "${work_dir}/iso/${install_dir}/boot/licenses/memtest86+/"
+ fi
}
# Prepare /${install_dir}/boot/syslinux
make_syslinux() {
- _uname_r=$(file -b ${work_dir}/${arch}/airootfs/boot/vmlinuz-linux-libre| awk 'f{print;f=0} /version/{f=1}' RS=' ')
- mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux
- for _cfg in ${script_path}/syslinux/*.cfg; do
+ _uname_r=$(file -b "${work_dir}/${arch}/airootfs/boot/vmlinuz-linux-libre"| awk 'f{print;f=0} /version/{f=1}' RS=' ')
+ mkdir -p "${work_dir}/iso/${install_dir}/boot/syslinux"
+ for _cfg in "${script_path}/syslinux/"*.cfg; do
sed "s|%PARABOLAISO_LABEL%|${iso_label}|g;
- s|%INSTALL_DIR%|${install_dir}|g" ${_cfg} > ${work_dir}/iso/${install_dir}/boot/syslinux/${_cfg##*/}
+ s|%INSTALL_DIR%|${install_dir}|g" "${_cfg}" > "${work_dir}/iso/${install_dir}/boot/syslinux/${_cfg##*/}"
done
- cp ${script_path}/syslinux/splash.png ${work_dir}/iso/${install_dir}/boot/syslinux
- cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/*.c32 ${work_dir}/iso/${install_dir}/boot/syslinux
- cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/lpxelinux.0 ${work_dir}/iso/${install_dir}/boot/syslinux
- cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/memdisk ${work_dir}/iso/${install_dir}/boot/syslinux
- mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux/hdt
- gzip -c -9 ${work_dir}/${arch}/airootfs/usr/lib/modules/${_uname_r}/modules.alias > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/modalias.gz
+ cp "${script_path}/syslinux/splash.png" "${work_dir}/iso/${install_dir}/boot/syslinux/"
+ cp "${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/"*.c32 "${work_dir}/iso/${install_dir}/boot/syslinux/"
+ cp "${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/lpxelinux.0" "${work_dir}/iso/${install_dir}/boot/syslinux/"
+ cp "${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/memdisk" "${work_dir}/iso/${install_dir}/boot/syslinux/"
+ mkdir -p "${work_dir}/iso/${install_dir}/boot/syslinux/hdt"
+ gzip -c -9 "${work_dir}/${arch}/airootfs/usr/lib/modules/${_uname_r}/modules.alias" > \
+ "${work_dir}/iso/${install_dir}/boot/syslinux/hdt/modalias.gz"
}
# Prepare /isolinux
make_isolinux() {
- mkdir -p ${work_dir}/iso/isolinux
- sed "s|%INSTALL_DIR%|${install_dir}|g" ${script_path}/isolinux/isolinux.cfg > ${work_dir}/iso/isolinux/isolinux.cfg
- cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/isolinux.bin ${work_dir}/iso/isolinux/
- cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/isohdpfx.bin ${work_dir}/iso/isolinux/
- cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/ldlinux.c32 ${work_dir}/iso/isolinux/
+ mkdir -p "${work_dir}/iso/isolinux"
+ sed "s|%INSTALL_DIR%|${install_dir}|g" \
+ "${script_path}/isolinux/isolinux.cfg" > "${work_dir}/iso/isolinux/isolinux.cfg"
+ cp "${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/isolinux.bin" "${work_dir}/iso/isolinux/"
+ cp "${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/isohdpfx.bin" "${work_dir}/iso/isolinux/"
+ cp "${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/ldlinux.c32" "${work_dir}/iso/isolinux/"
}
# Prepare /EFI
make_efi() {
- mkdir -p ${work_dir}/iso/EFI/boot
- cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/PreLoader.efi ${work_dir}/iso/EFI/boot/bootx64.efi
- cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/HashTool.efi ${work_dir}/iso/EFI/boot/
+ mkdir -p "${work_dir}/iso/EFI/boot"
+ cp "${work_dir}/x86_64/airootfs/usr/lib/systemd/boot/efi/systemd-bootx64.efi" \
+ "${work_dir}/iso/EFI/boot/bootx64.efi"
- cp ${work_dir}/x86_64/airootfs/usr/lib/systemd/boot/efi/systemd-bootx64.efi ${work_dir}/iso/EFI/boot/loader.efi
-
- mkdir -p ${work_dir}/iso/loader/entries
- cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/iso/loader/
- cp ${script_path}/efiboot/loader/entries/uefi-shell-x86_64.conf ${work_dir}/iso/loader/entries/
- cp ${script_path}/efiboot/loader/entries/uefi-shell-full-x86_64.conf ${work_dir}/iso/loader/entries/
+ mkdir -p "${work_dir}/iso/loader/entries"
+ cp "${script_path}/efiboot/loader/loader.conf" "${work_dir}/iso/loader/"
sed "s|%PARABOLAISO_LABEL%|${iso_label}|g;
s|%INSTALL_DIR%|${install_dir}|g" \
- ${script_path}/efiboot/loader/entries/parabolaiso-x86_64-usb.conf > ${work_dir}/iso/loader/entries/parabolaiso-x86_64.conf
+ "${script_path}/efiboot/loader/entries/parabolaiso-x86_64-usb.conf" > \
+ "${work_dir}/iso/loader/entries/parabolaiso-x86_64.conf"
# edk2-shell based UEFI shell
- cp /usr/share/edk2-shell/x64/Shell.efi ${work_dir}/iso/EFI/Shell_x64.efi
- cp /usr/share/edk2-shell/x64/Shell_Full.efi ${work_dir}/iso/EFI/Shell_Full_x64.efi
+ # shellx64.efi is picked up automatically when on /
+ cp "${work_dir}/x86_64/airootfs/usr/share/edk2-shell/x64/Shell_Full.efi" "${work_dir}/iso/shellx64.efi"
}
# Prepare efiboot.img::/EFI for "El Torito" EFI boot mode
make_efiboot() {
- mkdir -p ${work_dir}/iso/EFI/parabolaiso
- truncate -s 64M ${work_dir}/iso/EFI/parabolaiso/efiboot.img
- mkfs.fat -n PARABOLAISO_EFI ${work_dir}/iso/EFI/parabolaiso/efiboot.img
-
- mkdir -p ${work_dir}/efiboot
- mount ${work_dir}/iso/EFI/parabolaiso/efiboot.img ${work_dir}/efiboot
+ mkdir -p "${work_dir}/iso/EFI/parabolaiso"
+ truncate -s 64M "${work_dir}/iso/EFI/parabolaiso/efiboot.img"
+ mkfs.fat -n PARABOLAISO_EFI "${work_dir}/iso/EFI/parabolaiso/efiboot.img"
- mkdir -p ${work_dir}/efiboot/EFI/parabolaiso
- cp ${work_dir}/iso/${install_dir}/boot/x86_64/vmlinuz ${work_dir}/efiboot/EFI/parabolaiso/vmlinuz.efi
- cp ${work_dir}/iso/${install_dir}/boot/x86_64/parabolaiso.img ${work_dir}/efiboot/EFI/parabolaiso/parabolaiso.img
+ mkdir -p "${work_dir}/efiboot"
+ mount "${work_dir}/iso/EFI/parabolaiso/efiboot.img" "${work_dir}/efiboot"
- mkdir -p ${work_dir}/efiboot/EFI/boot
- cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/PreLoader.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi
- cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/HashTool.efi ${work_dir}/efiboot/EFI/boot/
+ mkdir -p "${work_dir}/efiboot/EFI/parabolaiso"
+ cp "${work_dir}/iso/${install_dir}/boot/x86_64/vmlinuz-linux-libre" "${work_dir}/efiboot/EFI/parabolaiso/"
+ cp "${work_dir}/iso/${install_dir}/boot/x86_64/parabolaiso.img" "${work_dir}/efiboot/EFI/parabolaiso/"
- cp ${work_dir}/x86_64/airootfs/usr/lib/systemd/boot/efi/systemd-bootx64.efi ${work_dir}/efiboot/EFI/boot/loader.efi
+ mkdir -p "${work_dir}/efiboot/EFI/boot"
+ cp "${work_dir}/x86_64/airootfs/usr/lib/systemd/boot/efi/systemd-bootx64.efi" \
+ "${work_dir}/efiboot/EFI/boot/bootx64.efi"
- mkdir -p ${work_dir}/efiboot/loader/entries
- cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/efiboot/loader/
- cp ${script_path}/efiboot/loader/entries/uefi-shell-x86_64.conf ${work_dir}/efiboot/loader/entries/
- cp ${script_path}/efiboot/loader/entries/uefi-shell-full-x86_64.conf ${work_dir}/efiboot/loader/entries/
+ mkdir -p "${work_dir}/efiboot/loader/entries"
+ cp "${script_path}/efiboot/loader/loader.conf" "${work_dir}/efiboot/loader/"
sed "s|%PARABOLAISO_LABEL%|${iso_label}|g;
s|%INSTALL_DIR%|${install_dir}|g" \
- ${script_path}/efiboot/loader/entries/parabolaiso-x86_64-cd.conf > ${work_dir}/efiboot/loader/entries/parabolaiso-x86_64.conf
+ "${script_path}/efiboot/loader/entries/parabolaiso-x86_64-cd.conf" > \
+ "${work_dir}/efiboot/loader/entries/parabolaiso-x86_64.conf"
- cp ${work_dir}/iso/EFI/Shell_x64.efi ${work_dir}/efiboot/EFI/
- cp ${work_dir}/iso/EFI/Shell_Full_x64.efi ${work_dir}/efiboot/EFI/
+ # shellx64.efi is picked up automatically when on /
+ cp "${work_dir}/iso/shellx64.efi" "${work_dir}/efiboot/"
- umount -d ${work_dir}/efiboot
+ umount -d "${work_dir}/efiboot"
}
# Build airootfs filesystem image
make_prepare() {
- cp -a -l -f ${work_dir}/${arch}/airootfs ${work_dir}
- arch=${arch} mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" pkglist
- arch=${arch} mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" ${gpg_key:+-g ${gpg_key}} prepare
- rm -rf ${work_dir}/airootfs
- # rm -rf ${work_dir}/${arch}/airootfs (if low space, this helps)
+ cp -a -l -f "${work_dir}/${arch}/airootfs" "${work_dir}"
+ if [ -n "${verbose}" ]; then
+ mkparabolaiso -v -w "${work_dir}" -D "${install_dir}" pkglist
+ mkparabolaiso -v -w "${work_dir}" -D "${install_dir}" ${gpg_key:+-g ${gpg_key}} prepare
+ else
+ mkparabolaiso -w "${work_dir}" -D "${install_dir}" pkglist
+ mkparabolaiso -w "${work_dir}" -D "${install_dir}" ${gpg_key:+-g ${gpg_key}} prepare
+ fi
+ rm -rf "${work_dir}/airootfs"
+ # rm -rf "${work_dir}/${arch}/airootfs" (if low space, this helps)
}
# Build ISO
make_iso() {
- arch=${arch} mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" -L "${iso_label}" -P "${iso_publisher}" -A "${iso_application}" -o "${out_dir}" iso "${iso_name}-${iso_version}-dual.iso"
+ if [ -n "${verbose}" ]; then
+ mkparabolaiso -v -w "${work_dir}" -D "${install_dir}" -L "${iso_label}" -P "${iso_publisher}" \
+ -A "${iso_application}" -o "${out_dir}" iso "${iso_name}-${iso_version}-dual.iso"
+ else
+ mkparabolaiso -w "${work_dir}" -D "${install_dir}" -L "${iso_label}" -P "${iso_publisher}" \
+ -A "${iso_application}" -o "${out_dir}" iso "${iso_name}-${iso_version}-dual.iso"
+ fi
}
if [[ ${EUID} -ne 0 ]]; then
@@ -254,20 +276,17 @@ while getopts 'N:V:L:P:A:D:w:o:g:vh' arg; do
esac
done
-mkdir -p ${work_dir}
+mkdir -p "${work_dir}"
run_once make_pacman_conf
+run_once make_custom_airootfs
# Do all stuff for each airootfs
for arch in i686 x86_64; do
- run_once make_basefs
run_once make_packages
done
-run_once make_packages_efi
-
for arch in i686 x86_64; do
- run_once make_setup_mkinitcpio
run_once make_customize_airootfs
done
diff --git a/configs/talkingparabola/efiboot/loader/entries/parabolaiso-x86_64-cd.conf b/configs/talkingparabola/efiboot/loader/entries/parabolaiso-x86_64-cd.conf
index d4f3c56..794bccd 100644
--- a/configs/talkingparabola/efiboot/loader/entries/parabolaiso-x86_64-cd.conf
+++ b/configs/talkingparabola/efiboot/loader/entries/parabolaiso-x86_64-cd.conf
@@ -1,4 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
title Parabola GNU/Linux-libre parabolaiso x86_64 UEFI CD
-linux /EFI/parabolaiso/vmlinuz.efi
+linux /EFI/parabolaiso/vmlinuz-linux-libre
initrd /EFI/parabolaiso/parabolaiso.img
options parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% speakup.synth=soft
diff --git a/configs/talkingparabola/efiboot/loader/entries/parabolaiso-x86_64-usb.conf b/configs/talkingparabola/efiboot/loader/entries/parabolaiso-x86_64-usb.conf
index c5ba43c..9d88638 100644
--- a/configs/talkingparabola/efiboot/loader/entries/parabolaiso-x86_64-usb.conf
+++ b/configs/talkingparabola/efiboot/loader/entries/parabolaiso-x86_64-usb.conf
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
title Parabola GNU/Linux-libre parabolaiso x86_64 UEFI USB
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz
initrd /%INSTALL_DIR%/boot/x86_64/parabolaiso.img
diff --git a/configs/talkingparabola/efiboot/loader/entries/uefi-shell-full-x86_64.conf b/configs/talkingparabola/efiboot/loader/entries/uefi-shell-full-x86_64.conf
deleted file mode 100644
index 054fa52..0000000
--- a/configs/talkingparabola/efiboot/loader/entries/uefi-shell-full-x86_64.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-title UEFI Shell (Full) x86_64
-efi /EFI/Shell_Full_x64.efi
diff --git a/configs/talkingparabola/efiboot/loader/entries/uefi-shell-x86_64.conf b/configs/talkingparabola/efiboot/loader/entries/uefi-shell-x86_64.conf
deleted file mode 100644
index b5dfbf2..0000000
--- a/configs/talkingparabola/efiboot/loader/entries/uefi-shell-x86_64.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-title UEFI Shell x86_64
-efi /EFI/Shell_x64.efi
diff --git a/configs/talkingparabola/efiboot/loader/loader.conf b/configs/talkingparabola/efiboot/loader/loader.conf
index ea91d51..e0b73cd 100644
--- a/configs/talkingparabola/efiboot/loader/loader.conf
+++ b/configs/talkingparabola/efiboot/loader/loader.conf
@@ -1,2 +1,5 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
timeout 3
default parabolaiso-x86_64.conf
diff --git a/configs/talkingparabola/isolinux/isolinux.cfg b/configs/talkingparabola/isolinux/isolinux.cfg
index 10472fb..a1ffe2e 100644
--- a/configs/talkingparabola/isolinux/isolinux.cfg
+++ b/configs/talkingparabola/isolinux/isolinux.cfg
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
PATH /%INSTALL_DIR%/boot/syslinux/
DEFAULT loadconfig
diff --git a/configs/talkingparabola/mkinitcpio.conf b/configs/talkingparabola/mkinitcpio.conf
deleted file mode 100644
index 182056a..0000000
--- a/configs/talkingparabola/mkinitcpio.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-MODULES="loop"
-HOOKS=(base udev memdisk parabolaiso_shutdown parabolaiso parabolaiso_loop_mnt parabolaiso_pxe_common parabolaiso_pxe_nbd parabolaiso_pxe_http parabolaiso_pxe_nfs parabolaiso_kms block filesystems keyboard)
-COMPRESSION="xz"
diff --git a/configs/talkingparabola/packages.both b/configs/talkingparabola/packages.both
index 0dbe5a0..f340139 100644
--- a/configs/talkingparabola/packages.both
+++ b/configs/talkingparabola/packages.both
@@ -1,7 +1,7 @@
alsa-utils
arch-install-scripts
-bluez
-bluez-libs
+base
+bind-tools
brltty
btrfs-progs
crda
@@ -9,13 +9,11 @@ darkhttpd
ddrescue
dhclient
dhcpcd
-dialog
diffutils
dmraid
dnsmasq
-dnsutils
dosfstools
-elinks
+efibootmgr
espeakup
ethtool
exfat-utils
@@ -25,58 +23,67 @@ gnu-netcat
gpm
gptfdisk
grml-zsh-config
-grub
+haveged
hdparm
irssi
iwd
jfsutils
+kitty-terminfo
lftp
linux-atm
+linux-libre
linux-libre-firmware
lsscsi
lvm2
+lynx
man-db
man-pages
mc
mdadm
+memtest86+
+mkinitcpio
+mkinitcpio-parabolaiso
+mkinitcpio-nfs-utils
mtools
nano
+nbd
ndisc6
-netctl
nfs-utils
nilfs-utils
nmap
ntfs-3g
-ntp
+nvme-cli
openconnect
openssh
openvpn
partclone
parted
partimage
-polkit
-pptpclient
ppp
pptpclient
-refind
+reflector
reiserfsprogs
-sdparm
-sg3_utils
rp-pppoe
rsync
+rxvt-unicode-terminfo
+sdparm
+sg3_utils
smartmontools
sudo
+syslinux
+systemd-resolvconf
tcpdump
+terminus-font
+termite-terminfo
testdisk
usb_modeswitch
usbutils
-vi
-vim-minimal
+vim
vpnc
-wget
wireless-regdb
wireless_tools
wpa_supplicant
wvdial
xfsprogs
xl2tpd
+zsh
diff --git a/configs/talkingparabola/packages.x86_64 b/configs/talkingparabola/packages.x86_64
index e69de29..4cfa070 100644
--- a/configs/talkingparabola/packages.x86_64
+++ b/configs/talkingparabola/packages.x86_64
@@ -0,0 +1 @@
+edk2-shell
diff --git a/configs/talkingparabola/syslinux/parabolaiso.cfg b/configs/talkingparabola/syslinux/parabolaiso.cfg
index 473e245..e38642c 100644
--- a/configs/talkingparabola/syslinux/parabolaiso.cfg
+++ b/configs/talkingparabola/syslinux/parabolaiso.cfg
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
DEFAULT select
LABEL select
diff --git a/configs/talkingparabola/syslinux/parabolaiso_head.cfg b/configs/talkingparabola/syslinux/parabolaiso_head.cfg
index a245309..f1f7635 100644
--- a/configs/talkingparabola/syslinux/parabolaiso_head.cfg
+++ b/configs/talkingparabola/syslinux/parabolaiso_head.cfg
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
SERIAL 0 38400
UI boot/syslinux/vesamenu.c32
MENU TITLE Parabola GNU/Linux-libre
@@ -23,3 +26,5 @@ MENU COLOR timeout_msg 35;40 #ff777caa #00000000 std
MENU COLOR timeout 1;35;40 #ff777caa #00000000 std
MENU COLOR msg07 35;40 #ff777caa #a0000000 std
MENU COLOR tabmsg 35;40 #ff777caa #00000000 std
+
+MENU CLEAR
diff --git a/configs/talkingparabola/syslinux/parabolaiso_pxe32.cfg b/configs/talkingparabola/syslinux/parabolaiso_pxe32.cfg
index 9df86b7..4e88b06 100644
--- a/configs/talkingparabola/syslinux/parabolaiso_pxe32.cfg
+++ b/configs/talkingparabola/syslinux/parabolaiso_pxe32.cfg
@@ -1,10 +1,13 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
LABEL parabola32_nbd
TEXT HELP
Boot the Parabola GNU/Linux-libre (i686) live medium (Using NBD).
It allows you to install Parabola GNU/Linux-libre or perform system maintenance.
ENDTEXT
MENU LABEL Boot Parabola GNU/Linux-libre (i686) (NBD)
-LINUX boot/i686/vmlinuz
+LINUX boot/i686/vmlinuz-linux-libre
INITRD boot/i686/parabolaiso.img
APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% parabolaiso_nbd_srv=${pxeserver}
SYSAPPEND 3
@@ -15,7 +18,7 @@ Boot the Parabola GNU/Linux-libre (i686) live medium (Using NFS).
It allows you to install Parabola GNU/Linux-libre or perform system maintenance.
ENDTEXT
MENU LABEL Boot Parabola GNU/Linux-libre (i686) (NFS)
-LINUX boot/i686/vmlinuz
+LINUX boot/i686/vmlinuz-linux-libre
INITRD boot/i686/parabolaiso.img
APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_nfs_srv=${pxeserver}:/run/parabolaiso/bootmnt
SYSAPPEND 3
@@ -26,7 +29,7 @@ Boot the Parabola GNU/Linux-libre (i686) live medium (Using HTTP).
It allows you to install Parabola GNU/Linux-libre or perform system maintenance.
ENDTEXT
MENU LABEL Boot Parabola GNU/Linux-libre (i686) (HTTP)
-LINUX boot/i686/vmlinuz
+LINUX boot/i686/vmlinuz-linux-libre
INITRD boot/i686/parabolaiso.img
APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_http_srv=http://${pxeserver}/
SYSAPPEND 3
diff --git a/configs/talkingparabola/syslinux/parabolaiso_pxe64.cfg b/configs/talkingparabola/syslinux/parabolaiso_pxe64.cfg
index be3e3de..4f6ca04 100644
--- a/configs/talkingparabola/syslinux/parabolaiso_pxe64.cfg
+++ b/configs/talkingparabola/syslinux/parabolaiso_pxe64.cfg
@@ -1,10 +1,13 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
LABEL parabola64_nbd
TEXT HELP
Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using NBD).
It allows you to install Parabola GNU/Linux-libre or perform system maintenance.
ENDTEXT
MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (NBD)
-LINUX boot/x86_64/vmlinuz
+LINUX boot/x86_64/vmlinuz-linux-libre
INITRD boot/x86_64/parabolaiso.img
APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% parabolaiso_nbd_srv=${pxeserver}
SYSAPPEND 3
@@ -15,7 +18,7 @@ Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using NFS).
It allows you to install Parabola GNU/Linux-libre or perform system maintenance.
ENDTEXT
MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (NFS)
-LINUX boot/x86_64/vmlinuz
+LINUX boot/x86_64/vmlinuz-linux-libre
INITRD boot/x86_64/parabolaiso.img
APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_nfs_srv=${pxeserver}:/run/parabolaiso/bootmnt
SYSAPPEND 3
@@ -26,7 +29,7 @@ Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using HTTP).
It allows you to install Parabola GNU/Linux-libre or perform system maintenance.
ENDTEXT
MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (HTTP)
-LINUX boot/x86_64/vmlinuz
+LINUX boot/x86_64/vmlinuz-linux-libre
INITRD boot/x86_64/parabolaiso.img
APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_http_srv=http://${pxeserver}/
SYSAPPEND 3
diff --git a/configs/talkingparabola/syslinux/parabolaiso_pxe_32_inc.cfg b/configs/talkingparabola/syslinux/parabolaiso_pxe_32_inc.cfg
index ba514cb..c5c00e6 100644
--- a/configs/talkingparabola/syslinux/parabolaiso_pxe_32_inc.cfg
+++ b/configs/talkingparabola/syslinux/parabolaiso_pxe_32_inc.cfg
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
INCLUDE boot/syslinux/parabolaiso_head.cfg
INCLUDE boot/syslinux/parabolaiso_pxe32.cfg
INCLUDE boot/syslinux/parabolaiso_tail.cfg
diff --git a/configs/talkingparabola/syslinux/parabolaiso_pxe_both_inc.cfg b/configs/talkingparabola/syslinux/parabolaiso_pxe_both_inc.cfg
index 9396d9b..0c5be94 100644
--- a/configs/talkingparabola/syslinux/parabolaiso_pxe_both_inc.cfg
+++ b/configs/talkingparabola/syslinux/parabolaiso_pxe_both_inc.cfg
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
INCLUDE boot/syslinux/parabolaiso_head.cfg
INCLUDE boot/syslinux/parabolaiso_pxe64.cfg
INCLUDE boot/syslinux/parabolaiso_pxe32.cfg
diff --git a/configs/talkingparabola/syslinux/parabolaiso_pxe_choose.cfg b/configs/talkingparabola/syslinux/parabolaiso_pxe_choose.cfg
index a3a768f..079fd7d 100644
--- a/configs/talkingparabola/syslinux/parabolaiso_pxe_choose.cfg
+++ b/configs/talkingparabola/syslinux/parabolaiso_pxe_choose.cfg
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
DEFAULT choose
LABEL choose
diff --git a/configs/talkingparabola/syslinux/parabolaiso_sys32.cfg b/configs/talkingparabola/syslinux/parabolaiso_sys32.cfg
index 1a98a0b..d423907 100644
--- a/configs/talkingparabola/syslinux/parabolaiso_sys32.cfg
+++ b/configs/talkingparabola/syslinux/parabolaiso_sys32.cfg
@@ -1,11 +1,15 @@
-# accessability boot option
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
-LABEL parabola32speatch
+DEFAULT parabola32speech
+TIMEOUT 30
+
+LABEL parabola32speech
TEXT HELP
Boot the Parabola GNU/Linux-libre (i686) live medium with speakup enabled.
-It allows you to install Parabola GNU/Linux-libre or perform system maintenance using speatch feedback.
+It allows you to install Parabola GNU/Linux-libre or perform system maintenance using texto-to-speech feedback.
ENDTEXT
-MENU LABEL Boot Parabola GNU/Linux-libre (i686) with TTS speech
-LINUX boot/i686/vmlinuz
+MENU LABEL Boot Parabola GNU/Linux-libre (i686) wih texto-to-speech
+LINUX boot/i686/vmlinuz-linux-libre
INITRD boot/i686/parabolaiso.img
APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% speakup.synth=soft
diff --git a/configs/talkingparabola/syslinux/parabolaiso_sys64.cfg b/configs/talkingparabola/syslinux/parabolaiso_sys64.cfg
index 7376bc1..16a34fe 100644
--- a/configs/talkingparabola/syslinux/parabolaiso_sys64.cfg
+++ b/configs/talkingparabola/syslinux/parabolaiso_sys64.cfg
@@ -1,11 +1,15 @@
-# accessability boot option
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
-LABEL parabola64speatch
+DEFAULT parabola64speech
+TIMEOUT 30
+
+LABEL parabola64speech
TEXT HELP
Boot the Parabola GNU/Linux-libre (x86_64) live medium with speakup enabled.
-It allows you to install Parabola GNU/Linux-libre or perform system maintenance using speatch feedback.
+It allows you to install Parabola GNU/Linux-libre or perform system maintenance using texto-to-speech feedback.
ENDTEXT
-MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) with TTS speech
-LINUX boot/x86_64/vmlinuz
+MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) with texto-to-speech
+LINUX boot/x86_64/vmlinuz-linux-libre
INITRD boot/x86_64/parabolaiso.img
APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% speakup.synth=soft
diff --git a/configs/talkingparabola/syslinux/parabolaiso_sys_32_inc.cfg b/configs/talkingparabola/syslinux/parabolaiso_sys_32_inc.cfg
index c641201..1e7c196 100644
--- a/configs/talkingparabola/syslinux/parabolaiso_sys_32_inc.cfg
+++ b/configs/talkingparabola/syslinux/parabolaiso_sys_32_inc.cfg
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
INCLUDE boot/syslinux/parabolaiso_head.cfg
INCLUDE boot/syslinux/parabolaiso_sys32.cfg
INCLUDE boot/syslinux/parabolaiso_tail.cfg
diff --git a/configs/talkingparabola/syslinux/parabolaiso_sys_both_inc.cfg b/configs/talkingparabola/syslinux/parabolaiso_sys_both_inc.cfg
index 9dfb87f..04f89d4 100644
--- a/configs/talkingparabola/syslinux/parabolaiso_sys_both_inc.cfg
+++ b/configs/talkingparabola/syslinux/parabolaiso_sys_both_inc.cfg
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
INCLUDE boot/syslinux/parabolaiso_head.cfg
INCLUDE boot/syslinux/parabolaiso_sys64.cfg
INCLUDE boot/syslinux/parabolaiso_sys32.cfg
diff --git a/configs/talkingparabola/syslinux/parabolaiso_sys_choose.cfg b/configs/talkingparabola/syslinux/parabolaiso_sys_choose.cfg
index d436062..2d41bb9 100644
--- a/configs/talkingparabola/syslinux/parabolaiso_sys_choose.cfg
+++ b/configs/talkingparabola/syslinux/parabolaiso_sys_choose.cfg
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
DEFAULT choose
LABEL choose
diff --git a/configs/talkingparabola/syslinux/parabolaiso_tail.cfg b/configs/talkingparabola/syslinux/parabolaiso_tail.cfg
index e85d8e1..685e1c8 100644
--- a/configs/talkingparabola/syslinux/parabolaiso_tail.cfg
+++ b/configs/talkingparabola/syslinux/parabolaiso_tail.cfg
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
LABEL existing
TEXT HELP
Boot an existing operating system.
@@ -19,9 +22,17 @@ COM32 boot/syslinux/hdt.c32
APPEND modules_alias=boot/syslinux/hdt/modalias.gz pciids=boot/syslinux/hdt/pciids.gz
LABEL reboot
+TEXT HELP
+Reboot computer.
+The computer's firmware must support APM.
+ENDTEXT
MENU LABEL Reboot
COM32 boot/syslinux/reboot.c32
LABEL poweroff
+TEXT HELP
+Power off computer.
+The computer's firmware must support APM.
+ENDTEXT
MENU LABEL Power Off
COM32 boot/syslinux/poweroff.c32
diff --git a/configs/talkingparabola/syslinux/syslinux.cfg b/configs/talkingparabola/syslinux/syslinux.cfg
index 0869ed2..f0239ac 100644
--- a/configs/talkingparabola/syslinux/syslinux.cfg
+++ b/configs/talkingparabola/syslinux/syslinux.cfg
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
DEFAULT loadconfig
LABEL loadconfig