fusee: switch to use exo2 instead of exo1

This commit is contained in:
Michael Scire 2020-06-11 01:48:36 -07:00 committed by SciresM
parent 293c213bf2
commit c75e61a40b
8 changed files with 39 additions and 33 deletions

View file

@ -15,7 +15,7 @@ thermosphere:
$(MAKE) -C thermosphere all $(MAKE) -C thermosphere all
exosphere: thermosphere exosphere: thermosphere
$(MAKE) -C exosphere all $(MAKE) -C exosphere2 all
stratosphere: exosphere libraries stratosphere: exosphere libraries
$(MAKE) -C stratosphere all $(MAKE) -C stratosphere all
@ -120,10 +120,11 @@ dist: dist-no-debug
cp sept/sept-primary/sept-primary.elf atmosphere-$(AMSVER)-debug/sept-primary.elf cp sept/sept-primary/sept-primary.elf atmosphere-$(AMSVER)-debug/sept-primary.elf
cp sept/sept-secondary/sept-secondary.elf atmosphere-$(AMSVER)-debug/sept-secondary.elf cp sept/sept-secondary/sept-secondary.elf atmosphere-$(AMSVER)-debug/sept-secondary.elf
cp sept/sept-secondary/key_derivation/key_derivation.elf atmosphere-$(AMSVER)-debug/sept-secondary-key-derivation.elf cp sept/sept-secondary/key_derivation/key_derivation.elf atmosphere-$(AMSVER)-debug/sept-secondary-key-derivation.elf
cp exosphere/exosphere.elf atmosphere-$(AMSVER)-debug/exosphere.elf cp exosphere2/loader_stub/loader_stub.elf atmosphere-$(AMSVER)-debug/exosphere-loader-stub.elf
cp exosphere/lp0fw/lp0fw.elf atmosphere-$(AMSVER)-debug/lp0fw.elf cp exosphere2/program/program.elf atmosphere-$(AMSVER)-debug/exosphere-program.elf
cp exosphere/sc7fw/sc7fw.elf atmosphere-$(AMSVER)-debug/sc7fw.elf cp exosphere2/warmboot/warmboot.elf atmosphere-$(AMSVER)-debug/exosphere-warmboot.elf
cp exosphere/rebootstub/rebootstub.elf atmosphere-$(AMSVER)-debug/rebootstub.elf cp exosphere2/program/sc7fw/sc7fw.elf atmosphere-$(AMSVER)-debug/exosphere-sc7fw.elf
cp exosphere2/program/rebootstub/rebootstub.elf atmosphere-$(AMSVER)-debug/exosphere-rebootstub.elf
cp mesosphere/kernel_ldr/kernel_ldr.elf atmosphere-$(AMSVER)-debug/kernel_ldr.elf cp mesosphere/kernel_ldr/kernel_ldr.elf atmosphere-$(AMSVER)-debug/kernel_ldr.elf
cp stratosphere/ams_mitm/ams_mitm.elf atmosphere-$(AMSVER)-debug/ams_mitm.elf cp stratosphere/ams_mitm/ams_mitm.elf atmosphere-$(AMSVER)-debug/ams_mitm.elf
cp stratosphere/boot/boot.elf atmosphere-$(AMSVER)-debug/boot.elf cp stratosphere/boot/boot.elf atmosphere-$(AMSVER)-debug/boot.elf

View file

@ -1,9 +1,9 @@
TARGETS := exosphere.bin program.lz4 TARGETS := exosphere.bin warmboot.bin program.lz4
CLEAN_TARGETS := exosphere-clean program-clean boot_code-clean CLEAN_TARGETS := exosphere-clean program-clean boot_code-clean warmboot-clean
SUBFOLDERS := $(MODULES) SUBFOLDERS := $(MODULES)
all: exosphere.bin all: exosphere.bin warmboot.bin
clean: $(CLEAN_TARGETS) clean: $(CLEAN_TARGETS)
@rm -f exosphere.bin @rm -f exosphere.bin
@ -14,15 +14,16 @@ exosphere.bin: program.lz4 boot_code.lz4
@printf LENY >> exosphere.bin @printf LENY >> exosphere.bin
@echo "Built exosphere.bin..." @echo "Built exosphere.bin..."
program.lz4: check_libexo program.lz4:
$(MAKE) -C program $(MAKE) -C program
@cp program/program.lz4 program.lz4 @cp program/program.lz4 program.lz4
@cp program/boot_code.lz4 boot_code.lz4 @cp program/boot_code.lz4 boot_code.lz4
boot_code.lz4: program.lz4 warmboot.bin:
$(MAKE) -C warmboot
@cp warmboot/warmboot.bin warmboot.bin
check_libexo: boot_code.lz4: program.lz4
@$(MAKE) --no-print-directory -C ../libraries/libexosphere
exosphere-clean: exosphere-clean:
$(MAKE) -C loader_stub clean $(MAKE) -C loader_stub clean
@ -32,6 +33,10 @@ program-clean:
$(MAKE) -C program clean $(MAKE) -C program clean
@rm -f program.lz4 @rm -f program.lz4
warmboot-clean:
$(MAKE) -C warmboot clean
@rm -f warmboot.bin
boot_code-clean: boot_code-clean:
@rm -f boot_code.lz4 @rm -f boot_code.lz4

View file

@ -77,7 +77,7 @@ export TOPDIR := $(CURDIR)
export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \
$(foreach dir,$(DATA),$(CURDIR)/$(dir)) \ $(foreach dir,$(DATA),$(CURDIR)/$(dir)) \
$(AMS)/exosphere/rebootstub $(AMS)/exosphere2/program/rebootstub
export DEPSDIR := $(CURDIR)/$(BUILD) export DEPSDIR := $(CURDIR)/$(BUILD)
@ -117,7 +117,7 @@ export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib)
all: check_rebootstub $(BUILD) all: check_rebootstub $(BUILD)
check_rebootstub: check_rebootstub:
@$(MAKE) -C $(AMS)/exosphere/rebootstub all @$(MAKE) -C $(AMS)/exosphere2/program/rebootstub all
$(BUILD): check_rebootstub $(BUILD): check_rebootstub
@[ -d $@ ] || mkdir -p $@ @[ -d $@ ] || mkdir -p $@
@ -126,7 +126,7 @@ $(BUILD): check_rebootstub
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
clean: clean:
@echo clean ... @echo clean ...
@$(MAKE) -C $(AMS)/exosphere/rebootstub clean @$(MAKE) -C $(AMS)/exosphere2/program/rebootstub clean
@rm -fr $(BUILD) $(TARGET).bin $(TARGET).elf @rm -fr $(BUILD) $(TARGET).bin $(TARGET).elf

View file

@ -87,7 +87,7 @@ export TOPDIR := $(CURDIR)
export KIPDIRS := $(AMS)/stratosphere/loader $(AMS)/stratosphere/ncm $(AMS)/stratosphere/pm $(AMS)/stratosphere/sm $(AMS)/stratosphere/boot $(AMS)/stratosphere/spl $(AMS)/stratosphere/ams_mitm export KIPDIRS := $(AMS)/stratosphere/loader $(AMS)/stratosphere/ncm $(AMS)/stratosphere/pm $(AMS)/stratosphere/sm $(AMS)/stratosphere/boot $(AMS)/stratosphere/spl $(AMS)/stratosphere/ams_mitm
export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \
$(foreach dir,$(DATA),$(CURDIR)/$(dir)) \ $(foreach dir,$(DATA),$(CURDIR)/$(dir)) \
$(AMS)/exosphere $(AMS)/exosphere/lp0fw $(AMS)/exosphere/rebootstub \ $(AMS)/exosphere2 $(AMS)/exosphere2/warmboot $(AMS)/exosphere2/program/rebootstub \
$(AMS)/thermosphere $(AMS)/fusee/fusee-primary $(AMS)/sept/sept-primary \ $(AMS)/thermosphere $(AMS)/fusee/fusee-primary $(AMS)/sept/sept-primary \
$(AMS)/sept/sept-secondary $(AMS)/emummc $(AMS)/mesosphere/kernel_ldr $(KIPDIRS) $(AMS)/sept/sept-secondary $(AMS)/emummc $(AMS)/mesosphere/kernel_ldr $(KIPDIRS)
@ -98,7 +98,7 @@ CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
KIPFILES := loader.kip ncm.kip pm.kip sm.kip ams_mitm.kip spl.kip boot.kip KIPFILES := loader.kip ncm.kip pm.kip sm.kip ams_mitm.kip spl.kip boot.kip
BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) fusee-primary.bin \ BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) fusee-primary.bin \
exosphere.bin lp0fw.bin rebootstub.bin thermosphere.bin splash_screen.bmp \ exosphere.bin warmboot.bin rebootstub.bin thermosphere.bin splash_screen.bmp \
sept-primary.bin sept-secondary_00.enc sept-secondary_01.enc emummc.kip \ sept-primary.bin sept-secondary_00.enc sept-secondary_01.enc emummc.kip \
sept-secondary_dev_00.enc sept-secondary_dev_01.enc kernel_ldr.bin $(KIPFILES) sept-secondary_dev_00.enc sept-secondary_dev_01.enc kernel_ldr.bin $(KIPFILES)
@ -137,7 +137,7 @@ check_fusee_primary:
@$(MAKE) -C $(AMS)/fusee/fusee-primary all @$(MAKE) -C $(AMS)/fusee/fusee-primary all
check_exosphere: check_exosphere:
@$(MAKE) -C $(AMS)/exosphere all @$(MAKE) -C $(AMS)/exosphere2 all
check_sept: check_sept:
@$(MAKE) -C $(AMS)/sept all @$(MAKE) -C $(AMS)/sept all
@ -166,7 +166,7 @@ $(BUILD): check_fusee_primary check_exosphere check_sept check_emummc check_ther
clean: clean:
@echo clean ... @echo clean ...
@$(MAKE) -C $(AMS)/fusee/fusee-primary clean @$(MAKE) -C $(AMS)/fusee/fusee-primary clean
@$(MAKE) -C $(AMS)/exosphere clean @$(MAKE) -C $(AMS)/exosphere2 clean
@$(MAKE) -C $(AMS)/thermosphere clean @$(MAKE) -C $(AMS)/thermosphere clean
@$(MAKE) -C $(AMS)/libraries clean @$(MAKE) -C $(AMS)/libraries clean
@$(MAKE) -C $(AMS)/mesosphere clean @$(MAKE) -C $(AMS)/mesosphere clean

View file

@ -228,8 +228,8 @@ SECTIONS
PROVIDE(__fusee_primary_bin_size__ = fusee_primary_bin_end - fusee_primary_bin); PROVIDE(__fusee_primary_bin_size__ = fusee_primary_bin_end - fusee_primary_bin);
PROVIDE(__loader_kip_start__ = loader_kip - __start__); PROVIDE(__loader_kip_start__ = loader_kip - __start__);
PROVIDE(__loader_kip_size__ = loader_kip_end - loader_kip); PROVIDE(__loader_kip_size__ = loader_kip_end - loader_kip);
PROVIDE(__lp0fw_bin_start__ = lp0fw_bin - __start__); PROVIDE(__warmboot_bin_start__ = warmboot_bin - __start__);
PROVIDE(__lp0fw_bin_size__ = lp0fw_bin_end - lp0fw_bin); PROVIDE(__warmboot_bin_size__ = warmboot_bin_end - warmboot_bin);
PROVIDE(__ncm_kip_start__ = ncm_kip - __start__); PROVIDE(__ncm_kip_start__ = ncm_kip - __start__);
PROVIDE(__ncm_kip_size__ = ncm_kip_end - ncm_kip); PROVIDE(__ncm_kip_size__ = ncm_kip_end - ncm_kip);
PROVIDE(__pm_kip_start__ = pm_kip - __start__); PROVIDE(__pm_kip_start__ = pm_kip - __start__);

View file

@ -58,13 +58,13 @@
#include "sept_secondary_01_enc.h" #include "sept_secondary_01_enc.h"
#include "sept_secondary_dev_00_enc.h" #include "sept_secondary_dev_00_enc.h"
#include "sept_secondary_dev_01_enc.h" #include "sept_secondary_dev_01_enc.h"
#include "lp0fw_bin.h" #include "warmboot_bin.h"
#include "emummc_kip.h" #include "emummc_kip.h"
#undef u8 #undef u8
#undef u32 #undef u32
extern const uint8_t lp0fw_bin[]; extern const uint8_t warmboot_bin[];
extern const uint32_t lp0fw_bin_size; extern const uint32_t warmboot_bin_size;
static const uint8_t retail_pkc_modulus[0x100] = { static const uint8_t retail_pkc_modulus[0x100] = {
0xF7, 0x86, 0x47, 0xAB, 0x71, 0x89, 0x81, 0xB5, 0xCF, 0x0C, 0xB0, 0xE8, 0x48, 0xA7, 0xFD, 0xAD, 0xF7, 0x86, 0x47, 0xAB, 0x71, 0x89, 0x81, 0xB5, 0xCF, 0x0C, 0xB0, 0xE8, 0x48, 0xA7, 0xFD, 0xAD,
@ -891,14 +891,14 @@ uint32_t nxboot_main(void) {
} }
} else { } else {
/* Use Atmosphere's warmboot firmware implementation. */ /* Use Atmosphere's warmboot firmware implementation. */
warmboot_fw_size = lp0fw_bin_size; warmboot_fw_size = warmboot_bin_size;
warmboot_fw = malloc(warmboot_fw_size); warmboot_fw = malloc(warmboot_fw_size);
if (warmboot_fw == NULL) { if (warmboot_fw == NULL) {
fatal_error("[NXBOOT] Out of memory!\n"); fatal_error("[NXBOOT] Out of memory!\n");
} }
memcpy(warmboot_fw, lp0fw_bin, warmboot_fw_size); memcpy(warmboot_fw, warmboot_bin, warmboot_fw_size);
if (warmboot_fw_size == 0) { if (warmboot_fw_size == 0) {
fatal_error("[NXBOOT] Could not read the warmboot firmware from Package1!\n"); fatal_error("[NXBOOT] Could not read the warmboot firmware from Package1!\n");

View file

@ -157,15 +157,15 @@ _content_headers:
.asciz "Loader" .asciz "Loader"
.align 5 .align 5
/* lp0fw content header */ /* warmboot content header */
.word __lp0fw_bin_start__ .word __warmboot_bin_start__
.word __lp0fw_bin_size__ .word __warmboot_bin_size__
.byte CONTENT_TYPE_WBT .byte CONTENT_TYPE_WBT
.byte CONTENT_FLAG_NONE .byte CONTENT_FLAG_NONE
.byte CONTENT_FLAG_NONE .byte CONTENT_FLAG_NONE
.byte CONTENT_FLAG_NONE .byte CONTENT_FLAG_NONE
.word 0xCCCCCCCC .word 0xCCCCCCCC
.asciz "lp0fw" .asciz "warmboot"
.align 5 .align 5
/* pm content header */ /* pm content header */

View file

@ -77,7 +77,7 @@ export TOPDIR := $(CURDIR)
export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \
$(foreach dir,$(DATA),$(CURDIR)/$(dir)) \ $(foreach dir,$(DATA),$(CURDIR)/$(dir)) \
$(AMS)/exosphere/rebootstub \ $(AMS)/exosphere2/program/rebootstub \
$(TOPDIR)/key_derivation $(TOPDIR)/key_derivation
export DEPSDIR := $(CURDIR)/$(BUILD) export DEPSDIR := $(CURDIR)/$(BUILD)
@ -118,7 +118,7 @@ export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib)
all: check_rebootstub check_key_derivation $(BUILD) all: check_rebootstub check_key_derivation $(BUILD)
check_rebootstub: check_rebootstub:
@$(MAKE) -C $(AMS)/exosphere/rebootstub all @$(MAKE) -C $(AMS)/exosphere2/program/rebootstub all
check_key_derivation: check_key_derivation:
@$(MAKE) -C key_derivation @$(MAKE) -C key_derivation
@ -138,7 +138,7 @@ endif
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
clean: clean:
@echo clean ... @echo clean ...
@$(MAKE) -C $(AMS)/exosphere/rebootstub clean @$(MAKE) -C $(AMS)/exosphere2/program/rebootstub clean
@$(MAKE) -C key_derivation clean @$(MAKE) -C key_derivation clean
@rm -fr $(BUILD) $(TARGET).bin $(TARGET)_*.enc $(TARGET).elf @rm -fr $(BUILD) $(TARGET).bin $(TARGET)_*.enc $(TARGET).elf