ELF to DOL Converter

From WiiBrew
Jump to navigation Jump to search

Template:Infobox homebrewapp

What is this for?

When HBCb9 came out, they decided that they no longer need to support any invalid .elf files. If you have .elf files, you need to convert then to .dol with some little program that gets buried in some directory when/if you install devkitPro. This script will automate the task of converting all your stuff. It even comes with that little program so you don't need to install the entire devkitPro.

What do I do?

There are 3 files in the archive. Do whatever you want with the readme.txt, but put the other 2 files in your apps folder on the sd card (you need that sd card reader again :-/). Then just run the elf-dol_converter file and follow the directions on the screen. On linux you may have to do chmod 755 elf-dol_converter first.


  • This deletes the old .elf files after it's done with them. If you want to keep them either back them up beforehand, or edit the script to not erase.
  • There are some valid .elf files out there. Running this script on them will cause them to stop working. Backup your apps folder before you run this.
  • The linux version has a little bug where if a directory under apps has a space in its name, the script will complain and not look in that directory. The windows version should handle this without any problems.

List of apps with valid .elf files

These should not be run through this converter. Backup these programs before running this script, as it doesn't have the smarts to avoid them. Feel free to add to this list if you find something that should be in it. So far the list is:

Cheapo workaround is to rename (not convert) a valid boot.elf to boot.dol. HBC still loads it just fine, and this script will ignore it. Not ideal, but we're all hackers here, right?

Explanation of v1.1 windows code

The linux script works very similar to this script.

Elf converter
Code Explanation
@ ECHO off Makes it so only lines that start with 'echo' will print on the screen.
echo This will delete your old boot.elf files when it's done.
echo So if you have some perverse attachment to them, figure something out.
echo Press ctrl+c to NOT continue.
echo. Makes a blank line.
pause Asks you to press the "Any" key (not shift) :P
for /R %%f in (.) do if exist "%%f\boot.elf" ( Makes %%f hold the path to every directory in this directory, one by one. But not any directories under those.
powerpc-gekko-objcopy.exe -O binary "%%f\boot.elf" "%%f\boot.dol"
if exist "%%f\boot.dol" (del "%%f\boot.elf") If it worked, erase the .elf.
echo Done!