mirror of
https://github.com/d0k3/GodMode9.git
synced 2025-06-26 13:42:47 +00:00
Allow piggybacking filesystem images to the GodMode9 firm
... just put an image file called `vram0.img` into data - max size: 3MB(!).
This commit is contained in:
parent
3b56a12857
commit
21c1ae30fe
2
.gitignore
vendored
2
.gitignore
vendored
@ -40,4 +40,6 @@
|
|||||||
# User additions
|
# User additions
|
||||||
/data/aeskeydb.bin
|
/data/aeskeydb.bin
|
||||||
/data/aeskeydb_.bin
|
/data/aeskeydb_.bin
|
||||||
|
/data/vram0.img
|
||||||
|
/data/vram0_.img
|
||||||
/zzz_backup
|
/zzz_backup
|
||||||
|
15
Makefile
15
Makefile
@ -136,6 +136,12 @@ export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
|
|||||||
|
|
||||||
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib)
|
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib)
|
||||||
|
|
||||||
|
ifeq ("$(wildcard $(CURDIR)/$(DATA)/vram0.img)","")
|
||||||
|
export FTCOMMON := -D $(OUTPUT).elf $(OUTPUT_D)/screeninit.elf -C NDMA XDMA
|
||||||
|
else
|
||||||
|
export FTCOMMON := -A 0x18000000 -D $(OUTPUT).elf $(OUTPUT_D)/screeninit.elf $(CURDIR)/$(DATA)/vram0.img -C NDMA XDMA memcpy
|
||||||
|
endif
|
||||||
|
|
||||||
.PHONY: common clean all firm binary screeninit release
|
.PHONY: common clean all firm binary screeninit release
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
@ -152,16 +158,15 @@ binary: common
|
|||||||
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
|
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
|
||||||
|
|
||||||
firm: binary screeninit
|
firm: binary screeninit
|
||||||
firmtool build $(OUTPUT).firm -D $(OUTPUT).elf $(OUTPUT_D)/screeninit.elf -C NDMA XDMA -S nand-retail -g
|
firmtool build $(OUTPUT).firm $(FTCOMMON) -S nand-retail -g
|
||||||
firmtool build $(OUTPUT)_dev.firm -D $(OUTPUT).elf $(OUTPUT_D)/screeninit.elf -C NDMA XDMA -S nand-dev -g
|
firmtool build $(OUTPUT)_dev.firm $(FTCOMMON) -S nand-dev -g
|
||||||
|
|
||||||
ntrboot: binary screeninit
|
ntrboot: binary screeninit
|
||||||
firmtool build $(OUTPUT)_ntr.firm -D $(OUTPUT).elf $(OUTPUT_D)/screeninit.elf -C NDMA XDMA -S spi-retail -g
|
firmtool build $(OUTPUT)_ntr.firm $(FTCOMMON) -S spi-retail -g
|
||||||
firmtool build $(OUTPUT)_ntr_dev.firm -D $(OUTPUT).elf $(OUTPUT_D)/screeninit.elf -C NDMA XDMA -S spi-dev -g
|
firmtool build $(OUTPUT)_ntr_dev.firm $(FTCOMMON) -S spi-dev -g
|
||||||
|
|
||||||
release:
|
release:
|
||||||
@-rm -fr $(BUILD) $(OUTPUT_D) $(RELEASE)
|
@-rm -fr $(BUILD) $(OUTPUT_D) $(RELEASE)
|
||||||
@$(MAKE) --no-print-directory binary
|
|
||||||
@$(MAKE) --no-print-directory firm
|
@$(MAKE) --no-print-directory firm
|
||||||
@$(MAKE) --no-print-directory ntrboot
|
@$(MAKE) --no-print-directory ntrboot
|
||||||
@[ -d $(RELEASE) ] || mkdir -p $(RELEASE)
|
@[ -d $(RELEASE) ] || mkdir -p $(RELEASE)
|
||||||
|
@ -24,13 +24,15 @@ You may now run GodMode9 via holding the X Button (or any other button you chose
|
|||||||
## How to run this / developer info
|
## How to run this / developer info
|
||||||
Copy `GodMode9.firm` to somewhere on your SD card (maybe refer to your CFW instructions) and run it from there. FIRM payloads can be ran from [Luma3DS](https://github.com/AuroraWright/Luma3DS), [boot9strap](https://github.com/SciresM/boot9strap) or from GodMode9 itself. Build this with `make firm` (requires [firmtool](https://github.com/TuxSH/firmtool) installed).
|
Copy `GodMode9.firm` to somewhere on your SD card (maybe refer to your CFW instructions) and run it from there. FIRM payloads can be ran from [Luma3DS](https://github.com/AuroraWright/Luma3DS), [boot9strap](https://github.com/SciresM/boot9strap) or from GodMode9 itself. Build this with `make firm` (requires [firmtool](https://github.com/TuxSH/firmtool) installed).
|
||||||
|
|
||||||
If you are a developer and you are building this, you may also just run `make release` to get a nice, release-ready package of all required files. To build __SafeMode9__ (a bricksafe variant of GodMode9, with limited write permissions) instead of GodMode9, compile with `make SAFEMODE=1`. To switch screens, compile with `make SWITCH_SCREENS=1`. For additional customization, you may choose the internal font via `make FONT=6X10`, `make FONT=ACORN`, `make FONT=GB` or `make FONT=ORIG`. Further customization is possible by hardcoding `aeskeydb.bin` (just put the file into the data folder when compiling). A standalone script runner is compiled by providing `autorun.gm9` inside the data folder.
|
If you are a developer and you are building this, you may also just run `make release` to get a nice, release-ready package of all required files. To build __SafeMode9__ (a bricksafe variant of GodMode9, with limited write permissions) instead of GodMode9, compile with `make SAFEMODE=1`. To switch screens, compile with `make SWITCH_SCREENS=1`. For additional customization, you may choose the internal font via `make FONT=6X10`, `make FONT=ACORN`, `make FONT=GB` or `make FONT=ORIG`.
|
||||||
|
|
||||||
|
Further customization is possible by hardcoding `aeskeydb.bin` (just put the file into the data folder when compiling). To preset `M:/vram.mem` with data of your choice (a filesystem image, maybe) provide `vram0.img` inside the data folder, but keep in mind there's a hard 3MB limit. A standalone script runner is compiled by providing `autorun.gm9` (again, in the data folder).
|
||||||
|
|
||||||
To build a .firm signed with SPI boot keys (for ntrboot and the like), run `make ntrboot`. You may need to rename the output files if the ntrboot installer you use uses hardcoded filenames. Some features such as boot9 / boot11 access are not currently available from the ntrboot environment.
|
To build a .firm signed with SPI boot keys (for ntrboot and the like), run `make ntrboot`. You may need to rename the output files if the ntrboot installer you use uses hardcoded filenames. Some features such as boot9 / boot11 access are not currently available from the ntrboot environment.
|
||||||
|
|
||||||
|
|
||||||
## Bootloader mode / NTRboot mode
|
## Bootloader mode
|
||||||
Same as [boot9strap](https://github.com/SciresM/boot9strap), GodMode9 can be installed to the system FIRM partition ('FIRM0'). When executed from a FIRM partition, GodMode9 will default to bootloader mode and try to boot, in order, `FIRM from FCRAM` (see [A9NC](https://github.com/d0k3/A9NC/releases), `0:/bootonce.firm` (will be deleted on a successful boot), `0:/boot.firm`, `1:/boot.firm`. In bootloader mode, hold R+LEFT on boot to enter the boot menu. *Installing GodMode9 to a FIRM partition is only recommended for developers and will overwrite [boot9strap](https://github.com/SciresM/boot9strap)*.
|
Same as [boot9strap](https://github.com/SciresM/boot9strap), GodMode9 can be installed to the system FIRM partition ('FIRM0'). When executed from a FIRM partition, GodMode9 will default to bootloader mode and try to boot, in order, `FIRM from FCRAM` (see [A9NC](https://github.com/d0k3/A9NC/releases)), `0:/bootonce.firm` (will be deleted on a successful boot), `0:/boot.firm`, `1:/boot.firm`. In bootloader mode, hold R+LEFT on boot to enter the boot menu. *Installing GodMode9 to a FIRM partition is only recommended for developers and will overwrite [boot9strap](https://github.com/SciresM/boot9strap)*.
|
||||||
|
|
||||||
|
|
||||||
## Write permissions system
|
## Write permissions system
|
||||||
|
Loading…
x
Reference in New Issue
Block a user