3 # copyright Thomas Lange 2001-2016, lange@debian.org
5 error
=0; trap 'error=$(($?>$error?$?:$error))' ERR
# save maximum error code
7 if [ "$FAI_ACTION" = "dirinstall" -o $do_init_tasks -eq 0 ] ; then
10 # check if mdadm has been forgotten
11 if grep -q active
/proc
/mdstat
2>/dev
/null
; then
12 if [ ! -d $target/etc
/mdadm
]; then
13 echo ERROR
: Found Software RAID
, but the mdadm package was not installed
18 usedm
=$
(dmsetup
ls 2>/dev
/null |
egrep -v '^live-rw|^live-base|^No devices found' |
wc -l)
19 if [ $usedm -ne 0 ]; then
20 if [ ! -d $target/etc
/lvm
]; then
21 echo ERROR
: Found lvm devices
, but the lvm2 package was not installed
27 # remove backup files from cfengine, but only if cfengine is installed
28 if [ -x /usr
/sbin
/cfagent
] ||
[ -x $target/usr
/sbin
/cfagent
] ; then
31 find $target/$path -maxdepth 20 -name \
*.cfedited
-o -name \
*.cfsaved |
xargs -r rm
35 [ "$FAI_DEBMIRROR" ] &&
36 ainsl
/etc
/fstab
"#$FAI_DEBMIRROR $MNTPOINT nfs ro 0 0"
39 if [ $do_init_tasks -eq 1 ] ; then
41 no|
"") hwopt
="--localtime" ;;
44 hwclock $hwopt --systohc || true
47 # Make sure everything is configured properly
48 if ifclass DEBIAN
; then
49 $ROOTCMD apt-get
-f install
52 if [ $FAI_ACTION = "install" ]; then
53 lskernels
=$
(echo $target/boot
/vmlinu
*)
54 if [ ! -f ${lskernels%% *} ]; then
55 echo "ERROR: No kernel was installed. Have a look at shell.log" >&2
61 fcopy
-iSM /etc
/apt
/sources.list
66 # if release is not set, try to determine it
68 if [ -n "$release" ]; then
71 if [ ! -f $target/etc
/os-release
]; then
75 dists
="jessie stretch buster xenial trusty"
77 if grep -iq $d $target/etc
/os-release
; then
84 # if installation was done from CD, replace useless sources.list
86 if [ -f $target/etc
/apt
/sources.list
-a -n "$release" ]; then
87 grep -q 'file generated by fai-cd' $target/etc
/apt
/sources.list
&& cat <<EOF > $target/etc/apt/sources.list
88 deb $apt_cdn/debian $release main contrib non-free
89 deb $apt_cdn/debian-security $release/updates main contrib non-free
90 #deb [trusted=yes] http://fai-project.org/download $release koeln
92 # if the package fai-server was installed, enable the project's repository
93 if [ -f $target/var
/lib
/dpkg
/info
/fai-server.list
]; then
94 sed -i -e '/fai-project.org/s/^#//' $target/etc
/apt
/sources.list
98 # for ARM architecture, we may need the kernel and initrd to boot or flash the device
99 if ifclass ARM64
; then
100 cp -pv $target/boot
/vmlinuz
* $target/boot
/initrd
* $FAI_RUNDIR