dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Search | Go
Wiki > Main > IriverPort > IriverBoot

The iriver Rockbox Bootloader

This page contains information about the Rockbox bootloader intended for the use of Rockbox developers. For installation instructions intended for ordinary users, please refer to the Rockbox online manual.

Warnings and Disclaimers

WARNING 1! The bootloader is still in development. If it malfunctions, you may not be able to restore the flash contents, and your player will be rendered USELESS!. You use Rockbox at your own risk! By installing Rockbox, you agree that Rockbox and its developers are not responsible for any damage to your player or loss of manufacturer's warranty that may result.

Installing the Rockbox bootloader from SVN

Be careful! Do NOT attempt to build your own bootloader from SVN unless you know for sure what you're doing.

NOTE: this page applies only for H100 and H300 series! For Iriver H10 see IriverH10Port.

Download and extract a recent version of the Iriver firmware

Direct links for iHP110 and iHP115

Direct links for iHP120, H120, iHP140 and H140

None of these URLs work anymore. Consider using the mirror link below instead!

Direct links for H320 and H340

Mirror sites

If the one you need doesn't work, you could try this page which has most of the above mirrored. You should try and get it from iriver first though. Both for your safety, and for the site's bandwidth's sake.

Once you have unzipped the firmware file, you should have a file called "ihp_120.hex" (H120/140), "ihp_100.hex" (H110/115) or "H300.hex" (H320/340).

Patching the iriver firmware

Download bootloader.bin

You need to download the appropriate bootloader.bin that fits your model. It's at the bottom of this page.

Descramble the original firmware

H110 or H115:
$ tools/descramble -iriver ihp_100.hex ihp_100.bin

H120 or H140:
$ tools/descramble -iriver ihp_120.hex ihp_120.bin

H320 or H340:
$ tools/descramble -iriver H300.hex H300.bin

Merge the firmware and the boot loader into a new firmware file

H110 or H115:
$ tools/mkboot ihp_100.bin bootloader/bootloader.bin new.bin

H120 or H140:
$ tools/mkboot ihp_120.bin bootloader/bootloader.bin new.bin

H320 or H340:
$ tools/mkboot -h300 H300.bin bootloader/bootloader.bin new.bin

Scramble the new firmware file

$ tools/scramble -iriver new.bin new.hex


If you used one of the attached bootloader(-version).bin, fwpatcher.exe or fwpatchernu.exe, your new.hex (or ihp_120.hex if you used a fwpatcher) should have one of these MD5 sums:


Firmware Version MD5 sum User
1.63-EU 4938420d83aa6da3764d33e5a008c8d4  
1.63-K 044b737ddb74436353e290d3fbcc3333  
1.63-US e51883ed89d49f5677b0a976aef7b154  
1.65-EU 528917d9e5b34a3e5bcac8fe1f4bd7a9 DONE AndreScheffler
1.65-K ef24f69a679e5eba2216045cb24d8b15  
1.65-US 76d83812b9e1856f768ba913eeba44e1  
1.66-EU 2aa9d16d3e166a7575fc652db8588daa DONE AndreScheffler
1.66-K a87dbe604ea98d035450a34b6e184a08  
1.66-US f7668e8949f1a78e8ecd685db78b6824  
1.66-JP 72613b75c5196f63e99e41b7a88d7241  


Firmware Version MD5 sum User
1.63-EU 15f09130a1aa02c25f820e8cc68259a4  
1.63-K 55e4cb20e36f4da06ad80b31aaaa3054  
1.63-US dbdd012a3d821d26f907879cca71e9f4  
1.65-EU 43454df30c176e55d0df7e3c48e67785 DONE JensArnold
1.65-K d8cb7d9f586186bf9780ee761fc8a677 DONE JohnSmith69
1.65-US 99c5666e990dc782b9daefcb1a087ec0 DONE AndrewPilley, JonathanHull
1.66-EU e26d2574f39cee0adcdd54fb9f316293 DONE ChrisKuhn
1.66-K e76121ba9efe72ecfbb6392eaefe6d96 DONE JohnSmith69
1.66-US 12194678a2fdd0814d2e0bb57c8e8e6e DONE SimonIten
1.66-JP 51716393ea0605d225e70a6be29dfdbd  


Firmware Version MD5 sum User
1.04-US 8b48bfa236408c088c2a82cfda87a6e1 reported by IanDouglas Apr 3 2006
1.28-EU 9cd7e291a66f55335c619d63f3a7634b  
1.28-K 90967247ba3f1bcb257432a4d78553bf  
1.28-JP cfd22c20e473727148f11f83d0028fb3 DONE MichaelCarr - 2020-08-10
1.29-EU 5982302507d57c2a96e9480c242b5de0 DONE JonSenior
1.29-K 1303e22ef5b1af866aa4def03d6c5f5a DONE BlakeJohnson
1.29-JP ce433c404ff7531f5852ce3cb61143ee  
1.30-EU 7fb49041294b3e6aea3894218d6d64cf DONE GerTimmens, ManuelDejonghe
1.31-K b92d631a8978eaf5467fb7e3f952feaa DONE lebellium

TIP If you used fwpatcher or fwpatchernu, these are already checked by the patcher.
DONE means that this has been tested by at least one person - add one to the line if you're successful with one that hasn't been tested yet.

Copy the patched firmware file to your iriver

Copy the hex file you patched in Step 2 to the root of the iriver hard drive and make sure it is called "ihp_120.hex" (H120/140) , "ihp_100.hex" (H110/115) or "H300.hex" (H320/340).

Linux example:
$ mount /mnt/iriver
$ cp new.hex /mnt/iriver/ihp_120.hex
$ umount /mnt/iriver

Install it on the iriver

Follow the normal iriver firmware upgrade procedure (details are given below). Once completed, you should have a boot loader that tries to load Rockbox from disk whenever you start the player.

iriver Firmware Upgrade procedure:
  1. Unplug your Iriver from the USB cable if it is attached
  2. Press and hold down the Joystick(SELECT) button until the Settings menu appears
  3. Click on 'General'
  4. Scroll down and click on 'Firmware Upgrade'
  5. You will be asked to confirm you want to upgrade. Move the joystick to the left so that the 'Yes' button is ticked and press the joystick button again
  6. It should now say 'Firmware Upgrading...'. Do not touch the player during this process!
  7. The player will switch itself off when it has completed the upgrade.

Once this is completed, when you now start your player up you should initially see a screen saying 'Rockbox Bootloader' at the top before the normal Iriver boot screen appears.

You have now successfully installed the bootloader and are ready to install Rockbox itself.

ALERT! NOTE: You must now install the Rockbox files on your iriver, or it will simply boot the iriver firmware - see the manual for instructions on how to do this.

Selecting which firmware boots on start up

When you have installed Rockbox on your player, you will now be able to choose which firmware you want to use each time you turn on your player.

H100: To start the original Iriver firmware, hold the record button down and press Play. To start the Rockbox firmware, simply press Play on its own. H300: Hold the Record button, and press Play/On. Continue holding both until you see a message telling you that it is starting the original firmware. Then, you may release Record but continue holding Play/On. The iRiver firmware detects if Play/On is pressed when it starts, and if it isn't being pressed shuts itself down.

Note: When starting the original firmware from the remote with the main unit Hold switch on, you will need to hold the Play button until the iriver firmware has started. Otherwise you will get a "hold" message from the original firmware.

Current version

H1xx Bootloader v6

  • Better handling of Hold switches
  • Improved SDRAM settings
  • Looks for rockbox.iriver in both / and /.rockbox
  • Lights the remote backlight when booting

H3xx Bootloader v5

  • Bootloader USB mode
  • Solved the nasty timing issue in v4

Known issues

  • Still starts the iriver firmware when plugging in the charger (this is intentional until the charging code is updated for h300)
  • The hard drive spins down and restarts when entering the USB mode. I have yet to find out why.


MatthiasM: Bootloader v2: make sure that you have only one primary harddisk partition with FAT32 at your H3x0! Otherwise the Rockbox bootloader works but fails to load Rockbox itself.

AlexanderSpyridakis: There is a serious Bootloader issue for many users. It seems that for some poeple the USB Bootloader mode failes to work. While the unit confirms that it is in a USB Bootloader mode the computer fails to recognise the device (not OS related). While normal USB detection works (within the firmware) if someone encounters the USB Bootloader failure, then the user has to wait for the player to boot up and wait for the disc to go to idle mode before inserting the USB cable again. Of course there is no problem, USB related, in default iriver firmware. Any ideas?

This is fixed in SVN now. -- SteveBavin - 19 Apr 2007

KevinFerrare: Since the beginning of the rockbox port on the H1x0 series, I've always got an "*Panic* ata:-32" error with vanilla bootloaders. The only solution I've found so far is to replace the content of the "check_registers" function in "firmware/drivers/ata.c" by a "return 0;", compile the bootloader, cross my fingers and flash it

DavideGentile: On CFModded H1x0 targets USB disk mode does not exit gracefully. Target throws a "ATA error: -80" and a reset is subsequently required.

TODO list for the upcoming bootloader revision

Task Fixed in SVN?
H300: Make USB bootloader mode work on devices where v5 does not Yes
H300: Prevent HD click in USB bootloader mode Yes
H300: Charging screen with AC/DC charging Yes
H300: Charging screen with USB charging Yes
H300: RTC alarm handling Yes
H300: Handle startup by the non-LCD remote Yes
Output the text on the remote LCD too Yes
H300: Remove/reduce nasty audio "thump" Yes
Replace the error codes with informative text Yes
H100: Fix remote detection so it is possible to turn on unit with all remote types (With v7pre3, original H1x0 lcd remote and H1x0, hold is detected as on when it is not, so it is impossible to turn H1x0 on with remote (fixed with v7pre4) Yes
H100: Support USB Diskmode for CFModded players Yes

I Attachment Action Size Date Who Comment
bootloader-h100.binbin bootloader-h100.bin manage 44.3 K 11 Jul 2006 - 21:10 LinusNielsenFeltzing Bootloader v6 for iriver H100/H115
bootloader-h120.binbin bootloader-h120.bin manage 44.3 K 11 Jul 2006 - 21:10 LinusNielsenFeltzing Bootloader v6 for iriver H120/H140
bootloader-h300.binbin bootloader-h300.bin manage 50.0 K 11 Jul 2006 - 21:10 LinusNielsenFeltzing Bootloader v5 for iriver H320/H340
bootloader_h100_8.zipzip manage 60.8 K 15 Nov 2020 - 19:49 JamesBuren  
bootloader_h120_8.zipzip manage 60.8 K 15 Nov 2020 - 19:50 JamesBuren  
bootloader_h300_8.zipzip manage 64.3 K 15 Nov 2020 - 19:50 JamesBuren  
fwpatcher.exeexe fwpatcher.exe manage 177.0 K 11 Jul 2006 - 21:10 LinusNielsenFeltzing FWpatcher - with version H1xx v6 and H3xx v5
fwpatchernu.exeexe fwpatchernu.exe manage 176.5 K 11 Jul 2006 - 21:10 LinusNielsenFeltzing FWpatcher without unicode support (v6 & v5)
r209 - 02 Apr 2021 - 20:46:06 - UnknownUser

Parents: IriverPort
Copyright © by the contributing authors.