kernel/kernel/build

49 lines
No EOL
1.1 KiB
Bash
Executable file

#!/bin/bash
(
set -e
DIR="${BASH_SOURCE%/*}"
if [[ ! -d "$DIR" ]]; then DIR="$PWD"; fi
. "$DIR/functions"
rm config.aphro.tmp
cp config.aphro config.aphro.tmp
export $(grep -Ev '^#' config.aphro.tmp | xargs)
get_version
if [[ "$CFG_VERSION" != "$VERSION" ]]; then
echo -n "[WARN] Configuration version \"$CFG_VERSION\" is different then actual version \"$VERSION\""
if [[ "$CONT_WITH_DIFFERENT_VERSION" != "true" ]]; then
echo "; not continuing"
exit 1
fi
echo
fi
cd ../kernel
cargo build --target i686-unknown-none.json --release -Zbuild-std --bin entrypoint
# build the kernel's entrypoint
cp target/i686-unknown-none/release/entrypoint kernel.flat
# copy it out
rm -rf grub aphrodite.iso aphrodite-grub.iso
if [[ $CONFIG_BUILD_GRUB = "true" ]]; then
cp -r ./grub_template ./grub
cp kernel.flat ./grub/boot/aphrodite.kernel
sed -i "s@%{VERSION}@$VERSION@g" ./grub/boot/grub/grub.cfg
grub-mkrescue -o aphrodite-grub.iso grub
cp aphrodite-grub.iso aphrodite.iso
fi
reset_version_vars
)