X-Git-Url: https://iankelling.org/git/?p=automated-distro-installer;a=blobdiff_plain;f=fai%2Fconfig%2Fbasefiles%2Fmk-basefile;h=b688a865e985d5a18186c8c7200f1782859957e0;hp=d9823cf6c366af338d6bd314d77b933885fc9546;hb=e6c8a36522847eca91819ab3eb656dd824bc3e3c;hpb=836348b3deca3d4544bcf4ece81d8609740da550 diff --git a/fai/config/basefiles/mk-basefile b/fai/config/basefiles/mk-basefile index d9823cf..b688a86 100755 --- a/fai/config/basefiles/mk-basefile +++ b/fai/config/basefiles/mk-basefile @@ -4,6 +4,9 @@ # # Thomas Lange, Uni Koeln, 2011-2017 # based on the Makefile implementation of Michael Goetze +# +# Usage example: mk-basefile -J STRETCH64 +# This will create a STRETCH64.tar.xz basefile. # Supported distributions (each i386/amd64): # Debian GNU/Linux @@ -17,20 +20,23 @@ # Define your local mirros here # For the first stage, set the CentOS/SLC mirror in /etc/rinse/rinse.conf -MIRROR_DEBIAN=http://http.us.debian.org/debian +MIRROR_DEBIAN=http://deb.debian.org/debian/ MIRROR_UBUNTU=http://mirror.netcologne.de/ubuntu/ MIRROR_TRISQUEL=http://mirror.fsf.org/trisquel/ MIRROR_CENTOS=http://mirror.netcologne.de/ EXCLUDE_SQUEEZE=isc-dhcp-client,isc-dhcp-common,info,tasksel,tasksel-data EXCLUDE_WHEEZY=info,tasksel,tasksel-data -EXCLUDE_JESSIE=tasksel,tasksel-data -EXCLUDE_STRETCH=tasksel,tasksel-data +EXCLUDE_JESSIE=info,tasksel,tasksel-data +EXCLUDE_STRETCH=info,tasksel,tasksel-data +EXCLUDE_BUSTER=tasksel,tasksel-data + EXCLUDE_BELENOS=dhcp3-client,dhcp3-common,info EXCLUDE_TRUSTY=dhcp3-client,dhcp3-common,info -EXCLUDE_FLIDAS=tasksel,tasksel-data -EXCLUDE_XENIAL=tasksel,tasksel-data +EXCLUDE_FLIDAS=udhcpc,dibbler-client,info,tasksel,tasksel-data +EXCLUDE_XENIAL=udhcpc,dibbler-client,info,tasksel,tasksel-data +# we need aptitude in the base file, since users may want to use it for installing packages INCLUDE_DEBIAN=aptitude @@ -68,6 +74,7 @@ check() { mkpost-centos() { + # set local mirror for rinse post script [ -z "$MIRROR_CENTOS" ] && return cat < $xtmp/post #! /bin/sh @@ -81,6 +88,7 @@ EOM mkpost-slc() { + # set local mirror for rinse post script ver=$1 [ -z "$MIRROR_SLC" ] && return cat < $xtmp/post @@ -97,10 +105,11 @@ EOM cleanup-deb() { - chroot $xtmp aptitude clean - rm -f $xtmp/etc/hostname $xtmp/etc/resolv.conf $xtmp/etc/machine-id - rm $xtmp/var/lib/apt/lists/*_* - rm -f $xtmp/etc/udev/rules.d/70-persistent-net.rules + chroot $xtmp apt-get clean + rm -f $xtmp/etc/hostname $xtmp/etc/resolv.conf \ + $xtmp/var/lib/apt/lists/*_* $xtmp/usr/bin/qemu-*-static \ + $xtmp/etc/udev/rules.d/70-persistent-net.rules + > $xtmp/etc/machine-id } @@ -161,19 +170,25 @@ debgeneric() { local DIST=$1 shift local mirror=$1 + shift + local arch=$1 - if [[ $DIST =~ 64 ]]; then - arch=amd64 - else - arch=i386 - fi - - DIST=${DIST%%??} - dist=${DIST,,} + dist=${DIST%%[0-9][0-9]} + local exc="EXCLUDE_$dist" + dist=${dist,,} - local exc="EXCLUDE_$DIST" check - debootstrap --arch $arch --exclude=${!exc} --include=${INCLUDE_DEBIAN} $dist $xtmp $mirror + if [ -n "$arch" ]; then + qemu-debootstrap --arch $arch --exclude=${!exc} --include=${INCLUDE_DEBIAN} $dist $xtmp $mirror + target="${target}_${arch^^}" + else + if [[ $DIST =~ 64 ]]; then + arch=amd64 + else + arch=i386 + fi + debootstrap --arch $arch --exclude=${!exc} --include=${INCLUDE_DEBIAN} $dist $xtmp $mirror + fi cleanup-deb tarit } @@ -194,6 +209,7 @@ prtdists() { WHEEZY32 WHEEZY64 JESSIE32 JESSIE64 STRETCH32 STRETCH64 + BUSTER32 BUSTER64 " } @@ -202,12 +218,13 @@ usage() { cat <