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,

TheReturningVoid

0xAAAAAAAA
Member
Joined
Oct 2, 2014
Messages
332
Trophies
0
Location
/dev/urandom
XP
244
Country
Still not getting past Exploiting arm9 at all... Does this installer have something special that BRAHMA doesn't need for arm9 (because I can load an arm9 payload like Decrypt9 every time without fail), or am I doing something wrong?
 

Daidouji

Well-Known Member
Member
Joined
Jan 18, 2016
Messages
124
Trophies
0
Age
37
XP
137
Country
Mexico
Still not getting past Exploiting arm9 at all... Does this installer have something special that BRAHMA doesn't need for arm9 (because I can load an arm9 payload like Decrypt9 every time without fail), or am I doing something wrong?
Did you do Step 3.2 from the guide for when that happens?
 

TheReturningVoid

0xAAAAAAAA
Member
Joined
Oct 2, 2014
Messages
332
Trophies
0
Location
/dev/urandom
XP
244
Country
Did you do Step 3.2 from the guide for when that happens?
Yep, I've tried miniPasta quite a few times, still no dice.

Without miniPasta:
Menuhax: Doesn't work
Browserhax: Doesn't work
Ninjhax: Doesn't work

With miniPasta:
Menuhax: Doesn't work
Browserhas: Doesn't work
Ninjhax: Doesn't work
HBLauncherLoader CIA: Doesn't work
 
Last edited by TheReturningVoid,

Pacman`

Well-Known Member
Member
Joined
Dec 19, 2006
Messages
492
Trophies
1
XP
717
Country
If you have a O3DS, it should work easily.

If you have a N3DS, it may not work if you have menuhax and/or a theme installed.
So, remove your theme (go in that theme menu on home) then try it (and no need for minipasta)
 

D34DL1N3R

Nephilim
Member
Joined
Dec 6, 2008
Messages
3,670
Trophies
1
XP
3,220
Country
United States
First try it stalled on "exploiting arm9" even after having ran MiniPasta first. Ran Mini again & then the exploit again and it worked. It's awesome!
 

Dennis G

Well-Known Member
Member
Joined
Jan 4, 2016
Messages
673
Trophies
0
Age
32
XP
446
Country
Netherlands
First try it stalled on "exploiting arm9" even after having ran MiniPasta first. Ran Mini again & then the exploit again and it worked. It's awesome!
i'm on attempt 12 i think running from MiniPasta 9.2 sysnand homebrew launcher the arm9.3dsx and keeps hanging on exploiting arm9 :c
 

TheReturningVoid

0xAAAAAAAA
Member
Joined
Oct 2, 2014
Messages
332
Trophies
0
Location
/dev/urandom
XP
244
Country
Removing the theme seems to have no effect. My SD Card might be full of junk though, I'll see if I can remove anything from it.

EDIT: Bah, this explains my problem. They say it's fixed, but it must be still lingering around. I'll spin up a Windows VM and see if that works.

EDIT 2: Yep, it was Linux. Compiled it on a Windows VM and it's installing. Hopefully all goes well! Might wanna put that in the guide.

EDIT 3: Woot! It works perfectly! The boot times are awesome :D
 
Last edited by TheReturningVoid,

Skaterdie

Active Member
Newcomer
Joined
Feb 21, 2016
Messages
26
Trophies
0
Age
44
XP
58
Country
United States
Successful install n3ds using mini pasta and oothax. Tried to install with aureinand mod holding left button for sysnand but no luck. Does anyone know what is different between the two when booting system nand.
 

Guilhermerx7

New Member
Newbie
Joined
Jan 8, 2007
Messages
1
Trophies
0
XP
203
Country
Brazil
Removing the theme seems to have no effect. My SD Card might be full of junk though, I'll see if I can remove anything from it.

EDIT: Bah, this explains my problem. They say it's fixed, but it must be still lingering around. I'll spin up a Windows VM and see if that works.

EDIT 2: Yep, it was Linux. Compiled it on a Windows VM and it's installing. Hopefully all goes well! Might wanna put that in the guide.

EDIT 3: Woot! It works perfectly! The boot times are awesome :D
Had the same problem, I even built a docker image just for compiling arm9loader. The fix for linux is only on delibele repo, capito27 didn't pull those commits. What I did here, I used delibele repo and data_input files from capito, expect for my otp.bin of course. Then I was able to build on linux and it worked on first try.
 

yacepi15

Well-Known Member
Member
Joined
Aug 15, 2015
Messages
1,023
Trophies
0
XP
1,883
Country
Germany
I have two arm9loaderhax.3dsx,one created with my PC and another with the python script published on this forum. The MD5 isnt the same. Do i need to worry? If one of them its corrupt,i can recover the console with the hardmod and without raspberry Pi?
 

TheReturningVoid

0xAAAAAAAA
Member
Joined
Oct 2, 2014
Messages
332
Trophies
0
Location
/dev/urandom
XP
244
Country
I have two arm9loaderhax.3dsx,one created with my PC and another with the python script published on this forum. The MD5 isnt the same. Do i need to worry? If one of them its corrupt,i can recover the console with the hardmod and without raspberry Pi?
I would highly recommend using the build you made, because you know what you did to make it. But if the install doesn't go to plan (ie. you end up with a shiny new bootloader screen), which it can no matter what you used to compile it, then you're probably gonna want to crack out the Pi and soldering iron.
 

dkabot

Better With Others' Systems Than Their Own
Member
Joined
Sep 9, 2014
Messages
1,042
Trophies
0
XP
626
Country
United States
I would highly recommend using the build you made, because you know what you did to make it. But if the install doesn't go to plan (ie. you end up with a shiny new bootloader screen), which it can no matter what you used to compile it, then you're probably gonna want to crack out the Pi and soldering iron.
Pi shouldn't be necessary, FIRM0/1 are in NAND, so a normal restoration would probably work.
This isn't a GW brick, here.
 

TheReturningVoid

0xAAAAAAAA
Member
Joined
Oct 2, 2014
Messages
332
Trophies
0
Location
/dev/urandom
XP
244
Country
My o3dsXL hangs on "Exploiting arm9..." I tried the miniPasta trick, what gives?
If you used capito's fork and didn't compile it on Windows, that could be the problem. Try compiling it on a Windows system or VM (what I did), or use the original (delebile's) version here, which fixes the compile issues. It doesn't have the firm files for the N3DS though, but you can just take them from the capito fork.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Xdqwerty @ Xdqwerty: @BakerMan, https://youtu.be/KaMSXIRReOo?si=2hRoijJtiwPUHXk5