set -exu
# Parameters
-arch=${arch:-amd64}
+platforms=${platforms:-}
+# Derive arch from label if it isn't set
+if [ -z "${arch:-}" ] ; then
+ # Labels may be platform specific, eg. jammy-amd64, deb12-armhf
+ regex='[[:alnum:]]+-([[:alnum:]]+)'
+ if [[ "${platforms}" =~ ${regex} ]] ; then
+ arch="${BASH_REMATCH[1]}"
+ else
+ arch="${platforms:-}"
+ fi
+fi
cross_arch=${cross_arch:-}
ktag=${ktag:-}
kgitrepo=${kgitrepo:-}
mversion=${mversion:-}
mgitrepo=${mgitrepo:-}
-
## FUNCTIONS ##
# Kernel version compare functions
export ARCH="i386"
fi
- # allyesconfig is mostly broken for kernels of the 2.6 series
- if verlt "$kversion" "3.0"; then
- vanilla_config="defconfig"
- fi
-
make "${vanilla_config}"
;;
esac
scripts/config --enable CONFIG_EVENT_TRACING
scripts/config --enable CONFIG_KRETPROBES
- # FIXME: disable objtool on vmlinux, it OOMs on allyesconfig
- sed -i 's/objtool_link vmlinux.o//' scripts/link-vmlinux.sh || true
- # Starting with v6.1-rc6
- sed -i 's/^objtool-enabled := .*/objtool-enabled := /' scripts/Makefile.vmlinux_o || true
-
- # Disable SORTTAB
- sed -i 's/is_enabled CONFIG_BUILDTIME_TABLE_SORT/is_enabled CONFIG_NONEXISTANT/' scripts/link-vmlinux.sh || true
-
# Debug
#cat .config
case "$arch" in
"i386")
karch="x86"
- vanilla_config="allyesconfig"
+ vanilla_config="allmodconfig"
ubuntu_config="i386-config.flavour.generic"
;;
"amd64")
karch="x86"
- vanilla_config="allyesconfig"
+ vanilla_config="allmodconfig"
ubuntu_config="amd64-config.flavour.generic"
;;
"armhf")
karch="arm"
- vanilla_config="allyesconfig"
+ vanilla_config="allmodconfig"
ubuntu_config="armhf-config.flavour.generic"
;;
"arm64")
karch="arm64"
- vanilla_config="allyesconfig"
+ vanilla_config="allmodconfig"
ubuntu_config="arm64-config.flavour.generic"
;;
"powerpc")
karch="powerpc"
- vanilla_config="allyesconfig"
+ vanilla_config="allmodconfig"
ubuntu_config="powerpc-config.flavour.powerpc-smp"
;;
"ppc64el")
karch="powerpc"
- vanilla_config="allyesconfig"
+ vanilla_config="allmodconfig"
ubuntu_config="ppc64el-config.flavour.generic"
;;
obj_name="linux.tar.bz2"
if [ "x${cross_arch}" = "x" ]; then
- obj_url_prefix="$OBJ_STORE_URL/linux-build/$url_hash/$ktag/$arch/native"
+ obj_url_prefix="$OBJ_STORE_URL/linux-build/$url_hash/$ktag/platform-${platforms}/$arch/native"
else
- obj_url_prefix="$OBJ_STORE_URL/linux-build/$url_hash/$ktag/${cross_arch}"
+ obj_url_prefix="$OBJ_STORE_URL/linux-build/$url_hash/$ktag/platform-${platforms}/${cross_arch}"
fi
obj_url="$obj_url_prefix/$obj_name"