From e7442108c7a7e9f6e2ab816706acc12b8045dba5 Mon Sep 17 00:00:00 2001 From: Deven Blake Date: Tue, 22 Jun 2021 12:43:33 -0400 Subject: [PATCH 1/2] cred2FUCKTHESKULLOFSYSTEMD --- ftesosd/eyesockets.sh | 257 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 257 insertions(+) create mode 100755 ftesosd/eyesockets.sh diff --git a/ftesosd/eyesockets.sh b/ftesosd/eyesockets.sh new file mode 100755 index 0000000..e477c44 --- /dev/null +++ b/ftesosd/eyesockets.sh @@ -0,0 +1,257 @@ +#!/bin/sh +# nous,2019-2020 +# trinity,2021 + +# fork from the original FUCKTHESKULLOFSYSTEMD on GitHub Gists: +# https://gist.github.com/artixnous/41f4bde311442aba6a4f5523db921415 + +# Test Arch ISO installation: +# cfdisk /dev/sda +# mkfs.ext4 /dev/sda1 +# mount /dev/sda1 /mnt +# pacstrap /mnt base linux linux-firmware openssh wget rsync dhcpcd grub +# arch-chroot /mnt +# grub-install /dev/sda +# mkinitcpio -P +# grub-mkconfig -o /boot/grub/grub.cfg + +# the package name MUST be the same as the editor itself +# e.g. vim, ed, nano, ne, vis +# nous' default was nano, most people know how to use that one so that's what's +# being used here +DEFAULT_EDITOR="nano" + +if [ -z "$VISUAL" ] && [ -n "$EDITOR" ]; then + VISUAL="$EDITOR" +elif [ -z "$VISUAL" ] && [ -z "$EDITOR" ]; then + VISUAL="$DEFAULT_EDITOR" +fi + +. /usr/share/makepkg/util/message.sh +colorize + +printf "$BOLD\ +You should run this from inside screen(1) or tmux(1), especially if this is a +remote box. Use a terminal/session with a large scrollback buffer. +" +read -n 1 -p "$RED Last chance to press CTRL-C, ENTER to continue. " +printf "$CYAN\ +Starting operation $RED\ FUCKTHESKULLOFSYSTEMD +" +error + +error() { + printf "$RED\ +An error occured, aborting to prevent incomplete conversion. Fix it and re-run +the script FROM THE LAST STEP ONWARDS. +" + exit 1 +} + +[ "$1" = "openrc" ] && target="openrc" +[ "$1" = "runit" ] && target="runit" + +# runit not yet implemented +#[[ $target ]] || { echo "Usage: $0 " ; exit 1; } +#echo "Target: $target" + +rm -f /var/lib/pacman/db.lck +sed -i s/Arch/Artix/g /etc/default/grub +# A full systemd update is needed, because libsystemd->systemd-libs +printf "$GREEN\ +Updating Arch system first, if this fails abort and update manually; +then re-run the script \ +$ALL_OFF" +pacman -Syu --noconfirm \ + || error +pacman -S --needed --noconfirm wget "$VISUAL" rsync \ + || error + +cd /etc +printf "$GREEN\ +Replacing Arch repositories with Artix\ +$ALL_OFF" +mv -vf pacman.conf pacman.conf.arch +wget https://gitea.artixlinux.org/packagesP/pacman/raw/branch/master/trunk/pacman.conf -O /etc/pacman.conf \ + || error +mv -vf pacman.d/mirrorlist pacman.d/mirrorlist-arch +wget https://gitea.artixlinux.org/packagesA/artix-mirrorlist/raw/branch/master/trunk/mirrorlist -O pacman.d/mirrorlist \ + || error +cp -vf pacman.d/mirrorlist pacman.d/mirrorlist.artix +sed -i 's/Required DatabaseOptional/Never/' pacman.conf + +printf "$GREEN\ +Refreshing package databases\ +$ALL_OFF" +pacman -Syy --noconfirm \ + || error +printf "\n" +read -n 1 -p "$GREEN Press ENTER and answer to the next question to make sure all packages come from Artix repos $ALL_OFF " +echo +pacman -Scc + +echo "$GREEN Importing Artix keys $ALL_OFF" +pacman -S --noconfirm artix-keyring \ + || error +pacman-key --populate artix \ + || error +pacman-key --lsign-key 95AEC5D0C1E294FC9F82B253573A673A53C01BC2 \ + || error + +systemctl list-units --state=running | grep -v systemd | awk '{print $1}' | grep service > /root/daemon.list +printf "$MAGENTA\ +Your systemd running units are saved in /root/daemon.list.\n +$ALL_OFF" +read -n 1 -p "$RED\ +Do not proceed if you've seen errors above. +Press CTRL-C to abort or ENTER to continue +$ALL_OFF" +printf "$GREEN +Downloading systemd-free packages from Artix +$ALL_OFF" +pacman -Sw --noconfirm \ + base \ + base-devel \ + openrc-system \ + grub linux-lts \ + linux-lts-headers \ + elogind-openrc \ + openrc \ + netifrc \ + grub mkinitcpio \ + archlinux-mirrorlist \ + net-tools \ + rsync \ + "$VISUAL" \ + lsb-release \ + esysusers \ + etmpfiles \ + || error +printf "$YELLOW\ +This is the best part: removing systemd +$ALL_OFF" +pacman -Rdd --noconfirm \ + systemd \ + systemd-libs \ + systemd-sysvcompat \ + pacman-mirrorlist \ + dbus \ + || error + +# Previous pacman-mirrorlist removal also deleted this, restoring +cp -vf pacman.d/mirrorlist.artix pacman.d/mirrorlist + +echo "$GREEN Installing clean Artix packages $ALL_OFF" +pacman -Qqn | pacman -S --noconfirm --overwrite '*' - \ + || error +echo "$GREEN Installing Artix system packages $ALL_OFF" +pacman -S --noconfirm --needed --overwrite '*' \ + base \ + base-devel \ + openrc-system \ + linux-lts \ + linux-lts-headers \ + elogind-openrc \ + openrc \ + netifrc \ + grub \ + mkinitcpio \ + archlinux-mirrorlist \ + net-tools \ + rsync \ + "$DEFAULT_EDITOR" \ + lsb-release \ + connman \ + esysusers \ + etmpfiles \ + artix-branding-base \ + || error +echo "$GREEN Installing service files $ALL_OFF" +pacman -S --noconfirm --needed \ + at-openrc \ + xinetd-openrc \ + cronie-openrc \ + haveged-openrc \ + hdparm-openrc \ + openssh-openrc \ + syslog-ng-openrc \ + connman-openrc \ + || error + +echo "$YELLOW Removing left-over cruft $ALL_OFF" +rm -fv /etc/resolv.conf + +echo "$GREEN Enabling basic services $ALL_OFF" +rc-update add haveged sysinit +rc-update add udev sysinit +rc-update add sshd default + +echo +echo "$BOLD Activating standard network interface naming (i.e. enp72^7s128%397 --> eth0)." +echo "$BOLD If you prefer the persistent naming, remove the last line from /etc/default/grub" +echo "$BOLD and run $ALL_OFF grub-mkconfig -o /boot/grub/grub.cfg $BOLD when this script prompts for reboot." +echo +read -n 1 -p "Press ENTER $ALL_OFF" +echo 'GRUB_CMDLINE_LINUX="net.ifnames=0"' >>/etc/default/grub + +pacman -S --needed --noconfirm netifrc +printf "\ +============================= $BOLD +Write down your IP and route. $ALL_OFF +============================= +" +ifconfig +route +printf " \ +=============================================================== $BOLD +Press ENTER to edit conf.d/net to configure static networking. +No editing is needed if you use dhcp or a network manager, but +you MUST enable the daemon manually BEFORE rebooting. +You will be given the option at the end of this procedure. +Default setting is DHCP for eth0, should be enough for most. $ALL_OFF +=============================================================== +" +read -n 1 -p " " +"$VISUAL" /etc/conf.d/net +ln -sf /etc/init.d/net.lo /etc/init.d/net.eth0 +rc-update add net.eth0 default \ + || error + +# Good riddance +echo "$YELLOW Removing more systemd cruft $ALL_OFF" +for user in journal journal-gateway timesync network bus-proxy journal-remote journal-upload resolve coredump; + do userdel systemd-$user +done +rm -vfr /{etc,var/lib}/systemd + +echo "$GREEN Restoring pacman.conf security settings $ALL_OFF" +sed -i 's/= Never/= Required DatabaseOptional/' /etc/pacman.conf +echo "$GREEN Making OpenRC start faster $ALL_OFF" +sed -i 's/#rc_parallel="NO"/rc_parallel="YES"/' /etc/rc.conf +echo "$GREEN Replacing Arch with Artix in hostname and issue $ALL_OFF" +sed -i 's/Arch/Artix/ig' /etc/hostname /etc/issue 2>/dev/null +echo "$GREEN Recreating initrds $ALL_OFF" +mkinitcpio -P +echo "$GREEN Recreating grub.cfg $ALL_OFF" +cp -vf /boot/grub/grub.cfg /boot/grub/grub.cfg.arch +grub-mkconfig -o /boot/grub/grub.cfg \ + || error + +echo "=============================================" +echo "= If you haven't seen any errors =" +echo "= press ENTER to reboot =" +echo "= Otherwise switch console and fix them =" +echo "= =" +echo "= =" +echo "= Press CTRL-C to stop reboot =" +echo "=(mandatory if you need a networking daemon)=" +echo "=Or switch console/terminal and type as root=" +echo "= $BOLD rc-service add connmand $ALL_OFF =" +echo "= then switch back here and continue =" +echo "=============================================" +read -n 1 -p " " +sync +mount -f / -o remount,ro +echo s >| /proc/sysrq-trigger +echo u >| /proc/sysrq-trigger +echo b >| /proc/sysrq-trigger From 86d04f48b9b3d7244c72ec9cd6e85776fcd0a664 Mon Sep 17 00:00:00 2001 From: Deven Blake Date: Tue, 22 Jun 2021 12:45:59 -0400 Subject: [PATCH 2/2] no license --- ftesosd/LICENSE | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 ftesosd/LICENSE diff --git a/ftesosd/LICENSE b/ftesosd/LICENSE new file mode 100644 index 0000000..c0593bd --- /dev/null +++ b/ftesosd/LICENSE @@ -0,0 +1,3 @@ +Derived from +https://gist.github.com/artixnous/41f4bde311442aba6a4f5523db921415 +without license.