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,

yacepi15

Well-Known Member
Member
Joined
Aug 15, 2015
Messages
1,023
Trophies
0
XP
1,883
Country
Germany
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.
But... I dont understand... I have a hardmod but NOT a Raspberry Pi. If the installation fails and i have an precious bluescreen,can i recover the unit without an raspberry Pi?
 

dkabot

Better With Others' Systems Than Their Own
Member
Joined
Sep 9, 2014
Messages
1,042
Trophies
0
XP
626
Country
United States
But... I dont understand... I have a hardmod but NOT a Raspberry Pi. If the installation fails and i have an precious bluescreen,can i recover the unit without an raspberry Pi?
I would place my bets on "Probably" unless @JjStAr992_Gaming can elaborate on why a Pi would be necessary here.
FIRM is part of the NAND, and a bootloader screen comes up when the installer screws up both FIRMs (it's only supposed to screw up one, as part of how the exploit works) would likely be recoverable with a flash.
 

yacepi15

Well-Known Member
Member
Joined
Aug 15, 2015
Messages
1,023
Trophies
0
XP
1,883
Country
Germany
I would place my bets on "Probably" unless @JjStAr992_Gaming can elaborate on why a Pi would be necessary here.
FIRM is part of the NAND, and a bootloader screen comes up when the installer screws up both FIRMs (it's only supposed to screw up one, as part of how the exploit works) would likely be recoverable with a flash.
Okay,thanks. I readed a bit and the need of Raspberry Pi on brickcode™ bricks isnt of the bluescreen itself. (It was of a part of the code that blocks NAND writing after reprogramming it to 0 bytes)
 

Yangumasuta

Active Member
Newcomer
Joined
Feb 28, 2016
Messages
29
Trophies
0
Age
28
XP
64
Country
Canada
I think I bricked my n3DS XL. :(

After following all the instructions from https://github.com/Plailect/OTP/blob/master/New_3DS_Spider.md and this guide, when installing my compiled arm9loaderhax.3dsx, my 3DS suddenly turned off (i.e. not rebooted) and now I can't turn it on again. I made sure multiple times that my OTP.bin was in the input folder and that the md5s were correct. Am I SOL?
 

SomeGamer

Well-Known Member
Member
Joined
Dec 19, 2014
Messages
6,827
Trophies
1
XP
4,912
Country
Hungary
I think I bricked my n3DS XL. :(

After following all the instructions from https://github.com/Plailect/OTP/blob/master/New_3DS_Spider.md and this guide, when installing my compiled arm9loaderhax.3dsx, my 3DS suddenly turned off (i.e. not rebooted) and now I can't turn it on again. I made sure multiple times that my OTP.bin was in the input folder and that the md5s were correct. Am I SOL?
No, do you have arm9loaderhax.bin on your SD card root?
 

Yangumasuta

Active Member
Newcomer
Joined
Feb 28, 2016
Messages
29
Trophies
0
Age
28
XP
64
Country
Canada
No, do you have arm9loaderhax.bin on your SD card root?
No, I don't. The console is not booting up without SD either.

Edit: Nvm, I figured it out. I didn't know that arm9loaderhax.bin is now required for my console to start up. Had me scared for a moment. Thanks for your help

Interesting note: I never did the minipasta step that was supposedly required..
 
Last edited by Yangumasuta,

Dennis G

Well-Known Member
Member
Joined
Jan 4, 2016
Messages
673
Trophies
0
Age
32
XP
446
Country
Netherlands
Hey Guys, does anyone know what is the cause of this?

Cmd:
make[1]: Entering directory `/c/Users/Dennis/Desktop/arm9loaderhax-master/payload_stage1'
linking payload_stage1.elf
built ... payload_stage1.bin
make[1]: Leaving directory `/c/Users/Dennis/Desktop/arm9loaderhax-master/payload_stage1'
8+1 records in
8+1 records out
4168 bytes (4.2 kB) copied, 0.003 seconds, 1.4 MB/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\site-packages\Crypto\Cipher\AES.py", line 50, in <module>
from Crypto.Cipher import _AES
ImportError: DLL load failed: %1 is not a valid Win32 application.
make: *** [sector] Error 1

thanks if someone can figure this out, probally some small thing that i oversee =P
FIXED THIS ERROR BY INSTALLING PYCRYPTO 32BIT ON MY 64BIT MACHINE AND COMPILING IT MY SELF
 

MRDOCA

Well-Known Member
Member
Joined
Nov 19, 2014
Messages
264
Trophies
0
XP
1,128
Country
New Zealand
been at this for a few days. i already have arm9haxloader.3dsx made for me but im determined to work this out....
what is wrong here?

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

YES! installing the x86 version helped. how do i check its allgood once made?
 

Attachments

  • Capture.PNG
    Capture.PNG
    6.6 KB · Views: 244

TheReturningVoid

0xAAAAAAAA
Member
Joined
Oct 2, 2014
Messages
332
Trophies
0
Location
/dev/urandom
XP
254
Country
I would place my bets on "Probably" unless @JjStAr992_Gaming can elaborate on why a Pi would be necessary here.
FIRM is part of the NAND, and a bootloader screen comes up when the installer screws up both FIRMs (it's only supposed to screw up one, as part of how the exploit works) would likely be recoverable with a flash.
I just thought that because he mentioned a Pi, that you needed one. I'm a little ill-informed about manual NAND restoration :P
 

dkabot

Better With Others' Systems Than Their Own
Member
Joined
Sep 9, 2014
Messages
1,042
Trophies
0
XP
626
Country
United States
I just thought that because he mentioned a Pi, that you needed one. I'm a little ill-informed about manual NAND restoration :P
Generally, manual NAND restoration is just using image software to write a NAND.bin back to the NAND directly (which is what the hardmod is for).
A Raspberry Pi was required to restore from a Gateway brick, which (from what I hear) set the max size of the NAND to 0 and thus a normal restoration couldn't be done.
 

TheReturningVoid

0xAAAAAAAA
Member
Joined
Oct 2, 2014
Messages
332
Trophies
0
Location
/dev/urandom
XP
254
Country
Generally, manual NAND restoration is just using image software to write a NAND.bin back to the NAND directly (which is what the hardmod is for).
A Raspberry Pi was required to restore from a Gateway brick, which (from what I hear) set the max size of the NAND to 0 and thus a normal restoration couldn't be done.
That's a really odd brick... The more you know, I guess :D
 

Haugh645

Member
Newcomer
Joined
Jul 12, 2011
Messages
15
Trophies
0
XP
103
Country
United States
Im confused what changed that the 3d on the New 3ds now works at boot without needing to go to sleep mode first. Is it because of how early access this method is that it gets around that issue thats always been a problem for emunands.
 

FenrirWolf

Well-Known Member
Member
Joined
Nov 19, 2008
Messages
4,347
Trophies
1
Location
Sandy, UT
XP
615
Country
United States
When you boot the console normally, the screen is off and then turns on as part of the FIRM launch process. When you boot emunand from an already running sysnand, the screen was already on during FIRM launch and so it can't exactly turn on again. And apparently Super-Stable 3D doesn't work properly until the screen has been turned off and on, which is why closing and opening the 3DS always fixed it before.

So all the patch does is make sure that the screen gets turned off and then on again even if you're booting from sysnand->emunand.
 

SomeGamer

Well-Known Member
Member
Joined
Dec 19, 2014
Messages
6,827
Trophies
1
XP
4,912
Country
Hungary
My 3DS is stuck on this:

Install stage2...
done.
Install sector...
done.
Install firm0...
done.
Install firm1...
done.

Is it safe to reboot now?
 

ronildo66

Well-Known Member
Newcomer
Joined
Dec 9, 2014
Messages
53
Trophies
0
Age
29
XP
138
Country
Brazil
If I "format system memory" the A9LH is uninstalled?
Or the only way to uninstall it is restoring the backup sysnand?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: https://youtube.com/shorts/Y9WKPRUjNQ4?si=raUf8jEiET8rmH2P