summaryrefslogtreecommitdiffstats
path: root/scripts/build-bootloader.sh
blob: 9a96cfede03b668f1205ef301b63f57d7e5b68a2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/env bash
#
# scripts/build-bootloader.sh — build rsboot (UEFI bootloader)
#
# rsboot is a git submodule at rsboot/.  This builds it and places
# BOOTX64.EFI into build/bootloader/.
#
# Usage:
#   ./scripts/build-bootloader.sh
#
# Output:
#   build/bootloader/BOOTX64.EFI
#
set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
BUILD_DIR="$PROJECT_DIR/build"
BOOTLOADER_DIR="$BUILD_DIR/bootloader"

echo "=== Building rsboot (UEFI bootloader) ==="

# Ensure submodule is checked out
git submodule update --init "$PROJECT_DIR/rsboot"

cd "$PROJECT_DIR/rsboot"
make clean 2>/dev/null || true
make -j"$(nproc)" 2>&1 | sed 's/^/  /'

echo ""
echo "=== rsboot build complete ==="
ls -lh "$BOOTLOADER_DIR/BOOTX64.EFI"