Find a file
Solomon Peachy ad6cc2f099 ipod6g: Prevent booting into OF if it does not support LBA48 and drive needs it
Early 6th gen ipods (80GB and 160GB "fat") are limited to LBA28
which results in a hard upper limit of 128GiB on the storage size.
The later 120GB model also shares this limitation.  These are identified
by HwVr of 0x00130000 and 0x00130100, respectively.

The final revision of the iPod Classic series (160GB "thin") does not
have this limitation, and can be identified by a HwVr of 0x00130200 or
0x00130300.

This is strictly an issue with Apple's stock firmware, and not the
hardware, and Rockbox will happily utilize the full capabiltiies of any
installed storage device.  Unfortunately, if you boot into the stock
Apple firmware, said firmware will destructively trash the partition
table and filesystem.

Consequently, the Rockbox bootloader will now check if the installed
drive requires LBA48, making sure the flashed firmware also supports
LBA48.  If not, we will disallow booting into the OF (including disk mode)
altogether.  This check can be overridden by holding down LEFT, at which
point you get to keep all the pieces.

Note: While Apple never released firmware without these limitaitons on
the older models, there is a way to update to update these to the newer
firmware.  This requires altering the stored HwVr, so it is safe to use
the HwVr as a proxy for the installe firmware capabilities.

Change-Id: Icdd5754f2a3d38c6de67fc7565fabc7aa20f19b3
2025-11-23 13:41:32 -05:00
android build: instead of 'ifdef NODEPS' use 'ifneq ($NODEPS,)' 2025-03-29 14:33:20 -04:00
apps talk: Rework utf8-awareness in talk_spell() 2025-11-23 12:08:51 -05:00
backdrops New port: Anbernic RG Nano 2025-07-29 21:01:53 -04:00
bootloader ipod6g: Prevent booting into OF if it does not support LBA48 and drive needs it 2025-11-23 13:41:32 -05:00
debian Prepare new maemo release 2013-03-10 12:12:38 +01:00
docs usbaudio: send through dsp (new) 2025-11-15 07:38:19 -05:00
firmware ipod6g: Correct double-shift in ata_rw_chunk_internal() 2025-11-20 20:03:22 -05:00
fonts FS#9060: Add the WinQangYi-Song BOLD fonts in 9, 10, 11, and 12pt. 2025-11-19 08:33:07 -05:00
gdb Nuke the never-functional iriver ifp-7xx port 2021-04-26 07:42:58 -04:00
icons Revert Non-Alpha Updated 8x8 tango icons 2020-10-25 16:21:58 +00:00
lib usbaudio: send through dsp (new) 2025-11-15 07:38:19 -05:00
manual manual nitpicking: add linebreaks in tables and fix cut off text 2025-11-14 11:54:06 -05:00
packaging 3ds: 3ds port sources. Second set of two. 2025-10-23 20:09:12 -04:00
tools voice: switch Greek Piper voice to a higher-quality model 2025-11-02 00:09:57 -04:00
uisimulator rgnano: Add simulator button click mappings 2025-08-18 19:06:04 -04:00
utils rbutil: Add Vietnamese to the list of languages 2025-10-20 16:51:46 -04:00
wps rgnano: Change ROCKBOX_DIR to /mnt/FunKey/.rockbox 2025-08-10 14:47:17 -04:00
.gitattributes Add a gitattributes file for the migration. 2011-12-01 14:14:59 +00:00
.gitignore gitignore: Add the output directory of the release scripts 2025-04-29 20:20:16 -04:00
.gitreview misc: Add a .gitreview file for better gerrit integration 2021-06-24 07:22:19 -04:00

               __________               __   ___.
     Open      \______   \ ____   ____ |  | _\_ |__   _______  ___
     Source     |       _//  _ \_/ ___\|  |/ /| __ \ /  _ \  \/  /
     Jukebox    |    |   (  <_> )  \___|    < | \_\ (  <_> > <  <
     Firmware   |____|_  /\____/ \___  >__|_ \|___  /\____/__/\_ \
                       \/            \/     \/    \/            \/

Build Your Own Rockbox

1. Clone 'rockbox' from git (or extract a downloaded archive).

   $ git clone git://git.rockbox.org/rockbox

     or

   $ tar xJf rockbox.tar.xz

2. Create a build directory, preferably in the same directory as the firmware/
   and apps/ directories. This is where all generated files will be written.

   $ cd rockbox
   $ mkdir build
   $ cd build

3. Make sure you have mips/m68k/arm-elf-gcc and siblings in the PATH. Make sure
   that you have 'perl' in your PATH too. Your gcc cross compiler needs to be
   a particular version depending on what player you are compiling for. These
   can be generated using the rockboxdev.sh script in the /tools/ folder of the
   source.

   $ which arm-elf-eabi-gcc
   $ which perl

4. In your build directory, run the 'tools/configure' script and enter what
   target you want to build for and if you want a debug version or not (and a
   few more questions). It'll prompt you. The debug version is for making a
   gdb version out of it. It is only useful if you run gdb towards your target
   Archos.

   $ ../tools/configure

5. *ploink*. Now you have got a Makefile generated for you.

6. Run 'make' and soon the necessary pieces from the firmware and the apps
   directories have been compiled, linked and scrambled for you.

   $ make
   $ make zip

7. unzip the rockbox.zip on your music player, reboot it and
   *smile*.

If you want to build for more than one target, just create several build
directories and create a setup for each target:

   $ mkdir build-fuzeplus
   $ cd build-fuzeplus
   $ ../tools/configure

   $ mkdir build-xduoox3
   $ cd build-xduoox3
   $ ../tools/configure

Questions anyone? Ask on the mailing list or on IRC. We'll be happy to help you!