46 lines
1.6 KiB
Bash
Executable File
46 lines
1.6 KiB
Bash
Executable File
#! /bin/bash
|
|
|
|
# hook for installing a file system image (tar file)
|
|
# this works for Ubuntu 14.04
|
|
#
|
|
# Copyright (C) 2015 Thomas Lange, lange@informatik.uni-koeln.de
|
|
|
|
|
|
# I use this tar command to create the image of an already running and configured machine
|
|
# tar -cf /tmp/IMAGE.tar --exclude /tmp/\* --exclude /run/\* --exclude /proc/\* --exclude /sys/\* --exclude /dev/\* /
|
|
# add --xattrs --selinux --acls if needed (for CentOS 7)
|
|
# Then copy this image to /srv/fai/config/basefiles/IMAGE.tar and make sure your client belongs to the class IMAGE
|
|
|
|
skiptask extrbase debconf repository updatebase instsoft
|
|
skiptask configure # do not run the usual configure scripts
|
|
|
|
# we assume, that the new host will get its hostname and IP via DHCP
|
|
# remove old hostname
|
|
fgrep -v 127.0.1.1 $target/etc/hosts >> /tmp/fai/hosts
|
|
mv /tmp/fai/hosts $target/etc/hosts
|
|
rm $target/etc/hostname
|
|
|
|
#install grub
|
|
mount -t proc proc $FAI_ROOT/proc
|
|
mount -t sysfs sysfs $FAI_ROOT/sys
|
|
mount --bind /dev $FAI_ROOT/dev
|
|
|
|
if [ -f $target/etc/debian_version ]; then
|
|
$ROOTCMD grub-install $BOOT_DEVICE
|
|
$ROOTCMD update-grub
|
|
fi
|
|
if [ -f $target/etc/centos-release ]; then
|
|
rm $target/etc/grub2/device.map
|
|
$FAI/scripts/CENTOS/40-install-grub
|
|
$FAI/scripts/CENTOS/30-mkinitrd
|
|
$ROOTCMD fixfiles onboot # this fixes the SELinux security contexts during the first boot
|
|
fi
|
|
|
|
|
|
# things that may be adjusted:
|
|
#
|
|
# MAC address ?? (not needed for Ubuntu, it uses iftab(5)
|
|
# /etc/hosts may contain the IP and name of the original host
|
|
# /etc/hostname (for Ubuntu just remove it)
|
|
# /var/lib/NetworkManager/dhclient-eth0.conf?
|