2 Commits

Author SHA1 Message Date
5e9ede09a1 Switch Atmosphere clone to Atmosphere-Pro and add exosphere-only build script.
Some checks failed
Build Horizon OC Zeus / build (push) Failing after 48s
Use the boot-storage branch required for Horizon OC exosphere patches, and provide build-exosphere.sh for compiling just exosphere.bin without a full project build.
2026-07-14 23:06:55 +02:00
40968377c5 Fix Atmosphere-libs submodule to point at Atmosphere-Pro boot-storage.
The previous Atmosphere-NX commit is not available in the new remote, which broke submodule update.
2026-07-14 23:06:55 +02:00
5 changed files with 61 additions and 15 deletions

4
.gitmodules vendored
View File

@@ -1,7 +1,7 @@
[submodule "Source/Horizon-OC-Monitor/lib/Atmosphere-libs"]
path = Source/Horizon-OC-Monitor/lib/Atmosphere-libs
url = https://github.com/Atmosphere-NX/Atmosphere-libs
branch = master
url = https://github.com/NaGaa95/Atmosphere-Pro.git
branch = boot-storage
[submodule "Source/Horizon-OC-Monitor/lib/libultrahand"]
path = Source/Horizon-OC-Monitor/lib/libultrahand
url = https://github.com/ppkantorski/libultrahand

View File

@@ -1,6 +1,7 @@
[submodule "lib/Atmosphere-libs"]
path = lib/Atmosphere-libs
url = https://github.com/Atmosphere-NX/Atmosphere-libs
url = https://github.com/NaGaa95/Atmosphere-Pro.git
branch = boot-storage
[submodule "lib/libultrahand"]
path = lib/libultrahand
url = https://github.com/ppkantorski/libultrahand

52
build-exosphere.sh Executable file
View File

@@ -0,0 +1,52 @@
#!/bin/sh
ROOT_DIR="$(cd "$(dirname "$0")" && pwd)"
DIST_DIR="$ROOT_DIR/dist"
ATMOSPHERE_DIR="$ROOT_DIR/build/atmosphere"
ATMOSPHERE_URL="https://github.com/NaGaa95/Atmosphere-Pro.git"
ATMOSPHERE_BRANCH="boot-storage"
EXO_SRC="$ROOT_DIR/Source/Atmosphere-Patches"
EXO_DEST="$ATMOSPHERE_DIR/exosphere/program/source/smc"
LIBEXO_DEST="$ATMOSPHERE_DIR/libraries/libexosphere/include/exosphere/secmon"
EXO_OUT="$ATMOSPHERE_DIR/exosphere/out/nintendo_nx_arm64_armv8a/release/exosphere.bin"
if command -v nproc >/dev/null 2>&1; then
CORES="$(nproc --all)"
else
CORES="$(sysctl -n hw.ncpu)"
fi
echo "CORES: $CORES"
mkdir -p "$ROOT_DIR/build"
if [ ! -d "$ATMOSPHERE_DIR" ]; then
echo
echo "*** Cloning Atmosphere-Pro ***"
git clone --depth=1 --single-branch -b "$ATMOSPHERE_BRANCH" "$ATMOSPHERE_URL" "$ATMOSPHERE_DIR"
fi
echo
echo "*** Patching exosphere ***"
cp -v "$EXO_SRC/secmon_emc_access_table_data.inc" "$EXO_DEST/"
cp -v "$EXO_SRC/secmon_define_emc_access_table.inc" "$EXO_DEST/"
cp -v "$EXO_SRC/secmon_rtc_pmc_access_table_data.inc" "$EXO_DEST/"
cp -v "$EXO_SRC/secmon_define_rtc_pmc_access_table.inc" "$EXO_DEST/"
cp -v "$EXO_SRC/secmon_smc_register_access.cpp" "$EXO_DEST/"
cp -v "$EXO_SRC/secmon_smc_handler.cpp" "$EXO_DEST/"
cp -v "$EXO_SRC/secmon_memory_layout.hpp" "$LIBEXO_DEST/"
echo
echo "*** Compiling exosphere ***"
cd "$ATMOSPHERE_DIR/exosphere" || exit 1
make -j"$CORES"
cd "$ROOT_DIR" || exit 1
mkdir -p "$DIST_DIR/atmosphere"
cp -v "$EXO_OUT" "$DIST_DIR/atmosphere/exosphere.bin"
echo
echo "*** Done: $EXO_OUT ***"
echo "*** Copied to: $DIST_DIR/atmosphere/exosphere.bin ***"

15
build.sh Normal file → Executable file
View File

@@ -45,20 +45,13 @@ SRC="Source/Atmosphere/stratosphere/loader/"
mkdir -p "build"
ATMOSPHERE_DIR="build/atmosphere"
ATMOSPHERE_URL="https://github.com/Atmosphere-NX/Atmosphere.git"
ATMOSPHERE_URL="https://github.com/NaGaa95/Atmosphere-Pro.git"
ATMOSPHERE_BRANCH="boot-storage"
if [ ! -d "$ATMOSPHERE_DIR" ]; then
echo
echo "*** Cloning atmosphere ***"
git clone "$ATMOSPHERE_URL" "$ATMOSPHERE_DIR"
cd "$ATMOSPHERE_DIR"
git fetch --tags --quiet
LATEST_TAG=$(git tag --sort=-version:refname | head -n1)
git checkout -q -b build "$LATEST_TAG"
cd "$ROOT_DIR"
echo "*** Cloning Atmosphere-Pro ***"
git clone --depth=1 --single-branch -b "$ATMOSPHERE_BRANCH" "$ATMOSPHERE_URL" "$ATMOSPHERE_DIR"
fi
DEST="build/atmosphere/stratosphere/loader/"