mirror of
https://github.com/iceHtwoO/novaOS.git
synced 2026-04-16 20:22:26 +00:00
Implement first basic interrupt handler
This commit is contained in:
@@ -2,3 +2,4 @@ cd "$(dirname "$0")"
|
||||
cd ".."
|
||||
|
||||
cargo build --target aarch64-unknown-none
|
||||
llvm-objcopy -O binary ../target/aarch64-unknown-none/debug/nova ../target/aarch64-unknown-none/debug/kernel8.img
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cd "$(dirname "$0")"
|
||||
cd ".."
|
||||
|
||||
cargo build --target aarch64-unknown-none --release
|
||||
llvm-objcopy -O binary ../target/aarch64-unknown-none/release/nova ../target/aarch64-unknown-none/release/kernel8.img
|
||||
|
||||
@@ -6,23 +6,23 @@ set -a
|
||||
source ../.env
|
||||
set +a
|
||||
|
||||
set -e # Stop on errors
|
||||
set -e
|
||||
|
||||
|
||||
# === RESOLVE VARIABLES ===
|
||||
# RESOLVE VARIABLES
|
||||
REMOTE="$REMOTE_USER@$REMOTE_HOST"
|
||||
REMOTE_DIR="$TFTP_PATH"
|
||||
|
||||
# === BUILD ===
|
||||
# BUILD
|
||||
echo "[*] Building kernel..."
|
||||
cargo build --release
|
||||
|
||||
# === CONVERT TO IMG ===
|
||||
# CONVERT TO IMG
|
||||
echo "[*] Convert kernel elf to img..."
|
||||
llvm-objcopy -O binary "../$BUILD_PATH/$BINARY_NAME" ../$BUILD_PATH/kernel8.img
|
||||
|
||||
|
||||
# === COPY TO TFTP ===
|
||||
# COPY TO TFTP
|
||||
echo "[*] Copying firmware files to TFTP server..."
|
||||
scp ../firmware_files/* "$REMOTE:$REMOTE_DIR/."
|
||||
echo "[*] Copying kernel to TFTP server..."
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
llvm-objcopy -O binary ../target/aarch64-unknown-none/release/nova ../kernel8.img
|
||||
28
tools/generate_sd_card.sh
Executable file
28
tools/generate_sd_card.sh
Executable file
@@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Config
|
||||
IMAGE_NAME="sd.img"
|
||||
IMAGE_SIZE_MB=64
|
||||
FIRMWARE_DIR="./firmware_files"
|
||||
|
||||
|
||||
# Clean up existing image
|
||||
if [ -f "$IMAGE_NAME" ]; then
|
||||
echo "[*] Removing existing $IMAGE_NAME..."
|
||||
rm -f "$IMAGE_NAME"
|
||||
fi
|
||||
|
||||
# Create empty image
|
||||
echo "[*] Creating ${IMAGE_SIZE_MB}MB SD image..."
|
||||
dd if=/dev/zero of="$IMAGE_NAME" bs=1M count=$IMAGE_SIZE_MB
|
||||
|
||||
# Format image as FAT32
|
||||
echo "[*] Formatting image as FAT32..."
|
||||
mformat -i sd.img -F ::
|
||||
|
||||
# Copy all files from firmware_files/ into root of SD image
|
||||
echo "[*] Copying files from '$FIRMWARE_DIR' to image..."
|
||||
mcopy -i "$IMAGE_NAME" -s "$FIRMWARE_DIR"/* ::/
|
||||
|
||||
echo "[✓] SD card image '$IMAGE_NAME' is ready."
|
||||
@@ -1,3 +1,12 @@
|
||||
cargo build --target aarch64-unknown-none --release
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
qemu-system-aarch64 -M raspi3b -cpu cortex-a53 -serial stdio -display none -kernel ../target/aarch64-unknown-none/release/nova -s
|
||||
llvm-objcopy -O binary ../target/aarch64-unknown-none/release/nova ../target/aarch64-unknown-none/release/kernel8.img
|
||||
|
||||
qemu-system-aarch64 \
|
||||
-M raspi3b \
|
||||
-cpu cortex-a53 \
|
||||
-serial stdio \
|
||||
-sd ../sd.img \
|
||||
-display none \
|
||||
-kernel ../target/aarch64-unknown-none/release/kernel8.img
|
||||
|
||||
@@ -1,3 +1,13 @@
|
||||
cargo build --target aarch64-unknown-none
|
||||
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
qemu-system-aarch64 -M raspi3b -cpu cortex-a53 -serial stdio -display none -kernel ../target/aarch64-unknown-none/debug/nova -s
|
||||
llvm-objcopy -O binary ../target/aarch64-unknown-none/debug/nova ../target/aarch64-unknown-none/debug/kernel8.img
|
||||
|
||||
qemu-system-aarch64 \
|
||||
-M raspi3b \
|
||||
-cpu cortex-a53 \
|
||||
-serial stdio \
|
||||
-sd ../sd.img \
|
||||
-display none \
|
||||
-kernel ../target/aarch64-unknown-none/debug/kernel8.img
|
||||
|
||||
Reference in New Issue
Block a user