Overview
This page document the installation of Rockbox bootloader on the following targets:
To install Rockbox, you need to install two components:
- Rockbox bootloader: you only need to install it once
- Rockbox firmware
Rockbox firmware
The firmware is what you interact with all the time. It is easy to install, upgrade and remove. There are two types of builds: stable, development. Stable builds are infrequently updated but well-tested. Development builds contains all the latest feature but may be less tested.
As of december 2016, we recommend development builds because the current stable (3.13) is very old. To install the firmware, you can either use
RockboxUtility or manually download and install it.
Rockbox Utility
See
RockboxUtility. The tool allows you to choose between stable and dev builds. The following targets are supported:
Manual installation
Follow the instruction from
this page. Some less supported targets are not listed in the previous page, in which you can find the link on the
dev builds page.
Rockbox bootloader
The bootloader only needs to be installed once. We sometimes release bootloader updates to fix major issues or add more feature but this is very infrequent. The recommended way to install the bootloader is to use
RockoxUtility if it supports your device. Otherwise we provide some prebuilt bootloader for some targets. This page all documents the gory details of creating the bootloader yourself if you really want to.
Rockbox Utility
See
RockboxUtility. The following targets are supported:
Prebuilt bootloaders
To install the bootloader, follow the instructions carefully:
- Plug your device in the computer, it should appear as a mass storage device. If you have a previously installed rockbox bootloader, make sure you are using the original firmware usb mode. See the wiki page of your device to find out how to enter this mode.
- Download the corresponding bootloader from the table below
- Copy the file to internal storage of your device (NOT the sd card if it has one), and RENAME IT to
firmware.sb
- Safely eject/unmount your device
- Reboot your device. If you have a previously installed rockbox bootloader, make sure you reboot to the original firmware. See the wiki page of your device to find out how to enter this mode.
- You should see an upgrade screen, wait until the installation is finished, it can take several minutes. DO NOT reset your player during that time.
Particular case of the Creative ZEN X-Fi2
The
CreativeZENXFi2 is special, see
CreativeZENXFi2Port for install instructions.
Crafting the bootloader image
If you do not want to download a prebuilt bootloader and your target is not supported by
RockboxUtility, you can manually build it.
Note that building a bootloader is a two stage process:
- compile the bootloader from source (or download a prebuilt one)
- modify an original firmware upgrade to integrate this bootloader
Compiling or getting a bootloader
If you really want to, you can compile the bootloader yourself by following the instruction from
HowToCompile. Note that this requires a cross-compiler and this procedure is therefore not recommended.
Note that we only recommend installing officially released bootloader (those are tagged in the repository).
Alternatively, you can download a prebuilt bootloader from the table below:
Once you have compiled the bootloader, you should have a file
bootloader-XXX.YYY
where XXX is the target and YYY the vendor (for example
bootloader-fuzeplus.sansa
).
Creating the bootloader image
To create the bootloader image you need:
- the compiled bootloader
bootloader-XXX.YYY
(for example bootloader-fuzeplus.sansa
)
- a copy of the source code, see HowToCompile
- a copy of the original firmware
ZZZ
(for example ZENX-FiStyle_PCFW_L22_1_03_04e.exe
), see table below
Then you need to build the mkimxboot tool in
rbutil/mkimxboot
. To do so, just cd into
rbutil/mkimxboot
and run
make
. It should produce a
mkimxboot
executable.
Finally, you need to run the tool with the correct parameters. Assuming you are in
rbutil/mkimxboot
, run:
./mkimxboot -i ZZZ -b bootloader-XXX.YYY -o firmware-rb.sb -t dualboot
You should replace
ZZZ
by the path to the original firmware you downloaded, and replace
bootloader-XXX.YYY
by the path to the file produced by the compilation. Note that this command will produce a file called
firmware-rb.sb
.
Once you have the
firmware-rb.sb
file, proceed as in the
Prebuilt Bootloaders.
Uninstalling the bootloader
To uninstall the bootloader, simply install an unpatched original firmware. Most manufacturers offer a tool to perform firmware upgrade, you can use it to upgrade the firmware and remove rockbox by doing so.
Alternatively, you can proceed as in
Creating Bootloader Image but run the following command instead:
./mkimxboot -i ZZZ -w -o firmware-rb.sb
Expert instructions
The following instructions are not recommended until you know what you are doing
Getting rid of the original firmware (aka no dualboot)
WARNING: it will make recovery and upgrade much more difficult
If you do no want to be able dualboot and get rid of the original (almost) entirely, you can proceed as in
Creating Bootloader Image but run the following command instead:
./mkimxboot -i ZZZ -b bootloader-XXX.YYY -o firmware-rb.sb -t single
WARNING: it will make recovery and upgrade much more difficult
Building a recovery image
WARNING: do not flash this image, only use it with the USB recovery mode!
If you need to build a recovery image, you can proceed as in
Creating Bootloader Image but run the following command instead:
./mkimxboot -i ZZZ -b bootloader-XXX.YYY -o firmware-rb.sb -t recovery
WARNING: do not flash this image, only use it with the USB recovery mode!
Extracting a firmware image from the device
If you do not want to download a firmware image, or if it is not available anymore, you can extract from the device. Make sure your device is in
USB Mass Storage mode and you a copy of the rockbox repository.
You will need the libsgutils2-dev package. Go into
utils/imxtools/scsitools
, run
make
. You should have an executable called
scsitool
, run it as root to extract the firmware as follows:
./scsitool -x firmware.sb /dev/sdX
.
where you replace
/dev/sdX
by the path to your device (for example
/dev/sdb
).
--
AmauryPouly - 16 Dec 2016
Copyright © by the contributing authors.