mirror of
https://github.com/edera-dev/sprout.git
synced 2025-12-19 15:50:18 +00:00
61 lines
1.8 KiB
Bash
Executable File
61 lines
1.8 KiB
Bash
Executable File
#!/bin/sh
|
|
set -e
|
|
|
|
TARGET_KARCH=""
|
|
TARGET_SARCH=""
|
|
|
|
MAYBE_CROSS_COMPILE=""
|
|
|
|
CURRENT_SARCH="$(uname -m)"
|
|
|
|
[ "${CURRENT_SARCH}" = "amd64" ] && CURRENT_SARCH="x86_64"
|
|
[ "${CURRENT_SARCH}" = "arm64" ] && CURRENT_SARCH="aarch64"
|
|
|
|
if [ "${TARGETPLATFORM}" = "linux/aarch64" ] || [ "${TARGETPLATFORM}" = "linux/arm64" ]; then
|
|
TARGET_KARCH="arm64"
|
|
TARGET_SARCH="aarch64"
|
|
if [ "${CURRENT_SARCH}" != "${TARGET_SARCH}" ]; then
|
|
MAYBE_CROSS_COMPILE="aarch64-linux-gnu-"
|
|
fi
|
|
elif [ "${TARGETPLATFORM}" = "linux/x86_64" ] || [ "${TARGETPLATFORM}" = "linux/amd64" ]; then
|
|
TARGET_KARCH="x86_64"
|
|
TARGET_SARCH="x86_64"
|
|
if [ "${CURRENT_SARCH}" != "${TARGET_SARCH}" ]; then
|
|
MAYBE_CROSS_COMPILE="x86_64-linux-gnu-"
|
|
fi
|
|
else
|
|
echo "Unknown platform: ${TARGETPLATFORM}" >/dev/stderr
|
|
exit 1
|
|
fi
|
|
|
|
echo "CROSS_COMPILE=${MAYBE_CROSS_COMPILE}" > kernel.buildenv
|
|
echo "TARGET_KARCH=${TARGET_KARCH}" >> kernel.buildenv
|
|
|
|
make CROSS_COMPILE="${MAYBE_CROSS_COMPILE}" ARCH="${TARGET_KARCH}" defconfig
|
|
if [ "${TARGET_KARCH}" = "x86_64" ]; then
|
|
make CROSS_COMPILE="${MAYBE_CROSS_COMPILE}" ARCH="${TARGET_KARCH}" xen.config
|
|
./scripts/config -e XEN_PV
|
|
./scripts/config -e XEN_PV_DOM0
|
|
fi
|
|
|
|
./scripts/config -e BPF_SYSCALL
|
|
|
|
./scripts/config -e UEVENT_HELPER
|
|
./scripts/config --set-str UEVENT_HELPER_PATH "/sbin/hotplug"
|
|
|
|
./scripts/config -e DRM_VIRTIO_GPU
|
|
./scripts/config -e FRAMEBUFFER_CONSOLE
|
|
./scripts/config -e FRAMEBUFFER_CONSOLE_DETECT_PRIMARY
|
|
./scripts/config -e LOGO
|
|
|
|
./scripts/config -e XEN_DOM0
|
|
|
|
make CROSS_COMPILE="${MAYBE_CROSS_COMPILE}" ARCH="${TARGET_KARCH}" mod2noconfig
|
|
|
|
make "-j$(nproc)" CROSS_COMPILE="${MAYBE_CROSS_COMPILE}" ARCH="${TARGET_KARCH}"
|
|
|
|
[ -f "arch/x86/boot/bzImage" ] && cp "arch/x86/boot/bzImage" kernel.image
|
|
[ -f "arch/arm64/boot/Image.gz" ] && gzip -d <"arch/arm64/boot/Image.gz" >kernel.image
|
|
|
|
exit 0
|