void-bash-installer/main.sh

50 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
dir="$(pwd)"
wrksrc="${dir}/tmp"
functions="${dir}/functions"
modules="${dir}/modules"
config_mods="${modules}/config"
install_mods="${modules}/install"
chroot_mods="${modules}/chroot"
vars="${wrksrc}/vars"
dest="${wrksrc}/dest"
files="${dir}/files"
rm -rf "${vars}"
mkdir -p "${wrksrc}" "${vars}" "${dest}"
declare -A cfg=()
declare -A users=()
#set -x
remote="https://alpha.de.repo.voidlinux.org/current"
#remote="https://void.cijber.net/current/"
source "${functions}"/functions
umounter "${dest}"
export run="config"
for i in $(find "${modules}" -mindepth 1 -maxdepth 1 -type d | sort -n ); do
test -f "${i}"/config && source "${i}"/config
done
export run="postconfig"
for i in $(find "${modules}" -mindepth 1 -maxdepth 1 -type d | sort -n ); do
test -f "${i}"/postconfig && source "${i}"/postconfig
done
mkdir -p "${dest}"/tmp/installer/tmp "${dest}"/etc
cp -rf /etc/resolv.conf "${dest}"/etc
cp -rf "${vars}" "${dest}"/tmp/installer/tmp
#rm -rf "${vars}"
cp -rf "${modules}" "${dest}"/tmp/installer
cp -rf "${files}" "${dest}"/tmp/installer
cp -rf "${functions}" "${dest}"/tmp/installer
cp -rf ./run_in_chroot.sh "${dest}"/tmp/installer
for i in $(seq 1 "${users[amount]}"); do
pw+=( "${users[pw$i]}" )
done
chroot "${dest}" "/tmp/installer/run_in_chroot.sh" "${cfg[diskpw]}" "${pw[@]}"
umounter "${dest}"