Copio y pego del post de gbatemp en inglés, ya lo iré traduciendo xDAs you may know from this thread:
https://gbatemp.net/threads/linux-for-3ds.388658 I've managed to get Linux booting on the Nintendo 3DS.
Since I'm using Brahma2, it will only work on FW less or equal than 9.2.
Currently the environment is very simple, you have Busybox (which "simulates" some programs like ls, cat, top, etc) and Weston (the Wayland compositor) plus a few Weston clients demos (don't expect me to try to run the X server).
Descarga para versiones inferiores o iquales a 9.2:Descarga para cualquier (?) versión (usa Memchunkhax2 y de momento no es muy estable):Otras descargas:
Readme:
Linux 3DS Loader by xerpi
Installation:
1) Copy the zImage and the nintendo3ds_ctr.dtb to the root of the SD card
2) Copy the 3ds folder to the root of the SD card
3) Run 3DS Linux Loader.3dsx with a Homebrew Launcher
User: root
Pass: root
Linux things:
* You can start Weston by running:
# /start-weston.sh
* You can change the input mode (keybord, mouse) by pressing SELECT
Sources:
* Linux: https://github.com/xerpi/linux
* Buildroot: https://github.com/buildroot/buildroot
* Linux 3DS Loader: https://github.com/xerpi/3DS-Linux-Loader
Note: Currently it doesn't support the SD card, [S]Wi-Fi, the touchscreen,[/S] etc because only the ARM9 CPU has access to them, and Linux runs on the ARM11 CPU.
I will have to add a custom ARM9 "kernel" that communicates with the ARM11 CPU.
Don't expect me to have it coded very soon.
How to compile it yourself:
- Step 1: Compiling or Downloading the toolchain
- Step 1.a: Downloading the toolchain if you have Linux x86-64
- Download the Precompiled ARM toolchain
- Uncompress it to /opt/x-tools/arm-unknown-linux-gnueabihf
- Step 1.b: Compiling the ARM toolchain
- Git clone https://github.com/crosstool-ng/crosstool-ng.git
- Run: autoconf && ./configure --enable-local && make install
- Run ./ct-ng ct-ng menuconfig
- Go to Target options
- Target Architecture -> Select arm
- Floating point -> Select hardware (FPU)
- Emit assembly for CPU -> Write mpcore
- Exit -> Exit -> Save? Yes
- Run ./ct-ng build
- Step 3: Build Linux
- Git clone https://github.com/xerpi/linux.git
- Copy buildroot/output/images/rootfs.cpio.gz to the linux folder
- Run sh make_3ds.sh
- (you can edit the script and change -j3 to the value you want to speedup the compilation)
- Step 4: Copy Linux to the SD
- Copy linux/arch/arm/boot/zImage to the root of your SD card
- Copy linux/arch/arm/boot/dts/nintendo3ds_ctr.dtb to the root of your SD card
- Step 5: Build and copy the 3DS Linux Loader to the SD
Screenshots: