aboutsummaryrefslogtreecommitdiff
path: root/fai/config/scripts/LAST
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2019-09-19 22:38:13 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2019-09-19 22:42:12 +0200
commit6ecb19ada66d54cc0afeb3d27d89700473cde70a (patch)
treea3b57044b04aad7613757aa96697f4afa89c1b85 /fai/config/scripts/LAST
downloaddebian-edu-fai+itzks-6ecb19ada66d54cc0afeb3d27d89700473cde70a.tar.gz
debian-edu-fai+itzks-6ecb19ada66d54cc0afeb3d27d89700473cde70a.tar.bz2
debian-edu-fai+itzks-6ecb19ada66d54cc0afeb3d27d89700473cde70a.zip
initial draft of getting FAI install a Debian Edu system (profile: Minimal)
Diffstat (limited to 'fai/config/scripts/LAST')
-rwxr-xr-xfai/config/scripts/LAST/50-misc103
1 files changed, 103 insertions, 0 deletions
diff --git a/fai/config/scripts/LAST/50-misc b/fai/config/scripts/LAST/50-misc
new file mode 100755
index 0000000..eebb379
--- /dev/null
+++ b/fai/config/scripts/LAST/50-misc
@@ -0,0 +1,103 @@
+#! /bin/bash
+
+# copyright Thomas Lange 2001-2016, lange@debian.org
+
+error=0; trap 'error=$(($?>$error?$?:$error))' ERR # save maximum error code
+
+if [ "$FAI_ACTION" = "dirinstall" -o $do_init_tasks -eq 0 ] ; then
+ :
+else
+ # check if mdadm has been forgotten
+ if grep -q active /proc/mdstat 2>/dev/null; then
+ if [ ! -d $target/etc/mdadm ]; then
+ echo ERROR: Found Software RAID, but the mdadm package was not installed
+ error=1
+ fi
+ fi
+
+ usedm=$(dmsetup ls 2>/dev/null | egrep -v '^live-rw|^live-base|^No devices found' | wc -l)
+ if [ $usedm -ne 0 ]; then
+ if [ ! -d $target/etc/lvm ]; then
+ echo ERROR: Found lvm devices, but the lvm2 package was not installed
+ error=1
+ fi
+ fi
+fi
+
+# remove backup files from cfengine, but only if cfengine is installed
+if [ -x /usr/sbin/cfagent ] || [ -x $target/usr/sbin/cfagent ] ; then
+ dirs="root etc var"
+ for path in $dirs; do
+ find $target/$path -maxdepth 20 -name \*.cfedited -o -name \*.cfsaved | xargs -r rm
+ done
+fi
+
+[ "$FAI_DEBMIRROR" ] &&
+ ainsl /etc/fstab "#$FAI_DEBMIRROR $MNTPOINT nfs ro 0 0"
+
+# set bios clock
+if [ $do_init_tasks -eq 1 ] ; then
+ case "$UTC" in
+ no|"") hwopt="--localtime" ;;
+ yes) hwopt="--utc" ;;
+ esac
+ hwclock $hwopt --systohc || true
+fi
+
+# Make sure everything is configured properly
+if ifclass DEBIAN ; then
+ $ROOTCMD apt-get -f install
+fi
+
+if [ $FAI_ACTION = "install" ]; then
+ lskernels=$(echo $target/boot/vmlinu*)
+ if [ ! -f ${lskernels%% *} ]; then
+ echo "ERROR: No kernel was installed. Have a look at shell.log" >&2
+ error=1
+ fi
+fi
+
+# copy sources.list
+fcopy -iSM /etc/apt/sources.list
+
+
+setrel() {
+
+ # if release is not set, try to determine it
+
+ if [ -n "$release" ]; then
+ return
+ fi
+ if [ ! -f $target/etc/os-release ]; then
+ return
+ fi
+
+ dists="jessie stretch buster bullseye bookworm bionic xenial trusty"
+ for d in $dists; do
+ if grep -iq $d $target/etc/os-release; then
+ release=$d
+ break
+ fi
+ done
+}
+
+# if installation was done from CD, replace useless sources.list
+setrel
+if [ -f $target/etc/apt/sources.list -a -n "$release" ]; then
+ grep -q 'file generated by fai-cd' $target/etc/apt/sources.list && cat <<EOF > $target/etc/apt/sources.list
+deb $apt_cdn/debian $release main contrib non-free
+deb $apt_cdn/debian-security $release/updates main contrib non-free
+#deb [trusted=yes] http://fai-project.org/download $release koeln
+EOF
+ # if the package fai-server was installed, enable the project's repository
+ if [ -f $target/var/lib/dpkg/info/fai-server.list ]; then
+ sed -i -e '/fai-project.org/s/^#//' $target/etc/apt/sources.list
+ fi
+fi
+
+# for ARM architecture, we may need the kernel and initrd to boot or flash the device
+if ifclass ARM64; then
+ cp -pv $target/boot/vmlinuz* $target/boot/initrd* $FAI_RUNDIR
+fi
+
+exit $error