diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..75fce79 --- /dev/null +++ b/.env.example @@ -0,0 +1,5 @@ +KERNEL_NAME=kernel8.img +BUILD_PATH=target/aarch64-unknown-none/release/nova +TFTP_PATH=/srv/tftp +REMOTE_USER=TFTP_HOST_USER +REMOTE_HOST=TFTP_HOST_IP diff --git a/.gitignore b/.gitignore index 571c3bc..212e3b2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /target kernel8.img +.env diff --git a/tools/deply_to_hw.sh b/tools/deply_to_hw.sh new file mode 100755 index 0000000..c439333 --- /dev/null +++ b/tools/deply_to_hw.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +cd "$(dirname "$0")" + +set -a +source ../.env +set +a + +set -e # Stop on errors + + +# === RESOLVE VARIABLES === +REMOTE="$REMOTE_USER@$REMOTE_HOST" +REMOTE_DIR="$TFTP_PATH" + +# === BUILD === +echo "[*] Building kernel..." +eval $BUILD_COMMAND + +# === CONVERT TO IMG === +echo "[*] Convert kernel elf to img..." +llvm-objcopy -O binary "../$BUILD_PATH/$BINARY_NAME" ../$BUILD_PATH/kernel8.img + + +# === COPY TO TFTP === +echo "[*] Copying firmware files to TFTP server..." +scp ../firmware_files/* "$REMOTE:$REMOTE_DIR/." +echo "[*] Copying kernel to TFTP server..." +scp "../$BUILD_PATH/kernel8.img" "$REMOTE:$REMOTE_DIR/$KERNEL_NAME" + +echo "[✓] Deployed to TFTP server as $KERNEL_NAME"