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,

Favna

#PCMasterRace
Member
Joined
Sep 12, 2009
Messages
864
Trophies
1
Website
twitter.com
XP
822
Country
Netherlands
It worked and it's pretty rad. I'm part of the cool kid's club now and I love it. Thank you!
Now I have a little usage question for you all - do you prefer autobooting emunand and doing your business on the SD card as usual, or do you think doing everything on sysnand is the way to go? I can see the pros to both sides - especially when playing a lot of DSiWare and GBA injects, but after so much time of using menuhax and emunand I'm still a bit squeamish about updating sysnand.
Should I go with fully updated sysnand + 9.2 emunand, or leave sysnand at 9.2 and update emunand?
From what I've heard the only gain from switching to sysnand is a small boost in speed for booting but if you like me had many titles installed on the emunand that have to be transferred it's quite the hassle. For me personally (N3DS Emunand 10.6 Aureinand with NTR firmware and patched TWL and AGB firms) both GBA vc games and my r4i gold 3ds work so I don't really have a reason to use sysnand at all.
 

ric.

Drivin' to meme country
Member
Joined
Sep 17, 2015
Messages
794
Trophies
0
XP
1,638
Country
Peru
How long does Exploiting arm9 take?
Exploiting ARM9 takes no more than a minute - it's "Installing NAND backup" that takes around 10 minutes depending on your SD card speed. If you're stuck on Exploiting ARM9 for more than 20 minutes you might want to look into alternatives.
 

iAqua

Member
Joined
Dec 7, 2015
Messages
2,848
Trophies
1
Location
XP
2,476
Country
United Kingdom
Exploiting ARM9 takes no more than a minute - it's "Installing NAND backup" that takes around 10 minutes depending on your SD card speed. If you're stuck on Exploiting ARM9 for more than 20 minutes you might want to look into alternatives.
Well it worked :) thanks for the help
 

Deleted member 379940

Active Member
Newcomer
Joined
Jan 11, 2016
Messages
37
Trophies
0
Location
York
XP
147
Country
Netherlands
It worked and it's pretty rad. I'm part of the cool kid's club now and I love it. Thank you!
Now I have a little usage question for you all - do you prefer autobooting emunand and doing your business on the SD card as usual, or do you think doing everything on sysnand is the way to go? I can see the pros to both sides - especially when playing a lot of DSiWare and GBA injects, but after so much time of using menuhax and emunand I'm still a bit squeamish about updating sysnand.
Should I go with fully updated sysnand + 9.2 emunand, or leave sysnand at 9.2 and update emunand?

I like to stay with emuNAND - If something is wrong, just re-inject a backup and is fixed.
This might be bad to sd card though, but I don't know, I think there are large amount of r/w operations.
 

mariogamer

Well-Known Member
Member
Joined
Aug 12, 2015
Messages
1,256
Trophies
0
Age
28
XP
790
Country
Canada

Just Passing By

Well-Known Member
Member
Joined
Jan 3, 2016
Messages
1,563
Trophies
0
XP
663
Country
United States
Sig patch are not needed AFTER lauching homebrew launcher (I think),Ihelped someone and he deedn't used mini pasta,and not bricked :P (on N3DS)
The homebrew launcher doesn't patch signatures. It allows you to homebrew applications to be run through the homebrew menu, but it doesn't allow applications, games, basically cias to be run on the home menu.
 

Just Passing By

Well-Known Member
Member
Joined
Jan 3, 2016
Messages
1,563
Trophies
0
XP
663
Country
United States
I'll wait for delebile answer...
....... Ok legit did you even read the OP? Using MiniPasta is a workaround! You have to use MiniPasta to use the hblauncher installed as a cia on the home menu!

Perhaps you should learn a bit more on how this all works if you're asking questions like this and trying to prove me wrong. But fine let @delebile tell you exactly what I told you.
 

mariogamer

Well-Known Member
Member
Joined
Aug 12, 2015
Messages
1,256
Trophies
0
Age
28
XP
790
Country
Canada
....... Ok legit did you even read the OP? Using MiniPasta is a workaround! You have to use MiniPasta to use the hblauncher installed as a cia on the home menu!

Perhaps you should learn a bit more on how this all works if you're asking questions like this and trying to prove me wrong. But fine let @delebile tell you exactly what I told you.
Lol didn't read XD

....... Ok legit did you even read the OP? Using MiniPasta is a workaround! You have to use MiniPasta to use the hblauncher installed as a cia on the home menu!

Perhaps you should learn a bit more on how this all works if you're asking questions like this and trying to prove me wrong. But fine let @delebile tell you exactly what I told you.
BUT homebrew launcher can be used without homebrew launcher as a CIA :P

Like menuhax...

Sorry...

For the stuck on "exploiting arm9" after 5 second,you can simply shutdown your 3ds and reopen arm9loaderhax without booting mini pasta...
 

Just Passing By

Well-Known Member
Member
Joined
Jan 3, 2016
Messages
1,563
Trophies
0
XP
663
Country
United States
Lol didn't read XD

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


BUT homebrew launcher can be used without homebrew launcher as a CIA :P

Like menuhax...
Mmn ok. It seems like you took that well. Sorry I seemed angry. I was actually offended when you wanted someone else to tell you.

And yeah you can launch the homebrew launcher through other means, but in this context, once you activate MiniPasta (lol "activate" couldn't think of a better word), you can't turn off your 3ds or else it'll remove the sig patch, so you have to have the hb launcher on your home menu or some other method (oothax), to get back into hb without menuhax.
 

mariogamer

Well-Known Member
Member
Joined
Aug 12, 2015
Messages
1,256
Trophies
0
Age
28
XP
790
Country
Canada
Mmn ok. It seems like you took that well. Sorry I seemed angry. I was actually offended when you wanted someone else to tell you.

And yeah you can launch the homebrew launcher through other means, but in this context, once you activate MiniPasta (lol "activate" couldn't think of a better word), you can't turn off your 3ds or else it'll remove the sig patch, so you have to have the hb launcher on your home menu or some other method (oothax), to get back into hb without menuhax.
Ok sorry for all issues...
 

grafate

Well-Known Member
Member
Joined
Jan 30, 2016
Messages
104
Trophies
0
Age
38
XP
148
Country
United States
Tbh I'm just going to stick to command prompt and MAKE. At least then when it messed up I know I have no one to blame but myself and not a web server that might be messing up badly.

True which is how I did mine as my laptop is setup to compile stuff. But for those who are compiling for the 1st time or for those unsure of what to do you can use those tools to verify your hashes. IMO it makes it much safer if you have 2 independent files matching. Maybe you think different.
 

Sniffynose

Well-Known Member
Newcomer
Joined
Jan 8, 2016
Messages
94
Trophies
0
XP
104
Country
Canada
Good work guys, I got it working on my N3ds XL. I bricked it on the first 2.1 downgrade completely, so went and did the hardmod restored everything and tried again and it worked >.> so I'm 50/50 lol.

The whole thing is easy enough but the bloody nand dumps take a year to complete, it's more monotonous than anything >.<
 
D

Deleted User

Guest
I got: blah blah blah...
Code:
8+1 records out
4168 bytes (4.2 kB) copied, 0 seconds, Infinity B/s
FIRM0 done!
FIRM1 done!
Traceback (most recent call last):
  File "common/sector_generator.py", line 1, in <module>
    from Crypto.Cipher import AES
  File "c:\Python27\lib\Crypto\Cipher\AES.py", line 50, in <module>
    from Crypto.Cipher import _AES
ImportError: cannot import name _AES
make: *** [sector] Error 1
 

MrMario2011

Member
Newcomer
Joined
Aug 21, 2013
Messages
24
Trophies
1
XP
493
Country
United States
Hey all,

Man, been a minute since I signed in on here, huh? Anyways little bit of background: no stranger to modding in general (have been breaking open and bricking systems for over a decade now) and have done a good amount of 3DS stuff here and there, as well as created several video tutorials. Never done OTP. Also well versed enough in CMD to get by due to class/work/modding.

So I've successfully dumped my OTP however the problem I'm having now is compiling my A9LH. I've downloaded all the files listed and have the exact ones needed (the exact same build and x86-64 of Python, exact file needed for Pycrypto, MD5 verified my Make installer) however no matter what I do when running the "make" command I get:

make.PNG


So it looks like Windows doesn't know how to handle the "make" command on its own, because what I had to do was put the make.exe installed file in the same directory as well as the 2 DLLs it comes with just in case. Without doing that I don't even get the error.

What I've Tried:
- Copying installed Make files into directory and running from there
- Changing the Python part in Makefile to the specific Python directory installed
- Run this all in the DevKitARM folder
- Run this all in the arm9loaderhax source folder
- Verify that PATH is set properly and is pointing to the Python folder

However even with this understanding I don't think even doing something like setting Make in the path would help, as I said I directly used the exe that it installed and even when that is executed I get an Error 1 for firm0.

Anyone have any ideas on this? Theoretically, as shown in the guide, I should just need to install everything and then open up a CMD window to my A9LH working folder and run "make" but not only that does not work, but it also does not make any sense as to why that would work.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Well start walking towards them +1