Skip to content
Nick Desaulniers edited this page Mar 31, 2021 · 12 revisions

Table of Contents

How to build

Install dependencies

$ sudo apt install gcc-arm-none-eabi binutils-arm-none-eabi
$ pip3 install -U git+https://github.com/TuxSH/firmtool.git

devkitARM

fetch latest release from https://github.com/devkitPro/pacman/releases/, example:

$ wget https://github.com/devkitPro/pacman/releases/download/v1.0.2/devkitpro-pacman.amd64.deb
$ sudo dpkg -i devkitpro-pacman.amd64.deb
$ sudo /opt/devkitpro/pacman/bin/pacman -S 3ds-dev

pick the entry for devkitARM, example:

:: There are 14 members in group 3ds-dev:
:: Repository dkp-libs
   1) 3ds-examples  2) 3ds-pkg-config  3) citro2d  4) citro3d  5) devkitarm-crtls  6) libctru
:: Repository dkp-linux
   7) 3dslink  8) 3dstools  9) devkit-env  10) devkitARM  11) devkitARM-gdb  12) general-tools  13) picasso  14) tex3ds

Enter a selection (default=all): 

select 10, enter. A cross compiler toolchain should be installed at:

$ /opt/devkitpro/devkitARM/bin/arm-none-eabi-gcc --version

Fetch sources

$ git clone https://github.com/linux-3ds/firm_linux_loader.git

Build

$ PATH=/opt/devkitpro/devkitARM/bin:$PATH DEVKITARM=/opt/devkitpro/devkitARM make

Put on SD Card

Place firm_linux_loader.firm on the sdcard under luma/payloads/.

example:

$ cp firm_linux_loader.firm /media/nick/6332-3234/luma/payloads/.
Clone this wiki locally