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
627
Country
United States
Doesn't the /sys/code.bin file utilise Brahma?
I don't know, not an RXTools user.
Also, it would need to either autoboot or be operable blindly.

You could always try it, if you have A9LH. Worst case, you need to swap the payload back.
 

TheDuckMan64

Chicken nugget.
Member
Joined
Oct 9, 2015
Messages
355
Trophies
0
XP
200
Country
I don't know, not an RXTools user.
Also, it would need to either autoboot or be operable blindly.

You could always try it, if you have A9LH. Worst case, you need to swap the payload back.
Right. Now i just need to figure out how to compile it for o3ds :P
 

dkabot

Better With Others' Systems Than Their Own
Member
Joined
Sep 9, 2014
Messages
1,042
Trophies
0
XP
627
Country
United States
Right. Now i just need to figure out how to compile it for o3ds :P
According to the git README, it should work with both.
N3DS files are needed because A9L itself it N3DS-only under normal circumstances.

That said, I was unsuccessful on my O3DS for some reason or another, so confirmation from someone whom it did work for (which there's a good deal of) would probably help.
 

Halvorsen

Well-Known Member
Member
Joined
Aug 12, 2015
Messages
2,060
Trophies
0
Website
halcove.com
XP
1,891
Country
United States
I've read the first three pages.
How fast does emunand boot? Is it almost as fast as booting into vanilla sysnand?
Is it true that the 3D bug is gone on n3DS?
Is this a coldboot alternative to menuhax, and is it completely standalone?​
 

Koryushin

Well-Known Member
Member
Joined
Mar 26, 2015
Messages
176
Trophies
0
Age
42
XP
135
Country
France
My O3DS takes 11sec to boot to emunand. My sysnand takes almost the same time to boot.(a bit less i think 1~2sec less)

That fix the 3D on N3DS as i heard.
You need a cfw compatible with A9LH at the moment i think it's:
- ReiNand N3DS only but you can't boot to sysnand.
- AuReiNand (ReiNand mod) O3DS/N3DS boot on sysnand and emunand.
- Maybe Cakes must be verified.
 
Last edited by Koryushin,

VaiCorinthians

Well-Known Member
Member
Joined
Oct 7, 2014
Messages
461
Trophies
0
Age
39
Location
GB
XP
472
Country
Papua New Guinea
I've read the first three pages.
How fast does emunand boot? Is it almost as fast as booting into vanilla sysnand?
Is it true that the 3D bug is gone on n3DS?
Is this a coldboot alternative to menuhax, and is it completely standalone?​
my o3ds boot in 10 seconds with a full sd card 32gb class 4
yep! 3d bug on n3ds was fixed!
a9lh dont use menuhax to boot on emunand or sysnand, it uses that .bin file on root
 

dkabot

Better With Others' Systems Than Their Own
Member
Joined
Sep 9, 2014
Messages
1,042
Trophies
0
XP
627
Country
United States
I've read the first three pages.
How fast does emunand boot? Is it almost as fast as booting into vanilla sysnand?
Is it true that the 3D bug is gone on n3DS?
Is this a coldboot alternative to menuhax, and is it completely standalone?​
  • Fast. As fast as a normal boot without hax.
  • Yep, no 3D bug.
  • Standalone, coldboot alternative.
 

dkabot

Better With Others' Systems Than Their Own
Member
Joined
Sep 9, 2014
Messages
1,042
Trophies
0
XP
627
Country
United States
Oh wow.
That speed is really ...beautiful.
Since I'm not confident in downgraded a new 3DS to a old 3DS exclusive firmware I'd pay for the entire thing to be set up.
Eh, it's pretty safe with the EmuNAND strat.
Though you're right, if not for doing it on EmuNAND it'd be a guaranteed brick (encryption changes), which is why that method was developed.
 

Halvorsen

Well-Known Member
Member
Joined
Aug 12, 2015
Messages
2,060
Trophies
0
Website
halcove.com
XP
1,891
Country
United States
Eh, it's pretty safe with the EmuNAND strat.
Though you're right, if not for doing it on EmuNAND it'd be a guaranteed brick (encryption changes), which is why that method was developed.
Just to keep things simple. I really don't wanna touch my sysnand.
How much would people accept?
I'd figure I'd pay around $30, more or less.
 

dkabot

Better With Others' Systems Than Their Own
Member
Joined
Sep 9, 2014
Messages
1,042
Trophies
0
XP
627
Country
United States
Just to keep things simple.
How much would people accept?
I'd figure I'd pay around $30, more or less.
Probably either free or less than $50, plus both ways shipping.
$50 figure because a hardmod is $50 and that's harder to pull off than this.
(Is my guess, not an offer, just to be clear)
 

dkabot

Better With Others' Systems Than Their Own
Member
Joined
Sep 9, 2014
Messages
1,042
Trophies
0
XP
627
Country
United States
Ah, I must have skimmed over the fact that this required a hardmod.
But either way.
It doesn't require a hardmod any more, though it used to.
Just saying that as a hardmod is... harder, this probably wouldn't cost more than that as a service.
 

Arseface_TM

Board Game Dev
Member
Joined
Sep 16, 2015
Messages
331
Trophies
0
Age
32
XP
306
Country
United States
Pycrypto isn't installing. It's saying Python 2.7 isn't in the registry.

I've put Python27 in Path, and restarted/reinstalled a few times. Any ideas what's going wrong?

EDIT: Downloaded it from the pycrypto site and it installed properly.
 
Last edited by Arseface_TM,

Halvorsen

Well-Known Member
Member
Joined
Aug 12, 2015
Messages
2,060
Trophies
0
Website
halcove.com
XP
1,891
Country
United States
It doesn't require a hardmod any more, though it used to.
Just saying that as a hardmod is... harder, this probably wouldn't cost more than that as a service.
Oh yeah. I looked into this just now after hearing it floating around and when it required a mod. I read this and assumed it didn't, then read the reply and thought it still did.
I'll be making a new post when I'm ready to send my console off though.
I'm gonna stop replying so other posts don't get buried, thanks for the discussion, btw.
 
Last edited by Halvorsen,
  • Like
Reactions: dkabot

urherenow

Well-Known Member
Member
Joined
Mar 8, 2009
Messages
4,826
Trophies
2
Age
48
Location
Japan
XP
3,778
Country
United States
I don't know, not an RXTools user.
Also, it would need to either autoboot or be operable blindly.

You could always try it, if you have A9LH. Worst case, you need to swap the payload back.
Actually, it does autoboot emunand if you've never changed any settings (you'd have a config.json in /rxTools/data if you did, and you can delete it).

BUT, AFAIK there is no a9lh payload for rxTools yet. You would, at the VERY LEAST have to change start.s to get anything useable as an a9lh payload.

Sorry if I ask it here but what is so good on the a9lh? Is it better as an cfw? If yes, then why?

Because technically, if you have a .cia manager installed, you can update your sysnand and install/use homebrew without any emunand at all. But you would technically still be on a "CFW". You need AUReiNand or something booting when you turn on the console.
 
Last edited by urherenow,
  • Like
Reactions: Justin20020

dkabot

Better With Others' Systems Than Their Own
Member
Joined
Sep 9, 2014
Messages
1,042
Trophies
0
XP
627
Country
United States
BUT, AFAIK there is no a9lh payload for rxTools yet. You would, at the VERY LEAST have to change start.s to get anything useable as an a9lh payload.
A9LH loads ARM9 payloads.
Brahma loads ARM9 payloads.

Theoretically, Brahma payloads can work in A9LH, barring the "going blindly" thing.
Although, not being A9LH-aware means that there's less safety, considering AuRei is coded to check for that and operate differently (patch FIRMS from being rewritten...) to accomodate
 
  • Like
Reactions: FenrirWolf

urherenow

Well-Known Member
Member
Joined
Mar 8, 2009
Messages
4,826
Trophies
2
Age
48
Location
Japan
XP
3,778
Country
United States
A9LH loads ARM9 payloads.
Brahma loads ARM9 payloads.

Theoretically, Brahma payloads can work in A9LH, barring the "going blindly" thing.
Although, not being A9LH-aware means that there's less safety, considering AuRei is coded to check for that and operate differently (patch FIRMS from being rewritten...) to accomodate
they use different addresses.

a9lh loads the payload at 0x23f00000
rxTools loads at 0x80000000

Again, start.s is the least that would have to be modified. And I'm not just speculating.
 
Last edited by urherenow,
  • Like
Reactions: dkabot

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: https://youtu.be/qsAC1PwgOw4?si=Sg3MyfzX8oksgrho This song didn't help their reputation