Tutorial  Updated

Install developer firmware on retail 3DS

0.16.4_superedited.jpeg

Yes, I know, this guide already exists. However, the old guide is horribly out of date and doesn't show how to prepare your own dev firmwares... something relatively important when there are so few retail encrypted firmware archives online. Hopefully this helps anyone still looking to install development firmwares.
MAKE A NAND BACKUP BEFORE DOING ANYTHING TO YOUR 3DS

As the original guide says, @Konno Ryo is not responsible for any damages to your console, and neither am I. We are only providing a means for installing development firmware, and choosing to follow either guide is ultimately your choice and your responsibility. You, and you alone are responsible for what you do to your console. Make the proper NAND backups and don't complain if you forget.

Prerequisites
- Any 2/3DS
- CFW

You only need these if following method 2!
- Computer running linux. However, WSL can be used for windows (:shit:)
- Python 2

I highly using method 1 as it is much faster and will have 100% working firmware.
Method 2 is more to give an idea of how these firmwares are created.
Getting the firmware
I've uploaded an archive of development firmware somewhere online, though seeing as they break the TOS I can't share a link. You will likely have success searching something along the lines of "CTR SystemUpdater". Good luck! You should see a collection of CIAs, CSUs, and ZIPs. Download the ZIP file for your desired version.

Note: I have not uploaded n3DS/SNAKE firmwares yet. You will need to use method 2 if that is your console.

If you are using a new 3DS, you will need the SNAKE version of the firmware.
If you are using an old 3DS, you will need the CTR version of the firmware.
Using the wrong version will cause crashes. See this page for a complete list of dumped dev firmwares.

Putting the firmware on your SD
Make a new folder on the root of your 3DS SD card called "updates"

Extract the update CIAs from ZIP file you downloaded and copy them all to "updates". It should look something like this:
1694061092368.png


Installing the firmware
Open GodMode9, select all the CIAs (right shoulder button + right dpad), then install. After that reboot and you should be done!
Sourcing the firmware
Before anything we will need to get the firmware files from the SystemUpdaterForCTR/SNAKE programs.
Unlike retail consoles, devkits can't updated through system settings, so Nintendo created the 3DS SystemUpdater software. The updaters contain a complete set of firmware in RomFS, and when run the updaters will install that firmware to the devkit. Firmware can be extracted from the SystemUpdater cartrides and decrypted/re-encrypted to work on a retail 3DS.
I've uploaded a complete archive of SystemUpdaters somewhere online, though seeing as they break the TOS I can't share a link. You will likely have success searching something along the lines of "CTR SystemUpdater". Good luck! Wherever you get them from, they must be in either CSU or CIA format.

If you are using a new 3DS, you will need the SNAKE version of the updater.
If you are using an old 3DS, you will need the CTR version of the updater.
Using the wrong version will cause crashes. See this page for a complete list of dumped updaters.

Note: If you're using my archive, I've already prepared all the firmwares and compressed them to 7z. You can use those and skip to the "installing step."

Extracting/preparing the firmware
The SystemUpdater needs a few tools to decrypt/encrypt/extract the firmware. For this guide we will use the following programs:
- decrypt.py (this is from an older version of cia-unix)
- CTRTool (download the ubuntu binary)
- CupTheCnt
- makerom (download the ubuntu binary)
- Decrypt9WIP

First we will need to change "decrypt.py" from cia-unix to use development keys for decryption. Change the line devkeys = 0 to devkeys = 1
1692215344802.png


Now run the script in your terminal. Important: make sure you have python 2. This script will not decrypt with python 3.
Note: you may need to install pycryptodome from the AUR for the script to work.
Code:
python2 decrypt.py <path_to_updater>

Next extract RomFS (this contains the update files) from the updater using CTRTool.
Code:
./ctrtool --romfs="romfs.bin" *".Main.ncch"
rm -f *".Main.ncch"
./ctrtool --romfsdir="romfs" "romfs.bin"
rm -f "romfs.bin"

Now we'll run the contents of RomFS through CupTheCnt.
Code:
./ctc "romfs/contents/CupList" "romfs/contents/Contents.cnt"
rm -r "romfs"

There should now be a folder called "updates" containing the CIA files that make up the firmware. These are still encrypted, so we'll have to use "decrypt.py" again. Note: If you can't read/write to the updates folder, please use sudo chmod 777 updates/
Code:
for CIA in updates/*.cia; do
    python2 decrypt.py ${CIA}
done
# Backup TWL titles since they can't be decrypted
mv updates/000480*.cia .
rm -r updates

The decrypted files are NCCH, so we'll need to use Decrypt9WIP on your 3DS to turn them back to CIA*. However, before that we need to rebuild titles to CIA if they specifically have a manual (see footnotes for why).
Note: you will get a "failed to sign header" warning. This is okay.
Code:
for NCCH_MANUAL in *.1.ncch; do
    ./makerom -f cia -ignoresign -target p -o "${NCCH_MANUAL//.1.ncch/.cia}" -i "${NCCH_MANUAL//.1.ncch/.0.ncch}":0:0 -i "${NCCH_MANUAL}":1:1
    rm -f "${NCCH_MANUAL//.1.ncch/.0.ncch}"
    rm -f "${NCCH_MANUAL}"
done

Next we'll move all the files into one folder to put on your SD card.
Code:
mkdir files9
# Properly rename ncch while moving
for NCCH in *.0.ncch; do
    mv "${NCCH}" files9/"${NCCH//.0.ncch/.ncch}"
done
mv *.cia files9

Copy the newly created "files9" folder to the root of your SD card. Important: make sure no "files9" folder already exists. If one is already there, back it up and remove it until this guide is completed.

Insert the SD card into your 3DS and open Decrypt9WIP. Select the menu options as shown below.
Content Decryptor Options --> CIA Builder Options --> Build CIA from NCCH/NCSD

After that is complete, choose the following to retail encrypt the firmware.
Content Decryptor Options --> CIA File Options --> CIA Encryptor (NCCH)

The tool used to install the firmware is very picky about file names, so we'll have to put the SD card back in your computer for one last operation. Navigate to the root of your SD card in your terminal. Important: make sure no "updates" folder already exists. If one is already there, back it up and remove it until this guide is completed.
Code:
mv files9 updates
for NCCH in updates/*.ncch; do
    rm -f "${NCCH}"
done
for CIA in updates/*.ncch.cia; do
    mv "${CIA}" "${CIA//.ncch.cia/.cia}"
done
rm -f updates/Decrypt9.log
NOTE: There's a high chance you'll need to download these titles from the CDN**

The firmware is finally ready to be installed!

Installing the firmware
Open GodMode9, select all the CIAs (right shoulder button + right dpad), then install. After that reboot and you should be done!

Test menu

Refer to @Konno Ryo's original information for entering the test menu. Just note that you will always need to enable developer UNITINFO in luma for test menu to work properly.

Hold select while booting and enable Set developer UNITINFO
If this option is not available to you, open SD:/luma/config.ini and set use_dev_unitinfo=1
To get Test Menu
  1. Once your at the home menu open "CONFIG", select "Menu Setting", select "Menu", press up to "test menu".
  2. Press B x2, press "Power" to reboot.
To get out of Test Menu
  1. Press Start to open DevMenu scroll to CTR-P-CFGO and press A to open "CONFIG"
  2. Select "Menu Setting", select "Menu", press down to "home menu"
  3. Press B x2, press "Power" to reboot.

Common issues

Test menu is frozen: Enable UNITINFO in luma.

Home menu crashes: Disable UNITINFO in luma.

Failed to apply X firm patch(es): You may need to get some titles from the NUS** and install them via gm9, see here for more info. If that does not work, please reply to this thread with your dev firmware region, version, and whether it's SNAKE/CTR.

Failed to decrypt the arm9 binary: See above ^

Footnotes for any nerds out there:

*In case you're wondering why I wouldn't just use makerom, system CIAs rebuilt with makerom caused my 3DS not to boot (luma failed to apply x firm patches). I do use makerom for titles like the camera which needs makerom to combine the executable NCCH and the manual NCCH, though those titles aren't as picky as things like system modules and so they won't cause problems.

**The titles in the link need to have a .firm image in RomFS decrypted, and this guide does not take that into account. You could probably fix that yourself easily enough, and if you want to go further and contribute the steps for my guide then that'd be much appreciated.
Also note that the n3DS has another layer of encryption on everything and so there's a smaller chance of success with the guide as it is now.
 

Attachments

  • CTR Update Table.png
    CTR Update Table.png
    335.1 KB · Views: 131
Last edited by rvtr,

rvtr

Nintendo DS hoarder
OP
Member
Joined
Oct 18, 2019
Messages
422
Trophies
5
Age
18
Location
Foxconn
Website
randommeaninglesscharacters.com
XP
6,161
Country
Canada
Yep, @Hayato213, something like that. But what I've gathered from IS1982, is that the newest versions have bugs apparently.
What do you mean? I have not said that, rather that the old versions are the ones with bugs. Or at least bugs with luma.
 

SylverReZ

Well-Known Member
Member
Joined
Sep 13, 2022
Messages
8,669
Trophies
6
Location
The Wired
Website
m4x1mumrez87.neocities.org
XP
26,983
Country
United Kingdom
What do you mean? I have not said that, rather that the old versions are the ones with bugs. Or at least bugs with luma.
My bad. I thought it was the newer versions that had issues; I updated to the firmware that you've provided me (somewhere like v0_25_0 dating back from around 2016 so 7-years ago). I seem to have issues trying to run DS-mode; though, booting flashcards normally using TWiLightMenu++ won't boot because it doesn't have the appropriate modules installed.
 
Last edited by SylverReZ,
  • Like
Reactions: rvtr

rvtr

Nintendo DS hoarder
OP
Member
Joined
Oct 18, 2019
Messages
422
Trophies
5
Age
18
Location
Foxconn
Website
randommeaninglesscharacters.com
XP
6,161
Country
Canada
Ah, I gotchu, my bad. I thought it was the newer versions that had issues, I updated to the firmware that you've provided me (somewhere like v0_25_0 dating back from around 2016, quite old if you ask me around 7 years). I seem to have issues trying to run DS-mode, though, my flashcards including TWiLightMenu++ won't boot cause it doesn't have the appropriate modules installed.
Sorry, didn't see your message! You did the manual method, right? TWL_FIRM is gonna be borked along with NATIVE_FIRM.

Get the retail one from the NUS or install the dev ones from the zips in my archive.

Also going to rewrite a bit of the guide to have installing from my zips be the recommended thing. Making firmware from updaters is less needed now that I've gotten everything uploaded lol
 

rvtr

Nintendo DS hoarder
OP
Member
Joined
Oct 18, 2019
Messages
422
Trophies
5
Age
18
Location
Foxconn
Website
randommeaninglesscharacters.com
XP
6,161
Country
Canada
im getting a unable to mount ctrnand error. how can i fix this?
It has been a while since I messed with 3DS firmwares so this might be a while to figure out. Answering these would help a lot:

What type of 3DS do you have? (n3DS, o3DS, o2DS, etc)
What firmware version are you installing?
What luma version are you on?
 

ROCKSHROOM90

Member
Newcomer
Joined
Mar 10, 2023
Messages
22
Trophies
0
Age
24
XP
104
Country
United States
It has been a while since I messed with 3DS firmwares so this might be a while to figure out. Answering these would help a lot:

What type of 3DS do you have? (n3DS, o3DS, o2DS, etc)
What firmware version are you installing?
What luma version are you on?
I’m using a new 2ds xl
I’m trying to install 0.35.0 US
And I haven’t updated luma since I installed it so it’s on v10.2.1
 

_collectorsrarity

Well-Known Member
Newcomer
Joined
May 26, 2024
Messages
48
Trophies
0
Age
23
XP
144
Country
Philippines
Sorry for bringing up the old thread. But why is there a lot of sysupdater versions? Which one do i need to download? (preparing before i get a 3ds)
 
  • Like
Reactions: rvtr

rvtr

Nintendo DS hoarder
OP
Member
Joined
Oct 18, 2019
Messages
422
Trophies
5
Age
18
Location
Foxconn
Website
randommeaninglesscharacters.com
XP
6,161
Country
Canada
Sorry for bringing up the old thread. But why is there a lot of sysupdater versions? Which one do i need to download? (preparing before i get a 3ds)
There are a lot of versions because nintendo had a lot of bugs to fix.

I'd recommend using the latest (0.35.0 iirc) but you can go as far back as 0.20.0 without issues. Anything past that has a good chance of not working.
 

_collectorsrarity

Well-Known Member
Newcomer
Joined
May 26, 2024
Messages
48
Trophies
0
Age
23
XP
144
Country
Philippines
There are a lot of versions because nintendo had a lot of bugs to fix.

I'd recommend using the latest (0.35.0 iirc) but you can go as far back as 0.20.0 without issues. Anything past that has a good chance of not working
Oh thank you. Didnt know you were still active lol
 
  • Like
Reactions: rvtr

DestinyBetween

Member
Newcomer
Joined
Jun 13, 2024
Messages
5
Trophies
0
Age
29
XP
16
Country
Netherlands
I have a question whats the pros of getting the developer software cause i want to know if when i do it i can make the home menu titles bigger without using 3ds bank like can i configure stuff or is it more a update without scripts and configures and more like overclocking
 
  • Like
Reactions: rvtr

SylverReZ

Well-Known Member
Member
Joined
Sep 13, 2022
Messages
8,669
Trophies
6
Location
The Wired
Website
m4x1mumrez87.neocities.org
XP
26,983
Country
United Kingdom
I have a question whats the pros of getting the developer software cause i want to know if when i do it i can make the home menu titles bigger without using 3ds bank like can i configure stuff or is it more a update without scripts and configures and more like overclocking
Only use would be running your own compiled software using the official SDKs or prototypes for that matter. Don't try to mess with the RAM settings, though, as you will soft-brick the system.
 
  • Like
Reactions: rvtr

rvtr

Nintendo DS hoarder
OP
Member
Joined
Oct 18, 2019
Messages
422
Trophies
5
Age
18
Location
Foxconn
Website
randommeaninglesscharacters.com
XP
6,161
Country
Canada
I have a question whats the pros of getting the developer software
This is something to do because it's fun, I don't think there are any benefits. CFW gives you much more than any dev firmware.
i want to know if when i do it i can make the home menu titles bigger without using 3ds bank like can i configure stuff or is it more a update without scripts and configures and more like overclocking
You can't get past the title limit with dev firmware. You'll have to keep using 3DSBank or try uninstalling that ridiculous number of games.
Post automatically merged:

Only use would be running your own compiled software using the official SDKs or prototypes for that matter.
You can just do that with luma.
 
  • Like
Reactions: SylverReZ

rvtr

Nintendo DS hoarder
OP
Member
Joined
Oct 18, 2019
Messages
422
Trophies
5
Age
18
Location
Foxconn
Website
randommeaninglesscharacters.com
XP
6,161
Country
Canada
No, I don't think so. You can only boot development software only.
Wrong. Everything should work like normal. The dev firmware is on a retail 3DS, so it will still boot retail cartridges*.

The same applies for cias. Keep in mind that the firmware itself has been converted to retail cias... if it couldn't boot those retail ones then you wouldn't be able to do anything.

I'm just guessing but probably retail keys in BIOS being unchangable means that regardless of firmware, the 3DS will always use retail keys.

*Well actually I guess the R4 would be different. For this you can disregard everything I said lol. NTR type cartridges don't seem to care any about dev/retail signing or keys. I've got a dev NTR Aging that boots on my dev and retail units. I've also got retail NTR cartridges that boot on retail and dev units.
 
Last edited by rvtr,
  • Like
Reactions: 4d1xlaan

_collectorsrarity

Well-Known Member
Newcomer
Joined
May 26, 2024
Messages
48
Trophies
0
Age
23
XP
144
Country
Philippines
Wrong. Everything should work like normal. The dev firmware is on a retail 3DS, so it will still boot retail cartridges*.

The same applies for cias. Keep in mind that the firmware itself has been converted to retail cias... if it couldn't boot those retail ones then you wouldn't be able to do anything.

I'm just guessing but probably retail keys in BIOS being unchangable means that regardless of firmware, the 3DS will always use retail keys.

*Well actually I guess the R4 would be different. For this you can disregard everything I said lol. NTR type cartridges don't seem to care any about dev/retail signing or keys. I've got a dev NTR Aging that boots on my dev and retail units. I've also got retail NTR cartridges that boot on retail and dev units.
So it means that i can use my 3DS personally with the dev firmware?
 

rvtr

Nintendo DS hoarder
OP
Member
Joined
Oct 18, 2019
Messages
422
Trophies
5
Age
18
Location
Foxconn
Website
randommeaninglesscharacters.com
XP
6,161
Country
Canada
So it means that i can use my 3DS personally with the dev firmware?
Yes. Just be aware that the test menu (the menu in the cover photo) won't be able to launch installed games. You need to boot devmenu, then select your game by the title ID... not great.

But since the test menu is an optional step, just don't enable it and you won't have to worry about that lol
 
  • Like
Reactions: SylverReZ

4d1xlaan

Well-Known Member
Member
Joined
Apr 21, 2024
Messages
1,020
Trophies
0
XP
1,108
Country
United States
I like test menu, I daily drive it and selecting games from devmenu to run isnt too much of an issue tbh

The screenshot functionality of test menu just can't be beaten in terms of quality and reliability
 
  • Like
Reactions: SylverReZ and rvtr

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: How many fingers do you think ancientbois seen with jelly on it today