From: Janpieter Sollie <[email protected]> Some user distros do not use standard triplets, but instead, the triplet has another name. Move the triplet name into a gitignored config file, and fix a few trivial error messages breaking a cross-compile build: - use headers-generic instead of headers-$arch - if ulimit isn't set, don't do it.
Signed-off-by: jpsollie <[email protected]> --- .gitignore | 1 + cross.conf | 8 ++++++++ lib/common.sh | 10 +++++++--- lib/libktest.sh | 2 +- root_image | 2 +- 5 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 cross.conf diff --git a/.gitignore b/.gitignore index d82a2a5..0e86b51 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ cscope* tags ktest-out *.tags +cross.conf lib/lwip-connect lib/supervisor diff --git a/cross.conf b/cross.conf new file mode 100644 index 0000000..2896885 --- /dev/null +++ b/cross.conf @@ -0,0 +1,8 @@ +# this file specifies target triplets for cross-compiling +# whenever these need to be changed (some distributions prefer ARCHITECTURE-VENDOR-OS-LIBC), +# change the triplet here + +ARCH_TRIPLE_X86=x86-linux-gnu +ARCH_TRIPLE_X86_64=x86_64-linux-gnu +ARCH_TRIPLE_ARM64=aarch64-linux-gnu + diff --git a/lib/common.sh b/lib/common.sh index 7786091..078f512 100644 --- a/lib/common.sh +++ b/lib/common.sh @@ -3,6 +3,10 @@ set -o nounset set -o errtrace set -o pipefail +[[ -v ktest_dir ]] || ktest_dir=$(dirname ${BASH_SOURCE})/.. + +. "$ktest_dir/cross.conf" + trap 'echo "Error $? at $BASH_SOURCE $LINENO from: $BASH_COMMAND, exiting"' ERR ktest_tmp=${ktest_tmp:-""} @@ -85,7 +89,7 @@ parse_arch() x86|i386) ktest_arch=x86 DEBIAN_ARCH=i386 - ARCH_TRIPLE=x86-linux-gnu + ARCH_TRIPLE=${ARCH_TRIPLE_X86} KERNEL_ARCH=x86 BITS=32 @@ -96,7 +100,7 @@ parse_arch() x86_64|amd64) ktest_arch=x86_64 DEBIAN_ARCH=amd64 - ARCH_TRIPLE=x86_64-linux-gnu + ARCH_TRIPLE=${ARCH_TRIPLE_X86_64} KERNEL_ARCH=x86 BITS=64 @@ -107,7 +111,7 @@ parse_arch() aarch64|arm64) ktest_arch=aarch64 DEBIAN_ARCH=arm64 - ARCH_TRIPLE=aarch64-linux-gnu + ARCH_TRIPLE=${ARCH_TRIPLE_ARM64} KERNEL_ARCH=arm64 BITS=64 diff --git a/lib/libktest.sh b/lib/libktest.sh index 95d4b77..9b4931d 100644 --- a/lib/libktest.sh +++ b/lib/libktest.sh @@ -438,7 +438,7 @@ start_vm() qemu_pmem mem-path="$file",size=$size done - ulimit -n 65535 + [ "$(ulimit)" == "unlimited" ] || ulimit -n 65535 qemu_cmd+=("${ktest_qemu_append[@]}") set +o errexit diff --git a/root_image b/root_image index ece986a..26c99fe 100755 --- a/root_image +++ b/root_image @@ -118,7 +118,7 @@ PACKAGES+=(cryptsetup) PACKAGES+=(multipath-tools sg3-utils srptools) # ZFS support -PACKAGES+=("linux-headers-$DEBIAN_ARCH" dkms zfsutils-linux zfs-dkms) +PACKAGES+=("linux-headers-generic" dkms zfsutils-linux zfs-dkms) # suspend testing: # [[ $KERNEL_ARCH = x86 ]] && PACKAGES+=(uswsusp) -- 2.42.0
