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,

lefthandsword

Well-Known Member
OP
Member
Joined
Apr 6, 2015
Messages
352
Trophies
0
Age
26
Location
root
XP
478
Country
Hong Kong
learn is better. I needed help to compile it (somebody compiled it to me), but I'm trying compile another one, it myself.. to (maybe) help any friends.. :ha:

(I'm getting error with "make: python: Comand not found") later I will try solve it..

View attachment 39797
Did you install python correctly?
 
  • Like
Reactions: VaiCorinthians

Conn0r

Well-Known Member
Member
Joined
Jan 10, 2016
Messages
355
Trophies
0
Age
27
XP
718
Country
United States
learn is better. I needed help to compile it (somebody compiled it to me), but I'm trying compile another one, it myself.. to (maybe) help any friends.. :ha:

(I'm getting error with "make: python: Comand not found") later I will try solve it..

View attachment 39797
Go to the 'makefile' and replace "PYTHON = python" with "PYTHON = C:/Python27/python.exe" (both without quotes)
 

solsolis

Well-Known Member
Member
Joined
Jan 9, 2016
Messages
153
Trophies
0
Location
Outrealm
XP
156
Country
United States
I'm trying to compile this on a windows box, but its giving me trouble. I'm not really familiar with windows at all so... I'm completely at loss with this compile error.
Code:
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

Anyone got some insight on this?
Installing the 32Bit version of PyCrypto fixed it for some reason.
 
  • Like
Reactions: Apostrophe

urherenow

Well-Known Member
Member
Joined
Mar 8, 2009
Messages
4,774
Trophies
2
Age
48
Location
Japan
XP
3,672
Country
United States
You know... when you install python, there is a checkbox to add it to your path.

devkitpro can't handle spaces in your path. You should not only use a path without spaces, but also move the devkitpro related entries in your path to the BEGINNING of your path (because it doesn't like "()" either.... as in "Program Files (x86)".
 

DigitalJosee

Go your clever boy, and remember me!
Member
Joined
Jan 15, 2013
Messages
225
Trophies
1
Age
43
XP
1,380
Country
Brazil
Lefthandsword, imo you need to add to your tutorial how to add variables to the PATH on windows, just to make it clean for peoples who are inexpert with compiling things.
 

swungtwisty437

Member
Newcomer
Joined
Feb 21, 2016
Messages
13
Trophies
0
XP
118
Country
United States
ooops, sorry.
Keep trying using Menuhax and the proper files into the correct foler (3ds/arm9loaderhax)
Wait, I'm confused. Why are you sorry? Is my N3DS supposed to be saying something other than "Installing NAND backup..."? It's been on this screen for about ten minutes now with an octadecimal value going up at the bottom. I thought that it was just modifying my NAND so that it can boot properly. Am I wrong?

EDIT: The process finished, but I'm pretty sure I bricked. I'm booting to just a blue light.
 
Last edited by swungtwisty437,

dkabot

Better With Others' Systems Than Their Own
Member
Joined
Sep 9, 2014
Messages
1,042
Trophies
0
XP
626
Country
United States
Wait, I'm confused. Why are you sorry? Is my N3DS supposed to be saying something other than "Installing NAND backup..."? It's been on this screen for about ten minutes now with an octadecimal value going up at the bottom. I thought that it was just modifying my NAND so that it can boot properly. Am I wrong?

EDIT: The process finished, but I'm pretty sure I bricked. I'm booting to just a blue light.
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.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    NinStar @ NinStar: It will actually make it worse