X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=fai%2Fconfig%2Fbasefiles%2Fmk-basefile;h=d449c604f4268c132360da66eb16abd17f9f2df1;hb=HEAD;hp=085b9a486b618dc029e7017a3fca4b8f1651488a;hpb=490334746631a6c956eee47947f3ab8f8a451666;p=automated-distro-installer diff --git a/fai/config/basefiles/mk-basefile b/fai/config/basefiles/mk-basefile index 085b9a4..d449c60 100755 --- a/fai/config/basefiles/mk-basefile +++ b/fai/config/basefiles/mk-basefile @@ -1,16 +1,17 @@ #! /bin/bash - # mk-basefile, create basefiles for some distributions # -# Thomas Lange, Uni Koeln, 2011-2021 +# Thomas Lange, Uni Koeln, 2011-2024 # 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): +# Supported distributions (i386/amd64): # Debian GNU/Linux -# Ubuntu 14.04/16.04 +# Ubuntu 14.04/16.04/20.04/22.04 +# AlmaLinux 9 +# Rocky Linux 8/9 # CentOS 5/6/7/8 # Scientific Linux Cern 5/6 # @@ -22,6 +23,7 @@ # For the first stage, set the CentOS/SLC mirror in /etc/rinse/rinse.conf 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 @@ -32,16 +34,26 @@ EXCLUDE_BUSTER= EXCLUDE_BULLSEYE= EXCLUDE_BOOKWORM= EXCLUDE_TRIXIE= +EXCLUDE_FORKY= EXCLUDE_SID= +EXCLUDE_BELENOS=dhcp3-client,dhcp3-common,info EXCLUDE_TRUSTY=dhcp3-client,dhcp3-common,info EXCLUDE_XENIAL=udhcpc,dibbler-client,info +EXCLUDE_FLIDAS=udhcpc,dibbler-client,info EXCLUDE_BIONIC=udhcpc,dibbler-client,info +EXCLUDE_ETIONA=udhcpc,dibbler-client,info EXCLUDE_FOCAL=udhcpc,dibbler-client,info +EXCLUDE_NABIA=udhcpc,dibbler-client,info +EXCLUDE_JAMMY=udhcpc,dibbler-client,info +EXCLUDE_ARAMO=udhcpc,dibbler-client,info +EXCLUDE_NOBLE=udhcpc,dibbler-client,info # here you can add packages, that are needed very early INCLUDE_DEBIAN= - +INCLUDE_ETIONA=ifupdown +INCLUDE_NABIA=ifupdown +INCLUDE_ARAMO=ifupdown setarch() { @@ -108,10 +120,19 @@ EOM cleanup-deb() { + if [[ $cmd ]]; then + if [[ -e $cmd ]]; then + cp "$cmd" $xtmp/tmp + chroot $xtmp "/tmp/$cmd" + else + chroot $xtmp $cmd + fi + fi 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/udev/rules.d/70-persistent-net.rules \ + $xtmp/var/lib/dbus/machine-id > $xtmp/etc/machine-id } @@ -138,6 +159,30 @@ tarit() { } +rpmdist() { + + local arch=$1 + local vers=$2 + local dist=$3 + local domain=$(domainname) + + check + setarch $arch + $l32 rinse --directory $xtmp --distribution $dist-$vers --arch $arch --before-post-install $xtmp/post + domainname $domain # workaround for #613377 + cleanup-rinse + tarit +} + + +alma() { + rpmdist $1 $2 alma +} + +rocky() { + rpmdist $1 $2 rocky +} + centos() { local arch=$1 @@ -179,12 +224,11 @@ debgeneric() { dist=${DIST%%[0-9][0-9]} local exc="EXCLUDE_$dist" [ -n "${!exc}" ] && exc="--exclude=${!exc}" || unset exc + local inc="INCLUDE_$dist" + [ -n "${!inc}" ] && inc="--include=${!inc}" || unset inc dist=${dist,,} check - if [ -n "$INCLUDE_DEBIAN" ]; then - local inc="--include=$INCLUDE_DEBIAN" - fi if [ -n "$arch" ]; then qemu-debootstrap --arch $arch ${exc} $inc $dist $xtmp $mirror @@ -205,6 +249,9 @@ prtdists() { echo "Available: + ALMA9_64 + ROCKY8_64 + ROCKY9_64 CENTOS5_32 CENTOS5_64 CENTOS6_32 CENTOS6_64 CENTOS7_32 CENTOS7_64 @@ -214,8 +261,14 @@ prtdists() { SLC7_64 TRUSTY32 TRUSTY64 XENIAL32 XENIAL64 + FLIDAS64 BIONIC64 + ETIONA64 FOCAL64 + NABIA64 + JAMMY64 + ARAMO64 + NOBLE64 SQUEEZE32 SQUEEZE64 WHEEZY32 WHEEZY64 JESSIE32 JESSIE64 @@ -224,6 +277,7 @@ prtdists() { BULLSEYE32 BULLSEYE64 BOOKWORM32 BOOKWORM64 TRIXIE32 TRIXIE64 + FORKY32 FORKY64 SID32 SID64 " } @@ -233,16 +287,18 @@ usage() { cat <