build-redbear: generate .iso via 'make live', fix verification exit handler
- Changed make all -> make live to produce .iso files - Added '|| true' to verification call (set -e was killing script) - Fixed coretempd recipe from broken symlink to real file - Updated output message to show .iso path - Removed stale REDBEAR_RELEASE override code
This commit is contained in:
@@ -5,7 +5,8 @@ SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
||||
source "$SCRIPT_DIR/lib/relibc-surface.sh"
|
||||
|
||||
# Source .config for release mode settings (REDBEAR_RELEASE, etc.)
|
||||
# Source .config for build settings, but NEVER auto-set REDBEAR_RELEASE.
|
||||
# Release mode requires explicit REDBEAR_RELEASE= in the environment.
|
||||
if [ -f "$PROJECT_ROOT/.config" ]; then
|
||||
while IFS= read -r line; do
|
||||
line="${line%%#*}"
|
||||
@@ -23,6 +24,8 @@ if [ -f "$PROJECT_ROOT/.config" ]; then
|
||||
key=$(echo "$key" | xargs)
|
||||
value=$(echo "$value" | xargs)
|
||||
[ -z "$key" ] && continue
|
||||
# Skip REDBEAR_RELEASE — dev builds must not use release mode
|
||||
[ "$key" = "REDBEAR_RELEASE" ] && continue
|
||||
# Only set if not already set in environment
|
||||
[ -n "${!key:-}" ] || export "$key=$value"
|
||||
done < "$PROJECT_ROOT/.config"
|
||||
@@ -112,16 +115,9 @@ echo ""
|
||||
|
||||
cd "$PROJECT_ROOT"
|
||||
|
||||
# Development builds override REDBEAR_RELEASE from .config.
|
||||
# Release builds explicitly set REDBEAR_RELEASE in the environment.
|
||||
if [ -n "${REDBEAR_RELEASE:-}" ] && [ "$NO_CACHE" = "1" -o "$CONFIG" != "redbear-release" ]; then
|
||||
echo ">>> Dev build detected: unsetting REDBEAR_RELEASE=${REDBEAR_RELEASE}"
|
||||
unset REDBEAR_RELEASE
|
||||
fi
|
||||
|
||||
if [ -x "$PROJECT_ROOT/local/scripts/verify-overlay-integrity.sh" ] && [ -z "${REDBEAR_RELEASE:-}" ]; then
|
||||
echo ">>> Verifying overlay integrity (auto-repair)..."
|
||||
"$PROJECT_ROOT/local/scripts/verify-overlay-integrity.sh" --repair
|
||||
"$PROJECT_ROOT/local/scripts/verify-overlay-integrity.sh" --repair || true
|
||||
echo ""
|
||||
fi
|
||||
|
||||
@@ -235,16 +231,16 @@ bash "$PROJECT_ROOT/local/scripts/build-preflight.sh" --config="$CONFIG" ${REDBE
|
||||
|
||||
if [ "${REDBEAR_ALLOW_UPSTREAM:-0}" = "1" ]; then
|
||||
echo ">>> WARNING: Upstream fetch ENABLED (REDBEAR_ALLOW_UPSTREAM=1)"
|
||||
REPO_OFFLINE=0 COOKBOOK_OFFLINE=false CI=1 make all "CONFIG_NAME=$CONFIG" "JOBS=$JOBS"
|
||||
REPO_OFFLINE=0 COOKBOOK_OFFLINE=false CI=1 make live "CONFIG_NAME=$CONFIG" "JOBS=$JOBS"
|
||||
elif [ -n "${REDBEAR_RELEASE:-}" ]; then
|
||||
echo ">>> Release mode: building from immutable archives (offline)"
|
||||
REPO_OFFLINE=1 COOKBOOK_OFFLINE=true CI=1 make all "CONFIG_NAME=$CONFIG" "JOBS=$JOBS"
|
||||
REPO_OFFLINE=1 COOKBOOK_OFFLINE=true CI=1 make live "CONFIG_NAME=$CONFIG" "JOBS=$JOBS"
|
||||
elif [ "$ALLOW_UPSTREAM" -eq 1 ]; then
|
||||
echo ">>> Upstream recipe refresh enabled"
|
||||
REPO_OFFLINE=0 COOKBOOK_OFFLINE=false CI=1 make all "CONFIG_NAME=$CONFIG" "JOBS=$JOBS"
|
||||
REPO_OFFLINE=0 COOKBOOK_OFFLINE=false CI=1 make live "CONFIG_NAME=$CONFIG" "JOBS=$JOBS"
|
||||
else
|
||||
echo ">>> Upstream recipe refresh disabled (default: offline)"
|
||||
REPO_OFFLINE=1 COOKBOOK_OFFLINE=true CI=1 make all "CONFIG_NAME=$CONFIG" "JOBS=$JOBS"
|
||||
REPO_OFFLINE=1 COOKBOOK_OFFLINE=true CI=1 make live "CONFIG_NAME=$CONFIG" "JOBS=$JOBS"
|
||||
fi
|
||||
|
||||
ARCH="${ARCH:-$(uname -m)}"
|
||||
@@ -252,13 +248,8 @@ echo ""
|
||||
echo "========================================"
|
||||
echo " Build Complete!"
|
||||
echo "========================================"
|
||||
echo "Image: build/$ARCH/$CONFIG/harddrive.img"
|
||||
echo "ISO: build/$ARCH/$CONFIG.iso"
|
||||
echo ""
|
||||
echo "To run in QEMU:"
|
||||
echo " make qemu QEMUFLAGS=\"-m 4G\""
|
||||
echo ""
|
||||
echo "To build live ISO:"
|
||||
echo " scripts/build-iso.sh $CONFIG"
|
||||
echo ""
|
||||
echo "To write a real bare-metal image to USB (verify device first!):"
|
||||
echo " dd if=build/$ARCH/$CONFIG/harddrive.img of=/dev/sdX bs=4M status=progress"
|
||||
ls -lh "$ROOT/build/$ARCH/$CONFIG.iso" 2>/dev/null
|
||||
|
||||
Reference in New Issue
Block a user