Tutorial  Updated

How to compile and install arm9loaderhax

This guide is probably obsolete, use this instead. Just drag your otp.bin to your browser window and it will compile it for you, I'm leaving the original guide below for those who likes to DIY.

Original post:

Hopefully this guide should silence the whiners:P

Before we begin I have to say this is my very first guide that I made from my experience and information from other Temp members, and English isn't my primary language so I might make mistakes. If you find any just tell me and I'll try my best to correct them. (The screenshot in the spoiler was taken in OS X with wineskin because I'm lazy, this guide is for Windows only)

So you just dumped your OTP and wondering how do you compile A9LH for your 3DS? Here's a guide to instruct you how to compile and install the payload on your device. This guide assumes you know the basics of 3DS homebrew and Windows command prompt,and just stay away from this if you don't - menuhax is good enough for most people IMO. (I am serious)

DISCLAIMER: Any modifications to your 3DS are done at your own risk. I am not responsible for any bricks that may occur during this process (use your common sense and read the guide carefully)

0. Requirements:
1. Preparation
  1. If you have an existing install of Python 3.x/32-bit 2.7.x, remove it first
  2. Install Python 2.7 x86-64, make sure you install "add python.exe to patch" sub feature during installation (it's not set by default)
    python_windows_installation_customize_python.jpg
  3. Install PyCrypto
  4. Install devkitPro 1.6.0, you will be be presented with tons of packages but the only ones we're interested are under devkitARM, simply uncheck everything else.
    tutorial copy.png
  5. Install Make, you should download the file with md5:8ae51379d1f3eef8360df4e674f17d6d
2. Compile A9LH
  1. Extract the A9LH source to any directory
  2. Copy your OTP.bin to the data_input folder and overwrite the one that's included with the zip file
  3. Open a CMD window (Shift+right click on the explorer window or cd into it manually)at the root directory of the source files, type "make" (without quotes) and enter.
  4. Wait for a minute or so, a data_output folder will appear and there should be no errors
  5. Copy the arm9loaderhax.3dsx file from the newly created folder to /3ds/ on your SD card (the installer is built specifically for the 3DS you dumped its OTP from, if you want to install A9LH on more than one 3DS you will to recompile the payload with their respective OTP.bin files)
3.1 Installing A9LH
  1. Ensure you have a dump of your SysNAND before you continue
  2. Enter hblauncher using an entry point of your choice
  3. Run arm9loaderhax.3dsx (see below if you're stuck on "exploiting arm9")
  4. The payload will be installed to your NAND and your 3DS will then be rebooted to black screens afterwards. Don't panic, turn off your 3DS
3.2 "exploiting arm9" workaround (required for n3DS, not sure about o3DS)
  1. Download and copy the miniPasta 3dsx to your SD card
  2. Run miniPasta, the screen will turn black for a few seconds and you will be kicked back to home menu afterwards
  3. Re-enter hblauncher and try running the A9LH installer again
4. Testing the payload + conclusion
There's a test binary (forgot who made it) that will power off your 3DS upon pressing any buttons except ZL, ZR or home. Simply copy it to the root of your SD card, wait for a couple seconds and press a button. If your 3DS powers off, then A9LH is successfully installed and woking correctly (congrats:grog:). If your 3DS powers off the moment you turn it on, check if the file is named "arm9loaderhax.bin" and placed in the root directory, if it power led stay on and won't respond to button pressed then your 3DS is probably bricked :(
If you want a cold boot (permanent) CFW (the reason to get A9LH in the first place), check out @Aurora Wright's ReiNand fork. She already documented it very well so I'm not going through it in this thread

FAQ
Q: I'm getting "python: command not found"
A: Make sure you select "add python.exe to path" during installation, alternatively you can set the PATH variable manually by entering this in cmd (Thanks @Kever)
Code:
set PATH=C:\Python27;%PATH%
Q: How to uninstall A9LH?[/SIZE][/SIZE]
A: Restore a sysNAND backup made before running arm9loaderhax.3dsx
 
Last edited by lefthandsword,

dkabot

Better With Others' Systems Than Their Own
Member
Joined
Sep 9, 2014
Messages
1,042
Trophies
0
XP
626
Country
United States
I can use the arm9loaderhax.bin linked in the tutorial, but for some reason i can't boot AuiReiNAND.
Did you ensure the other files for ReiNAND are present, ie "rei" folder and firmware/firmware90.bins?
 

swungtwisty437

Member
Newcomer
Joined
Feb 21, 2016
Messages
13
Trophies
0
XP
118
Country
United States
A9LH installer will start by flashing a NAND backup from NAND.bin, if one exists.
A black screen with a blue light might mean it worked, do you have an arm9loaderhax.bin on your SD card?
I bricked with A9LH, and I can tell you it was not a black screen.
I hope that's the problem. I'll check when I get back home.
 

dkabot

Better With Others' Systems Than Their Own
Member
Joined
Sep 9, 2014
Messages
1,042
Trophies
0
XP
626
Country
United States
I got myself an OTP, but does anyone got a guide to compiling this on Linux or be willing to compile mine for me?
There's a good number of people willing to (though not myself, I hold no trust in it atm).
I just set up an Ubuntu instance, made sure I had Python 2.7, grabbed pip to make sure I had pycrypto (it appears I did), installed devkitARM r45 (comes with libctru) and ran "make".
The one branch of a9lh repo has all the files you need besides OTP, so just delete the included one, toss in yours (lowercase name), run "make" and pray.
 

VaiCorinthians

Well-Known Member
Member
Joined
Oct 7, 2014
Messages
461
Trophies
0
Age
39
Location
GB
XP
471
Country
Papua New Guinea
arm9loaderhax.3dsx Installation Guide

01. Copy the .3dsx into your homebrew folder {/3ds}
02. Once the files are copied over insert your sd card into 3ds
03. Load into the Homebrew menu from sysnand using your preferred method {if you have no setup use browserhax by scanning the qr code athttp://yls8.mtheall.com/3dsbrowserhax.php }
04. Run arm9loaderhax.3dsx - you should know when its done
a. if it hangs on "exploiting arm9..." for over a minute power off and repeat steps 3-4
b. if after repeated attempts it fails, try launching it through minipasta/rxtools dev/pasta mode
5. If you have an arm9loaderhax.bin in the root of your sd card it should automatically boot into into emunand
a. To access sysnand in AuReiNand hold down L before & while booting
b. If you have any files in the wrong place after installing arm9loaderhax your 3ds will display a black screen, this does not mean a brick, double check your files, one is probably just misplaced

for cfw i recommend AuReiNand 3.5.2 http://gbatemp.net/threads/reinand-mod-o3ds-n3ds-sysnand.411110/

Link to the build https://github.com/AuroraWright/AuReiNand/releases/
Link to the required firm files http://www99.zippyshare.com/v/kEIiQl0x/file.html


@Trill Spector sent this tutorial to me. It was useful.
 
Last edited by VaiCorinthians,

dkabot

Better With Others' Systems Than Their Own
Member
Joined
Sep 9, 2014
Messages
1,042
Trophies
0
XP
626
Country
United States
What is arm9loaderhax?
What is a OTP?
What does this allow you to do?
Are there any minimum firmware requirements?
The fact that you know none of this means you probably shouldn't continue.

That said, A9LH is the newest in bleeding-edge tech, running an Arm9 payload (think Brahma, but no screen atm) at boot before anything else.
OTP is One-Time Programmable. It contains system-specific data and takes a downgrade to 2.1 to get due to it being locked out in 3.0+
Existing guides are based around starting on a 9.2 SysNAND, so I guess that (though anything could start, since 10.3 can downgrade and 10.4/5 can hardmod and downgrade)

Its usefulness is currently a fast booting EmuNAND (or updated, hax'd SysNAND) with no 3D bug on N3DS and some slight/future brick protection.
 
  • Like
Reactions: lefthandsword

dkabot

Better With Others' Systems Than Their Own
Member
Joined
Sep 9, 2014
Messages
1,042
Trophies
0
XP
626
Country
United States
Last edited by dkabot,

The Catboy

GBAtemp Official Catboy™: Boywife
Member
Joined
Sep 13, 2009
Messages
27,978
Trophies
4
Location
Making a non-binary fuss
XP
39,446
Country
Antarctica
Odd.
I presume it's been fixed and works, now?

---

Do you have the required "new3ds90.firm" (and the other files, while you're at it) in the "data-input" folder?
I have the files pulled from the git. Honestly, I am getting no where here. I sent the two people offering to compile a message, so hopefully they will be getting back to me soon. ^_^
 

dkabot

Better With Others' Systems Than Their Own
Member
Joined
Sep 9, 2014
Messages
1,042
Trophies
0
XP
626
Country
United States
I have the files pulled from the git. Honestly, I am getting no where here. I sent the two people offering to compile a message, so hopefully they will be getting back to me soon. ^_^
Whatever works, I'll be crossing my fingers for ya once you get the build.
 

VaiCorinthians

Well-Known Member
Member
Joined
Oct 7, 2014
Messages
461
Trophies
0
Age
39
Location
GB
XP
471
Country
Papua New Guinea

solsolis

Well-Known Member
Member
Joined
Jan 9, 2016
Messages
153
Trophies
0
Location
Outrealm
XP
156
Country
United States
Odd.
I presume it's been fixed and works, now?

---

Do you have the required "new3ds90.firm" (and the other files, while you're at it) in the "data-input" folder?
It's very odd. Grabbing a fresh version out of the FIRMs folder cleared everything up.

--------------------- MERGED ---------------------------

Once A9LH is installed is it safe to update sysNAND?
 
  • Like
Reactions: dkabot

The Catboy

GBAtemp Official Catboy™: Boywife
Member
Joined
Sep 13, 2009
Messages
27,978
Trophies
4
Location
Making a non-binary fuss
XP
39,446
Country
Antarctica
I was about to go to sleep and right before I put my phone in airplane mode, I got a message from HenryLeonheart, who compiled my arm9loaderhax for me and it worked perfectly! I just coldbooted into AuReiNand!
Thank you so much, both to HenryLeonheart and Aurora Wright! Both for being amazing!
 
Last edited by The Catboy,

dkabot

Better With Others' Systems Than Their Own
Member
Joined
Sep 9, 2014
Messages
1,042
Trophies
0
XP
626
Country
United States
Once A9LH is installed is it safe to update sysNAND?
If you're certain that you are using A9LH, have updatedsysnand flag set (if it autoboots Sys and L boots Emu, it's probably set) then you should be good.
I was able to update to 10.5 successfully (though make sure you have a CIA installer set first...)
 

swungtwisty437

Member
Newcomer
Joined
Feb 21, 2016
Messages
13
Trophies
0
XP
118
Country
United States
A9LH installer will start by flashing a NAND backup from NAND.bin, if one exists.
A black screen with a blue light might mean it worked, do you have an arm9loaderhax.bin on your SD card?
I bricked with A9LH, and I can tell you it was not a black screen.
I placed arm9loaderhax.bin in the root of my SD card (it was in my 3DS folder along with the firm0.bin, firm1.bin, sector.bin, stage0x5c000.bin before), but I'm still getting the blue light and black screen on boot. Any other suggestions?

Am I bricked? Or did I just miss something?
 
Last edited by swungtwisty437,

daxtsu

Well-Known Member
Member
Joined
Jun 9, 2007
Messages
5,627
Trophies
2
XP
5,194
Country
Antarctica

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Materia_tofu @ Materia_tofu: this is true! i learned how to make soundfont remixes from a friend back in 2021 +1