diff options
Diffstat (limited to 'configs/profile-openrc/airootfs')
12 files changed, 137 insertions, 0 deletions
diff --git a/configs/profile-openrc/airootfs/etc/conf.d/agetty.tty1 b/configs/profile-openrc/airootfs/etc/conf.d/agetty.tty1 new file mode 100644 index 0000000..997909c --- /dev/null +++ b/configs/profile-openrc/airootfs/etc/conf.d/agetty.tty1 @@ -0,0 +1,3 @@ +baud="38400" +term_type="linux" +agetty_options="--autologin root --noclear" diff --git a/configs/profile-openrc/airootfs/etc/conf.d/hostname b/configs/profile-openrc/airootfs/etc/conf.d/hostname new file mode 100644 index 0000000..5a912cd --- /dev/null +++ b/configs/profile-openrc/airootfs/etc/conf.d/hostname @@ -0,0 +1 @@ +hostname="parabolaiso" diff --git a/configs/profile-openrc/airootfs/etc/fstab b/configs/profile-openrc/airootfs/etc/fstab new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/configs/profile-openrc/airootfs/etc/fstab diff --git a/configs/profile-openrc/airootfs/etc/init.d/pacman-init b/configs/profile-openrc/airootfs/etc/init.d/pacman-init new file mode 100755 index 0000000..b646e52 --- /dev/null +++ b/configs/profile-openrc/airootfs/etc/init.d/pacman-init @@ -0,0 +1,30 @@ +#!/usr/bin/openrc-run +# Copyright (C) 2018 Parabola Project +# Copyright (C) Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Initializes Pacman keyring" + +depend() { + use haveged + after haveged +} + +start() { + # Check that there's no keyring, if there isn't, create one + if [ ! -d /etc/pacman.d/gnupg ]; then + ebegin "Initializing Pacman keyring" + pacman-key --init &> /dev/null && + pacman-key --populate ${KEYS} &> /dev/null + else + ebegin "Pacman keyring already started" + fi +} + +stop() { + # If there's a keyring, delete it + if [ -d /etc/pacman.d/gnupg ]; then + ebegin "Stoping Pacman keyring" + rm -rf /etc/pacman.d/gnupg + fi +} diff --git a/configs/profile-openrc/airootfs/etc/locale.conf b/configs/profile-openrc/airootfs/etc/locale.conf new file mode 100644 index 0000000..01ec548 --- /dev/null +++ b/configs/profile-openrc/airootfs/etc/locale.conf @@ -0,0 +1 @@ +LANG=en_US.UTF-8 diff --git a/configs/profile-openrc/airootfs/etc/motd b/configs/profile-openrc/airootfs/etc/motd new file mode 100644 index 0000000..6742f6f --- /dev/null +++ b/configs/profile-openrc/airootfs/etc/motd @@ -0,0 +1,17 @@ + +[01;34m=============================================================================== + + [35mParabola GNU/Linux-libre live media _DATE_[00;37m + + To install Parabola, the system must be connected to the internet. + For instructions, enter this command: + [01;37mless install.txt[00;37m + + Press the function keys while holding Alt to switch virtual terminals. + This allows entering commands without closing less. + + For installation itself, enter this command: + [01;37m./install.sh[00;37m + +[01;34m=============================================================================== +[00;37m diff --git a/configs/profile-openrc/airootfs/etc/pam.d/su b/configs/profile-openrc/airootfs/etc/pam.d/su new file mode 100644 index 0000000..a291042 --- /dev/null +++ b/configs/profile-openrc/airootfs/etc/pam.d/su @@ -0,0 +1,6 @@ +#%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/profile-openrc/airootfs/etc/sudoers.d/g_wheel b/configs/profile-openrc/airootfs/etc/sudoers.d/g_wheel new file mode 100644 index 0000000..8c45359 --- /dev/null +++ b/configs/profile-openrc/airootfs/etc/sudoers.d/g_wheel @@ -0,0 +1 @@ +%wheel ALL=(ALL) NOPASSWD: ALL diff --git a/configs/profile-openrc/airootfs/root/.automated_script.sh b/configs/profile-openrc/airootfs/root/.automated_script.sh new file mode 100755 index 0000000..fb106da --- /dev/null +++ b/configs/profile-openrc/airootfs/root/.automated_script.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +script_cmdline () +{ + local param + for param in $(< /proc/cmdline); do + case "${param}" in + script=*) echo "${param##*=}" ; return 0 ;; + esac + done +} + +automated_script () +{ + local script rt + script="$(script_cmdline)" + if [[ -n "${script}" && ! -x /tmp/startup_script ]]; then + if [[ "${script}" =~ ^http:// || "${script}" =~ ^ftp:// ]]; then + wget "${script}" --retry-connrefused -q -O /tmp/startup_script >/dev/null + rt=$? + else + cp "${script}" /tmp/startup_script + rt=$? + fi + if [[ ${rt} -eq 0 ]]; then + chmod +x /tmp/startup_script + /tmp/startup_script + fi + fi +} + +if [[ $(tty) == "/dev/tty1" ]]; then + automated_script +fi diff --git a/configs/profile-openrc/airootfs/root/.zlogin b/configs/profile-openrc/airootfs/root/.zlogin new file mode 100644 index 0000000..f598e43 --- /dev/null +++ b/configs/profile-openrc/airootfs/root/.zlogin @@ -0,0 +1 @@ +~/.automated_script.sh diff --git a/configs/profile-openrc/airootfs/root/customize_airootfs.sh b/configs/profile-openrc/airootfs/root/customize_airootfs.sh new file mode 100755 index 0000000..f52ac11 --- /dev/null +++ b/configs/profile-openrc/airootfs/root/customize_airootfs.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +set -e -u + +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 + +sed -i 's/#\(PermitRootLogin \).\+/\1yes/' /etc/ssh/sshd_config +sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist + +sed -i 's/#\(HandleSuspendKey=\)suspend/\1ignore/' /etc/elogind/logind.conf +sed -i 's/#\(HandleHibernateKey=\)hibernate/\1ignore/' /etc/elogind/logind.conf +sed -i 's/#\(HandleLidSwitch=\)suspend/\1ignore/' /etc/elogind/logind.conf + +case $(uname -m) in + x86_64) echo 'KEYS="archlinux parabola"' > /etc/conf.d/pacman-init + ;; + i686) echo 'KEYS="archlinux archlinux32 parabola"' > /etc/conf.d/pacman-init + ;; +esac + +useradd -m -p "" -g users -G "adm,audio,floppy,log,network,scanner,storage,optical,power,wheel,disk,sys" -s /usr/bin/zsh parabola + +services=(NetworkManager + elogind + alsasound + dbus + haveged + pacman-init) + +for s in ${services[@]}; do + rc-update add $s default +done + +sed -i "s/_DATE_/$(date +%Y.%m.%d)/" /etc/motd diff --git a/configs/profile-openrc/airootfs/root/install.txt b/configs/profile-openrc/airootfs/root/install.txt new file mode 100644 index 0000000..a594b97 --- /dev/null +++ b/configs/profile-openrc/airootfs/root/install.txt @@ -0,0 +1,2 @@ +View this installation guide online at +https://wiki.parabola.nu/Installation_Guide |