Compare commits

...

No commits in common. "main" and "test" have entirely different histories.
main ... test

53 changed files with 376 additions and 684 deletions

25
config
View File

@ -1,17 +1,12 @@
lastminute() { gnome_apps="seahorse seahorse-nautilus evince"
echo lastminute kde5_apps="kde5-baseapps kdegraphics-thumbnailers ffmpegthumbs ark gwenview kmail okular spectacle kalarm kcalc print-manager plasma-browser-integration kwalletmanager"
#addpkg vlc i3wm_apps="claws-mail galculator-gtk3"
#servicesenable sshd
#servicesdisable sshd
#ignorepkg openssh
#removepkg mpv
}
os_config() { lastminute() {
echo os config #addpkg thunderbird-i18n-de
addpkg tmux starship vivid browserpass nfs-utils chezmoi pipewire alsa-pipewire libjack-pipewire libspa-v4l2 pass xclip #addpkg mpv mpv-mpris
addpkg zsh zsh-autosuggestions zsh-completions zsh-history-substring-search zsh-syntax-highlighting google-fonts-ttf servicesenable sshd
addpkg tigervnc keychain youtube-dl buku i3status-rust aria2 zenity #servicesdisable
servicesenable sshd #ignorepkg
removepkg i3status #removepkg
} }

View File

@ -11,5 +11,5 @@ echo "xr = sudo xbps-remove -R deinstallieren"
echo "xs = xbps-query -Rs suchen" echo "xs = xbps-query -Rs suchen"
echo "" echo ""
echo "backup backup machen" echo "backup backup machen"
echo "snapshot snapshots einstellen" echo "snapshot snapshots instellen"
echo "" echo ""

View File

@ -34,7 +34,7 @@ else
echo "Endpoint" echo "Endpoint"
echo "Port" echo "Port"
echo "" echo ""
echo "Schicke ihm verschlüsselt (Matrix oder Email) folgende Daten:" echo "Schicke ihm verschlüsselt (Jabber oder Email) folgende Daten:"
echo "PublicKey = $(cat pubkey)" echo "PublicKey = $(cat pubkey)"
echo "PresharedKey = $(cat psk)" echo "PresharedKey = $(cat psk)"
echo "Hostname = ${HOSTNAME}" echo "Hostname = ${HOSTNAME}"

View File

@ -1,22 +0,0 @@
#!/bin/sh
case $PINENTRY_USER_DATA in
tty)
exec pinentry-curses "$@"
;;
*)
if ! test -x ~/.config/pinentry; then
for i in pinentry-kwallet pinentry-qt pinentry-gnome3 pinentry-gtk-2 pinentry-emacs pinentry-dmenu pinentry-curses pinentry-tty; do
if command -v "${i}" > /dev/null; then
echo "#!/bin/sh" > ~/.config/pinentry
echo "${i} \${@}" >> ~/.config/pinentry
chmod +x ~/.config/pinentry
break
fi
done
fi
exec ~/.config/pinentry "$@"
;;
esac

View File

@ -28,89 +28,85 @@ do
fhelp fhelp
exit exit
;; ;;
update) update=y ;; update)
passwd) passwd=y ;; update=y
clean) do=clean ;; ;;
run) do=run ;; passwd)
passwd=y
;;
esac esac
done done
test -z "${do}" && do=run if [[ -f "${backupcfg}" ]]; then
source "${backupcfg}"
else
echo "${backupcfg} fehlt."
echo "Diese Datei wird normalerweise durch \`void-createbackupcontainer\`"
echo "angelegt. Bitte Sprich mit deinem Systemadministrator."
fi
if [[ ! -f /etc/btrbk/btrbk.conf ]]; then if [ -z "${UUID}" ]; then
if [[ -f "${backupcfg}" ]]; then echo "Keine Backupplatte angegeben."
source "${backupcfg}" exit 1
else fi
echo "${backupcfg} fehlt."
echo "Diese Datei wird normalerweise durch \`void-createbackupcontainer\`" if [ ! -e "/dev/disk/by-uuid/${UUID}" ]; then
echo "angelegt. Bitte Sprich mit deinem Systemadministrator." echo "Bitte Backupfestplatte anschliessen."
exit 1
fi
if [ -e /tmp/backup ]; then
echo "Es läuft schon ein Backupvorgang oder wurde nicht richtig beendet."
echo "Bei letzterem: 'sudo rm -rf /tmp/backup'"
exit 1
fi
touch /tmp/backup
if [[ "${passwd}" == "y" ]]; then
cryptsetup luksChangeKey "/dev/disk/by-uuid/${UUID}"
rm -rf /tmp/backup
exit 0
fi
function finish {
sync
if [ "${poweroff}" = "y" ]; then
shutdown -h now
fi fi
sleep 4
if [ -z "${UUID}" ]; then umount "${ziel}"
echo "Keine Backupplatte angegeben." echo " "
exit 1 echo " "
if [[ "${MOUNTEDBY}" == "script" ]]; then
cryptsetup close "luks-${UUID}"
echo "Festplatte kann nun sicher entfernt werden."
elif [[ "${MOUNTEDBY}" == "gnome" ]]; then
echo "Festplatte bitte mit der grafischen Oberflaeche auswerfen (wie ein USB-Stick)"
echo ""
echo "oder:"
echo "sudo umount /dev/mapper/luks-${UUID}"
echo "sudo cryptsetup close luks-${UUID}"
echo ""
fi fi
rm -rf /tmp/backup
echo "FERTIG"
if [ ! -e "/dev/disk/by-uuid/${UUID}" ]; then }
echo "Bitte Backupfestplatte anschliessen." trap finish EXIT
exit 1
fi
if [ -e /tmp/backup ]; then if [ ! $(mountpoint -q -x "/dev/mapper/luks-${UUID}") ]; then
echo "Es läuft schon ein Backupvorgang oder wurde nicht richtig beendet." if ! cryptsetup open UUID="${UUID}" "luks-${UUID}"; then
echo "Bei letzterem: 'sudo rm -rf /tmp/backup'" echo "Konnte /dev/disk/by-uuid/${UUID} nicht öffnen."
exit 1
fi
touch /tmp/backup
if [[ "${passwd}" == "y" ]]; then
cryptsetup luksChangeKey "/dev/disk/by-uuid/${UUID}"
rm -rf /tmp/backup
exit 0
fi
function finish {
sync
if [ "${poweroff}" = "y" ]; then
shutdown -h now
fi
sleep 4
umount "${ziel}"
echo " "
echo " "
if [[ "${MOUNTEDBY}" == "script" ]]; then
cryptsetup close "luks-${UUID}"
echo "Festplatte kann nun sicher entfernt werden."
elif [[ "${MOUNTEDBY}" == "de" ]]; then
echo "Festplatte bitte mit der grafischen Oberflaeche auswerfen (wie ein USB-Stick)"
echo ""
echo "oder:"
echo "sudo umount /dev/mapper/luks-${UUID}"
echo "sudo cryptsetup close luks-${UUID}"
echo ""
fi
rm -rf /tmp/backup
echo "FERTIG"
}
trap finish EXIT
if mountpoint -q -x "/dev/mapper/luks-${UUID}" > /dev/null; then
MOUNTEDBY="de"
else
if ! cryptsetup open UUID="${UUID}" "luks-${UUID}"; then
echo "Konnte /dev/disk/by-uuid/${UUID} nicht öffnen."
exit
fi
MOUNTEDBY="script"
fi
if ! mount "/dev/mapper/luks-${UUID}" "${ziel}"; then
echo "Konnte /dev/mapper/luks-${UUID} in ${ziel} nicht mounten."
exit exit
fi fi
MOUNTEDBY="script"
else else
cfg="/etc/btrbk/btrbk.conf" MOUNTEDBY="gnome"
fi
if ! mount "/dev/mapper/luks-${UUID}" "${ziel}"; then
echo "Konnte /dev/mapper/luks-${UUID} in ${ziel} nicht mounten."
exit
fi fi
if mountpoint -q /var/lib/backup/quelle/bootfs; then if mountpoint -q /var/lib/backup/quelle/bootfs; then
@ -118,11 +114,10 @@ if mountpoint -q /var/lib/backup/quelle/bootfs; then
boot="backupboot" boot="backupboot"
fi fi
mkdir -p /var/lib/backup/quelle/rootfs/system/backup "/var/lib/backup/ziel/void/rootfs" "/var/lib/backup/ziel/void/homefs" mkdir -p /var/lib/backup/quelle/rootfs/system/backup "/var/lib/backup/ziel/void/{rootfs,homefs}"
for t in backup "${boot}"; do for t in backup "${boot}"; do
if [[ "${t}" ]]; then if [[ "${t}" ]]; then
btrbk --config="${cfg}" --progress --quiet clean "${t}" if ! btrbk --config="${cfg}" --progress --quiet run "${t}"; then
if ! btrbk --config="${cfg}" --progress --quiet "${do}" "${t}"; then
btrbk --config="${cfg}" --progress --quiet clean btrbk --config="${cfg}" --progress --quiet clean
echo "Wegen Fehler nicht herunterfahren." echo "Wegen Fehler nicht herunterfahren."
poweroff=n poweroff=n

View File

@ -88,6 +88,17 @@ if ! mkfs.btrfs -f "/dev/mapper/luks-${UUID}"; then
exit 1 exit 1
fi fi
if ! mount "/dev/mapper/luks-${UUID}" "/var/lib/backup/ziel"; then
echo "Konnte /dev/mapper/luks-${UUID} nicht nach /var/lib/backup/ziel mounten"
exit 1
fi
if mountpoint -q /boot; then
mkdir -p "/var/lib/backup/ziel/void/bootfs"
fi
mkdir -p "/var/lib/backup/ziel/void/{rootfs,homefs}"
umount "/var/lib/backup/ziel"
cryptsetup close "luks-${UUID}" cryptsetup close "luks-${UUID}"
echo "UUID=\"${UUID}\"" > "${backupcfg}" echo "UUID=\"${UUID}\"" > "${backupcfg}"

View File

@ -7,19 +7,14 @@ fi
infos() { infos() {
echo "Snapshots sind Kopien der Dateien die keinen zusätzlichen Platz" echo "Snapshots sind Kopien der Dateien die keinen zusätzlichen Platz"
echo "benötigen." echo "benötigen."
echo ""
echo "Es wird bei jedem Update vom Betriebsystem ein Snapshot angelegt." echo "Es wird bei jedem Update vom Betriebsystem ein Snapshot angelegt."
echo "Es wird jede volle Stunde vom Betriebsystem ein Snapshot angelegt." echo "Es wird bei jede volle Stunde vom Betriebsystem ein Snapshot angelegt."
echo "So ist das Betriebssystem auch bei Problemen bootbar." echo "So ist das Betriebssystem auch bei Problemen bootbar."
echo ""
echo "Optional kann auch jede Stunde ein Snapshot der persönlichen Daten" echo "Optional kann auch jede Stunde ein Snapshot der persönlichen Daten"
echo "angelegt werden. Dann verliert man bei versehentlichem löschen" echo "angelegt werden. Dann verliert man bei versehentlichem löschen"
echo "maximal die Arbeit einer Stunde." echo "maximal die Arbeit einer Stunde."
echo "Dafür folgendes im Terminal ausführen:" echo "Dafuer folgendes im Terminal ausführen:"
echo 'echo REGULAR_SNAPSHOT_HOME=1 | sudo tee -a /etc/void-snapshot.cfg' echo 'echo REGULAR_SNAPSHOT_HOME=1 | sudo tee /etc/void-snapshot.cfg'
echo ""
echo "Nur für Experten:"
echo 'echo NO_UPDATE_GRUB=1 | sudo tee -a /etc/void-snapshot.cfg'
} }
cron="" cron=""
@ -35,6 +30,7 @@ case $1 in
;; ;;
*) *)
infos infos
echo "Falscher aufruf"
exit exit
;; ;;
esac esac
@ -45,7 +41,6 @@ if [ "$#" -eq "0" ]; then
fi fi
cfg="/etc/btrbk/btrbk.conf.void" cfg="/etc/btrbk/btrbk.conf.void"
test -f "/etc/btrbk/btrbk.conf" && cfg="/etc/btrbk/btrbk.conf"
if mountpoint -q /var/lib/backup/quelle/bootfs; then if mountpoint -q /var/lib/backup/quelle/bootfs; then
mkdir -p "/var/lib/backup/quelle/bootfs/system/snapshots/${word}" mkdir -p "/var/lib/backup/quelle/bootfs/system/snapshots/${word}"
@ -63,23 +58,15 @@ if ! btrbk --config="${cfg}" --quiet run "${word}root"; then
exit exit
fi fi
test -f /etc/void-snapshot.cfg && . /etc/void-snapshot.cfg if ! update-grub 2> /dev/null; then
echo update-grub failed
if [[ -z "${NO_UPDATE_GRUB}" ]]; then
if ! update-grub 2> /dev/null; then
echo update-grub failed
exit
fi
fi fi
if [ "${cron}" ]; then if [ "${cron}" ]; then
test -f /etc/void-snapshot.cfg && . /etc/void-snapshot.cfg
if [ "${REGULAR_SNAPSHOT_HOME}" ]; then if [ "${REGULAR_SNAPSHOT_HOME}" ]; then
mkdir -p "/var/lib/backup/quelle/rootfs/system/snapshots/${word}" mkdir -p "/var/lib/backup/quelle/rootfs/system/snapshots/${word}"
if ! btrbk --config="${cfg}" --quiet run "${word}home"; then btrbk --config="${cfg}" --quiet run "${word}home"
btrbk --config="${cfg}" --quiet clean "${word}home"
echo "fail: btrbk --config=${cfg} --quiet clean ${word}home"
exit
fi
fi fi
fi fi

42
files/bin/void-update Executable file → Normal file
View File

@ -5,22 +5,18 @@ if [ $UID -ne 0 ]; then
exit 1 exit 1
fi fi
RESTART=""
set -Eeuo pipefail set -Eeuo pipefail
RESTART= RESTART=
echo "Synchronisiere Repositorys." echo "Synchronisiere Repositorys"
xbps-install -S > /dev/null xbps-install -S > /dev/null
#mapfile -t updatedpkgs < <(xbps-install -un|awk '{print $1}') mapfile -t updatedpkgs < <(xbps-install -un|awk '{print $1}')
updatedpkgs="$(xbps-install -un|awk '{print $1}')" if [[ "${#updatedpkgs[@]}" -eq 0 ]]; then
if [[ -z "${updatedpkgs}" ]]; then
echo "Keine Updates" echo "Keine Updates"
exit exit
else else
echo "${updatedpkgs}" echo "${updatedpkgs[@]}"
echo "Es sind Updates da!" echo "Es sind Updates da!"
while read -p "Installieren? [Y/n] " answer; do while read -p "Installieren? [Y/n] " answer; do
test -z "${answer}" && answer="y" test -z "${answer}" && answer="y"
@ -33,40 +29,36 @@ else
;; ;;
esac esac
done done
if grep -q -Pe '^(?!.*linux-).*^linux' <<< "${updatedpkgs}"; then
RESTART=1
fi
fi fi
echo "Lege Snapshot an." echo "Lege Snapshot an."
void-snapshot update void-snapshot update
echo "Entferne nicht benutzte Pakete." echo "Entferne nicht benutzte Pakete"
xbps-remove -oy > /dev/null xbps-remove -oy > /dev/null
echo "Räume den Cache auf." echo "Räume den Cache auf"
xbps-remove -Oy > /dev/null xbps-remove -Oy > /dev/null
echo "Installiere Updates." echo "Installiere Updates"
if ! xbps-install -uy; then if ! xbps-install -uy; then
echo "Update failed." echo "Update failed."
exit exit
fi fi
if [[ "$RESTART" ]]; then if [[ "$(xcheckrestart)" ]]; then
echo "Lösche alte Kernel." RESTART=1
vkpurge list | head -n -1 | xargs -r vkpurge rm
else
echo "Überprüfe ob neustart notwenidig ist."
if [[ "$(xcheckrestart)" ]]; then
RESTART=1
fi
fi fi
for i in "${updatedpkgs[@]}"; do
if grep -q "^linux" <<< "${i}"; then
vkpurge list | head -n -1 | xargs -r vkpurge rm
RESTART=1
fi
done
if [[ "${RESTART}" ]]; then if [[ "${RESTART}" ]]; then
echo ""; echo "Bitte den Computer neu starten!" echo ""; echo "Bitte den Computer neu starten."
else
echo ""; echo "Kein neustart notwendig!"
fi fi
echo "" echo ""

View File

@ -1,7 +0,0 @@
pinentry-program /usr/bin/pinentry-chooser
enable-ssh-support
default-cache-ttl 28800
max-cache-ttl 86400
ignore-cache-for-signing

View File

@ -12,7 +12,7 @@ GRUB_BTRFS_IGNORE_SPECIFIC_PATH=("@" "rootfs" "bootfs" "homefs")
# Default: ("var/lib/docker" "@var/lib/docker" "@/var/lib/docker") # Default: ("var/lib/docker" "@var/lib/docker" "@/var/lib/docker")
GRUB_BTRFS_IGNORE_PREFIX_PATH=("var/lib/docker" "@var/lib/docker" "@/var/lib/docker" "system/backup") GRUB_BTRFS_IGNORE_PREFIX_PATH=("var/lib/docker" "@var/lib/docker" "@/var/lib/docker" "system/backup")
GRUB_BTRFS_SUBMENUNAME="Void Linux Snapshots" GRUB_BTRFS_SUBMENUNAME="Void Linux snapshots"
GRUB_BTRFS_OVERRIDE_BOOT_PARTITION_DETECTION="true" GRUB_BTRFS_OVERRIDE_BOOT_PARTITION_DETECTION="true"
GRUB_BTRFS_DISPLAY_PATH_SNAPSHOT="false" GRUB_BTRFS_DISPLAY_PATH_SNAPSHOT="false"
GRUB_BTRFS_TITLE_FORMAT="d" GRUB_BTRFS_TITLE_FORMAT="d"

View File

@ -10,11 +10,13 @@ if [ -f /etc/wireguard/wg0.conf ]; then
*) *)
case "$ACTION" in case "$ACTION" in
up) up)
wg-quick up wg0 wg-quick up wg0
;; #wg set wg0 peer ZJwTV2l+N+vFwL0KFQb5xpAPqwVcf0YvEMFzTaIoAU8= endpoint home.rotce.de:51820
down) ;;
wg-quick down wg0 down)
;; wg-quick down wg0
#ip link delete dev wg0
;;
esac esac
;; ;;
esac esac

View File

@ -7,10 +7,4 @@ appendpath () {
esac esac
} }
if [ $(id -u) -eq 0 ]; then appendpath '${HOME}/.local/bin'
appendpath "/root/.local/bin"
else
appendpath "/home/$(id -un)/.local/bin"
fi
export PATH

View File

@ -4,6 +4,5 @@ Defaults umask = 022
Defaults passprompt="[sudo] Password: " Defaults passprompt="[sudo] Password: "
Defaults env_keep += "EDITOR" Defaults env_keep += "EDITOR"
Defaults env_keep += "SSH_CONNECTION" Defaults env_keep += "SSH_CONNECTION"
Defaults env_keep += "TMUX"
%wheel ALL=(ALL) ALL %wheel ALL=(ALL) ALL

View File

@ -1,13 +0,0 @@
[Interface]
Address = fd23::23:5:200/64, 10.23.5.200/16
PrivateKey = gPxQ+J61DCyOfJj0wXVfAL1zeFnlhenDiIXTyeZ9NUc=
DNS = fd23::23:5:2, 10.23.5.2
[Peer]
PublicKey = ZJwTV2l+N+vFwL0KFQb5xpAPqwVcf0YvEMFzTaIoAU8=
Endpoint = 10.1.1.2:51820
PresharedKey = 4KUpGmysJLNsX5sdFPpVsyW5ONloXj7WTNpNtqTSZ9U=
####AllowedIPs = ::0/0, 0.0.0.0/0 leitet den ganzen traffic ueber den server
AllowedIPs = fd23::/64, 10.23.0.0/16
PersistentKeepalive = 25

View File

@ -4,5 +4,4 @@ Section "InputClass"
Option "XkbLayout" "de" Option "XkbLayout" "de"
Option "XkbVariant" "nodeadkeys" Option "XkbVariant" "nodeadkeys"
#Option "XkbOptions" "grp:alt_shift_toggle" #Option "XkbOptions" "grp:alt_shift_toggle"
EndSection EndSection

View File

@ -1,6 +0,0 @@
if [ "$DESKTOP_SESSION" = "i3" ]; then
if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
eval "$(dbus-launch --sh-syntax --exit-with-x11)"
fi
fi

View File

@ -20,10 +20,8 @@ multiplechoice() {
for i in $(seq 1 "$(( ${#input[@]} - 1 ))"); do for i in $(seq 1 "$(( ${#input[@]} - 1 ))"); do
if [[ "${i}" == "1" ]]; then if [[ "${i}" == "1" ]]; then
choices="${input[$i]}" choices="${input[$i]}"
use="${input[$i]}"
else else
choices="${choices}|${input[$i]}" choices="${choices}|${input[$i]}"
use+=" ${input[$i]}"
fi fi
done done
while input "[${choices}]: " "${input[1]}"; do while input "[${choices}]: " "${input[1]}"; do
@ -35,7 +33,7 @@ multiplechoice() {
done done
if [[ -z "${done}" ]]; then if [[ -z "${done}" ]]; then
echo wronginput "${output}" echo wronginput "${output}"
echo use these: "${use}" echo use these: "${input[@]}"
else else
break break
fi fi

BIN
lala Normal file

Binary file not shown.

21
main.sh
View File

@ -2,10 +2,13 @@
dir="$(pwd)" dir="$(pwd)"
wrksrc="${dir}/tmp" wrksrc="${dir}/tmp"
step="${dir}/step"
functions="${dir}/functions" functions="${dir}/functions"
modules="${dir}/modules"
config_mods="${modules}/config"
install_mods="${modules}/install"
chroot_mods="${modules}/chroot"
vars="${wrksrc}/vars" vars="${wrksrc}/vars"
dest="/mnt" dest="${wrksrc}/dest"
files="${dir}/files" files="${dir}/files"
rm -rf "${vars}" rm -rf "${vars}"
mkdir -p "${wrksrc}" "${vars}" "${dest}" mkdir -p "${wrksrc}" "${vars}" "${dest}"
@ -14,27 +17,27 @@ declare -A users=()
#set -x #set -x
remote="https://alpha.de.repo.voidlinux.org/current" remote="https://alpha.de.repo.voidlinux.org/current"
#remote="https://void.cijber.net/current/" #remote="https://void.cijber.net/current/"
xbps-install -Sy cryptsetup lvm2
source "${functions}"/functions source "${functions}"/functions
source "${dir}"/config source "${dir}"/config
umounter "${dest}" umounter "${dest}"
export run="config" export run="config"
for i in $(find "${step}1" -mindepth 1 -maxdepth 1 -type f | sort -n ); do for i in $(find "${modules}" -mindepth 1 -maxdepth 1 -type d | sort -n ); do
test -f "${i}" && source "${i}" test -f "${i}"/config && source "${i}"/config
done done
export run="postconfig" export run="postconfig"
for i in $(find "${step}2" -mindepth 1 -maxdepth 1 -type f | sort -n ); do for i in $(find "${modules}" -mindepth 1 -maxdepth 1 -type d | sort -n ); do
test -f "${i}" && source "${i}" test -f "${i}"/postconfig && source "${i}"/postconfig
done done
mkdir -p "${dest}"/tmp/installer/tmp "${dest}"/etc mkdir -p "${dest}"/tmp/installer/tmp "${dest}"/etc
cp -rf /etc/resolv.conf "${dest}"/etc cp -rf /etc/resolv.conf "${dest}"/etc
cp -rf "${vars}" "${dest}"/tmp/installer/tmp cp -rf "${vars}" "${dest}"/tmp/installer/tmp
cp -rf "${step}3" "${dest}"/tmp/installer #rm -rf "${vars}"
cp -rf "${step}4" "${dest}"/tmp/installer cp -rf "${modules}" "${dest}"/tmp/installer
cp -rf "${files}" "${dest}"/tmp/installer cp -rf "${files}" "${dest}"/tmp/installer
cp -rf "${functions}" "${dest}"/tmp/installer cp -rf "${functions}" "${dest}"/tmp/installer
cp -rf ./run_in_chroot.sh "${dest}"/tmp/installer cp -rf ./run_in_chroot.sh "${dest}"/tmp/installer

View File

@ -16,9 +16,6 @@ for i in $(find /dev/disk/by-id/ -type l -printf "%P\n"|grep -v "part" |tac); do
if [[ "${name}" == *"/dev/sr"* ]]; then if [[ "${name}" == *"/dev/sr"* ]]; then
continue continue
fi fi
if [[ ! "${i}" == "usb"* ]] && [[ ! "${i}" == "ata"* ]] && [[ ! "${i}" == "nvm"* ]]; then
continue
fi
index=$(( index + 1 )) index=$(( index + 1 ))
size="$(fdisk -l "${name}" | head -n1 | awk '{print $3}')" size="$(fdisk -l "${name}" | head -n1 | awk '{print $3}')"
size=$(awk "BEGIN { printf(\"%.0f\n\", ${size}); }") size=$(awk "BEGIN { printf(\"%.0f\n\", ${size}); }")
@ -113,29 +110,29 @@ if [[ ! "${cfg[fde_key_store]}" == "none" ]]; then
cfg+=( [diskpw]="${output}" ) cfg+=( [diskpw]="${output}" )
fi fi
hibernate=0
if check yesno "Do you want to hibernate?" "y"; then if check yesno "Do you want to hibernate?" "y"; then
hibernate=1 hibernate=1
setconf "add" "hibernate" "1"
fi fi
ramsize="$(($(getconf _PHYS_PAGES) * $(getconf PAGE_SIZE) / (1024 * 1024)))" ramsize="$(($(getconf _PHYS_PAGES) * $(getconf PAGE_SIZE) / (1024 * 1024)))"
ramsize="$(awk "BEGIN { printf(\"%.0f\n\", ${ramsize}/1024); }")" ramsize="$(awk "BEGIN { printf(\"%.0f\n\", ${ramsize}/1024); }")"
if [[ "${ramsize}" -gt "0" ]] && [[ "${ramsize}" -le "2" ]]; then if [[ "${ramsize}" -gt "0" ]] || [[ "${ramsize}" -le "2" ]]; then
test -z "${hibernate}" && swapsize="$(( ramsize * 2 ))" test -z "${hibernate}" && swapsize="$(( ramsize * 2 ))"
test -z "${hibernate}" || swapsize="$(( ramsize * 3 ))" test -z "${hibernate}" || swapsize="$(( ramsize * 3 ))"
elif [[ "${ramsize}" -gt "2" ]] && [[ "${ramsize}" -le "8" ]]; then elif [[ "${ramsize}" -gt "2" ]] && [[ "${ramsize}" -le "8" ]]; then
test -z "${hibernate}" && swapsize="${ramsize}" test -z "${hibernate}" && swapsize="${ramsize}"
test -z "${hibernate}" || swapsize="$(( ramsize * 2 ))" test -z "${hibernate}" || swapsize="$(( ramsize * 2 ))"
elif [[ "${ramsize}" -gt "8" ]] && [[ "${ramsize}" -lt "15" ]]; then elif [[ "${ramsize}" -gt "8" ]] && [[ "${ramsize}" -le "15" ]]; then
test -z "${hibernate}" && swapsize="${ramsize}" test -z "${hibernate}" && swapsize="${ramsize}"
test -z "${hibernate}" || swapsize="$(awk "BEGIN { printf(\"%.0f\n\", ${ramsize}*1.5); }")" test -z "${hibernate}" || swapsize="$(awk "BEGIN { printf(\"%.0f\n\", ${ramsize}*1.5); }")"
elif [[ "${ramsize}" -ge "15" ]]; then elif [[ "${ramsize}" -gt "15" ]]; then
test -z "${hibernate}" && swapsize="4" test -z "${hibernate}" && swapsize="4"
test -z "${hibernate}" || echo "hibernate not recommended, turning off" && hibernate="0" && swapsize="4" test -z "${hibernate}" || read -p "hibernate not recommended, turning off" empty && hibernate="" && swapsize="4"
fi fi
setconf "add" "hibernate" "${hibernate}" setconf "add" "bootsize" "4"
echo Configure rootfssize echo Configure rootfssize
while input "Size in G? [$(( disk[size] - swapsize - bootsize ))|rest]" "rest"; do while input "Size in G? [$(( disk[size] - swapsize - bootsize ))|rest]" "rest"; do
@ -150,11 +147,13 @@ while input "Size in G? [$(( disk[size] - swapsize - bootsize ))|rest]" "rest";
done done
setconf "add" "fde_key_store" "${cfg[fde_key_store]}" setconf "add" "fde_key_store" "${cfg[fde_key_store]}"
setconf "add" "fde_keystore" "${cfg[fde_key_store]}"
setconf "add" "FDE_KEY_STORE" "${cfg[fde_key_store]}"
setconf "add" "diskid" "${disk[id]}" setconf "add" "diskid" "${disk[id]}"
setconf "add" "swapsize" "${swapsize}" setconf "add" "swapsize" "${swapsize}"
setconf "add" "rootfssize" "${rootfssize}" setconf "add" "rootfssize" "${rootfssize}"
setconf "add" "wipe" "${cfg[wipe]}" setconf "add" "wipe" "${cfg[wipe]}"
setconf "add" "diskname" "${disk[name]}" setconf "add" "diskname" "${disk[name]}"
setconf "add" "bootsize" "4" setconf "add" "bootsize" "4"
#setconf "add" "target_part" "2" setconf "add" "target_part" "2"
module end

View File

@ -0,0 +1,5 @@
if test -d /sys/firmware/efi; then
source "${modules}"/disk/uefi/postconfig
else
source "${modules}"/disk/bios/postconfig
fi

View File

@ -0,0 +1,18 @@
module start "installation" "Installation" "dontcheck"
for i in ${pkg[@]}; do
for j in ${removepkg[@]}; do
if [[ "${i}" == "${j}" ]]; then
continue 2
fi
done
toinstall+=( "$i" )
done
if [[ "${#toinstall[@]}" -gt 0 ]]; then
xbps-install -Sy "${toinstall[@]}"
else
echo nothing to do
fi
module end

View File

@ -10,18 +10,10 @@ if [[ "${#ignorepkg[@]}" -gt 0 ]]; then
done done
fi fi
for i in ${pkg[@]}; do
for j in ${removepkg[@]}; do
if [[ "${i}" == "${j}" ]]; then
continue 2
fi
done
toinstall+=( "$i" )
done
mkdir -p "${dest}"/var/db/xbps mkdir -p "${dest}"/var/db/xbps
cp -rf /var/db/xbps/keys/ "${dest}"/var/db/xbps cp -rf /var/db/xbps/keys/ "${dest}"/var/db/xbps
inst base-system "${toinstall[@]}" inst base-system
module end module end

View File

@ -0,0 +1,20 @@
module start "basesystem" "Configure Basesystem"
while input "hostname?" "void"; do
if check alnum "${output}"; then
setconf add hostname "${output}"
break
fi
done
setconf add "lang" "de_DE"
setconf add "lang_console" "de-latin1-nodeadkeys"
setconf add "timezone" "Europe/Berlin"
addpkg void-repo-multilib void-repo-multilib-nonfree void-repo-nonfree lvm2 cronie socklog-void ntp xtools wireguard-tools gnupg2 progress pwgen net-tools ncdu nmap mtr iotop hdparm smartmontools htop git neovim btrbk croc grub-btrfs
ignorepkg nvi gnupg
servicesenable acpid cronie socklog-unix nanoklogd uuidd agetty-tty1 agetty-tty2 agetty-tty3 agetty-tty4
servicesdisable agetty-tty6 agetty-tty5
module end

View File

@ -8,20 +8,12 @@ DESTDIR=
vmkdir() { vmkdir() {
mkdir -p /"$1" mkdir -p /"$1"
chmod 755 /"$1"
} }
vinstall() { vinstall() {
src="$1"; tgt="$3"; rights="$2" src=$1; tgt=$3; rights=$2
if [ "$4" ]; then cp -fr "${src}" /"${tgt}"
cp "${src}" "/${tgt}/${4}" chmod -R "${rights}" /"${tgt}"
chmod="/${tgt}/${4}"
else
cp "${src}" "/${tgt}"
chmod="/${tgt}"
fi
chmod -R "${rights}" "${chmod}"
} }
vbin() { vbin() {
@ -34,7 +26,6 @@ vbin "${FILESDIR}/bin/void-update"
vbin "${FILESDIR}/bin/void-backup" vbin "${FILESDIR}/bin/void-backup"
vbin "${FILESDIR}/bin/void-snapshot" vbin "${FILESDIR}/bin/void-snapshot"
vbin "${FILESDIR}/bin/void-createbackupcontainer" vbin "${FILESDIR}/bin/void-createbackupcontainer"
vbin "${FILESDIR}/bin/pinentry-chooser"
vmkdir etc/sudoers.d vmkdir etc/sudoers.d
vinstall "${FILESDIR}/sudoers/10-common" 700 etc/sudoers.d vinstall "${FILESDIR}/sudoers/10-common" 700 etc/sudoers.d
@ -51,8 +42,8 @@ vmkdir etc/btrbk
vinstall "${FILESDIR}/btrbk/btrbk.conf.void" 744 etc/btrbk vinstall "${FILESDIR}/btrbk/btrbk.conf.void" 744 etc/btrbk
vmkdir etc/xbps.d vmkdir etc/xbps.d
vinstall "${FILESDIR}/xbps/50-no-extract.conf" 755 etc/xbps.d vinstall "${FILESDIR}/xbps/50-no-extract.conf" 744 etc/xbps.d
vinstall "${FILESDIR}/xbps/20-repo-rotce.de-pakete.conf" 755 etc/xbps.d vinstall "${FILESDIR}/xbps/20-repo-rotce.de-pakete.conf" 744 etc/xbps.d
vmkdir etc/default/grub-btrfs vmkdir etc/default/grub-btrfs
vinstall "${FILESDIR}/grub-btrfs/void.conf" 755 etc/default/grub-btrfs vinstall "${FILESDIR}/grub-btrfs/void.conf" 755 etc/default/grub-btrfs
@ -64,30 +55,28 @@ vinstall "${FILESDIR}/nm/unmanaged-tun.conf" 644 etc/NetworkManager/conf.d
vinstall "${FILESDIR}/nm/30-wg0" 744 etc/NetworkManager/dispatcher.d vinstall "${FILESDIR}/nm/30-wg0" 744 etc/NetworkManager/dispatcher.d
vmkdir etc/profile.d vmkdir etc/profile.d
vinstall "${FILESDIR}/profile/append-path.sh" 644 etc/profile.d zz-append-path.sh vinstall "${FILESDIR}/profile/append-path.sh" 644 etc/profile.d
vmkdir usr/share/X11/xorg.conf.d vmkdir usr/share/X11/xorg.conf.d
vinstall "${FILESDIR}/xorg/10-keyboard.conf" 644 usr/share/X11/xorg.conf.d vinstall "${FILESDIR}/xorg/10-keyboard.conf" 644 usr/share/X11/xorg.conf.d
vmkdir etc/skel
vinstall "${FILESDIR}/gnupg/gpg-agent.conf" 700 etc/skel
vmkdir etc/fonts/conf.d vmkdir etc/fonts/conf.d
ln -s /usr/share/fontconfig/conf.avail/70-no-bitmaps.conf "${DESTDIR}/etc/fonts/conf.d/70-no-bitmaps.conf" ln -s /usr/share/fontconfig/conf.avail/70-no-bitmaps.conf "${DESTDIR}/etc/fonts/conf.d/70-no-bitmaps.conf"
mkdir -p /etc/xbps.d/
{ echo "#ignorepkg=linux-firmware-amd"; { echo "#ignorepkg=linux-firmware-amd";
echo "#ignorepkg=linux-firmware-intel"; echo "#ignorepkg=linux-firmware-intel";
echo "#ignorepkg=linux-firmware-nvidia"; echo "#ignorepkg=linux-firmware-nvidia";
echo "#ignorepkg=linux-firmware-broadcom"; echo "#ignorepkg=linux-firmware-broadcom";
echo "#ignorepkg=wifi-firmware"; } > /etc/xbps.d/10-ignore-firmware.conf echo "#ignorepkg=wifi-firmware"; } > /etc/xbps.d/10-ignore-firmware.conf
chmod 755 /etc/xbps.d/10-ignore-firmware.conf
{ echo "en_DK.UTF-8 UTF-8"; { echo "en_DK.UTF-8 UTF-8";
echo "de_DE.UTF-8 UTF-8"; echo "${cfg[lang]}.UTF-8 UTF-8";
echo "en_US.UTF-8 UTF-8"; } > /etc/default/libc-locales echo "en_US.UTF-8 UTF-8"; } > /etc/default/libc-locales
echo "LANG=${cfg[lang]}.UTF-8" > /etc/locale.conf echo "LANG=en_US.UTF-8" > /etc/locale.conf
echo "KEYMAP=${cfg[lang_console]}" > /etc/vconsole.conf echo "KEYMAP=${cfg[lang_console]}" > /etc/vconsole.conf
echo "LANG=${cfg[lang]}.UTF-8" > /etc/locale-user.conf
cp -a /etc/profile.d/locale.sh /etc/profile.d/zz-locale-user.sh cp -a /etc/profile.d/locale.sh /etc/profile.d/zz-locale-user.sh
sed -i 's/locale.conf/locale-user.conf/' /etc/profile.d/zz-locale-user.sh sed -i 's/locale.conf/locale-user.conf/' /etc/profile.d/zz-locale-user.sh
@ -102,9 +91,6 @@ if [[ "${cfg[fde_key_store]}" == "once" ]]; then
{ echo "UUID=${cfg[bootuuid]} /boot btrfs defaults,subvol=bootfs 0 0"; { echo "UUID=${cfg[bootuuid]} /boot btrfs defaults,subvol=bootfs 0 0";
echo "UUID=${cfg[bootuuid]} /var/lib/backup/quelle/bootfs btrfs defaults 0 0"; } >> /etc/fstab echo "UUID=${cfg[bootuuid]} /var/lib/backup/quelle/bootfs btrfs defaults 0 0"; } >> /etc/fstab
fi fi
if test -d /sys/firmware/efi; then
echo "UUID=${cfg[efiuuid]} /boot/efi vfat defaults 0 0" >> /etc/fstab
fi
echo "${cfg[hostname]}" > /etc/hostname echo "${cfg[hostname]}" > /etc/hostname
ln -sf "/usr/share/zoneinfo/${cfg[timezone]}" /etc/localtime ln -sf "/usr/share/zoneinfo/${cfg[timezone]}" /etc/localtime
@ -116,7 +102,7 @@ sed -i "/FONT=/s/^#//g" /etc/rc.conf
echo '0 * * * * /usr/bin/void-snapshot cron #void.system' > /var/spool/cron/root echo '0 * * * * /usr/bin/void-snapshot cron #void.system' > /var/spool/cron/root
if [[ ! ${cfg[fde_key_store]} == "none" ]]; then if [[ ! ${cfg[fde_key_store]} == "none" ]]; then
echo "echo \"Install pw is 'oem'\"" > /etc/runit/core-services/99-changepwdisk.sh echo "Install pw is 'oem'" > /etc/runit/core-services/99-changepwdisk.sh
echo "read -p \"Change PW for disk? y/n \" answer" >> /etc/runit/core-services/99-changepwdisk.sh echo "read -p \"Change PW for disk? y/n \" answer" >> /etc/runit/core-services/99-changepwdisk.sh
echo "if [ \"\${answer}\" = \"y\" ]; then" >> /etc/runit/core-services/99-changepwdisk.sh echo "if [ \"\${answer}\" = \"y\" ]; then" >> /etc/runit/core-services/99-changepwdisk.sh
echo " while ! cryptsetup luksChangeKey /dev/disk/by-uuid/${cfg[partuuid]}; do" >> /etc/runit/core-services/99-changepwdisk.sh echo " while ! cryptsetup luksChangeKey /dev/disk/by-uuid/${cfg[partuuid]}; do" >> /etc/runit/core-services/99-changepwdisk.sh
@ -126,7 +112,7 @@ if [[ ! ${cfg[fde_key_store]} == "none" ]]; then
echo "fi" >> /etc/runit/core-services/99-changepwdisk.sh echo "fi" >> /etc/runit/core-services/99-changepwdisk.sh
fi fi
echo "echo \"Install pw is 'oem'\"" > /etc/runit/core-services/99-changepwuser.sh echo "Install pw is \'oem\'" > /etc/runit/core-services/99-changepwuser.sh
echo "read -p \"Change PW for ${users[name1]}? y/n \" answer" >> /etc/runit/core-services/99-changepwuser.sh echo "read -p \"Change PW for ${users[name1]}? y/n \" answer" >> /etc/runit/core-services/99-changepwuser.sh
echo "if [ \"\${answer}\" = \"y\" ]; then" >> /etc/runit/core-services/99-changepwuser.sh echo "if [ \"\${answer}\" = \"y\" ]; then" >> /etc/runit/core-services/99-changepwuser.sh
echo " while ! passwd ${users[name1]}; do" >> /etc/runit/core-services/99-changepwuser.sh echo " while ! passwd ${users[name1]}; do" >> /etc/runit/core-services/99-changepwuser.sh

View File

@ -0,0 +1,2 @@
addpkg "grub"

View File

@ -11,13 +11,11 @@ if [[ ! "${cfg[fde_key_store]}" == "none" ]]; then
fi fi
fi fi
if [[ "${cfg[fde_key_store]}" == "initramfs" ]]; then if [[ ! -f /boot/volume.key ]] && [[ ! "${cfg[fde_key_store]}" == "twice" ]] && [[ ! "${cfg[fde_key_store]}" == "once" ]]; then
dd bs=1 count=64 if=/dev/urandom of=/boot/volume.key dd bs=1 count=64 if=/dev/urandom of=/boot/volume.key
echo -n "${cfg[diskpw]}" | cryptsetup luksAddKey "${target_partition_tmp}" /boot/volume.key -d - echo -n "${cfg[diskpw]}" | cryptsetup luksAddKey "${cfg[diskname]}${cfg[target_part]}" /boot/volume.key -d -
chmod 000 /boot/volume.key chmod 000 /boot/volume.key
chmod -R g-rwx,o-rwx /boot chmod -R g-rwx,o-rwx /boot
echo 'install_items+=" /boot/volume.key /etc/crypttab "' > /etc/dracut.conf.d/crypt-ssh.conf
echo "voidluks-${diskid} UUID=${cfg[partuuid]} /boot/volume.key luks" > /etc/crypttab
fi fi
fi fi
@ -34,13 +32,11 @@ if [[ "${cfg[hibernate]}" == "1" ]]; then
sed -i "/^GRUB_CMDLINE_LINUX_DEFAULT/s/=\"/=\"resume=UUID=${cfg[swapuuid]} /" /etc/default/grub sed -i "/^GRUB_CMDLINE_LINUX_DEFAULT/s/=\"/=\"resume=UUID=${cfg[swapuuid]} /" /etc/default/grub
fi fi
#if [[ "${cfg[fde_key_store]}" == "twice" ]] || [[ "${cfg[fde_key_store]}" == "once" ]]; then if [[ "${cfg[fde_key_store]}" == "initramfs" ]]; then
# echo "voidluks-${diskid} UUID=${cfg[partuuid]} none luks" > /etc/crypttab mkdir -p /etc/dracut.conf.d/
#fi echo 'install_items+=" /boot/volume.key /etc/crypttab "' > /etc/dracut.conf.d/crypt-ssh.conf
echo "voidluks-${diskid} UUID=${cfg[partuuid]} /boot/volume.key luks" > /etc/crypttab
if ! grep -q "dark-gray/black" /etc/default/grub; then
echo "GRUB_COLOR_NORMAL=\"dark-gray/black\"" >> /etc/default/grub
echo "GRUB_COLOR_HIGHLIGHT=\"light-red/black\"" >> /etc/default/grub
fi fi
module end module end

View File

@ -0,0 +1,7 @@
module start "bootloader" "Post Bootloader"
grub-install "${cfg[diskname]}"
grub-mkconfig -o /boot/grub/grub.cfg
module end

53
modules/60-de/config Normal file
View File

@ -0,0 +1,53 @@
module "start" "de" "Desktopenvironment Configure"
setconf "add" "gfx_system" "xorg"
multiplechoice "de" "none" "kde5" "i3wm" "gnome" "none"
if [[ ! "${cfg[de]}" == "none" ]]; then
multiplechoice "gfx_hardware" "amd" "nvidia" "intel" "none"
fi
if [[ "${cfg[de]}" == "gnome" ]]; then
setconf add "dm" "gdm"
addpkg "${cfg[dm]}" "gnome" "${gnome_apps}"
elif [[ "${cfg[de]}" == "kde5" ]]; then
setconf add "dm" "sddm"
addpkg "${cfg[dm]}" "kde5" "${kde5_apps}"
elif [[ "${cfg[de]}" == "i3wm" ]]; then
setconf add "dm" "lightdm"
addpkg "lightdm" "lightdm-gtk3-greeter" "i3-gaps" "i3lock-color" "i3status" "xfce4-terminal" "dmenu" "rofi" "pcmanfm" "dunst" "elogind" "gvfs" "gvfs-afc" "gvfs-afp" "gvfs-cdda" "paprefs" "pavucontrol" "gvfs-gphoto2" "gvfs-mtp" "gvfs-smb" "xss-lock" "xbindkeys" "gnome-keyring" "${i3wm_apps}"
fi
if [[ ! "${cfg[de]}" == "none" ]]; then
servicesenable "${cfg[dm]}" "dbus"
addpkg cups cups-filters gutenprint hplip foomatic-db
addpkg "firefox-i18n-de"
addpkg "gajim" "gajim-omemo" "gnome-keyring"
addpkg "aspell-de" "gspell"
addpkg "alsa-utils" alsa-plugins-pulseaudio pulseaudio
addpkg "NetworkManager"
servicesenable "dbus" "NetworkManager" "alsa" "cupsd"
servicesdisable "acpid"
addpkg xorg-minimal xorg-fonts mesa-dri vulkan-loader xorg-apps
ignorepkg "font-adobe-75dpi" "font-adobe-100dpi"
fi
if [[ "${cfg[gfx_hardware]}" == "amd" ]]; then
addpkg mesa-vulkan-radeon xf86-video-amdgpu mesa-vaapi mesa-vdpau
elif [[ "${cfg[gfx_hardware]}" == "intel" ]]; then
addpkg mesa-vulkan-intel xf86-video-intel intel-video-accel
fi
module "end"

View File

@ -11,6 +11,9 @@ fi
if [[ ! "${cfg[de]}" == "none" ]]; then if [[ ! "${cfg[de]}" == "none" ]]; then
test -f "${modules}"/"${modulename}".d/install/system/"${cfg[gfx_system]}".mod && source "${modules}"/"${modulename}".d/install/system/"${cfg[gfx_system]}".mod
test -f /etc/locale-user.conf && cp "${dest}"/etc/locale-user.conf "${dest}"/etc/sv/${cfg[dm]}/conf
[[ ! -h /etc/fonts/conf.d/70-no-bitmaps.conf ]] && ln -s /usr/share/fontconfig/conf.avail/70-no-bitmaps.conf "${dest}"/etc/fonts/conf.d/ [[ ! -h /etc/fonts/conf.d/70-no-bitmaps.conf ]] && ln -s /usr/share/fontconfig/conf.avail/70-no-bitmaps.conf "${dest}"/etc/fonts/conf.d/
mkdir -p /etc/X11/xorg.conf.d mkdir -p /etc/X11/xorg.conf.d

View File

@ -3,8 +3,3 @@ declare -f lastminute
if yesno "Lastminute Changes" y; then if yesno "Lastminute Changes" y; then
lastminute lastminute
fi fi
declare -f os_config
if yesno "O's config?" y; then
os_config
fi

View File

@ -2,51 +2,51 @@ if ! yesno "nun gehts los, sicher?" y; then
exit exit
fi fi
module start "disk" "Partition disk . UEFI" module start "disk" "Partition disk . BIOS"
#umounter "${dest}" || exit
#if [[ ! "${cfg[fde_key_store]}" == "none" ]]; then
# addpkg cryptsetup
#fi
diskid="${cfg[diskid]//-/_}" diskid="${cfg[diskid]//-/_}"
index=1 if [[ -n "${cfg[wipe]}" ]]; then
echo "Formatting disk"
echo "Formatting disk" echo "o
echo "g w
n q" | fdisk "${cfg[diskname]}" > /dev/null
1 fi
+1G
t
1
w
q" | fdisk "${cfg[diskname]}" > /dev/null
efipart="${cfg[diskname]}${index}"
index=$(( index + 1 ))
sleep 2 sleep 2
echo "create bootpartition" echo "create bootpartition"
target_boot="${cfg[diskname]}${index}" target_boot="${cfg[diskname]}1"
index=$(( index + 1 ))
echo "n echo "n
2 p
1
+${cfg[bootsize]}G +${cfg[bootsize]}G
a
w w
q" | fdisk "${cfg[diskname]}" > /dev/null q" | fdisk "${cfg[diskname]}" > /dev/null
sleep 2 sleep 2
if [[ "${cfg[rootfssize]}" == "rest" ]]; then if [[ "${cfg[rootfssize]}" == "rest" ]]; then
target_partition_tmp="${cfg[diskname]}${index}" target_partition_tmp="${cfg[diskname]}2"
echo "create rootfs" echo "create rootfs"
echo "n echo "n
3 p
2
w w
q" | fdisk "${cfg[diskname]}" > /dev/null q" | fdisk "${cfg[diskname]}" > /dev/null
elif [[ ! "${cfg[rootfssize]}" == "rest" ]]; then elif [[ ! "${cfg[rootfssize]}" == "rest" ]]; then
target_partition_tmp="${cfg[diskname]}${index}" target_partition_tmp="${cfg[diskname]}2"
echo "create rootfs with a specific size" echo "create rootfs with a specific size"
echo "n echo "n
p p
3 2
+${rootfssize}G +${rootfssize}G
w w
@ -57,46 +57,46 @@ sleep 2
target_partition="${target_partition_tmp}" target_partition="${target_partition_tmp}"
if [[ ! "${cfg[fde_key_store]}" == "none" ]]; then if [[ ! "${cfg[fde_key_store]}" == "none" ]]; then
echo -n "${cfg[diskpw]}" | cryptsetup luksFormat --type luks1 "${target_partition}" -d - echo -n "${cfg[diskpw]}" | cryptsetup luksFormat --type luks1 "${target_partition}" -d -
sleep 2 sleep 1
echo -n "${cfg[diskpw]}" | cryptsetup luksOpen "${target_partition}" "voidluks-${diskid}" -d - echo -n "${cfg[diskpw]}" | cryptsetup luksOpen "${target_partition}" "voidluks-${diskid}" -d -
sleep 2 sleep 1
#echo -n "oem" | cryptsetup luksFormat --type luks1 "${target_partition}" -d - #echo -n "oem" | cryptsetup luksFormat --type luks1 "${target_partition}" -d -
#echo -n "oem" | cryptsetup luksOpen "${target_partition}" "voidluks-${diskid}" -d - #echo -n "oem" | cryptsetup luksOpen "${target_partition}" "voidluks-${diskid}" -d -
target_partition="/dev/mapper/voidluks-${diskid}" target_partition="/dev/mapper/voidluks-${diskid}"
fi fi
mkswap "${target_partition}" mkswap "${target_partition}"
sleep 2 sleep 1
vgcreate -q -f "voidvg.${diskid}" "${target_partition}" || exit 1 vgcreate -q -f "voidvg.${diskid}" "${target_partition}" || exit 1
sleep 2 sleep 1
lvcreate -q -y --name swap -L "${cfg[swapsize]}"G "voidvg.${diskid}" lvcreate -q -y --name swap -L "${cfg[swapsize]}"G "voidvg.${diskid}"
sleep 2 sleep 1
lvcreate -q -y --name root -l 100%FREE "voidvg.${diskid}" lvcreate -q -y --name root -l 100%FREE "voidvg.${diskid}"
sleep 2 sleep 1
mkfs.btrfs -q -f "/dev/mapper/voidvg.${diskid}-root" mkfs.btrfs -q -f "/dev/mapper/voidvg.${diskid}-root"
mkswap "/dev/mapper/voidvg.${diskid}-swap" mkswap "/dev/mapper/voidvg.${diskid}-swap"
mount "/dev/mapper/voidvg.${diskid}-root" "${dest}" mount "/dev/mapper/voidvg.${diskid}-root" "${dest}"
btrfs subvol create "${dest}/rootfs" btrfs subvol create "${dest}/rootfs"
btrfs subvol create "${dest}/homefs" btrfs subvol create "${dest}/homefs"
mkdir -p "${dest}/system/snapshots/update" "${dest}/system/snapshots/regular" "${dest}/system/backup" mkdir -p "${dest}/system/snapshots/update" "${dest}/system/snapshots/regular" "${dest}/system/backup"
umount "${dest}" umount "${dest}"
mount "/dev/mapper/voidvg.${diskid}-root" "${dest}" -o subvol=rootfs mount "/dev/mapper/voidvg.${diskid}-root" "${dest}" -o subvol=rootfs
for i in boot home dev proc sys tmp etc var/lib/backup/quelle/rootfs var/lib/backup/ziel var/db; do mkdir -p "${dest}/${i}"; done for i in boot home dev proc sys tmp etc var/lib/backup/quelle/rootfs var/lib/backup/ziel var/db; do mkdir -p "${dest}/${i}"; done
mount "/dev/mapper/voidvg.${diskid}-root" "${dest}"/home -o subvol=homefs mount "/dev/mapper/voidvg.${diskid}-root" "${dest}"/home -o subvol=homefs
mkdir -p "${dest}/var/lib/backup/quelle/bootfs" mkdir -p "${dest}/var/lib/backup/quelle/bootfs"
mkfs.btrfs -q -f "${target_boot}" mkfs.btrfs -q -f "${target_boot}"
mount "${target_boot}" "${dest}/boot" mount "${target_boot}" "${dest}/boot"
btrfs subvol create "${dest}/boot/bootfs" btrfs subvol create "${dest}/boot/bootfs"
mkdir -p "${dest}/boot/system/snapshots/update" "${dest}/boot/system/snapshots/regular" "${dest}/boot/system/backup" mkdir -p "${dest}/boot/system/snapshots/update" "${dest}/boot/system/snapshots/regular" "${dest}/boot/system/backup"
umount "${dest}/boot" umount "${dest}/boot"
if [[ "${cfg[fde_key_store]}" == "once" ]]; then if [[ "${cfg[fde_key_store]}" == "once" ]]; then
mount "${target_boot}" "${dest}/boot" -o subvol=bootfs mount "${target_boot}" "${dest}/boot" -o subvol=bootfs
fi fi
mkdir -p "${dest}/boot/efi"
mkfs.vfat -F32 "${efipart}"
mount "${efipart}" "${dest}/boot/efi"
for dir in dev proc sys run; do mkdir -p "${dest}"/$dir ; mount --rbind /$dir "${dest}"/$dir ; mount --make-rslave "${dest}"/$dir ; done for dir in dev proc sys run; do mkdir -p "${dest}"/$dir ; mount --rbind /$dir "${dest}"/$dir ; mount --make-rslave "${dest}"/$dir ; done

View File

@ -2,14 +2,11 @@ if ! yesno "nun gehts los, sicher?" y; then
exit exit
fi fi
module start "disk" "Partition disk . UEFI"
diskid="${cfg[diskid]//-/_}" diskid="${cfg[diskid]//-/_}"
index=1 if [[ -n "${cfg[wipe]}" ]]; then
echo "Formatting disk"
echo "Formatting disk"
if test -d /sys/firmware/efi; then
module start "disk" "Partition disk . UEFI"
echo "g echo "g
n n
1 1
@ -19,47 +16,33 @@ if test -d /sys/firmware/efi; then
1 1
w w
q" | fdisk "${cfg[diskname]}" > /dev/null q" | fdisk "${cfg[diskname]}" > /dev/null
efipart="${cfg[diskname]}${index}"
index=$(( index + 1 ))
else
module start "disk" "Partition disk . BIOS"
echo "o
w
q" | fdisk -w always "${cfg[diskname]}" > /dev/null
fi fi
sleep 2 sleep 2
echo "create bootpartition" echo "create bootpartition"
target_boot="${cfg[diskname]}${index}" target_boot="${cfg[diskname]}2"
index=$(( index + 1 ))
echo "n echo "n
p 2
1
+${cfg[bootsize]}G +${cfg[bootsize]}G
a
w w
q" | fdisk "${cfg[diskname]}" > /dev/null q" | fdisk "${cfg[diskname]}" > /dev/null
sleep 2 sleep 2
if [[ "${cfg[rootfssize]}" == "rest" ]]; then if [[ "${cfg[rootfssize]}" == "rest" ]]; then
target_partition_tmp="${cfg[diskname]}${index}" target_partition_tmp="${cfg[diskname]}3"
index=$(( index + 1 ))
echo "create rootfs" echo "create rootfs"
echo "n echo "n
p 3
2
w w
q" | fdisk "${cfg[diskname]}" > /dev/null q" | fdisk "${cfg[diskname]}" > /dev/null
elif [[ ! "${cfg[rootfssize]}" == "rest" ]]; then elif [[ ! "${cfg[rootfssize]}" == "rest" ]]; then
target_partition_tmp="${cfg[diskname]}${index}" target_partition_tmp="${cfg[diskname]}3"
echo "create rootfs with a specific size" echo "create rootfs with a specific size"
echo "n echo "n
p p
2 3
+${rootfssize}G +${rootfssize}G
w w
@ -70,54 +53,42 @@ sleep 2
target_partition="${target_partition_tmp}" target_partition="${target_partition_tmp}"
if [[ ! "${cfg[fde_key_store]}" == "none" ]]; then if [[ ! "${cfg[fde_key_store]}" == "none" ]]; then
echo -n "${cfg[diskpw]}" | cryptsetup luksFormat --type luks1 "${target_partition}" -d - echo -n "${cfg[diskpw]}" | cryptsetup luksFormat --type luks1 "${target_partition}" -d -
sleep 2 sleep 1
echo -n "${cfg[diskpw]}" | cryptsetup luksOpen "${target_partition}" "voidluks-${diskid}" -d - echo -n "${cfg[diskpw]}" | cryptsetup luksOpen "${target_partition}" "voidluks-${diskid}" -d -
sleep 2 sleep 1
#echo -n "oem" | cryptsetup luksFormat --type luks1 "${target_partition}" -d - #echo -n "oem" | cryptsetup luksFormat --type luks1 "${target_partition}" -d -
#echo -n "oem" | cryptsetup luksOpen "${target_partition}" "voidluks-${diskid}" -d - #echo -n "oem" | cryptsetup luksOpen "${target_partition}" "voidluks-${diskid}" -d -
target_partition="/dev/mapper/voidluks-${diskid}" target_partition="/dev/mapper/voidluks-${diskid}"
fi fi
mkswap "${target_partition}" mkswap "${target_partition}"
sleep 2 sleep 1
vgcreate -q -f "voidvg.${diskid}" "${target_partition}" || exit 1 vgcreate -q -f "voidvg.${diskid}" "${target_partition}" || exit 1
sleep 2 sleep 1
lvcreate -q -y --name swap -L "${cfg[swapsize]}"G "voidvg.${diskid}" lvcreate -q -y --name swap -L "${cfg[swapsize]}"G "voidvg.${diskid}"
sleep 2 sleep 1
lvcreate -q -y --name root -l 100%FREE "voidvg.${diskid}" lvcreate -q -y --name root -l 100%FREE "voidvg.${diskid}"
sleep 2 sleep 1
mkfs.btrfs -q -f "/dev/mapper/voidvg.${diskid}-root" mkfs.btrfs -q -f "/dev/mapper/voidvg.${diskid}-root"
mkswap "/dev/mapper/voidvg.${diskid}-swap" mkswap "/dev/mapper/voidvg.${diskid}-swap"
mount "/dev/mapper/voidvg.${diskid}-root" "${dest}" mount "/dev/mapper/voidvg.${diskid}-root" "${dest}"
btrfs subvol create "${dest}/rootfs" btrfs subvol create "${dest}/rootfs"
btrfs subvol create "${dest}/homefs" btrfs subvol create "${dest}/homefs"
mkdir -p "${dest}/system/snapshots/update" "${dest}/system/snapshots/regular" "${dest}/system/backup" mkdir -p "${dest}/system/snapshots/update" "${dest}/system/snapshots/regular" "${dest}/system/backup"
umount "${dest}"
umount "${dest}"
mount "/dev/mapper/voidvg.${diskid}-root" "${dest}" -o subvol=rootfs mount "/dev/mapper/voidvg.${diskid}-root" "${dest}" -o subvol=rootfs
for i in boot home dev proc sys tmp etc var/lib/backup/quelle/rootfs var/lib/backup/ziel var/db; do mkdir -p "${dest}/${i}"; done for i in boot home dev proc sys tmp etc var/lib/backup/quelle/rootfs var/lib/backup/ziel var/db; do mkdir -p "${dest}/${i}"; done
mount "/dev/mapper/voidvg.${diskid}-root" "${dest}"/home -o subvol=homefs mount "/dev/mapper/voidvg.${diskid}-root" "${dest}"/home -o subvol=homefs
mkdir -p "${dest}/var/lib/backup/quelle/bootfs"
mkfs.btrfs -q -f "${target_boot}"
mount "${target_boot}" "${dest}/boot"
btrfs subvol create "${dest}/boot/bootfs"
mkdir -p "${dest}/boot/system/snapshots/update" "${dest}/boot/system/snapshots/regular" "${dest}/boot/system/backup"
umount "${dest}/boot"
if [[ "${cfg[fde_key_store]}" == "once" ]]; then if [[ "${cfg[fde_key_store]}" == "once" ]]; then
mkdir -p "${dest}/var/lib/backup/quelle/bootfs"
mkfs.btrfs -q -f "${target_boot}"
mount "${target_boot}" "${dest}/boot"
btrfs subvol create "${dest}/boot/bootfs"
mkdir -p "${dest}/boot/system/snapshots/update" "${dest}/boot/system/snapshots/regular" "${dest}/boot/system/backup"
umount "${dest}/boot"
mount "${target_boot}" "${dest}/boot" -o subvol=bootfs mount "${target_boot}" "${dest}/boot" -o subvol=bootfs
fi fi
if test -d /sys/firmware/efi; then
mkdir -p "${dest}/boot/efi"
mkfs.vfat -F32 "${efipart}"
mount "${efipart}" "${dest}/boot/efi"
fi
for dir in dev proc sys run; do mkdir -p "${dest}"/$dir ; mount --rbind /$dir "${dest}"/$dir ; mount --make-rslave "${dest}"/$dir ; done for dir in dev proc sys run; do mkdir -p "${dest}"/$dir ; mount --rbind /$dir "${dest}"/$dir ; mount --make-rslave "${dest}"/$dir ; done
setconf add rootuuid "$(blkid -o value -s UUID ${target_partition})" setconf add rootuuid "$(blkid -o value -s UUID ${target_partition})"

View File

@ -0,0 +1,8 @@
module "start" "laptop" "Laptopmode Configure"
if yesno "Is this a laptop?" "n"; then
setconf add "laptop" "1"
addpkg laptop-mode
fi
module end

View File

@ -0,0 +1,9 @@
module start "laptop" "Laptopmode Install"
if [[ ! -z "${cfg[laptop]}" ]] && [[ "${cfg[de]}" == "none" ]]; then
echo "${modulename}"
#sed -i "/HandleLidSwitch/s/^#//g" "${dest}/etc/elogind/logind.conf"
#echo sed -i "/HandleLidSwitch/s/^#//g" "${dest}/etc/elogind/logind.conf"
fi
module end

View File

@ -0,0 +1,15 @@
module start "m" "pakete modul"
ignorepkg totem gnome-music htop avahi
addpkg bleachbit thunderbird-i18n-de pidgin pidgin-otr pidgin-gpg pidgin-libnotify gajim gajim-omemo python-Pillow gimp kdenlive VeraCrypt keepassx2 audacity libreoffice libreoffice-i18n-de mumble calibre chromium youtube-dl torbrowser-launcher tor
servicesdisable avahi-daemon
echo "sollte es netflix oder aehnliches gefragt sein, muss 'chromium-widevine' installiert werden"
echo "was meinst du mit festplattenanalyse? restplatzanzeige?"
echo "MAT und torbirdy fehlen noch"
echo "allerdings ist mat hoffnungslos veraltet und mat2 emfpehlen die entwickler nicht, da es beta ist und nicht sicher"
echo "'exiftool' ist da ein terminalprogramm das du dir anguggen solltest"
echo""
echo "verstanden?"
read
module end

View File

@ -1,9 +0,0 @@
networkmanager="dhcpcd"
pkgs="void-repo-multilib void-repo-multilib-nonfree void-repo-nonfree lvm2 cronie socklog-void ntp xtools wireguard-tools gnupg progress pwgen net-tools ncdu nmap mtr bind-utils iotop hdparm smartmontools htop git neovim btrbk croc grub-btrfs nano mbuffer cryptsetup psmisc pinentry-tty"
serviceenable="acpid cronie socklog-unix nanoklogd uuidd agetty-tty1 agetty-tty2 agetty-tty3 agetty-tty4"
servicedisable="agetty-tty6 agetty-tty5"
ignorepkgs="nvi gnupg"

View File

@ -1,14 +0,0 @@
browser="firefox-i18n-de"
networkmanager="NetworkManager"
messenger="gajim-omemo python3-Pillow python3-Pygments"
office="libreoffice-i18n-de"
media="mpv"
spelling="aspell-de gspell"
alsa="alsa-utils alsa-plugins-pulseaudio pulseaudio"
xorg="xorg-minimal xorg-fonts mesa-dri vulkan-loader xorg-apps noto-fonts-emoji"
ignorepkgs="font-adobe-75dpi font-adobe-100dpi"
servicedisable="acpid"
serviceenable="dbus alsa"

View File

@ -1,18 +0,0 @@
email=thunderbird-i18n-de
terminal=gnome-terminal
imageviewer=eog
pdf=evince
filemanager=nautilus
archiver=file-roller
screenshot=gnome-screenshot
calc=gnome-calculator
pinentry=pinentry-gnome
keyring=gnome-keyring
gpg=seahorse
policykit=polkit-gnome
sshaskpass=gnome-ssh-askpass
dm=gdm
de=gnome
misc=""

View File

@ -1,18 +0,0 @@
email=claws-mail
terminal=xfce4-terminal
imageviewer=viewnior
pdf=mupdf
filemanager=pcmanfm
archiver=xarchiver
screenshot=maim
calc=galculator-gtk3
pinentry=pinentry-dmenu
keyring=gnome-keyring
gpg=gnome-keyring
sshaskpass=gnome-ssh-askpass
policykit=polkit-gnome
dm=lightdm
de=i3-gaps
misc="lightdm-gtk3-greeter i3lock-color i3status dmenu elogind dunst gvfs gvfs-afc gvfs-afp gvfs-cdda gvfs-gphoto2 gvfs-mtp gvfs-smb xss-lock paprefs pavucontrol network-manager-applet pamixer"

View File

@ -1,17 +0,0 @@
email=kmail
terminal=konsole
imageviewer=gwenview
pdf=okular
filemanager=dolphin
archiver=ark
screenshot=spectacle
calc=kcalc
pinentry=pinentry-qt
keyring=kwalletmanager
gpg=kleopatra
policykit=polkit-kde-agent
sshaskpass=ksshaskpass
dm=sddm
de=kde5
misc="kdegraphics-thumbnailers ffmpegthumbs print-manager plasma-browser-integration"

View File

@ -1,3 +0,0 @@
printing="cups cups-filters gutenprint foomatic-db"
serviceenable="cupsd"

View File

@ -1,8 +1,11 @@
#!/bin/bash #!/bin/bash
dir="/tmp/installer" dir="/tmp/installer"
step="${dir}/step"
wrksrc="${dir}"/tmp wrksrc="${dir}"/tmp
functions="${dir}/functions" functions="${dir}/functions"
modules="${dir}/modules"
config_mods="${modules}/config"
install_mods="${modules}/install"
chroot_mods="${modules}/chroot"
FILESDIR="${dir}/files" FILESDIR="${dir}/files"
vars="${wrksrc}/vars" vars="${wrksrc}/vars"
@ -27,11 +30,11 @@ for i in $(seq 0 "$(( max - 1 ))"); do
done done
export run="install" export run="install"
for i in $(find "${step}3" -mindepth 1 -maxdepth 1 -type f | sort -n ); do for i in $(find "${modules}" -mindepth 1 -maxdepth 1 -type d | sort -n ); do
test -f "${i}" && source "${i}" test -f "${i}"/install && source "${i}"/install
done done
export run="post" export run="post"
for i in $(find "${step}4" -mindepth 1 -maxdepth 1 -type f | sort -n); do for i in $(find "${modules}" -mindepth 1 -maxdepth 1 -type d | sort -n); do
test -f "${i}" && source "${i}" test -f "${i}"/post && source "${i}"/post
done done

View File

@ -1,7 +0,0 @@
if test -d /sys/firmware/efi; then
addpkg "grub-x86_64-efi"
else
addpkg "grub"
fi

View File

@ -1,51 +0,0 @@
while input "hostname?" "void"; do
if check alnum "${output}"; then
setconf add hostname "${output}"
break
fi
done
setconf add "lang" "de_DE"
setconf add "lang_console" "de-latin1-nodeadkeys"
setconf add "timezone" "Europe/Berlin"
setconf "add" "gfx_system" "xorg"
for i in $(find "${dir}/profiles/desktops" -type f); do
des+=( "$(basename $i)" )
done
multiplechoice "de" "none" "${des[@]}"
if [[ ! "${cfg[de]}" == "none" ]]; then
multiplechoice "gfx_hardware" "amd" "nvidia" "intel" "none"
if [[ "${cfg[gfx_hardware]}" == "amd" ]]; then
addpkg mesa-vulkan-radeon xf86-video-amdgpu mesa-vaapi mesa-vdpau
elif [[ "${cfg[gfx_hardware]}" == "intel" ]]; then
addpkg mesa-vulkan-intel xf86-video-intel intel-video-accel
fi
fi
if yesno "Printing enabled?" "y"; then
source "${dir}/profiles/printing"
addpkg "${printing}"
servicesenable "${enable_service}"
fi
source "${dir}/profiles/basesystem"
servicesenable "${serviceenable}"
servicesdisable "${servicedisable}"
addpkg "${pkgs}"
ignorepkg "${ignorepkgs}"
if [[ ! "${cfg[de]}" == "none" ]]; then
source "${dir}/profiles/desktop"
servicesenable "${serviceenable}"
servicesdisable "${servicedisable}"
ignorepkg "${ignorepkgs}"
source "${dir}/profiles/desktops/${cfg[de]}"
servicesenable "${dm}"
addpkg "${spelling}" "${alsa}" "${xorg}" "${browser}" "${mail}" "${messenger}" "${terminal}" "${imageviewer}" "${pdf}" "${filemanager}" "${archiver}" "${screenshot}" "${calc}" "${pinentry}" "${keyring}" "${gpg}" "${policykit}" "${sshaskpass}" "${office}" "${dm}" "${de}" "${networkmanager}"
fi
servicesenable "{$networkmanager}"

View File

@ -1,169 +0,0 @@
if ! yesno "nun gehts los, sicher?" y; then
exit
fi
module start "disk" "Partition disk"
sleep=4
diskid="${cfg[diskid]//-/_}"
dodiskid="/dev/disk/by-id/${cfg[diskid]}"
index=1
echo "Formatting disk"
if test -d /sys/firmware/efi; then
echo "UEFI Partition"
(echo "g";
echo "n";
echo "1";
echo "";
echo "+1G";
echo "t";
echo "1";
sleep $sleep;
echo "w") | fdisk "${dodiskid}" > /dev/null
sleep $sleep
efipart="${dodiskid}-part${index}"
index=$(( index + 1 ))
else
echo "BIOS Partition"
(echo "o";
sleep $sleep;
echo "w") | fdisk -w always -W always "${dodiskid}" > /dev/null
fi
sleep $sleep
sync
echo "create bootpartition"
target_boot="${dodiskid}-part${index}"
index=$(( index + 1 ))
if test -d /sys/firmware/efi; then
(echo "n";
echo "";
echo "";
echo "+4G";
sleep $sleep;
echo "w") | fdisk -w always -W always "${dodiskid}" > /dev/null
else
(echo "n";
echo "p";
echo "1";
echo "";
echo "+4G";
echo "a";
sleep $sleep;
echo "w") | fdisk -w always -W always "${dodiskid}" > /dev/null
fi
sleep $sleep
if [[ "${cfg[rootfssize]}" == "rest" ]]; then
target_partition_tmp="${dodiskid}-part${index}"
echo "create rootfs"
if test -d /sys/firmware/efi; then
(echo "n";
echo "";
echo "";
echo "";
sleep $sleep;
echo "w") | fdisk -w always -W always "${dodiskid}" > /dev/null
else
(echo "n";
echo "p";
echo "2";
echo "";
echo "";
sleep $sleep;
echo "w") | fdisk -w always -W always "${dodiskid}" > /dev/null
fi
elif [[ ! "${cfg[rootfssize]}" == "rest" ]]; then
target_partition_tmp="${dodiskid}-part${index}"
echo "create rootfs with a specific size"
if test -d /sys/firmware/efi; then
(echo "n";
echo "";
echo "";
echo "+${rootfssize}G";
sleep $sleep;
echo "w") | fdisk -w always -W always "${dodiskid}" > /dev/null
else
(echo "n";
echo "p";
echo "2";
echo "";
echo "+${rootfssize}G";
sleep $sleep;
echo "w") | fdisk -w always -W always "${dodiskid}" > /dev/null
fi
fi
sleep $sleep
target_partition="${target_partition_tmp}"
if [[ ! "${cfg[fde_key_store]}" == "none" ]]; then
echo -n "${cfg[diskpw]}" | cryptsetup luksFormat --type luks1 "${target_partition}" -d -
sleep $sleep
sync
echo -n "${cfg[diskpw]}" | cryptsetup luksOpen "${target_partition}" "voidluks-${diskid}" -d -
sleep $sleep
sync
#echo -n "oem" | cryptsetup luksFormat --type luks1 "${target_partition}" -d -
#echo -n "oem" | cryptsetup luksOpen "${target_partition}" "voidluks-${diskid}" -d -
target_partition="/dev/mapper/voidluks-${diskid}"
fi
mkswap "${target_partition}" || exit 1
sleep $sleep
sync
vgcreate -q -f "voidvg.${diskid}" "${target_partition}" || exit 1
sleep $sleep
sync
lvcreate -q -y --name swap -L "${cfg[swapsize]}"G "voidvg.${diskid}" || exit 1
sleep $sleep
sync
lvcreate -q -y --name root -l 100%FREE "voidvg.${diskid}" || exit 1
sleep $sleep
sync
mkfs.btrfs -q -f "/dev/mapper/voidvg.${diskid}-root" || exit 1
mkswap "/dev/mapper/voidvg.${diskid}-swap" || exit 1
mount "/dev/mapper/voidvg.${diskid}-root" "${dest}" || exit 1
btrfs subvol create "${dest}/rootfs"
btrfs subvol create "${dest}/homefs"
mkdir -p "${dest}/system/snapshots/update" "${dest}/system/snapshots/regular" "${dest}/system/backup"
umount "${dest}"
mount "/dev/mapper/voidvg.${diskid}-root" "${dest}" -o subvol=rootfs
for i in boot home dev proc sys tmp etc var/lib/backup/quelle/rootfs var/lib/backup/ziel var/db; do mkdir -p "${dest}/${i}"; done
mount "/dev/mapper/voidvg.${diskid}-root" "${dest}"/home -o subvol=homefs
mkdir -p "${dest}/var/lib/backup/quelle/bootfs"
mkfs.btrfs -q -f "${target_boot}"
mount "${target_boot}" "${dest}/boot"
btrfs subvol create "${dest}/boot/bootfs"
mkdir -p "${dest}/boot/system/snapshots/update" "${dest}/boot/system/snapshots/regular" "${dest}/boot/system/backup"
umount "${dest}/boot"
if [[ "${cfg[fde_key_store]}" == "once" ]]; then
mount "${target_boot}" "${dest}/boot" -o subvol=bootfs
fi
if test -d /sys/firmware/efi; then
mkdir -p "${dest}/boot/efi"
mkfs.vfat "${efipart}"
sleep $sleep
mount "${efipart}" "${dest}/boot/efi"
fi
for dir in dev proc sys run; do mkdir -p "${dest}"/$dir ; mount --rbind /$dir "${dest}"/$dir ; mount --make-rslave "${dest}"/$dir ; done
setconf add partuuid "$(blkid -o value -s UUID ${target_partition_tmp})"
setconf add efiuuid "$(blkid -o value -s UUID ${efipart})"
[[ "${cfg[fde_key_store]}" == "once" ]] && setconf "add" "bootuuid" "$(blkid -o value -s UUID ${target_boot})"
setconf add swapuuid "$(blkid -o value -s UUID /dev/mapper/voidvg.${diskid}-swap)"
mount -t tmpfs -o size=512m tmpfs "${dest}"/tmp
module end

View File

@ -1,11 +0,0 @@
module start "bootloader" "Post Bootloader"
if test -d /sys/firmware/efi; then
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id="Void"
else
grub-install "${cfg[diskname]}"
fi
grub-mkconfig -o /boot/grub/grub.cfg
module end