sciresm / boot9strap Goto Github PK
View Code? Open in Web Editor NEWBoot9/Boot11 code execution.
License: GNU General Public License v3.0
Boot9/Boot11 code execution.
License: GNU General Public License v3.0
For whatever reason the, as of 1.4, B9S can't detect the boot.firm in the root of my micro SD, meaning that if a valid boot.firm is not already present in the CTRNAND my n3DS XL won't boot and I have to use ntrboot to recover. It also seems to break Luma3DS's chainloading functionality, as holding start will just kick me to the home menu as normal. Downgrading to 1.3 again resolved these issues.
In case it's hardware specific I'm using a EU n3DS XL with a 64GB SanDisk Ultra.
When I press START+SELECT+(X) upon boot, B9S freezes with a black screen and I have to hard-reset my 3DS.
devkit r47
boot9strap 632a441
pycryptodome (3.4.7)
arm-none-eabi-objcopy -S -O binary build/arm11.elf out/arm11.bin
Traceback (most recent call last):
File "build_boot9strap_firm.py", line 2, in
from Crypto.Cipher import AES
ImportError: No module named Crypto.Cipher
make: *** [boot9strap] Error 1
Doing this for first time. Using an R4i Gold 3DS on an original 3DS running v11.4.0-20U. I can't get SafeB9SInstaller to launch. I've done the following:
While holding power the power button would light up, but as soon as I released the buttons (still holding the magnet in place) the light would just go back off. My assumption is that upon releasing the buttons the card would boot and start the SafeB9SInstaller.
Is there something I'm doing wrong? Is there something special I need to have done to my flash cart? Or will this method not work with the 3DS version I'm running? Any advice is appreciated. Thanks.
After installed the last boot9strap, i can't acces to my sysnand with Luma 8.0
"An exception occurred
Processor : ARM9
Exception type : data abort"
and many line with R0, R2......
Can you help me please ?
my 3DS sometimes freezes in various ways with strange sounds, no matter which custom firmware I install on top of it, during boot, entering sleep, playing open_agb_firm games, or while playing a 3DS game and now also opening settings while writing this very article.
I assume crashes are related to Luma3DS, so I don't post them here.
I have a new3DS, I use it for GBA games and RPG Maker FES development(has it's own crashes already)
Every time I try to start boot9strap from the Luma chain loader it says:
An error has occurred:
The payload is invalid or corrupted.
Press any button to shutdown
So the new getrpwnG is out so dose that mean we could use b9s installer to get cfw
Also see #16
Some people have 2 3DSes, one that is working and CFW'd, and one that is bricked
They get a DS flashcart to unbrick their bricked 3DS, and use their working 3DS to flash their DS flashcart
But, when they try to boot from that DS flashcart on their bricked 3DS, they do not know if the DS flashcart wasn't flashed properly, or if their buttons are broken, or if their magnet isn't strong enough, since the bricked 3DS just remains as is with static black screens, not informing them of anything they might be doing wrong.
And they cannot use their CFW'd 3DS to check if they have flashed their DS flashcart properly, because even if they try to boot from their DS flashcart on their CFW'd 3DS, all that will happen in the end is just boot the boot.firm on their SD card. So they cannot know if the boot.firm on their SD card was booted by B9S on their DS flashcart, or the B9S on their NAND.
What can fix this is by adding a 1-2 second splash screen to the B9S for DS flashcarts, that simply prints to the screen a "BOOTED FROM NTRBOOT", to inform the user the ntrboothax was successful.
Another fix is making the NTR version of B9S, able to boot only from ntrboot.firm instead of boot.firm, so that we can differentiate the two.
Is there any way to know? How to tell B9S V1.2 from B9S V1.3?
Instead of hardcoding boot.firm in the main.c file, I think it would be a good idea to add a possibility to bypass it using a text file (ex: bootorder.txt) which would be able to provide a list of 1 firm file per line and detect the first one available to boot it.
This would be especially useful for using BAX firms without messing around with ordinary boot.firm locations to allow smoother updates.
Right now, I made a fork of B9S to support BAX in a hardcoded way.
I think it would be great to officially adopt this, but using a text file to specify which firm to load first and provide some flexibility.
Of course, it would always default to the hardcoded boot.firm file if no other firm is found, wether a bootorder.txt file is present or not.
When i try to run this program on my 2ds with my 2023 r4 card it freezes and doesn't get past the select card screen.
So before i install boot9strap i want to make sure that i can remove it safely .
But there is no guide of how to do this.
So how can i do this tested methods would be preferred.
Thanks!
Would it be to hard to implement the bootloader a bit like this?
And if everything fails, boot an "almost" unpatched vanilla sysnand.
That is, patch only the firm protection module and load the sysnand.
That way it looks unmodded but it is safe from updates deleting sighax.
It could be useful to hide sighax when sending the 3ds to tech support.
Thank your for your time and awesome work!
I already do this myself, but it makes sense for everybody. When launching from an NTRBoot card, if it loads SafeB9SInstaller as ntrboot.firm, then you don't need to remove the SD card more than once. The current guide has the b9s install, followed by removing the card to replace boot.firm with Luma. Instead, you should have both Luma as boot.firm and safeb9sinstaller as ntrboot.firm.
EDIT: I'd make a pull request, but I honestly don't know to do it properly (ie. only have boot9strap_ntr.firm look for ntrboot.firm, while boot9strap.firm looks for boot.firm) so I just built it once normally, then made the change and made a clean build to use the ntr.firm for flashing to the flashcart.
I think it would be useful to have loaders/chainloaders pass a string with their name and version as an argument to the firm they load. Then the firm could display that information to the user (for instance in Luma3DS's config menu).
This was something that always annoyed me about A9LH. Not being able to see what version I had installed. This way you'll also be able to tell if you're running the official b9s or a fork or some other loader.
Obviously a change like this will effect lots of other software, but I figured this was the best place to bring it up.
Is there an easy way? Thanks
This in essence means that key 0x24 is no more set up the way it was before (aka the way the system expects it). While the keyX is set by bootrom, keyY is set by NATIVE_FIRM. The handling is correct on N3DS (meaning you most likely set the keyY according to P9 I know that the key is also in P9, but I'm unsure how it is set on O3DS consoles).
Getting a failed to mount SD card message after installing boot9strap.
Tried to continue with a different SD card... same message... any suggestions?
Hi !
in boot9strap.s
; stage 2: Load stage 2 payload to 0x08001000.
.org 0x08001000
.area 0x10000---------------------------------------------------->line 115 Can I increase the size to 0x20000
.incbin "stage2/arm9/out/arm9.bin"
.endarea
.align 0x10000
.close
(Edit) NVM, it's neither a B9S issue, nor a GodMode9 Bonus Drive issue, but a legit issue.
Sorry for this.
not an issue..but i wonder if you guys could add support for b9s spi boot support...for those crazy blokes that replaced the spi flash on their wifi board.
if not...well..for completeness' sake :D
(tested b9s flashed to spi and it boots)
These lines specifically in the changelog are incorrect.
If the ntrboot combo (X+Start+Select) is held, or if either FIRM file is corrupt, the notification LED will display the following:
- SD FIRM corrupt, CTRNAND FIRM also corrupt: red
"if either FIRM file is corrupt"
If the CTRNAND FIRM is corrupt but the SD FIRM is successfully loaded, as long as no ntrboot combo is held, it will not show an LED. Also, if both FIRM files are missing, it will show the white LED even if the combo isn't held.
"CTRNAND FIRM also corrupt"
This also applies if CTRNAND FIRM is missing.
An example of a revised version:
If the ntrboot combo (X+Start+Select) is held, if the SD FIRM is corrupted or neither FIRM files can be successfully loaded, the notification LED will display the following:
(Keep in mind this is just an example of what it could be. It's probably worded badly.)
Hey there, I am unable to dump them by holding START, SELECT and X on boot. I am on a 2DS, if that matters.
Nothing happens, nothing appears in the boot9strap directory. The buttons have been tested, and work fine.
I decided to install Boot9Strap to my old 3DS running on 4.2 Sysnand (don't question me please). One thing I noticed that happened when installing Boot9Strap is a few extra icons pop up on my menu screen, I haven't had this issue occur on my other consoles, though those ran a much later firmware than this old console here. Here is a screenshot of the four titles that for whatever reason installed onto my console (mind you I didn't have any file manager/CIA installer, so I couldn't install these myself).
Sighaxed Firm - file not found.
As stated by the fastboot3DS v1.1 stable changelog, [boot times] have been vastly improved thanks to the new SDMMC.c driver
. I've tried to measure how effective this improvement really is, and the measurements show that Luma3DS boots in ~8.7s when using b9s, while taking ~8.2s with fb3DS.
Would it be possible to replace the current sdmmc.c driver used by b9s with this (apparently) faster variant?
After scanning the qr code and going to the browser, the bottom screen turns pink then red, and my N2DS just freezes.
None of the buttons work and if I try closing and reopening it stays black.
I got it to work before so i don't get what the problem is. I followed the instructions to the letter and then when it didn't work I formatted my sd card. When that didn't work I deleted all my files and redownloaded the necessary files and tried again.
And when that didn't work I formatted my N2DS. Nothing seems to work.
i am sure all files are copy correctly, and when i run into b9s installtion, it stopped and display:
Sighaxed Firm - file not found.
how i can do ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.