mirror of
https://github.com/edera-dev/krata.git
synced 2025-08-03 13:11:31 +00:00
krata: rework cross-compilation
This commit is contained in:
4
hack/dist/apk.sh
vendored
4
hack/dist/apk.sh
vendored
@ -4,7 +4,7 @@ set -e
|
||||
# shellcheck source-path=SCRIPTDIR source=common.sh
|
||||
. "$(dirname "${0}")/common.sh"
|
||||
|
||||
export RUST_LIBC="musl"
|
||||
export TARGET_LIBC="musl"
|
||||
KRATA_SYSTAR_OPENRC=1 "${KRATA_DIR}/hack/dist/systar.sh"
|
||||
|
||||
KRATA_VERSION="$("${KRATA_DIR}/hack/dist/version.sh")"
|
||||
@ -22,4 +22,4 @@ fpm -s tar -t apk \
|
||||
--description "Krata Hypervisor" \
|
||||
--url "https://krata.dev" \
|
||||
--maintainer "Edera Team <contact@edera.dev>" \
|
||||
"${OUTPUT_DIR}/system-openrc.tgz"
|
||||
"${OUTPUT_DIR}/system-openrc-${TARGET_ARCH}.tgz"
|
||||
|
13
hack/dist/bundle.sh
vendored
13
hack/dist/bundle.sh
vendored
@ -9,15 +9,18 @@ then
|
||||
KRATA_KERNEL_BUILD_JOBS="2"
|
||||
fi
|
||||
|
||||
BUNDLE_TAR="${OUTPUT_DIR}/bundle-systemd.tgz"
|
||||
TARGET_ARCH="$("${KRATA_DIR}/hack/build/arch.sh")"
|
||||
BUNDLE_TAR="${OUTPUT_DIR}/bundle-systemd-${TARGET_ARCH}.tgz"
|
||||
rm -f "${BUNDLE_TAR}"
|
||||
BUNDLE_DIR="$(mktemp -d /tmp/krata-bundle.XXXXXXXXXXXXX)"
|
||||
BUNDLE_DIR="${BUNDLE_DIR}/krata"
|
||||
mkdir -p "${BUNDLE_DIR}"
|
||||
|
||||
./hack/build/cargo.sh build --release --bin kratad --bin kratanet --bin kratactl
|
||||
|
||||
RUST_TARGET="$(./hack/build/target.sh)"
|
||||
for X in kratad kratanet kratactl
|
||||
do
|
||||
./hack/build/cargo.sh build --release --bin "${X}"
|
||||
RUST_TARGET="$(./hack/build/target.sh)"
|
||||
cp "${KRATA_DIR}/target/${RUST_TARGET}/release/${X}" "${BUNDLE_DIR}/${X}"
|
||||
done
|
||||
./hack/initrd/build.sh
|
||||
@ -28,8 +31,8 @@ fi
|
||||
|
||||
cd "${BUNDLE_DIR}"
|
||||
|
||||
cp "${KRATA_DIR}/target/initrd/initrd" initrd
|
||||
cp "${KRATA_DIR}/target/kernel/kernel" kernel
|
||||
cp "${KRATA_DIR}/target/initrd/initrd-${TARGET_ARCH}" initrd
|
||||
cp "${KRATA_DIR}/target/kernel/kernel-${TARGET_ARCH}" kernel
|
||||
cp "${KRATA_DIR}/resources/systemd/kratad.service" kratad.service
|
||||
cp "${KRATA_DIR}/resources/systemd/kratanet.service" kratanet.service
|
||||
cp "${KRATA_DIR}/resources/bundle/install.sh" install.sh
|
||||
|
11
hack/dist/deb.sh
vendored
11
hack/dist/deb.sh
vendored
@ -7,18 +7,19 @@ set -e
|
||||
"${KRATA_DIR}/hack/dist/systar.sh"
|
||||
|
||||
KRATA_VERSION="$("${KRATA_DIR}/hack/dist/version.sh")"
|
||||
TARGET_ARCH="$(KRATA_ARCH_ALT_NAME=1 "${KRATA_DIR}/hack/build/arch.sh")"
|
||||
TARGET_ARCH_STANDARD="$(KRATA_ARCH_ALT_NAME=0 "${KRATA_DIR}/hack/build/arch.sh")"
|
||||
TARGET_ARCH_DEBIAN="$(KRATA_ARCH_ALT_NAME=1 "${KRATA_DIR}/hack/build/arch.sh")"
|
||||
|
||||
cd "${OUTPUT_DIR}"
|
||||
|
||||
rm -f "krata_${KRATA_VERSION}_${TARGET_ARCH}.deb"
|
||||
rm -f "krata_${KRATA_VERSION}_${TARGET_ARCH_DEBIAN}.deb"
|
||||
|
||||
fpm -s tar -t deb \
|
||||
--name krata \
|
||||
--license agpl3 \
|
||||
--version "${KRATA_VERSION}" \
|
||||
--architecture "${TARGET_ARCH}" \
|
||||
--depends "xen-system-${TARGET_ARCH}" \
|
||||
--architecture "${TARGET_ARCH_DEBIAN}" \
|
||||
--depends "xen-system-${TARGET_ARCH_DEBIAN}" \
|
||||
--description "Krata Hypervisor" \
|
||||
--url "https://krata.dev" \
|
||||
--maintainer "Edera Team <contact@edera.dev>" \
|
||||
@ -27,4 +28,4 @@ fpm -s tar -t deb \
|
||||
--deb-systemd "${KRATA_DIR}/resources/systemd/kratanet.service" \
|
||||
--deb-systemd-enable \
|
||||
--deb-systemd-auto-start \
|
||||
"${OUTPUT_DIR}/system-systemd.tgz"
|
||||
"${OUTPUT_DIR}/system-systemd-${TARGET_ARCH_STANDARD}.tgz"
|
||||
|
5
hack/dist/systar.sh
vendored
5
hack/dist/systar.sh
vendored
@ -12,11 +12,12 @@ then
|
||||
SYSTAR_VARIANT="openrc"
|
||||
fi
|
||||
|
||||
SYSTAR="${OUTPUT_DIR}/system-${SYSTAR_VARIANT}.tgz"
|
||||
TARGET_ARCH="$("${KRATA_DIR}/hack/build/arch.sh")"
|
||||
SYSTAR="${OUTPUT_DIR}/system-${SYSTAR_VARIANT}-${TARGET_ARCH}.tgz"
|
||||
rm -f "${SYSTAR}"
|
||||
SYSTAR_DIR="$(mktemp -d /tmp/krata-systar.XXXXXXXXXXXXX)"
|
||||
cd "${SYSTAR_DIR}"
|
||||
tar xf "${OUTPUT_DIR}/bundle-systemd.tgz"
|
||||
tar xf "${OUTPUT_DIR}/bundle-systemd-${TARGET_ARCH}.tgz"
|
||||
|
||||
mkdir sys
|
||||
cd sys
|
||||
|
Reference in New Issue
Block a user