Giter Site home page Giter Site logo

boot9strap's People

Contributors

aurorawright avatar d0k3 avatar dogtopus avatar pablomk7 avatar plailect avatar sciresm avatar tuxsh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

boot9strap's Issues

B9S 1.4 cannot see SD boot.firm

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.

Build failed

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

Things to check to ensure SafeB9SInstaller loads?

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:

  • Flashed ntrboot onto R4i Gold 3DS.
  • Copied SafeB9SInstaller.firm to root of my SD card and renamed to boot.firm.
  • Copied contents of starter.zip to root of my SD card.
  • Created folder named boot9strap in root of my SD card.
  • Copied v1.3 of boot9strap.firm and boot9strap.firm.sha into the boot9strap folder on my SD card.
  • Inserted flash card into 3DS.
  • Located sleep sensor.
  • Powered off 3DS.
  • Placed magnet on sleep sensor.
  • Pressed and held Power, Start, Select and X for anywhere from 5-10 seconds and released.

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.

Can't acces to SysNand

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 ?

Very unstable (Freezes with weird noise)

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)

The payload is invalid or corrupted

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

11.5

So the new getrpwnG is out so dose that mean we could use b9s installer to get cfw

A way of confirming that an ntrboot was successful on devices with B9S already installed

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.

Feature request: sd:/bootorder.txt

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.

Freezes with the 2023 r4 cards

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.

Removing B9S

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!

Suggestion: firmware launch failsafe.

Would it be to hard to implement the bootloader a bit like this?

  • Check for key combo to dump the bootroms
  • Look for firm payload on sd
  • Look for firm payload on ctrnand

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!

[REQUEST] Officially use ntrboot.firm from NTR

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.

Suggestion: Pass loader name/version as arg to loaded firm

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.

Failed to mount SD

Getting a failed to mount SD card message after installing boot9strap.

Tried to continue with a different SD card... same message... any suggestions?

edit: stage 2: Load stage 2 payload to 0x08001000.

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

adding spi retail and spi dev support

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)

Changelog not accurate

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:

  • SD FIRM successfully loaded: green
  • SD FIRM missing, CTRNAND FIRM successfully loaded: yellow
  • SD FIRM corrupt, CTRNAND FIRM successfully loaded: orange
  • SD FIRM missing, CTRNAND FIRM also missing: white
  • SD FIRM missing, CTRNAND FIRM corrupt: magenta
  • SD FIRM corrupt, CTRNAND FIRM corrupt/missing: red
  • in addition to the above, the LED will blink if it is actually a ntrboot boot

(Keep in mind this is just an example of what it could be. It's probably worded badly.)

Unable to dump OTP or Bootrom

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.

Boot9Strap Adding Unknown Titles to Sysnand?

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).
image0

Use latest sdmmc.c driver for faster boot times

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?

Followed the steps for boot9strap, but I got stopped at the browser.

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.

B9S install failed

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 ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.