Support and General Use > Hardware

Is there a non-dual-boot bootloader for the ipod 6th gen?

(1/2) > >>

Was considering putting a >128gb drive in a 6th gen classic (one with the LBA28 limitation in the original firmware), and just trying to use it exclusively with rockbox.  The problem with that is that if it ever boots up in the original firmware it will probably (as I understand it) immediately corrupt the storage.  Is there a version of the bootloader available that disables the dual-boot facility, locking it to rockbox mode, so as to avoid that problem?
(It'll probably be a hard drive, not a flash mod, so don't need to worry about the rockbox/flash mod compatibility issue, but would still need to avoid accidentally using the original firmware)

OK, I found this thread, but to follow the instructions there I'd need a copy of the mks5lboot tool, and am not sure where to get that...

I believe precompiled versions of mks5lboot come with Rockbox Utility. Did you check that?

If you are not on Windows, instructions (including getting mks5lboot) are here

For whatever reason, I don't seem to have that executable in the more recent versions of RB utility I have (only files in the folder are ipodpatcher.exe, rockboxutility.exe and sansapatcher.exe)...though I did just find one in the folder of an early version of the ipod-classic-specific installer still on my PC from 2017.  Would that be sufficient?  Anything changed in that particular utility since 2017?


--- Quote from: rockbox_dev123 on August 27, 2019, 04:09:30 PM ---If you had searched thoroughly you might have found this:,42520.0.html


Here is the .patch file I used when I made these modifications myself:

--- Code: ------ ipod6g.c 2019-05-13 23:17:17.212288000 +0100
+++ "ipod6g (copy 1).c" 2019-05-13 23:47:38.047876458 +0100
@@ -372,12 +372,13 @@
             btn = button_read_device();
         /* Enter OF, diagmode and diskmode using ONB */
-        if ((btn == BUTTON_MENU)
+/*        if ((btn == BUTTON_MENU)
                 || (btn == (BUTTON_SELECT|BUTTON_LEFT))
                 || (btn == (BUTTON_SELECT|BUTTON_PLAY))) {
             fw = FW_APPLE;
             rc = kernel_launch_onb();
@@ -409,12 +410,13 @@
         /* We wait until HDD spins up to check for hold button */
-        if (button_hold()) {
+/*        if (button_hold()) {
             fw = FW_APPLE;
             printf("Executing OF...");
             rc = kernel_launch_onb();
     if (rc != 0) {

--- End code ---

I have attached the binary bootloader I compiled some time ago (rename the fake jpg extension to .ipod):

--- Quote ---bootloader-ipod6g.ipod: pre-compiled bootloader modified to prevent launching official firmware as this corrupts all disks > ~127GB (flash with # mk6gboot --bl-inst bootloader-ipod6g_modif.ipod )

--- End quote ---

--- End quote ---


--- Quote from: rockbox_dev123 on February 15, 2020, 03:30:56 PM ---I would suggest flashing the modified bootloader here instead of using single boot mode for the following reasons:

I found out the hard way that booting into Apple's Disk mode via the instructions here:

--- Quote ---Usage
Turning on the iPod

Unlock the HOLD switch, or press any button if already unlocked.
Turning off the iPod when running Rockbox

Hold down the PLAY button, until you see Shutting down...
Switching from Apple's firmware to Rockbox

Hold down MENU+SELECT, until the iPod reboots. Release them immediately after the screen goes black.
Switching from Rockbox to Apple's firmware

Turn off the iPod, then turn it on and immediately lock the HOLD switch.

- OR -

Turn off the iPod, then turn it on and immediately hold down MENU.
Entering Apple's Disk mode

Turn off the iPod. Power it on by holding down SELECT+PLAY, keep holding until Disk mode starts.
Entering Apple's Diagnostics mode

Turn off the iPod. Power it on by holding down SELECT+LEFT, keep holding until Diagnostics mode starts.
Entering Rockbox's Bootloader USB mode

Turn off the iPod. Power it on by holding down SELECT+RIGHT, keep holding until you see the USB Mode message.

--- End quote ---

Will also corrupt your disk...

After spending a few days to re-transfer my music...

I just tested installing a freshly recompiled stock bootloader in single mode via:

--- Code: ---[foo@bar mks5lboot]$ sudo ./mks5lboot --bl-inst ./bootloader-ipod6g.ipod --single
mks5lboot Version ee15e45224-200125
This is free software; see the source for copying conditions.  There is NO

[INFO] Building DFU:
[INFO]  type:         BL installer (single)
[INFO]  BL size:      102592
[INFO]  DFU size:     110736
[INFO]  model name:   Classic 6G
[INFO]  platform:     ipod6g
[INFO]  RB name:      ip6g
[INFO]  RB num:       71
[INFO] libusb: found [05ac:1223] at bus 1, device 30, USB ver. 0200
[INFO] iPod Nano 3G / Classic, mode: DFU
[INFO] DFU image sent successfully (110736 bytes)

--- End code ---
As suggested here.

I find that I can still boot into the Apple firmware via the HOLD switch and it prompts to "Connect to iTunes to restore" but this thankfully doesn't corrupt my disk.

I'm not going to attempt to boot into Apple's Disk mode as it seems that its still possible to dual boot after flashing in --single mode.

I suspect that it is not removing the OF partition whcih is the opposite of what is suggested by the README of mks5lboot (emphasis mine):

--- Quote ---The single-boot installer writes the bootloader on the NOR with no previous check, the original Apple NOR boot is destroyed if it exists.

--- End quote ---

--- End quote ---


[0] Message Index

[#] Next page

Go to full version