Tutorial  Updated

How to Sync & Compile various A9LH Forks(payload_stage1.bin + payload_stage2.bin)

1) Would you want to get the latest version of your favourite A9LH fork? No? Well, I would. xD
2) You need payload_stage1.bin and payload_stage2.bin for an A9LH fork but cannot find it? No? Well, you might need them in the near future. :P
3) You are a new user but want to do all this stuff yourself? No? :<

Anyway, in this guide I'll try to explain how to compile various A9LH forks. Some of this stuff are copypasta'd from my other guide on how to compile (Au)ReiNand CFW, but you don't have to worry as I exclusively explain on how to compile ONLY A9LH(payload_stage1.bin & payload_stage2.bin which you will need if you ever want to change A9LH fork)




Things that you will need to do before clicking on one of the various A9LH forks:
  1. Download Git for your operating system from here: https://git-scm.com/downloads (When you install it, just click on "Next" to everything it says).

  2. Install devkitPro from here: https://sourceforge.net/projects/devkitpro/

  3. Download MinGW from here: https://sourceforge.net/projects/mingw/ When installation is over, it will show you a window and ask you which package to install. Choose "mingw32-base", wait for the installation to finish and close the window.

  4. You will have to edit your PATH. Don't freak out, it's easy:
    Right click on your Computer icon > Properties > Advanced system settings > Environment Variables... > System variables > FIND "Path" > Edit.
    If you did it right, you should be looking at this window:
    ChMWmt8.png


    Now add the locations that are inside the red rectangle.

  5. Open File Explorer and navigate into "C:\"

  6. Create a new folder and name it however you like. I named mine "SOURCES" to stand out of the rest of the folders. Open this folder.
    !!!!!!!!!! TIP: Don't add spaces in the folder's name. Eg: if you want the folder to be named "3DS Sources" then you will have to name it "3DS_Sources" (the difference is that I have added an underscore instead of space) !!!!!!!!!!






Various A9LH forks:


  1. On your keyboard hold SHIFT and right click with your mouse. The right click context menu will show you a new option "Open command window here". Click it.
    This is how it should look like:
    2NHmU8f.jpg


  2. Now type "git clone --recursive https://github.com/AuroraWright/arm9loaderhax.git",
    press enter and wait for it to sync the sources.
    This is how it should look like:
    uJ7oXWD.jpg


  3. After it is done, you will see a newly created folder named "arm9loaderhax". Open this new folder.
    This is how it should look like:
    7TfaC9E.jpg


  4. On your keyboard press SHIFT and right click with your mouse. Select, once more, "Open command window here".
    This is how it should look like:
    2NHmU8f.jpg


  5. Now simply type "make" and wait for it to do its job.
    This how it should look like:
    9I2tU44.jpg


  6. After you type the "make" command, you will see a NEW folder named "out" inside arm9loaderhax's folder(C:\your_folder_in_which_you_will_sync_your_stuff\arm9loaderhax\out\)
    This is how it looks like:
    TA5oM90.jpg

Congratulation, you have successfully synced Aurora Wright's A9LH fork that has screen-init and compiled 2 of the needed files in order to install A9LH. These 2 files are the "payload_stage1.bin" and "payload_stage2.bin".

  1. On your keyboard hold SHIFT and right click with your mouse. The right click context menu will show you a new option "Open command window here". Click it.
    This is how it should look like:
    2NHmU8f.jpg


  2. Now type "git clone -b noscreeninit --single-branch https://github.com/AuroraWright/arm9loaderhax.git", press enter and wait for it to sync the sources.
    This is how it should look like:
    RaYOjHe.jpg


  3. After it is done, you will see a newly created folder named "arm9loaderhax". Open this new folder.
    This is how it should look like:
    7TfaC9E.jpg


  4. On your keyboard press SHIFT and right click with your mouse. Select, once more, "Open command window here".
    This is how it should look like:
    2NHmU8f.jpg


  5. Now simply type "make" and wait for it to do its job.
    This how it should look like:
    9I2tU44.jpg


  6. After you type the "make" command, you will see a NEW folder named "out" inside arm9loaderhax's folder(C:\your_folder_in_which_you_will_sync_your_stuff\arm9loaderhax\out\)
    This is how it looks like:
    TA5oM90.jpg

Congratulation, you have successfully synced Aurora Wright's non-screen-init A9LH fork(Your other payloads such as Decrypt9, CtrBootManager9 etc. STILL HAVE screen-init so you can use them without worrying. The only difference with the main repo is that you won't see the screen turning on and off for 1 second when you power on your 3DS + you won't be able to see splash screens when you turn on your 3DS) and compiled 2 of the needed files in order to install A9LH. These 2 files are the "payload_stage1.bin" and "payload_stage2.bin".

  1. On your keyboard hold SHIFT and right click with your mouse. The right click context menu will show you a new option "Open command window here". Click it.
    This is how it should look like:
    2NHmU8f.jpg


  2. Now type "git clone --recursive https://github.com/dark-samus/arm9loaderhax.git",
    press enter and wait for it to sync the sources.
    This is how it should look like:
    1iA3ti7.jpg


  3. After it is done, you will see a newly created folder named "arm9loaderhax". Open this new folder.
    This is how it should look like:
    7TfaC9E.jpg


  4. On your keyboard press SHIFT and right click with your mouse. Select, once more, "Open command window here".
    This is how it should look like:
    2NHmU8f.jpg


  5. Now simply type "make" and wait for it to do its job.
    This how it should look like:
    9I2tU44.jpg


  6. After you type the "make" command, you will see a NEW folder named "out" inside arm9loaderhax's folder(C:\your_folder_in_which_you_will_sync_your_stuff\arm9loaderhax\out\)
    This is how it looks like:
    TA5oM90.jpg

Congratulation, you have successfully synced dark_samus3's A9LH fork that has screen-init and compiled 2 of the needed files in order to install A9LH. These 2 files are the "payload_stage1.bin" and "payload_stage2.bin".

hZiq21V.jpg



Sorry, I won't be covering this one as you need to input some files when you sync his git and I'm not a fan of this method.



Now you might be wondering "what am I suppsoed to do with the payload_stage1.bin and payload_stage2.bin files". Go here to find out how to use them: http://gbatemp.net/threads/safea9lhinstaller.419577/




!!!!!!!!!! TIP: You cannot sync ALL of the arm9loaderhax repos because they all have the same name. If you want to have 2 or more arm9loaderhax gits, then you will need to create another folder(eg Aurora_No_Screen_Init) and sync the desired repo there. !!!!!!!!!!



Credits go to @delebile for the original A9LH, @dark_samus3, @Aurora Wright, @capito27 as most of this stuff is stolen from his guide on how to compile rxTools and everyone else I have forgotten! (Make a post or PM me if you want credits)
 
Last edited by fr3quency,

jimmyleen

Well-Known Member
Member
Joined
Feb 28, 2016
Messages
1,171
Trophies
0
XP
704
Country
1) Would you want to get the latest version of your favourite A9LH fork? No? Well, I would. xD
2) You need payload_stage1.bin and payload_stage2.bin for an A9LH fork but cannot find it? No? Well, you might need them in the near future. :P
3) You are a new user but want to do all this stuff yourself? No? :<

Anyway, in this guide I'll try to explain how to compile various A9LH forks. Some of this stuff are copypasta'd from my other guide on how to compile (Au)ReiNand CFW, but you don't have to worry as I exclusively explain on how to compile ONLY A9LH(payload_stage1.bin & payload_stage2.bin which you will need if you ever want to change A9LH fork)




Things that you will need to do before clicking on one of the various A9LH forks:
  1. Download Git for your operating system from here: https://git-scm.com/downloads (When you install it, just click on "Next" to everything it says).

  2. Install devkitPro from here: https://sourceforge.net/projects/devkitpro/

  3. Download MinGW from here: https://sourceforge.net/projects/mingw/ When installation is over, it will show you a window and ask you which package to install. Choose "mingw32-base", wait for the installation to finish and close the window.

  4. You will have to edit your PATH. Don't freak out, it's easy:
    Right click on your Computer icon > Properties > Advanced system settings > Environment Variables... > System variables > FIND "Path" > Edit.
    If you did it right, you should be looking at this window:
    ChMWmt8.png


    Now add the locations that are inside the red rectangle.

  5. Open File Explorer and navigate into "C:\"

  6. Create a new folder and name it however you like. I named mine "SOURCES" to stand out of the rest of the folders. Open this folder.
    !!!!!!!!!! TIP: Don't add spaces in the folder's name. Eg: if you want the folder to be named "3DS Sources" then you will have to name it "3DS_Sources" (the difference is that I have added an underscore instead of space) !!!!!!!!!!






Various A9LH forks:


  1. On your keyboard hold SHIFT and right click with your mouse. The right click context menu will show you a new option "Open command window here". Click it.
    This is how it should look like:
    2NHmU8f.jpg


  2. Now type "git clone --recursive https://github.com/AuroraWright/arm9loaderhax.git",
    press enter and wait for it to sync the sources.
    This is how it should look like:
    uJ7oXWD.jpg


  3. After it is done, you will see a newly created folder named "arm9loaderhax". Open this new folder.
    This is how it should look like:
    7TfaC9E.jpg


  4. On your keyboard press SHIFT and right click with your mouse. Select, once more, "Open command window here".
    This is how it should look like:
    2NHmU8f.jpg


  5. Now simply type "make" and wait for it to do its job.
    This how it should look like:
    9I2tU44.jpg


  6. After you type the "make" command, you will see a NEW folder named "out" inside arm9loaderhax's folder(C:\your_folder_in_which_you_will_sync_your_stuff\arm9loaderhax\out\)
    This is how it looks like:
    TA5oM90.jpg

Congratulation, you have successfully synced Aurora Wright's A9LH fork that has screen-init and compiled 2 of the needed files in order to install A9LH. These 2 files are the "payload_stage1.bin" and "payload_stage2.bin".

  1. On your keyboard hold SHIFT and right click with your mouse. The right click context menu will show you a new option "Open command window here". Click it.
    This is how it should look like:
    2NHmU8f.jpg


  2. Now type "git clone -b noscreeninit --single-branch https://github.com/AuroraWright/arm9loaderhax.git", press enter and wait for it to sync the sources.
    This is how it should look like:
    RaYOjHe.jpg


  3. After it is done, you will see a newly created folder named "arm9loaderhax". Open this new folder.
    This is how it should look like:
    7TfaC9E.jpg


  4. On your keyboard press SHIFT and right click with your mouse. Select, once more, "Open command window here".
    This is how it should look like:
    2NHmU8f.jpg


  5. Now simply type "make" and wait for it to do its job.
    This how it should look like:
    9I2tU44.jpg


  6. After you type the "make" command, you will see a NEW folder named "out" inside arm9loaderhax's folder(C:\your_folder_in_which_you_will_sync_your_stuff\arm9loaderhax\out\)
    This is how it looks like:
    TA5oM90.jpg

Congratulation, you have successfully synced Aurora Wright's non-screen-init A9LH fork(Your other payloads such as Decrypt9, CtrBootManager9 etc. STILL HAVE screen-init so you can use them without worrying. The only difference with the main repo is that you won't see the screen turning on and off for 1 second when you power on your 3DS + you won't be able to see splash screens when you turn on your 3DS) and compiled 2 of the needed files in order to install A9LH. These 2 files are the "payload_stage1.bin" and "payload_stage2.bin".

  1. On your keyboard hold SHIFT and right click with your mouse. The right click context menu will show you a new option "Open command window here". Click it.
    This is how it should look like:
    2NHmU8f.jpg


  2. Now type "git clone --recursive https://github.com/dark-samus/arm9loaderhax.git",
    press enter and wait for it to sync the sources.
    This is how it should look like:
    1iA3ti7.jpg


  3. After it is done, you will see a newly created folder named "arm9loaderhax". Open this new folder.
    This is how it should look like:
    7TfaC9E.jpg


  4. On your keyboard press SHIFT and right click with your mouse. Select, once more, "Open command window here".
    This is how it should look like:
    2NHmU8f.jpg


  5. Now simply type "make" and wait for it to do its job.
    This how it should look like:
    9I2tU44.jpg


  6. After you type the "make" command, you will see a NEW folder named "out" inside arm9loaderhax's folder(C:\your_folder_in_which_you_will_sync_your_stuff\arm9loaderhax\out\)
    This is how it looks like:
    TA5oM90.jpg

Congratulation, you have successfully synced dark_samus3's A9LH fork that has screen-init and compiled 2 of the needed files in order to install A9LH. These 2 files are the "payload_stage1.bin" and "payload_stage2.bin".

hZiq21V.jpg



Sorry, I won't be covering this one as you need to input some files when you sync his git and I'm not a fan of this method.



Now you might be wondering "what am I suppsoed to do with the payload_stage1.bin and payload_stage2.bin files". Go here to find out how to use them: http://gbatemp.net/threads/safea9lhinstaller.419577/




!!!!!!!!!! TIP: You cannot sync ALL of the arm9loaderhax repos because they all have the same name. If you want to have 2 or more arm9loaderhax gits, then you will need to create another folder(eg Aurora_No_Screen_Init) and sync the desired repo there. !!!!!!!!!!



Credits go to @delebile for the original A9LH, @dark_samus3, @Aurora Wright, @capito27 as most of this stuff is stolen from his guide on how to compile rxTools and everyone else I have forgotten! (Make a post or PM me if you want credits)

I have a dumb question. Do you happen to know if Fix94's A9LH can be compiled the same way as the other three versions of the A9LH?
 
  • Like
Reactions: Deleted User

fr3quency

Well-Known Member
OP
Member
Joined
Jan 11, 2016
Messages
811
Trophies
0
Age
32
Location
Wherever my imagination decides.
Website
fr3quency.deviantart.com
XP
823
Country
Greece
@fr3quency

Am I missing something here? All of the forks require input files like delibile's fork according to the readme
Nope, if you sync Aurora's a9lh(both screen-init and no-screen-init), you will see that you won't have to input any files (like you need with delebile's). Try to sync Aurora's a9lh and then immediately type "make". I did it 4-5 days ago when she updated her no-screen-init version(up to 31 commits if I recall correctly). You will get an "out" folder that contains the 2 stage-payloads. I have personally tried it on those 3 ones (there was another a9lh fork but I don't recall the name. Fix96? Or something like that. xD it also requires to input some files, but both Aurora's and dark-samus's forks don't require such a thing - which is fking awesome imho)

Sent from my Nexus 5
 
Last edited by fr3quency,

Madridi

Card Collector
Member
Joined
May 9, 2008
Messages
3,562
Trophies
2
Age
38
Location
Doha
XP
3,071
Country
Qatar
Nope, if you sync Aurora's a9lh(both screen-init and no-screen-init), you will see that you won't have to input any files (like you need with delebile's). Try to sync Aurora's a9lh and then immediately type "make". I did it 4-5 days ago when she updated her no-screen-init version(up to 31 commits if I recall correctly). You will get an "out" folder that contains the 2 stage-payloads. I have personally tried it on those 3 ones (there was another a9lh fork but I don't recall the name. Fix96? Or something like that. xD it also requires to input some files, but both Aurora's and dark-samus's forks don't require such a thing - which is fking awesome imho)

Sent from my Nexus 5
So I assume it's not installing everything? Cause if it is, you would have to at least give your OTP as an input..

Also, if that's really case, then they should remove the input requirement from their readme files (I know, they are all identical, but still, not accurate)
 

fr3quency

Well-Known Member
OP
Member
Joined
Jan 11, 2016
Messages
811
Trophies
0
Age
32
Location
Wherever my imagination decides.
Website
fr3quency.deviantart.com
XP
823
Country
Greece
So I assume it's not installing everything? Cause if it is, you would have to at least give your OTP as an input..

What do you mean? Indeed, you needed your OTP to compile a9lh, but that's in the past. With SafeA9LH you need the OTP only for the installation. I'm not really sure myself what's going on, but not requiring to input files is enough for me to make this a9lh(the one that doesn't require input files) my main one. Plus Aurora updates her fork so I'm really happy. Delebile made a huge update as well so I'm on standby to see what will happen with Aurora's fork. I haven't found the time to ask her.

Sent from my Nexus 5
 

Madridi

Card Collector
Member
Joined
May 9, 2008
Messages
3,562
Trophies
2
Age
38
Location
Doha
XP
3,071
Country
Qatar
What do you mean? Indeed, you needed your OTP to compile a9lh, but that's in the past. With SafeA9LH you need the OTP only for the installation. I'm not really sure myself what's going on, but not requiring to input files is enough for me to make this a9lh(the one that doesn't require input files) my main one. Plus Aurora updates her fork so I'm really happy. Delebile made a huge update as well so I'm on standby to see what will happen with Aurora's fork. I haven't found the time to ask her.

Sent from my Nexus 5
I'm just trying to understand at what point do whatever fork generate "unique" files? One of Delebile's input files is the OTP, which is used to generate unique installation files. If the other forks are not using any input files (including the OTP) then at what point are they becoming unique to that specific console?

I don't know how SafeA9LH works, but for delebile's fork, the generated file is in itself an installer with all the unique files
 

astronautlevel

Well-Known Member
Member
Joined
Jan 26, 2016
Messages
4,128
Trophies
2
Location
Maryland
Website
ataber.pw
XP
5,008
Country
United States
I'm just trying to understand at what point do whatever fork generate "unique" files? One of Delebile's input files is the OTP, which is used to generate unique installation files. If the other forks are not using any input files (including the OTP) then at what point are they becoming unique to that specific console?

I don't know how SafeA9LH works, but for delebile's fork, the generated file is in itself an installer with all the unique files
Aurora wright's fork of a9lh is meant to be used with safea9lh.

The payloads generated by aurora's fork are generic and not console specific. Safea9lhinstaller (which is a generic .3dsx file) then can take these payloads, along with your OTP, and install a9lh.

The main reason this system is used (and is convenient) is that safea9lhinstaller doesn't require you to use your OTP when upgrading a9lh - all you need is the two compiled payload files. Your OTP is only needed for the initial install.
 

Madridi

Card Collector
Member
Joined
May 9, 2008
Messages
3,562
Trophies
2
Age
38
Location
Doha
XP
3,071
Country
Qatar
Aurora wright's fork of a9lh is meant to be used with safea9lh.

The payloads generated by aurora's fork are generic and not console specific. Safea9lhinstaller (which is a generic .3dsx file) then can take these payloads, along with your OTP, and install a9lh.

The main reason this system is used (and is convenient) is that safea9lhinstaller doesn't require you to use your OTP when upgrading a9lh - all you need is the two compiled payload files. Your OTP is only needed for the initial install.
Ah ok that makes a lot of sense, thanks for the explanation.
I don't suppose Delebile's fork can generate the same without the input?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • BigOnYa @ BigOnYa:
    @Xdqwerty No you heard wrong, and don't believe till you experience yourself. Fallout 4 is one of my favorite games of all time. Yes it had issues early on, esp with older hardware like the xbox1, but it is awesome, esp now being 4k on Series S/X or PS5
    +2
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, Then i think people were talking about fallout 76
  • Xdqwerty @ Xdqwerty:
    that one was buggy too
  • BigOnYa @ BigOnYa:
    Yea you right there, fallout 76 was a letdown, but it not that bad now, they have fixed slot of issues they had at launch. Biggest issue with Fallout 76 is its a pay to advance further type of game, which sucks
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, I may probably download fallout 3 or new vegas on my ps3
  • Xdqwerty @ Xdqwerty:
    cuz I didnt like fallout 1 that much
  • BigOnYa @ BigOnYa:
    New Vegas is awesome, F3 was ok too.
  • Psionic Roshambo @ Psionic Roshambo:
    I played Fallout 4 on PC, I enjoyed it honestly. Not my favorite game on earth but at the same time I didn't hate it at all lol
  • BigOnYa @ BigOnYa:
    That's cool you got a ps3... Glad to hear. Game on!
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Ironic this was posted today lol
  • BigOnYa @ BigOnYa:
    I think the tv series has boasted play of, I did see they said playing of it Is up, way more than norm
    +1
  • BigOnYa @ BigOnYa:
    I've been playing the next gen version on Series X all day, I love it. :wub:
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Downloading some random stuff, damn almost 400GBs in like 4 hours lol
  • Psionic Roshambo @ Psionic Roshambo:
    Gonna be over 1TB this month.... damn lol
  • Xdqwerty @ Xdqwerty:
    good night
    +1
  • BigOnYa @ BigOnYa:
    At least you have some fast speeds. What a drag that used to be, I remb downloading 1 pic back in the day, and seeing line by line show
    +1
  • BigOnYa @ BigOnYa:
    Nighty night.
  • BigOnYa @ BigOnYa:
    Or worse, you downloading something, and someone calls your phone and interupts the download, good ole AOL. Of course that's before most you guys even were born yet.
  • Psionic Roshambo @ Psionic Roshambo:
    Lol I think my first modem was 48K but it had some sort of firmware or software update that let me get 56K
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    I had EarthLink lol
  • Psionic Roshambo @ Psionic Roshambo:
    A bunch of NetZero accounts that I used for things... Lol
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    So glad I'm not in prison lol
  • BigOnYa @ BigOnYa:
    Yea marriage is a bitch sometimes...
  • Psionic Roshambo @ Psionic Roshambo:
    I legit think they passed the cyber terrorism laws from some of my hmm pranks lol
    Psionic Roshambo @ Psionic Roshambo: I legit think they passed the cyber terrorism laws from some of my hmm pranks lol