mirror of
https://github.com/hacks-guide/finalize.git
synced 2024-11-23 09:09:40 +00:00
finalize: script v1.7.0
finalize_helper - check for a few more cases of user error (finalize (x).romfs) - add error #25 if gm9 fails to boot (=gm9 does not exist = insufficient sd space) finalize.gm9 - add logic to skip CIA installation
This commit is contained in:
parent
46512b4006
commit
d7080fb7e1
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
|
||||||
|
builds/
|
31
docs.md
31
docs.md
@ -1,5 +1,5 @@
|
|||||||
# Troubleshooting script errors
|
# Troubleshooting script errors
|
||||||
*As of v1.6.0 (2024/02/03)*
|
*As of v1.7.0 (2024/02/18)*
|
||||||
|
|
||||||
## Script-integrated error checking (finalize.gm9)
|
## Script-integrated error checking (finalize.gm9)
|
||||||
|
|
||||||
@ -103,7 +103,7 @@
|
|||||||
|
|
||||||
- **ERROR**: "Fatal Error #15: File creation fail"
|
- **ERROR**: "Fatal Error #15: File creation fail"
|
||||||
- **CAUSE**: 0:/gm9/flags/BACKUPFLAG could not be created
|
- **CAUSE**: 0:/gm9/flags/BACKUPFLAG could not be created
|
||||||
- **FIX**: This might happen if someone runs through NOSPACE more than once, because GodMode9 will not be able to create a file if it already exists. Ensure user has a working NAND backup and if they do then they can continue normally (move NAND backup off of SD, run script as normal).
|
- **FIX**: Shouldn't happen. Ensure user has a working NAND backup and if they do then they can continue normally (move NAND backup off of SD, run script as normal).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -152,7 +152,14 @@
|
|||||||
- **ERROR**: "Error #24: SD is write-protected"
|
- **ERROR**: "Error #24: SD is write-protected"
|
||||||
- **CAUSE**: Script failed to write "0:/WRITE" dummy file (thus, SD is locked)
|
- **CAUSE**: Script failed to write "0:/WRITE" dummy file (thus, SD is locked)
|
||||||
- **FIX**: Tell user to unlock SD; if SD is unlocked, try tape-over-the-switch method, otherwise SD card is likely failing
|
- **FIX**: Tell user to unlock SD; if SD is unlocked, try tape-over-the-switch method, otherwise SD card is likely failing
|
||||||
NOTE : You can emulate this by creating a file named WRITE with no file extension on root of SD
|
- **NOTE** You can emulate this by creating a file named WRITE with no file extension on root of SD
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
- **ERROR**: "Error #25: Could not boot GodMode9"
|
||||||
|
- **CAUSE**: GodMode9 could not be booted, probably it does not exist.
|
||||||
|
- **FIX**: This likely occurs when SD space is insufficient. Free up some space and try again. Of note is that 1.0GB+ is required anyway unless NAND backup is skipped.
|
||||||
|
- **NOTE**: This is a lazy fix to checking for free space, as doing so is difficult. This check will fail to trigger if user already has GodMode9.firm in `/luma/payloads/` (which could conceivably happen).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -166,14 +173,26 @@ NOTE : You can emulate this by creating a file named WRITE with no file extensio
|
|||||||
|
|
||||||
### BACKUPFLAG
|
### BACKUPFLAG
|
||||||
|
|
||||||
The script checks for the existence of SD:/gm9/flags/BACKUPFLAG (no file extension). If it exists, it will silently skip the NAND backup. This will be visible to the user through:
|
The script checks for the existence of `SD:/gm9/flags/BACKUPFLAG` (no file extension). If it exists, it will silently skip the NAND backup. This will be visible to the user through:
|
||||||
|
|
||||||
- The top screen displaying "Setup complete!*" with an asterisk
|
- The top screen displaying "Setup complete!*" with an asterisk
|
||||||
- A warning symbol next to the two NAND backup files on the top screen
|
- A warning symbol next to the two NAND backup files on the top screen
|
||||||
- Additional text on the bottom screen highlighting that a NAND backup was not made because one already exists
|
- Additional text on the bottom screen highlighting that a NAND backup was not made
|
||||||
|
|
||||||
|
This is created and used by the script when a NAND backup is made without a Nintendo 3DS folder ("NOSPACE"). In such instances, BACKUPFLAG is created so that when the user re-runs GodMode9 with the Nintendo 3DS folder, sufficient space for a NAND backup is not required.
|
||||||
|
|
||||||
### Checksums and changelog
|
### INSTALLFLAG
|
||||||
|
|
||||||
|
The script checks for the instance of `SD:/gm9/flags/INSTALLFLAG` (no file extension). If it exists, it will silently skip installing CIAs. This will be visible to the user through:
|
||||||
|
|
||||||
|
- The top screen displaying "Setup complete!**" with two asterisks
|
||||||
|
- Additional text on the bottom screen highlighting that CIA installation has been skipped
|
||||||
|
|
||||||
|
If BACKUPFLAG is triggered at the same time, "Setup complete!*" will take priority. The bottom screen will still warn the user that CIA installation has been skipped.
|
||||||
|
|
||||||
|
This flag can only be triggered by the user creating the file, and is intended to be used for debugging purposes (i.e. CIA installation works fine through GodMode9).
|
||||||
|
|
||||||
|
### Checksums (finalize.gm9) and changelog
|
||||||
|
|
||||||
For versions before migration to a Git repository, see [here](https://gist.github.com/lilyuwuu/8a7ce43263fe498b7fb0a403ea5eaff3).
|
For versions before migration to a Git repository, see [here](https://gist.github.com/lilyuwuu/8a7ce43263fe498b7fb0a403ea5eaff3).
|
||||||
|
|
||||||
|
371
finalize.gm9
371
finalize.gm9
@ -1,371 +0,0 @@
|
|||||||
# Script for https://3ds.hacks.guide/finalizing-setup
|
|
||||||
# Ver. 1.6.0 - Last modified: 2024-02-03
|
|
||||||
# GodMode9 scripts can be dangerous!
|
|
||||||
# Visit https://gist.github.com/lilyuwuu/8a7ce43263fe498b7fb0a403ea5eaff3 to verify the integrity of this script.
|
|
||||||
# Credits: GM9Megascript contributors ("Scripts from Plailect's Guide"), Mr. Burguers (SD card capacity check), ihaveamac (title.db stuff)
|
|
||||||
|
|
||||||
set PREVIEW_MODE "> Checking for problems...\nAsking for permission... ---\nInstalling homebrew... ---\nCopying GodMode9 to CTRNAND... ---\nCleaning up SD card... ---\nBacking up essential.exefs... ---\nBacking up NAND... ---"
|
|
||||||
|
|
||||||
# Check for missing Nintendo 3DS folder
|
|
||||||
|
|
||||||
if not find "0:/Nintendo 3DS" NULL
|
|
||||||
if find 0:/gm9/flags/BACKUPFLAG NULL
|
|
||||||
goto BACKUPDUPE
|
|
||||||
end
|
|
||||||
goto NOSPACE
|
|
||||||
end
|
|
||||||
|
|
||||||
# Check for MSET9 installation
|
|
||||||
|
|
||||||
if find "0:/Nintendo 3DS/$[SYSID0]/????????????????????????????????_user-id1" NULL
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/error18.png"
|
|
||||||
echo "Error #18: MSET9 detected\n \nMSET9 is still installed on this console.\nYou MUST remove it before continuing.\n \nFollow the instructions here:\nhttps://tinyurl.com/RemoveMSET9\n \nIf this error persists, ask for help\non Discord: https://discord.gg/MWxPgEp"
|
|
||||||
poweroff
|
|
||||||
end
|
|
||||||
|
|
||||||
# Check for missing essential.exefs
|
|
||||||
|
|
||||||
if not find S:/essential.exefs NULL
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/error02.png"
|
|
||||||
echo "Error #02: Missing essential.exefs\n \nessential.exefs does not exist.\nClose and re-open GodMode9,\nmaking sure to say Yes to the\n'Create essential files' popup."
|
|
||||||
poweroff
|
|
||||||
end
|
|
||||||
|
|
||||||
# Check for sufficient SD space
|
|
||||||
|
|
||||||
if find 0:/gm9/flags/BACKUPFLAG NULL
|
|
||||||
goto SDFREE_NEXT
|
|
||||||
end
|
|
||||||
|
|
||||||
if chk $[SDFREE] INVALID # should not happen
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/error07.png"
|
|
||||||
echo "Fatal Error #07: No SD size\n \nCould not get SD card size.\nThis should not happen.\nAsk for help on Discord:\nhttps://discord.gg/MWxPgEp"
|
|
||||||
else
|
|
||||||
strsplit -f -b SDFREE_VALUE $[SDFREE] " "
|
|
||||||
strsplit -f SDFREE_UNITS $[SDFREE] " "
|
|
||||||
if chk $[SDFREE_UNITS] GB
|
|
||||||
if chk $[ONTYPE] O3DS
|
|
||||||
goto SDFREE_NEXT
|
|
||||||
end
|
|
||||||
strsplit -f -b SDFREE_VALUE_1 $[SDFREE_VALUE] .
|
|
||||||
strsplit -f SDFREE_VALUE_2 $[SDFREE_VALUE] .
|
|
||||||
if chk -u $[SDFREE_VALUE_1] 1
|
|
||||||
goto SDFREE_NEXT
|
|
||||||
end
|
|
||||||
if chk $[SDFREE_VALUE_2] 0
|
|
||||||
elif chk $[SDFREE_VALUE_2] 1
|
|
||||||
elif chk $[SDFREE_VALUE_2] 2
|
|
||||||
elif chk $[SDFREE_VALUE_2] 3
|
|
||||||
else
|
|
||||||
goto SDFREE_NEXT
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if chk $[ONTYPE] O3DS
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/error04.png"
|
|
||||||
echo "Error #04: No space\n \nInsufficient space on SD card.\nYou need 1.0GB, but you have $[SDFREE].\nMake some space, then try again.\n \nTIP: You can temporarily remove the Nintendo 3DS\nand DCIM folders from your SD card\nto make enough space."
|
|
||||||
else
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/error04.png"
|
|
||||||
echo "Error #04: No space\n \nInsufficient space on SD card.\nYou need 1.4GB, but you have $[SDFREE].\nMake some space, then try again.\n \nTIP: You can temporarily remove the Nintendo 3DS\nand DCIM folders from your SD card\nto make enough space."
|
|
||||||
end
|
|
||||||
end
|
|
||||||
poweroff
|
|
||||||
|
|
||||||
@SDFREE_NEXT
|
|
||||||
|
|
||||||
# Check for title database
|
|
||||||
|
|
||||||
if not find A:/dbs/title.db NULL
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/error05.png"
|
|
||||||
ask "Information #05: No title database\n \nTitle database not found.\nPress (A) to automatically import one.\n(A title database is necessary\nfor this script to run.)"
|
|
||||||
goto IMPORT
|
|
||||||
end
|
|
||||||
|
|
||||||
if not imgmount A:/dbs/title.db
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/error16.png"
|
|
||||||
if ask "Error #16: Title database mount fail\n \nTitle database exists, but could not\nbe accessed.\n \nAttempt donor import?\n(If you have anything installed on\nthis console, this may result in\ninstalled digital games being rendered\n INACCESSIBLE!)"
|
|
||||||
goto IMPORT
|
|
||||||
else
|
|
||||||
poweroff
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
goto MAIN
|
|
||||||
|
|
||||||
@IMPORT
|
|
||||||
|
|
||||||
mkdir -o -s A:/dbs
|
|
||||||
|
|
||||||
if not cp -w -o -s 0:/finalize/donor.db A:/dbs/title.db
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/error12a.png"
|
|
||||||
echo "Error #12a: Copy title.db fail\n \nTitle database could not be copied to A:/dbs.\n(Is your SD card locked?)\n \nAsk for help on Discord:\nhttps://discord.gg/MWxPgEp"
|
|
||||||
poweroff
|
|
||||||
end
|
|
||||||
|
|
||||||
if not cp -w -o -s 0:/finalize/donor.db A:/dbs/import.db
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/error12b.png"
|
|
||||||
echo "Error #12b: Copy import.db fail\n \nTitle database could not be copied to A:/dbs.\n(Is your SD card locked?)\n \nAsk for help on Discord:\nhttps://discord.gg/MWxPgEp"
|
|
||||||
poweroff
|
|
||||||
end
|
|
||||||
|
|
||||||
if not fixcmac A:/dbs/title.db
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/error13a.png"
|
|
||||||
echo "Fatal Error #13a: Fix CMAC fail\n \nCMACs could not be fixed for title database.\n(How did this happen?)\n \nAsk for help on Discord:\nhttps://discord.gg/MWxPgEp"
|
|
||||||
poweroff
|
|
||||||
end
|
|
||||||
|
|
||||||
if not fixcmac A:/dbs/import.db
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/error13b.png"
|
|
||||||
echo "Fatal Error #13b: Fix CMAC fail\n \nCMACs could not be fixed for title database.\n(How did this happen?)\n \nAsk for help on Discord:\nhttps://discord.gg/MWxPgEp"
|
|
||||||
poweroff
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@MAIN
|
|
||||||
|
|
||||||
set PREVIEW_MODE "Checking for problems... DONE\n> Asking for permission...\nInstalling homebrew... ---\nCopying GodMode9 to CTRNAND... ---\nCleaning up SD card... ---\nBacking up essential.exefs... ---\nBacking up NAND... ---"
|
|
||||||
|
|
||||||
ask "This script will do the following:\n- Install base homebrew applications\n- Copy GodMode9 to CTRNAND\n- Remove unnecessary SD files\n- Create an essential.exefs backup\n- Create a NAND backup (~1GB)\n \nThis script may take up to\nfifteen minutes to complete.\n \nIf you're okay with this,\npress (A) to continue."
|
|
||||||
allow 1:
|
|
||||||
|
|
||||||
set PREVIEW_MODE "Checking for problems... DONE\nAsking for permission... DONE\n> Installing homebrew...\nCopying GodMode9 to CTRNAND... ---\nCleaning up SD card... ---\nBacking up essential.exefs... ---\nBacking up NAND... ---"
|
|
||||||
|
|
||||||
# Install base homebrew applications
|
|
||||||
|
|
||||||
if not install 0:/finalize/Anemone3DS.cia
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/error14a.png"
|
|
||||||
echo "Error #14a: CIA install fail\n \nA CIA (Anemone3DS) failed to install.\n \nTry replacing it with a freshly\ndownloaded copy, or ask for help\non Discord: https://discord.gg/MWxPgEp"
|
|
||||||
poweroff
|
|
||||||
end
|
|
||||||
|
|
||||||
if not install 0:/finalize/Checkpoint.cia
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/error14b.png"
|
|
||||||
echo "Error #14b: CIA install fail\n \nA CIA (Checkpoint) failed to install.\n \nTry replacing it with a freshly\ndownloaded copy, or ask for help\non Discord: https://discord.gg/MWxPgEp"
|
|
||||||
poweroff
|
|
||||||
end
|
|
||||||
|
|
||||||
if not install 0:/finalize/FBI.cia
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/error14c.png"
|
|
||||||
echo "Error #14c: CIA install fail\n \nA CIA (FBI) failed to install.\n \nTry replacing it with a freshly\ndownloaded copy, or ask for help\non Discord: https://discord.gg/MWxPgEp"
|
|
||||||
poweroff
|
|
||||||
end
|
|
||||||
|
|
||||||
if not install 0:/finalize/ftpd.cia
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/error14d.png"
|
|
||||||
echo "Error #14d: CIA install fail\n \nA CIA (ftpd) failed to install.\n \nTry replacing it with a freshly\ndownloaded copy, or ask for help\non Discord: https://discord.gg/MWxPgEp"
|
|
||||||
poweroff
|
|
||||||
end
|
|
||||||
|
|
||||||
if not install 0:/finalize/Homebrew_Launcher.cia
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/error14e.png"
|
|
||||||
echo "Error #14e: CIA install fail\n \nA CIA (Homebrew Launcher) failed to install.\n \nTry replacing it with a freshly\ndownloaded copy, or ask for help\non Discord: https://discord.gg/MWxPgEp"
|
|
||||||
poweroff
|
|
||||||
end
|
|
||||||
|
|
||||||
if not install 0:/finalize/Universal-Updater.cia
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/error14f.png"
|
|
||||||
echo "Error #14f: CIA install fail\n \nA CIA (Universal-Updater) failed to install.\n \nTry replacing it with a freshly\ndownloaded copy, or ask for help\non Discord: https://discord.gg/MWxPgEp"
|
|
||||||
poweroff
|
|
||||||
end
|
|
||||||
|
|
||||||
set PREVIEW_MODE "Checking for problems... DONE\nAsking for permission... DONE\nInstalling homebrew... DONE\n> Copying GodMode9 to CTRNAND...\nCleaning up SD card... ---\nBacking up essential.exefs... ---\nBacking up NAND... ---"
|
|
||||||
|
|
||||||
# Copy GodMode9 to CTRNAND
|
|
||||||
|
|
||||||
cp -w -o -s 0:/luma/payloads 1:/rw/luma/payloads
|
|
||||||
|
|
||||||
set PREVIEW_MODE "Checking for problems... DONE\nAsking for permission... DONE\nInstalling homebrew... DONE\nCopying GodMode9 to CTRNAND... DONE\n> Cleaning up SD card...\nBacking up essential.exefs... ---\nBacking up NAND... ---"
|
|
||||||
|
|
||||||
# Remove unnecessary SD files
|
|
||||||
|
|
||||||
## A9LH to B9S / Updating B9S
|
|
||||||
|
|
||||||
rm -o -s 0:/arm9loaderhax.bin
|
|
||||||
rm -o -s 0:/arm9loaderhax_si.bin
|
|
||||||
rm -o -s 0:/luma/payloads/SafeB9SInstaller.bin
|
|
||||||
rm -o -s 0:/luma/payloads/Decrypt9WIP.bin
|
|
||||||
rm -o -s 0:/luma/payloads/Hourglass9.bin
|
|
||||||
rm -o -s 0:/luma/payloads/GodMode9.bin
|
|
||||||
rm -o -s 0:/boot9strap/secret_sector.bin
|
|
||||||
|
|
||||||
## General
|
|
||||||
|
|
||||||
rm -o -s 0:/SafeB9SInstaller.bin
|
|
||||||
rm -o -s 0:/boot9strap/boot9strap.firm
|
|
||||||
rm -o -s 0:/boot9strap/boot9strap.firm.sha
|
|
||||||
|
|
||||||
## Soundhax
|
|
||||||
|
|
||||||
rm -o -s 0:/soundhax-chn-o3ds-post5.0.m4a
|
|
||||||
rm -o -s 0:/soundhax-chn-o3ds-v3.xand4.x.m4a
|
|
||||||
rm -o -s 0:/soundhax-eur-n3ds.m4a
|
|
||||||
rm -o -s 0:/soundhax-eur-o3ds-post5.0.m4a
|
|
||||||
rm -o -s 0:/soundhax-eur-o3ds-pre2.1.m4a
|
|
||||||
rm -o -s 0:/soundhax-eur-o3ds-v2.1and2.2.m4a
|
|
||||||
rm -o -s 0:/soundhax-eur-o3ds-v3.xand4.x.m4a
|
|
||||||
rm -o -s 0:/soundhax-eur-o3ds-pre2.1-post5franken.m4a
|
|
||||||
rm -o -s 0:/soundhax-eur-o3ds-v2.1and2.2-post5franken.m4a
|
|
||||||
rm -o -s 0:/soundhax-jpn-n3ds.m4a
|
|
||||||
rm -o -s 0:/soundhax-jpn-o3ds-post5.0.m4a
|
|
||||||
rm -o -s 0:/soundhax-jpn-o3ds-pre2.1.m4a
|
|
||||||
rm -o -s 0:/soundhax-jpn-o3ds-v2.1and2.2.m4a
|
|
||||||
rm -o -s 0:/soundhax-jpn-o3ds-v3.xand4.x.m4a
|
|
||||||
rm -o -s 0:/soundhax-jpn-o3ds-pre2.1-post5franken.m4a
|
|
||||||
rm -o -s 0:/soundhax-jpn-o3ds-v2.1and2.2-post5franken.m4a
|
|
||||||
rm -o -s 0:/soundhax-kor-n3ds.m4a
|
|
||||||
rm -o -s 0:/soundhax-kor-o3ds-post5.0.m4a
|
|
||||||
rm -o -s 0:/soundhax-kor-o3ds-v3.xand4.x.m4a
|
|
||||||
rm -o -s 0:/soundhax-twn-o3ds-post5.0.4m4a
|
|
||||||
rm -o -s 0:/soundhax-twn-o3ds-v3.xand4.x.m4a
|
|
||||||
rm -o -s 0:/soundhax-usa-n3ds.m4a
|
|
||||||
rm -o -s 0:/soundhax-usa-o3ds-pot5.0.m4a
|
|
||||||
rm -o -s 0:/soundhax-usa-o3ds-pre2.1.m4a
|
|
||||||
rm -o -s 0:/soundhax-usa-o3ds-v2.1and2.2.m4a
|
|
||||||
rm -o -s 0:/soundhax-usa-o3ds-v3.xand4.x.m4a
|
|
||||||
rm -o -s 0:/soundhax-usa-o3ds-pre2.1-post5franken.m4a
|
|
||||||
rm -o -s 0:/soundhax-usa-o3ds-v2.1and2.2-post5franken.m4a
|
|
||||||
rm -o -s 0:/soundhax.m4a
|
|
||||||
rm -o -s 0:/otherapp.bin
|
|
||||||
|
|
||||||
## BannerBomb3
|
|
||||||
|
|
||||||
rm -o -s 0:/bb3.bin
|
|
||||||
rm -o -s "A:/Nintendo DSiWare/F00D43D5.bin"
|
|
||||||
|
|
||||||
## unSAFE_MODE
|
|
||||||
|
|
||||||
rm -o -s 0:/usm.bin
|
|
||||||
rm -o -s 0:/3ds/slotTool/
|
|
||||||
rm -o -s 0:/3ds/slotTool.3dsx
|
|
||||||
|
|
||||||
## Fredtool / Frogtool
|
|
||||||
|
|
||||||
rm -o -s 0:/484E4441.bin
|
|
||||||
rm -o -s 0:/484E4441.bin.patched
|
|
||||||
rm -o -s 0:/frogcert.bin
|
|
||||||
rm -o -s 0:/private/ds/app/4B47554A/001/T00031_1038C2A757B77_000.ppm
|
|
||||||
rm -o -s 0:/movable.sed
|
|
||||||
rm -o -s 0:/3ds/Frogtool.3dsx
|
|
||||||
rm -o -s 0:/boot.nds
|
|
||||||
|
|
||||||
## Browser
|
|
||||||
|
|
||||||
rm -o -s 0:/browserhax_hblauncher_ropbin_payload.bin
|
|
||||||
rm -o -s 0:/arm11code.bin
|
|
||||||
|
|
||||||
## menuhax67 / nimdsphax-common (that's y i'm requesting it be made)
|
|
||||||
|
|
||||||
rm -o -s 0:/Launcher.dat # sorry gateway users
|
|
||||||
rm -o -s 0:/3ds/menuhax67_installer.3dsx
|
|
||||||
rm -o -s 0:/3ds/nimdsphax/
|
|
||||||
|
|
||||||
## Alternate Exploits
|
|
||||||
|
|
||||||
rm -o -s 0:/freaky.bin
|
|
||||||
rm -o -s 0:/steelhax/
|
|
||||||
rm -o -s 0:/petitcom_us.icn
|
|
||||||
rm -o -s 0:/petitcom_jpn.icn # technically redundant
|
|
||||||
rm -o -s 0:/petitcom_eu.icn
|
|
||||||
|
|
||||||
## MSET9
|
|
||||||
|
|
||||||
rm -o -s 0:/mset9.bat
|
|
||||||
rm -o -s 0:/mset9.command
|
|
||||||
rm -o -s 0:/mset9.py
|
|
||||||
rm -o -s 0:/b9
|
|
||||||
rm -o -s 0:/SafeB9S.bin
|
|
||||||
rm -o -s 0:/_INSTRUCTIONS.txt
|
|
||||||
rm -o -s 0:/errors.txt
|
|
||||||
|
|
||||||
set PREVIEW_MODE "Checking for problems... DONE\nAsking for permission... DONE\nInstalling homebrew... DONE\nCopying GodMode9 to CTRNAND... DONE\nCleaning up SD card... DONE\n> Backing up essential.exefs...\nBacking up NAND... ---"
|
|
||||||
|
|
||||||
# Backup essential.exefs
|
|
||||||
|
|
||||||
if not find 0:/gm9/backups NULL
|
|
||||||
mkdir 0:/gm9/backups
|
|
||||||
end
|
|
||||||
findnot 0:/gm9/backups/$[SERIAL]_essential_??.exefs OUTPATH
|
|
||||||
cp -w S:/essential.exefs $[OUTPATH]
|
|
||||||
|
|
||||||
set PREVIEW_MODE "Checking for problems... DONE\nAsking for permission... DONE\nInstalling homebrew... DONE\nCopying GodMode9 to CTRNAND... DONE\nCleaning up SD card... DONE\nBacking up essential.exefs... DONE\n> Backing up NAND..."
|
|
||||||
|
|
||||||
|
|
||||||
# NAND backup
|
|
||||||
|
|
||||||
if find 0:/gm9/flags/BACKUPFLAG NULL
|
|
||||||
goto BACKUPSKIP
|
|
||||||
end
|
|
||||||
|
|
||||||
findnot 0:/gm9/backups/$[DATESTAMP]_$[SERIAL]_sysnand_??.bin OUTPATH
|
|
||||||
|
|
||||||
if cp -h S:/nand_minsize.bin $[OUTPATH]
|
|
||||||
else
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/error06.png"
|
|
||||||
echo "Error #06: NAND backup fail\n \nThe NAND backup failed for some reason.\n(Did you cancel it?)\nAsk for help on Discord:\nhttps://discord.gg/MWxPgEp"
|
|
||||||
poweroff
|
|
||||||
end
|
|
||||||
goto CLEANUP
|
|
||||||
|
|
||||||
@NOSPACE # Contingency if SD is backed up due to lack of space
|
|
||||||
|
|
||||||
set PREVIEW_MODE "Checking for problems... No 3DS folder\n> Backing up NAND..."
|
|
||||||
if not find 0:/gm9/backups NULL
|
|
||||||
mkdir 0:/gm9/backups
|
|
||||||
end
|
|
||||||
findnot 0:/gm9/backups/$[DATESTAMP]_$[SERIAL]_sysnand_??.bin OUTPATH
|
|
||||||
|
|
||||||
if cp -h S:/nand_minsize.bin $[OUTPATH]
|
|
||||||
else
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/error06_nospace.png"
|
|
||||||
echo "Error #06: NAND backup fail\n \nThe NAND backup failed for some reason.\n(Do you have enough space?)\nAsk for help on Discord:\nhttps://discord.gg/MWxPgEp"
|
|
||||||
poweroff
|
|
||||||
end
|
|
||||||
|
|
||||||
if not find 0:/gm9/flags NULL
|
|
||||||
mkdir 0:/gm9/flags
|
|
||||||
end
|
|
||||||
set BACKUPFLAG 0:/gm9/flags/BACKUPFLAG
|
|
||||||
if not fdummy $[BACKUPFLAG] 400
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/error15.png"
|
|
||||||
echo "Fatal Error #15: File creation fail\n \nCould not create 0:/gm9/flags/BACKUPFLAG.\n(How did this happen?)\n \nAsk for help on Discord:\nhttps://discord.gg/MWxPgEp"
|
|
||||||
poweroff
|
|
||||||
end
|
|
||||||
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/emptysd_complete.png"
|
|
||||||
echo "NAND backup complete.\nCopy the two SysNAND files in SD:/gm9/backups\nto a safe location on your computer, then\ndelete them from your SD card.\nThen, copy your Nintendo 3DS folder back\nto your SD card and re-run this script.\n \nIf you don't have a Nintendo 3DS folder backup,\nopen HOME Menu, then re-run this script."
|
|
||||||
poweroff
|
|
||||||
|
|
||||||
@CLEANUP # Self-removes script and remove script flags
|
|
||||||
|
|
||||||
cp -w 0:/finalize/GM9Megascript.gm9 0:/gm9/scripts/GM9Megascript.gm9
|
|
||||||
rm -o -s 0:/gm9/scripts/finalize.gm9
|
|
||||||
rm -o -s 0:/gm9/flags
|
|
||||||
rm -o -s 0:/finalize.romfs
|
|
||||||
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/complete.png"
|
|
||||||
|
|
||||||
echo "Success: Setup complete! :D\n \nRemember to backup the contents of\nSD:/gm9/backups to somewhere safe."
|
|
||||||
rm -o -s 0:/finalize
|
|
||||||
poweroff
|
|
||||||
|
|
||||||
@BACKUPSKIP
|
|
||||||
|
|
||||||
cp -w 0:/finalize/GM9Megascript.gm9 0:/gm9/scripts/GM9Megascript.gm9
|
|
||||||
rm -o -s 0:/gm9/scripts/finalize.gm9
|
|
||||||
rm -o -s 0:/gm9/flags
|
|
||||||
rm -o -s 0:/finalize.romfs
|
|
||||||
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/complete_backupflag.png"
|
|
||||||
|
|
||||||
echo "Success: Setup complete! :D\n \nRemember to backup the contents of\nSD:/gm9/backups to somewhere safe.\n \nWARNING: NAND backup automatically skipped \ndue to existing backup!\nIf you need to make another backup,\nfollow these instructions:\nhttps://tinyurl.com/gm9nandbackup"
|
|
||||||
rm -o -s 0:/finalize
|
|
||||||
poweroff
|
|
||||||
|
|
||||||
@BACKUPDUPE
|
|
||||||
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/error17.png"
|
|
||||||
|
|
||||||
ask "Information #17: Duplicate NAND backup\nIt looks like you've already made a NAND backup.\n \nIf you want to install homebrew applications,\nyou should copy your NAND backup from\nSD:/gm9/backups to a safe location on your computer,\ndelete the backup from the SD card, and\ncopy the Nintendo 3DS folder back to your SD card.\n(If you've lost the folder, you can regenerate\none by opening HOME Menu with this SD inserted.)\n \nPress (A) to make another NAND backup anyway.\nPress (B) to cancel."
|
|
||||||
goto NOSPACE
|
|
||||||
|
|
||||||
|
|
@ -1,9 +1,11 @@
|
|||||||
# Script for https://3ds.hacks.guide/finalizing-setup
|
# Script for https://3ds.hacks.guide/finalizing-setup
|
||||||
# Ver. 1.6.0 - Last modified: 2024-02-03
|
# Ver. 1.7.0 - Last modified: 2024-02-18
|
||||||
# GodMode9 scripts can be dangerous!
|
# GodMode9 scripts can be dangerous!
|
||||||
# Visit https://gist.github.com/lilyuwuu/8a7ce43263fe498b7fb0a403ea5eaff3 to verify the integrity of this script.
|
# Visit https://gist.github.com/lilyuwuu/8a7ce43263fe498b7fb0a403ea5eaff3 to verify the integrity of this script.
|
||||||
# Credits: GM9Megascript contributors ("Scripts from Plailect's Guide"), Mr. Burguers (SD card capacity check), ihaveamac (title.db stuff)
|
# Credits: GM9Megascript contributors ("Scripts from Plailect's Guide"), Mr. Burguers (SD card capacity check), ihaveamac (title.db stuff)
|
||||||
|
|
||||||
|
rm -o -s 0:/luma/payloads/finalize_helper.firm
|
||||||
|
|
||||||
set PREVIEW_MODE "> Checking for problems...\nAsking for permission... ---\nInstalling homebrew... ---\nCopying GodMode9 to CTRNAND... ---\nCleaning up SD card... ---\nBacking up essential.exefs... ---\nBacking up NAND... ---"
|
set PREVIEW_MODE "> Checking for problems...\nAsking for permission... ---\nInstalling homebrew... ---\nCopying GodMode9 to CTRNAND... ---\nCleaning up SD card... ---\nBacking up essential.exefs... ---\nBacking up NAND... ---"
|
||||||
|
|
||||||
# Check for missing Nintendo 3DS folder
|
# Check for missing Nintendo 3DS folder
|
||||||
@ -19,7 +21,7 @@ end
|
|||||||
|
|
||||||
if find "0:/Nintendo 3DS/$[SYSID0]/????????????????????????????????_user-id1" NULL
|
if find "0:/Nintendo 3DS/$[SYSID0]/????????????????????????????????_user-id1" NULL
|
||||||
set PREVIEW_MODE "0:/finalize/img/error18.png"
|
set PREVIEW_MODE "0:/finalize/img/error18.png"
|
||||||
echo "Error #18: MSET9 detected\n \nMSET9 is still installed on this console.\nYou MUST remove it before continuing.\n \nFollow the instructions here:\nhttps://tinyurl.com/RemoveMSET9\n \nIf this error persists, ask for help\non Discord: https://discord.gg/MWxPgEp"
|
echo "Error #18: MSET9 detected\n \nMSET9 is still installed on this console.\nYou MUST remove it before continuing.\nScan the QR code above for instructions.\n \nIf this error persists, ask for help\non Discord: https://discord.gg/MWxPgEp"
|
||||||
poweroff
|
poweroff
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -72,6 +74,15 @@ poweroff
|
|||||||
|
|
||||||
@SDFREE_NEXT
|
@SDFREE_NEXT
|
||||||
|
|
||||||
|
# If INSTALLFLAG exists, show setup message that skips CIA install
|
||||||
|
|
||||||
|
if find 0:/gm9/flags/INSTALLFLAG NULL
|
||||||
|
set PREVIEW_MODE "Checking for problems... DONE\n> Asking for permission...\nInstalling homebrew... SKIP\nCopying GodMode9 to CTRNAND... ---\nCleaning up SD card... ---\nBacking up essential.exefs... ---\nBacking up NAND... ---"
|
||||||
|
ask "This script will do the following:\n- Copy GodMode9 to CTRNAND\n- Remove unnecessary SD files\n- Create an essential.exefs backup\n- Create a NAND backup (~1GB)\n \nThis script may take up to\nfifteen minutes to complete.\n \nIf you're okay with this,\npress (A) to continue."
|
||||||
|
allow 1:
|
||||||
|
goto INSTALL_NEXT
|
||||||
|
end
|
||||||
|
|
||||||
# Check for title database
|
# Check for title database
|
||||||
|
|
||||||
if not find A:/dbs/title.db NULL
|
if not find A:/dbs/title.db NULL
|
||||||
@ -123,6 +134,8 @@ end
|
|||||||
|
|
||||||
@MAIN
|
@MAIN
|
||||||
|
|
||||||
|
# Ask for consent here
|
||||||
|
|
||||||
set PREVIEW_MODE "Checking for problems... DONE\n> Asking for permission...\nInstalling homebrew... ---\nCopying GodMode9 to CTRNAND... ---\nCleaning up SD card... ---\nBacking up essential.exefs... ---\nBacking up NAND... ---"
|
set PREVIEW_MODE "Checking for problems... DONE\n> Asking for permission...\nInstalling homebrew... ---\nCopying GodMode9 to CTRNAND... ---\nCleaning up SD card... ---\nBacking up essential.exefs... ---\nBacking up NAND... ---"
|
||||||
|
|
||||||
ask "This script will do the following:\n- Install base homebrew applications\n- Copy GodMode9 to CTRNAND\n- Remove unnecessary SD files\n- Create an essential.exefs backup\n- Create a NAND backup (~1GB)\n \nThis script may take up to\nfifteen minutes to complete.\n \nIf you're okay with this,\npress (A) to continue."
|
ask "This script will do the following:\n- Install base homebrew applications\n- Copy GodMode9 to CTRNAND\n- Remove unnecessary SD files\n- Create an essential.exefs backup\n- Create a NAND backup (~1GB)\n \nThis script may take up to\nfifteen minutes to complete.\n \nIf you're okay with this,\npress (A) to continue."
|
||||||
@ -170,12 +183,22 @@ end
|
|||||||
|
|
||||||
set PREVIEW_MODE "Checking for problems... DONE\nAsking for permission... DONE\nInstalling homebrew... DONE\n> Copying GodMode9 to CTRNAND...\nCleaning up SD card... ---\nBacking up essential.exefs... ---\nBacking up NAND... ---"
|
set PREVIEW_MODE "Checking for problems... DONE\nAsking for permission... DONE\nInstalling homebrew... DONE\n> Copying GodMode9 to CTRNAND...\nCleaning up SD card... ---\nBacking up essential.exefs... ---\nBacking up NAND... ---"
|
||||||
|
|
||||||
|
@INSTALL_NEXT
|
||||||
|
|
||||||
|
if find 0:/gm9/flags/INSTALLFLAG NULL
|
||||||
|
set PREVIEW_MODE "Checking for problems... DONE\nAsking for permission... DONE\nInstalling homebrew... SKIP\n> Copying GodMode9 to CTRNAND...\n> Cleaning up SD card...\nBacking up essential.exefs... ---\nBacking up NAND... ---"
|
||||||
|
end
|
||||||
|
|
||||||
# Copy GodMode9 to CTRNAND
|
# Copy GodMode9 to CTRNAND
|
||||||
|
|
||||||
cp -w -o -s 0:/luma/payloads 1:/rw/luma/payloads
|
cp -w -o -s 0:/luma/payloads 1:/rw/luma/payloads
|
||||||
|
|
||||||
set PREVIEW_MODE "Checking for problems... DONE\nAsking for permission... DONE\nInstalling homebrew... DONE\nCopying GodMode9 to CTRNAND... DONE\n> Cleaning up SD card...\nBacking up essential.exefs... ---\nBacking up NAND... ---"
|
set PREVIEW_MODE "Checking for problems... DONE\nAsking for permission... DONE\nInstalling homebrew... DONE\nCopying GodMode9 to CTRNAND... DONE\n> Cleaning up SD card...\nBacking up essential.exefs... ---\nBacking up NAND... ---"
|
||||||
|
|
||||||
|
if find 0:/gm9/flags/INSTALLFLAG NULL
|
||||||
|
set PREVIEW_MODE "Checking for problems... DONE\nAsking for permission... DONE\nInstalling homebrew... SKIP\nCopying GodMode9 to CTRNAND... ---\n> Cleaning up SD card...\nBacking up essential.exefs... ---\nBacking up NAND... ---"
|
||||||
|
end
|
||||||
|
|
||||||
# Remove unnecessary SD files
|
# Remove unnecessary SD files
|
||||||
|
|
||||||
## A9LH to B9S / Updating B9S
|
## A9LH to B9S / Updating B9S
|
||||||
@ -279,6 +302,10 @@ rm -o -s 0:/errors.txt
|
|||||||
|
|
||||||
set PREVIEW_MODE "Checking for problems... DONE\nAsking for permission... DONE\nInstalling homebrew... DONE\nCopying GodMode9 to CTRNAND... DONE\nCleaning up SD card... DONE\n> Backing up essential.exefs...\nBacking up NAND... ---"
|
set PREVIEW_MODE "Checking for problems... DONE\nAsking for permission... DONE\nInstalling homebrew... DONE\nCopying GodMode9 to CTRNAND... DONE\nCleaning up SD card... DONE\n> Backing up essential.exefs...\nBacking up NAND... ---"
|
||||||
|
|
||||||
|
if find 0:/gm9/flags/INSTALLFLAG NULL
|
||||||
|
set PREVIEW_MODE "Checking for problems... DONE\nAsking for permission... DONE\nInstalling homebrew... SKIP\nCopying GodMode9 to CTRNAND... DONE\nCleaning up SD card... DONE\n> Backing up essential.exefs...\n> Backing up NAND... ---"
|
||||||
|
end
|
||||||
|
|
||||||
# Backup essential.exefs
|
# Backup essential.exefs
|
||||||
|
|
||||||
if not find 0:/gm9/backups NULL
|
if not find 0:/gm9/backups NULL
|
||||||
@ -289,6 +316,9 @@ cp -w S:/essential.exefs $[OUTPATH]
|
|||||||
|
|
||||||
set PREVIEW_MODE "Checking for problems... DONE\nAsking for permission... DONE\nInstalling homebrew... DONE\nCopying GodMode9 to CTRNAND... DONE\nCleaning up SD card... DONE\nBacking up essential.exefs... DONE\n> Backing up NAND..."
|
set PREVIEW_MODE "Checking for problems... DONE\nAsking for permission... DONE\nInstalling homebrew... DONE\nCopying GodMode9 to CTRNAND... DONE\nCleaning up SD card... DONE\nBacking up essential.exefs... DONE\n> Backing up NAND..."
|
||||||
|
|
||||||
|
if find 0:/gm9/flags/INSTALLFLAG NULL
|
||||||
|
set PREVIEW_MODE "Checking for problems... DONE\nAsking for permission... DONE\nInstalling homebrew... SKIP\nCopying GodMode9 to CTRNAND... DONE\nCleaning up SD card... DONE\nBacking up essential.exefs... DONE\n> Backing up NAND... ---"
|
||||||
|
end
|
||||||
|
|
||||||
# NAND backup
|
# NAND backup
|
||||||
|
|
||||||
@ -324,6 +354,10 @@ end
|
|||||||
if not find 0:/gm9/flags NULL
|
if not find 0:/gm9/flags NULL
|
||||||
mkdir 0:/gm9/flags
|
mkdir 0:/gm9/flags
|
||||||
end
|
end
|
||||||
|
if find 0:/gm9/flags/BACKUPFLAG NULL
|
||||||
|
rm -o -s 0:/gm9/flags/BACKUPFLAG
|
||||||
|
end
|
||||||
|
|
||||||
set BACKUPFLAG 0:/gm9/flags/BACKUPFLAG
|
set BACKUPFLAG 0:/gm9/flags/BACKUPFLAG
|
||||||
if not fdummy $[BACKUPFLAG] 400
|
if not fdummy $[BACKUPFLAG] 400
|
||||||
set PREVIEW_MODE "0:/finalize/img/error15.png"
|
set PREVIEW_MODE "0:/finalize/img/error15.png"
|
||||||
@ -337,28 +371,39 @@ poweroff
|
|||||||
|
|
||||||
@CLEANUP # Self-removes script and remove script flags
|
@CLEANUP # Self-removes script and remove script flags
|
||||||
|
|
||||||
|
if find 0:/gm9/flags/INSTALLFLAG NULL
|
||||||
|
set PREVIEW_MODE "Checking for problems... DONE\nAsking for permission... DONE\nInstalling homebrew... SKIP\nCopying GodMode9 to CTRNAND... DONE\nCleaning up SD card... DONE\nBacking up essential.exefs... DONE\nBacking up NAND... DONE"
|
||||||
|
goto INSTALLSKIP
|
||||||
|
end
|
||||||
|
|
||||||
cp -w 0:/finalize/GM9Megascript.gm9 0:/gm9/scripts/GM9Megascript.gm9
|
cp -w 0:/finalize/GM9Megascript.gm9 0:/gm9/scripts/GM9Megascript.gm9
|
||||||
rm -o -s 0:/gm9/scripts/finalize.gm9
|
rm -o -s 0:/gm9/scripts/finalize.gm9
|
||||||
rm -o -s 0:/gm9/flags
|
|
||||||
rm -o -s 0:/finalize.romfs
|
rm -o -s 0:/finalize.romfs
|
||||||
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/complete.png"
|
set PREVIEW_MODE "0:/finalize/img/complete.png"
|
||||||
|
|
||||||
echo "Success: Setup complete! :D\n \nRemember to backup the contents of\nSD:/gm9/backups to somewhere safe."
|
echo "Success: Setup complete! :D\n \nRemember to backup the contents of\nSD:/gm9/backups to somewhere safe."
|
||||||
rm -o -s 0:/finalize
|
rm -o -s 0:/finalize
|
||||||
|
rm -o -s 0:/gm9/flags
|
||||||
|
|
||||||
poweroff
|
poweroff
|
||||||
|
|
||||||
@BACKUPSKIP
|
@BACKUPSKIP
|
||||||
|
|
||||||
cp -w 0:/finalize/GM9Megascript.gm9 0:/gm9/scripts/GM9Megascript.gm9
|
cp -w 0:/finalize/GM9Megascript.gm9 0:/gm9/scripts/GM9Megascript.gm9
|
||||||
rm -o -s 0:/gm9/scripts/finalize.gm9
|
rm -o -s 0:/gm9/scripts/finalize.gm9
|
||||||
rm -o -s 0:/gm9/flags
|
|
||||||
rm -o -s 0:/finalize.romfs
|
rm -o -s 0:/finalize.romfs
|
||||||
|
|
||||||
set PREVIEW_MODE "0:/finalize/img/complete_backupflag.png"
|
set PREVIEW_MODE "0:/finalize/img/complete_backupflag.png"
|
||||||
|
|
||||||
echo "Success: Setup complete! :D\n \nRemember to backup the contents of\nSD:/gm9/backups to somewhere safe.\n \nWARNING: NAND backup automatically skipped \ndue to existing backup!\nIf you need to make another backup,\nfollow these instructions:\nhttps://tinyurl.com/gm9nandbackup"
|
if find 0:/gm9/flags/INSTALLFLAG NULL
|
||||||
|
echo "Success: Setup complete! :D\n \nRemember to backup the contents of\nSD:/gm9/backups to somewhere safe.\n \nWARNING: NAND backup automatically skipped!\nIf you need to make another backup,\nfollow these instructions:\nhttps://tinyurl.com/gm9nandbackup\nWARNING: CIA install skipped by user request!"
|
||||||
|
else
|
||||||
|
echo "Success: Setup complete! :D\n \nRemember to backup the contents of\nSD:/gm9/backups to somewhere safe.\n \nWARNING: NAND backup automatically skipped!\nIf you need to make another backup,\nfollow these instructions:\nhttps://tinyurl.com/gm9nandbackup"
|
||||||
|
end
|
||||||
|
|
||||||
rm -o -s 0:/finalize
|
rm -o -s 0:/finalize
|
||||||
|
rm -o -s 0:/gm9/flags
|
||||||
poweroff
|
poweroff
|
||||||
|
|
||||||
@BACKUPDUPE
|
@BACKUPDUPE
|
||||||
@ -368,4 +413,18 @@ set PREVIEW_MODE "0:/finalize/img/error17.png"
|
|||||||
ask "Information #17: Duplicate NAND backup\nIt looks like you've already made a NAND backup.\n \nIf you want to install homebrew applications,\nyou should copy your NAND backup from\nSD:/gm9/backups to a safe location on your computer,\ndelete the backup from the SD card, and\ncopy the Nintendo 3DS folder back to your SD card.\n(If you've lost the folder, you can regenerate\none by opening HOME Menu with this SD inserted.)\n \nPress (A) to make another NAND backup anyway.\nPress (B) to cancel."
|
ask "Information #17: Duplicate NAND backup\nIt looks like you've already made a NAND backup.\n \nIf you want to install homebrew applications,\nyou should copy your NAND backup from\nSD:/gm9/backups to a safe location on your computer,\ndelete the backup from the SD card, and\ncopy the Nintendo 3DS folder back to your SD card.\n(If you've lost the folder, you can regenerate\none by opening HOME Menu with this SD inserted.)\n \nPress (A) to make another NAND backup anyway.\nPress (B) to cancel."
|
||||||
goto NOSPACE
|
goto NOSPACE
|
||||||
|
|
||||||
|
@INSTALLSKIP
|
||||||
|
|
||||||
|
cp -w 0:/finalize/GM9Megascript.gm9 0:/gm9/scripts/GM9Megascript.gm9
|
||||||
|
rm -o -s 0:/gm9/scripts/finalize.gm9
|
||||||
|
rm -o -s 0:/finalize.romfs
|
||||||
|
|
||||||
|
set PREVIEW_MODE "0:/finalize/img/complete_installflag.png"
|
||||||
|
|
||||||
|
echo "Success: Setup complete! :D\n \nRemember to backup the contents of\nSD:/gm9/backups to somewhere safe.\n \nWARNING: CIA install skipped by user request!"
|
||||||
|
rm -o -s 0:/finalize
|
||||||
|
rm -o -s 0:/gm9/flags
|
||||||
|
|
||||||
|
poweroff
|
||||||
|
|
||||||
|
|
||||||
|
BIN
finalize/img/complete_installflag.png
Normal file
BIN
finalize/img/complete_installflag.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 80 KiB |
Binary file not shown.
Before Width: | Height: | Size: 102 KiB After Width: | Height: | Size: 106 KiB |
@ -1,5 +1,5 @@
|
|||||||
# Scriptrunner for https://3ds.hacks.guide/finalizing-setup file copying operations
|
# Scriptrunner for https://3ds.hacks.guide/finalizing-setup file copying operations
|
||||||
# Ver. 1.0.1 - Last modified: 2024-02-04
|
# Ver. 1.7.0 - Last modified: 2024-02-18
|
||||||
|
|
||||||
set PREVIEW_MODE "Finalizing Setup Helper Script\n> Copying SD files..."
|
set PREVIEW_MODE "Finalizing Setup Helper Script\n> Copying SD files..."
|
||||||
|
|
||||||
@ -12,6 +12,37 @@ else
|
|||||||
poweroff
|
poweroff
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if find -f "0:/finalize (*).romfs" ROMFS
|
||||||
|
cp -w -o -s $[ROMFS] 0:/finalize.romfs
|
||||||
|
rm -o -s $[ROMFS]
|
||||||
|
end
|
||||||
|
|
||||||
|
if find -f "0:/3ds/finalize (*).romfs" ROMFS
|
||||||
|
cp -w -o -s $[ROMFS] 0:/finalize.romfs
|
||||||
|
rm -o -s $[ROMFS]
|
||||||
|
end
|
||||||
|
|
||||||
|
if find -f "0:/luma/payloads/finalize (*).romfs" ROMFS
|
||||||
|
cp -w -o -s $[ROMFS] 0:/finalize.romfs
|
||||||
|
rm -o -s $[ROMFS]
|
||||||
|
end
|
||||||
|
|
||||||
|
if find -f "0:/luma/finalize (*).romfs" ROMFS
|
||||||
|
cp -w -o -s $[ROMFS] 0:/finalize.romfs
|
||||||
|
rm -o -s $[ROMFS]
|
||||||
|
end
|
||||||
|
|
||||||
|
if find -f "0:/DCIM/finalize (*).romfs" ROMFS
|
||||||
|
cp -w -o -s $[ROMFS] 0:/finalize.romfs
|
||||||
|
rm -o -s $[ROMFS]
|
||||||
|
end
|
||||||
|
|
||||||
|
if find -f "0:/Nintendo 3DS/finalize (*).romfs" ROMFS
|
||||||
|
echo "Information #23: finalize.romfs in wrong location\n \nfinalize.romfs is in the wrong location.\nThis script will attempt to move it.\nPlease hit <A> on the next few prompts."
|
||||||
|
cp -w -o -s $[ROMFS] 0:/finalize.romfs
|
||||||
|
rm -o -s $[ROMFS]
|
||||||
|
end
|
||||||
|
|
||||||
if find 0:/3ds/finalize.romfs NULL
|
if find 0:/3ds/finalize.romfs NULL
|
||||||
cp -w -o -s 0:/3ds/finalize.romfs 0:/finalize.romfs
|
cp -w -o -s 0:/3ds/finalize.romfs 0:/finalize.romfs
|
||||||
rm -o -s 0:/3ds/finalize.romfs
|
rm -o -s 0:/3ds/finalize.romfs
|
||||||
@ -44,7 +75,7 @@ if not find 0:/finalize.romfs NULL
|
|||||||
poweroff
|
poweroff
|
||||||
end
|
end
|
||||||
|
|
||||||
if not sha 0:/finalize.romfs F3DF0B1E6AED70A0A43BFEDEC62357565B4B646B9E6C6DD75BC01A98CE630DE4
|
if not sha 0:/finalize.romfs 73F93573C74A7A9F6443C52AD6D4AD701485B55B48B008D3A3DBD1B2F651A999
|
||||||
set PREVIEW_MODE "Finalizing Setup Helper Script\n> Copying SD files... :("
|
set PREVIEW_MODE "Finalizing Setup Helper Script\n> Copying SD files... :("
|
||||||
echo "Error #22: finalize.romfs is invalid\n \nThe file finalize.romfs is corrupt or unreadable.\nRe-download it, copy it to root of SD, and try again."
|
echo "Error #22: finalize.romfs is invalid\n \nThe file finalize.romfs is corrupt or unreadable.\nRe-download it, copy it to root of SD, and try again."
|
||||||
poweroff
|
poweroff
|
||||||
@ -59,8 +90,10 @@ else
|
|||||||
mkdir 0:/gm9/scripts
|
mkdir 0:/gm9/scripts
|
||||||
end
|
end
|
||||||
cp -w -o -s 0:/finalize/finalize.gm9 0:/gm9/scripts/finalize.gm9
|
cp -w -o -s 0:/finalize/finalize.gm9 0:/gm9/scripts/finalize.gm9
|
||||||
rm -o -s 0:/luma/payloads/finalize_helper.firm
|
|
||||||
rm -o -s 0:/finalize.romfs
|
rm -o -s 0:/finalize.romfs
|
||||||
end
|
end
|
||||||
|
|
||||||
boot 0:/luma/payloads/GodMode9.firm
|
if not boot 0:/luma/payloads/GodMode9.firm
|
||||||
|
echo "Error #25: Could not boot GodMode9\n \nThis normally happens due to insufficient SD space.\nPlease make at least 20MB of free space."
|
||||||
|
poweroff
|
||||||
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user