From 1fa15dd59e7dc58f4331305b9f401d3aabfa53cd Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 17 Mar 2014 07:51:03 +0100 Subject: filehooker: initial commit using archiso magic scripts --- filehooker/root-image/etc/fstab | 0 filehooker/root-image/etc/hostname | 1 + filehooker/root-image/etc/locale.conf | 1 + filehooker/root-image/etc/pam.d/su | 6 +++++ filehooker/root-image/etc/sudoers.d/g_wheel | 1 + .../root-image/etc/systemd/scripts/choose-mirror | 26 ++++++++++++++++++++++ .../etc/systemd/system/choose-mirror.service | 10 +++++++++ .../etc/systemd/system/etc-pacman.d-gnupg.mount | 8 +++++++ .../etc/systemd/system/filehooker-hostname.service | 11 +++++++++ .../system/getty@tty1.service.d/autologin.conf | 3 +++ .../etc/systemd/system/pacman-init.service | 15 +++++++++++++ .../etc/systemd/system/tor-announce.service | 11 +++++++++ .../root-image/etc/udev/rules.d/81-dhcpcd.rules | 1 + 13 files changed, 94 insertions(+) create mode 100644 filehooker/root-image/etc/fstab create mode 100644 filehooker/root-image/etc/hostname create mode 100644 filehooker/root-image/etc/locale.conf create mode 100644 filehooker/root-image/etc/pam.d/su create mode 100644 filehooker/root-image/etc/sudoers.d/g_wheel create mode 100755 filehooker/root-image/etc/systemd/scripts/choose-mirror create mode 100644 filehooker/root-image/etc/systemd/system/choose-mirror.service create mode 100644 filehooker/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount create mode 100644 filehooker/root-image/etc/systemd/system/filehooker-hostname.service create mode 100644 filehooker/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf create mode 100644 filehooker/root-image/etc/systemd/system/pacman-init.service create mode 100644 filehooker/root-image/etc/systemd/system/tor-announce.service create mode 100644 filehooker/root-image/etc/udev/rules.d/81-dhcpcd.rules (limited to 'filehooker/root-image/etc') diff --git a/filehooker/root-image/etc/fstab b/filehooker/root-image/etc/fstab new file mode 100644 index 00000000..e69de29b diff --git a/filehooker/root-image/etc/hostname b/filehooker/root-image/etc/hostname new file mode 100644 index 00000000..ef8963cd --- /dev/null +++ b/filehooker/root-image/etc/hostname @@ -0,0 +1 @@ +filebitch diff --git a/filehooker/root-image/etc/locale.conf b/filehooker/root-image/etc/locale.conf new file mode 100644 index 00000000..01ec548f --- /dev/null +++ b/filehooker/root-image/etc/locale.conf @@ -0,0 +1 @@ +LANG=en_US.UTF-8 diff --git a/filehooker/root-image/etc/pam.d/su b/filehooker/root-image/etc/pam.d/su new file mode 100644 index 00000000..a2910423 --- /dev/null +++ b/filehooker/root-image/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/filehooker/root-image/etc/sudoers.d/g_wheel b/filehooker/root-image/etc/sudoers.d/g_wheel new file mode 100644 index 00000000..8c45359f --- /dev/null +++ b/filehooker/root-image/etc/sudoers.d/g_wheel @@ -0,0 +1 @@ +%wheel ALL=(ALL) NOPASSWD: ALL diff --git a/filehooker/root-image/etc/systemd/scripts/choose-mirror b/filehooker/root-image/etc/systemd/scripts/choose-mirror new file mode 100755 index 00000000..0ae08067 --- /dev/null +++ b/filehooker/root-image/etc/systemd/scripts/choose-mirror @@ -0,0 +1,26 @@ +#!/bin/bash + +get_cmdline() { + local param + for param in $(< /proc/cmdline); do + case "${param}" in + $1=*) echo "${param##*=}"; + return 0 + ;; + esac + done +} + +mirror=$(get_cmdline mirror) +[[ $mirror = auto ]] && mirror=$(get_cmdline archiso_http_srv) +[[ $mirror ]] || exit 0 + +mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig +cat >/etc/pacman.d/mirrorlist << EOF +# +# Arch Linux repository mirrorlist +# Generated by archiso +# + +Server = ${mirror%%/}/\$repo/os/\$arch +EOF diff --git a/filehooker/root-image/etc/systemd/system/choose-mirror.service b/filehooker/root-image/etc/systemd/system/choose-mirror.service new file mode 100644 index 00000000..1e4d771d --- /dev/null +++ b/filehooker/root-image/etc/systemd/system/choose-mirror.service @@ -0,0 +1,10 @@ +[Unit] +Description=Choose mirror from the kernel command line +ConditionKernelCommandLine=mirror + +[Service] +Type=oneshot +ExecStart=/etc/systemd/scripts/choose-mirror + +[Install] +WantedBy=multi-user.target diff --git a/filehooker/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount b/filehooker/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount new file mode 100644 index 00000000..4eab5513 --- /dev/null +++ b/filehooker/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount @@ -0,0 +1,8 @@ +[Unit] +Description=Temporary /etc/pacman.d/gnupg directory + +[Mount] +What=tmpfs +Where=/etc/pacman.d/gnupg +Type=tmpfs +Options=mode=0755 diff --git a/filehooker/root-image/etc/systemd/system/filehooker-hostname.service b/filehooker/root-image/etc/systemd/system/filehooker-hostname.service new file mode 100644 index 00000000..67879d82 --- /dev/null +++ b/filehooker/root-image/etc/systemd/system/filehooker-hostname.service @@ -0,0 +1,11 @@ +[Unit] +Description=change filehooker hostname +Before=network.target + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/krebs/bin/filehooker_set_hostname.sh + +[Install] +WantedBy=multi-user.target diff --git a/filehooker/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf b/filehooker/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf new file mode 100644 index 00000000..d1d8474c --- /dev/null +++ b/filehooker/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf @@ -0,0 +1,3 @@ +[Service] +ExecStart= +ExecStart=-/sbin/agetty --autologin root --noclear %I 38400 linux diff --git a/filehooker/root-image/etc/systemd/system/pacman-init.service b/filehooker/root-image/etc/systemd/system/pacman-init.service new file mode 100644 index 00000000..23b81445 --- /dev/null +++ b/filehooker/root-image/etc/systemd/system/pacman-init.service @@ -0,0 +1,15 @@ +[Unit] +Description=Initializes Pacman keyring +Wants=haveged.service +After=haveged.service +Requires=etc-pacman.d-gnupg.mount +After=etc-pacman.d-gnupg.mount + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/bin/pacman-key --init +ExecStart=/usr/bin/pacman-key --populate archlinux + +[Install] +WantedBy=multi-user.target diff --git a/filehooker/root-image/etc/systemd/system/tor-announce.service b/filehooker/root-image/etc/systemd/system/tor-announce.service new file mode 100644 index 00000000..818a5c4c --- /dev/null +++ b/filehooker/root-image/etc/systemd/system/tor-announce.service @@ -0,0 +1,11 @@ +[Unit] +Description=Announce Tor Hidden Address +After=network.target + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/krebs/bin/tor_announce.ship + +[Install] +WantedBy=multi-user.target diff --git a/filehooker/root-image/etc/udev/rules.d/81-dhcpcd.rules b/filehooker/root-image/etc/udev/rules.d/81-dhcpcd.rules new file mode 100644 index 00000000..1c4053c0 --- /dev/null +++ b/filehooker/root-image/etc/udev/rules.d/81-dhcpcd.rules @@ -0,0 +1 @@ +ACTION=="add", SUBSYSTEM=="net", ENV{INTERFACE}=="en*|eth*", ENV{SYSTEMD_WANTS}="dhcpcd@$name.service" -- cgit v1.2.3