-
Notifications
You must be signed in to change notification settings - Fork 53
Building U Boot
The RetroFW U-Boot is maintained at http://uboot.retrofw.com. The U-Boot is fully open source and easily buildable by anyone with even the slightest interest. Minor knowledge of the Linux command line is required.
Read also the Building the Kernel page to get more detailed Kernel and U-Boot building instructions.
- Download the Ingenic GCC 4.12 compiler from Ingenic's website or the toolchain release mirror. e.g.
curl -L -o /tmp/mipseltools-gcc412-glibc261.tar.bz2 https://github.com/retrofw/kernel/releases/download/tools/mipseltools-gcc412-glibc261.tar.bz2
- Extract the toolchain to the root directory of your Linux system. Make sure you add the toolchain to your PATH so the kernel build can find the compiler. e.g.
tar -xjf /tmp/mipseltools-gcc412-glibc261.tar.bz2 -C /
export PATH="/opt/mipseltools-gcc412-glibc261/bin:$PATH"
- Create a directory in which you want to work with the U-Boot. e.g.
mkdir -p /opt/retrofw-kernel
- Clone U-Boot from GitHub into your new working directory. e.g.
cd /opt/retrofw-kernel
git clone https://github.com/retrofw/uboot
- Clean the U-Boot project and build for the device you're targeting. For ease of use, the project uses the same configuration names as the kernel. The following instructions use the 5B (i.e. IPS) model for the example. Replace the 5B with the appropriate screen/cpu combination for your device.
cd /opt/retrofw-kernel/uboot
make distclean
make RetroFW_5B_defconfig
make all
- The build process outputs several
.bin
files. The one we're interested in isu-boot-msc.bin
. This needs to be written to the start of the boot image.
dd if=u-boot-msc.bin of=RetroFW.img conv=notrunc bs=512 seek=1
sync
You can then write the RetroFW.img
file to an SD Card using a tool like balenaEtcher. Pop the card into your device, and enjoy your new build!
This wiki was made for RetroFW usage and tools. If we missed something or if you have a question/suggestion, please send us a message in our Discord server here.
RetroFW
- Home
- Install Firmware
- Emulators and Apps
- Bug Reporting
- USB Networking
- Button mapping and combos
- Changelog
Emulators
- Arcade
- GameBoy
- Java Games
- Nintendo NES, Famicom Disk System
- PlayStation
- Sega Genesis/Megadrive
Devices
- RetroArcade Mini (RS07)
- RG300
Themes
Development
- Configuring a Toolchain
- Making Games
- How to build IPK packages
- How to build OPK packages
- Supporting Game Controllers
- GitHub Development Flow
- Building the Kernel
- Building U-Boot
Modding