X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=fai%2Fconfig%2Fscripts%2FLAST%2F50-misc;h=459b4de92aef13687a67174cbe2e927dda5a8fca;hb=e6c8a36522847eca91819ab3eb656dd824bc3e3c;hp=232b0c807d2feb1f3edeb84b49c5cd58655d1fdf;hpb=f6b9ade60186b7be2ecf39266ced982ec7efc633;p=automated-distro-installer diff --git a/fai/config/scripts/LAST/50-misc b/fai/config/scripts/LAST/50-misc index 232b0c8..459b4de 100755 --- a/fai/config/scripts/LAST/50-misc +++ b/fai/config/scripts/LAST/50-misc @@ -1,10 +1,10 @@ #! /bin/bash -# copyright Thomas Lange 2001-2015, lange@debian.org +# copyright Thomas Lange 2001-2016, lange@debian.org error=0; trap 'error=$(($?>$error?$?:$error))' ERR # save maximum error code -if [ "$FAI_ACTION" = "dirinstall" ] ; then +if [ "$FAI_ACTION" = "dirinstall" -o $do_init_tasks -eq 0 ] ; then : else # check if mdadm has been forgotten @@ -15,14 +15,13 @@ else fi fi - # # commented because it does false possitive - # usedm=$(dmsetup ls | 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 + 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 @@ -53,10 +52,49 @@ fi if [ $FAI_ACTION = "install" ]; then lskernels=$(echo $target/boot/vmlinu*) - [ -f ${lskernels%% *} ] || echo "ERROR: No kernel was installed. Have a look at shell.log" >&2 + 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 -iM /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 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 < $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 +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* $LOGDIR +fi + exit $error