mirror of
https://github.com/edera-dev/krata.git
synced 2025-08-03 13:11:31 +00:00
krata: compile for aarch64 (aarch64 guests are not yet supported)
This commit is contained in:
@ -14,8 +14,9 @@ BUNDLE_DIR="${BUNDLE_DIR}/krata"
|
||||
mkdir -p "${BUNDLE_DIR}"
|
||||
for X in kratad kratanet kratactl
|
||||
do
|
||||
cargo build --release --target x86_64-unknown-linux-gnu --bin "${X}"
|
||||
cp "${KRATA_DIR}/target/x86_64-unknown-linux-gnu/release/${X}" "${BUNDLE_DIR}/${X}"
|
||||
./scripts/cargo.sh build --release --bin "${X}"
|
||||
RUST_TARGET="$(./scripts/detect-rust-target.sh)"
|
||||
cp "${KRATA_DIR}/target/${RUST_TARGET}/release/${X}" "${BUNDLE_DIR}/${X}"
|
||||
done
|
||||
./initrd/build.sh
|
||||
if [ "${KRATA_BUNDLE_SKIP_KERNEL_BUILD}" != "1" ]
|
||||
|
8
scripts/cargo.sh
Executable file
8
scripts/cargo.sh
Executable file
@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
SCRIPTS_DIR="$(dirname "${0}")"
|
||||
RUST_TARGET="$("${SCRIPTS_DIR}/detect-rust-target.sh")"
|
||||
|
||||
export CARGO_BUILD_TARGET="${RUST_TARGET}"
|
||||
exec cargo "${@}"
|
30
scripts/detect-rust-target.sh
Executable file
30
scripts/detect-rust-target.sh
Executable file
@ -0,0 +1,30 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
if [ -z "${RUST_LIBC}" ]
|
||||
then
|
||||
RUST_LIBC="gnu"
|
||||
fi
|
||||
|
||||
if [ -z "${RUST_TARGET}" ]
|
||||
then
|
||||
HOST_ARCH="$(uname -m)"
|
||||
if [ "${HOST_ARCH}" = "x86_64" ]
|
||||
then
|
||||
RUST_TARGET="x86_64-unknown-linux-${RUST_LIBC}"
|
||||
fi
|
||||
|
||||
if [ "${HOST_ARCH}" = "aarch64" ]
|
||||
then
|
||||
RUST_TARGET="aarch64-unknown-linux-${RUST_LIBC}"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if [ -z "${RUST_TARGET}" ]
|
||||
then
|
||||
echo "ERROR: Unable to determine RUST_TARGET, your architecture may not be supported by krata." > /dev/stderr
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "${RUST_TARGET}"
|
@ -2,5 +2,5 @@
|
||||
set -e
|
||||
|
||||
cd "$(dirname "${0}")/.."
|
||||
cargo clippy --target x86_64-unknown-linux-gnu --fix --allow-dirty --allow-staged
|
||||
./scripts/cargo.sh clippy --fix --allow-dirty --allow-staged
|
||||
cargo fmt --all
|
||||
|
@ -24,6 +24,7 @@ build_and_run() {
|
||||
./initrd/build.sh -q
|
||||
sudo cp "target/initrd/initrd" "/var/lib/krata/default/initrd"
|
||||
fi
|
||||
cargo build ${CARGO_BUILD_FLAGS} --target x86_64-unknown-linux-gnu --bin "${EXE_TARGET}"
|
||||
exec sudo RUST_LOG="${RUST_LOG}" "target/x86_64-unknown-linux-gnu/debug/${EXE_TARGET}" "${@}"
|
||||
RUST_TARGET="$(./scripts/detect-rust-target.sh)"
|
||||
./scripts/cargo.sh build ${CARGO_BUILD_FLAGS} --bin "${EXE_TARGET}"
|
||||
exec sudo RUST_LOG="${RUST_LOG}" "target/${RUST_TARGET}/debug/${EXE_TARGET}" "${@}"
|
||||
}
|
||||
|
Reference in New Issue
Block a user