Rockbox Development > Starting Development and Compiling
Install rockbox.ipod to OSS on ipodvideo (disable dualboot)
(1/1)
rockbox_dev123:
I'm reasonably familiar with the boot process having read http://www.ipodlinux.org/Firmware.html and https://www.rockbox.org/wiki/IpodPatcher.html#Overview_of_the_ipod_firmware_partition.
I have an ipodvideo and while its great that the OFW can see all of the 512G disk, I will never use the official firmare.
I came up with a clever way to prevent the OFW from booting after reading the bootloader source:
--- Code: --- * So, once the bootloader has control:
*
* 1) If the hold switch is on, or the menu button is being held,
* try to boot the Apple firmware.
* 1a) First, it looks for apple_os.ipod on the FAT32 partition,
* in .rockbox or the root directory. If found it loads that
* without further checking and runs it.
* 1b) Next, it checks to see if the OSOS image already loaded
* into RAM is in fact the Apple firmware with the bootloader
* appended. It looks at DRAM_START+0x20 for the string
* "portalplayer", and if it's there, just jumps back to
* DRAM_START where the entry point was before the bootloader
* was appended.
* 1c) If neither of those worked, it displays an error and dies.
--- End code ---
So I copied .rockbox/rockbox.ipod to .rockbox/apple_os.ipod and now if I boot my ipodvideo with the hold switch on it will boot rockbox instead of the OFW. Booting is much faster as a result!
I am interested in the comments further down:
--- Code: --- * Loading from OSOS is somewhat faster than loading from FAT32,
* because the Apple ROM doesn't have to deal with filesystems or
* fragmentation, and is already loading from OSOS anyway. Thus,
* the fastest boot configuration that still allows dual booting
* is to install Rockbox into OSOS with the bootloader appended
* (and delete/rename rockbox.ipod from the FAT32 partition).
*
* It is of course faster to just install Rockbox to OSOS alone,
* but then it's impossible to boot the Apple firmware.
--- End code ---
--- Quote ---It is of course faster to just install Rockbox to OSOS alone, but then it's impossible to boot the Apple firmware.
--- End quote ---
Has installing Rockbox to OSOS been documented anywhere? I realise I would probably have to rewrite the OSOS each time I update rockbox but that doesn't seem too tedious.
chris_s:
That would be method 4 ("OSOS contains only Rockbox") that is documented on the page you linked to (see the very bottom)
https://www.rockbox.org/wiki/IpodPatcher.html#A_4_41_OSOS_contains_only_Rockbox
It's my favorite method of using Rockbox on iPods... boots up lightning-fast :)
--- Code: ---Install your copy of Rockbox to the OSOS image with ipodpatcher -wf rockbox.ipod
--- End code ---
rockbox_dev123:
--- Quote from: chris_s on May 06, 2024, 06:22:35 AM ---That would be method 4 ("OSOS contains only Rockbox") that is documented on the page you linked to (see the very bottom)
--- End quote ---
I'm clearly not reading very well today. Thanks for replying, worked a charm!
***
For anyone else on macOS it seems that "Sending SCSI Command failed." can be safely ignored.
Also make sure you pass a path to the boot file from a location outside of the mounted iPod. Part of the write process includes a step to unmount the disk and you will get the following:
--- Code: ---[INFO] Volume IPOD on disk5s2 unmounted
[ERR] Couldn't open input file /Volumes/IPOD/.rockbox/rockbox.ipod
[ERR] --write-firmware failed.
--- End code ---
Working output:
--- Code: ---$ sudo ./ipodpatcher -wf ~/rockbox.ipod
ipodpatcher efcea66280-240506
(C) Dave Chapman 2006-2009
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[INFO] Scanning disk devices...
[ERR] Sending SCSI Command failed.
[INFO] Ipod found - Video (aka 5th Generation) ("winpod") - /dev/disk5
[INFO] Reading partition table from /dev/disk5
[INFO] Sector size is 2048 bytes
[INFO] Part Start Sector End Sector Size (MB) Type
[INFO] 0 63 64259 125.4 Empty (0x00)
[INFO] 1 64260 249935870 488030.5 W95 FAT32 (0x0b)
[ERR] Sending SCSI Command failed.
[INFO] Ipod model: Video (aka 5th Generation) ("winpod")
[INFO] Volume IPOD on disk5s2 unmounted
[INFO] Padding input file from 0x000b65e4 to 0x000b6800 bytes
[INFO] Reading input file...
[INFO] Checksum OK in /Users/foo/rockbox.ipod
[INFO] Wrote 747520 bytes to firmware partition
[INFO] Firmware /Users/foo/rockbox.ipod written to device.
--- End code ---
Navigation
[0] Message Index
Go to full version