Rockbox Technical Forums

Installation / Removal => Manual Installation => Apple - Installation/Removal => Topic started by: delbydev on January 05, 2008, 12:56:03 PM

Title: Ipod 3G booting rockbox cannot find "Linux.bin"
Post by: delbydev on January 05, 2008, 12:56:03 PM
After installing RockBox (auto or manually), running ipodpatcher.exe - it,
I rebooted the Ipod and it showed the Apple and the displayed the following message:

"undefined instruction at 00046498  (0)"

Using Menu+Play, Lock keypad, boots the ipod bootloader succesfully
Using Menu+Play, and REW+FWD boots the Disk Mode sucessfully

It just seems impossible to boot from the rockbox bootloader (see message) above

First time after reapplying ipodpatcher I get another response

"data abort at 20002002  (0)" - in fact this is various addresses

Background
Internet connectivity:
   Windows XP Pro
   Firefox
Apple Ipod 3G -- Apple Firmware Version 2.3
   
Please can anyone advise?  Am about to try other but rockbox does meet what I am looking for ...
:(


Steps
1) Downloaded Current Build from http://build.rockbox.org/ on 05 Jan 2007 - installed automatically - no joy - so removed .rockbox and unzipped files directly (manually)

2) Downloaded and ran ipodpatcher.exe

C:\Downloads>ipodpatcher.exe
ipodpatcher v2.0 with v2.0 bootloaders - (C) Dave Chapman 2006-2007
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...
[INFO] Ipod found - 3rd Generation ("winpod") - disk device 1
[INFO] Reading partition table from \\.\PhysicalDrive1
[INFO] Sector size is 512 bytes
[INFO] Part    Start Sector    End Sector   Size (MB)   Type
[INFO]    0              63         80324        39.2   Empty (0x00)
[INFO]    1           80325      78124094     38107.3   W95 FAT32 (0x0b)
[INFO] Ipod model: 3rd Generation ("winpod")
Enter i to install the Rockbox bootloader, u to uninstall
 or c to cancel and do nothing (i/u/c) :i
[INFO] Using internal bootloader - 47620 bytes
[INFO] Reading original firmware...
[INFO]  Wrote 3481600 bytes to firmware partition
[INFO] Bootloader installed successfully.
Press ENTER to exit ipodpatcher :


Contents of  rockbox-info.txt
   (using Cygwin shell)
$ cat .rockbox/rockbox-info.txt
Target: ipod3g
Target id: 16
Target define: -DIPOD_3G
Memory: 32
CPU: arm
Manufacturer: ipod
Version: r16000-080105
Binary: rockbox.ipod
Binary size: 452252
Actual size: 452244
RAM usage: 831804
gcc: arm-elf-gcc (GCC) 4.0.3
ld: GNU ld version 2.16.1
Host gcc: gcc (GCC) 4.2.3 20071014 (prerelease) (Debian 4.2.2-3)
Host system: Linux


$ cat .rockbox/rbutil.log
[Bootloader]
md5sum=d0bc5f14521509be76180be452c0c1bd



$ cat iPod_Control/Device/SysInfo
BoardHwName: iPod Q14
pszSerialNumber:
ModelNumStr: M9245
FirewireGuid: 0x006DED76
HddFirmwareRev: JD001B
RegionCode: LL(0x0001)
PolicyFlags: 0x00000000
buildID: 0x02308000 (2.3)
visibleBuildID: 0x02308000 (2.3)
boardHwRev: 0x00000000 (0.0 0)
boardHwSwInterfaceRev: 0x00030001 (0.0.3 1)
bootLoaderImageRev: 0x00010000 (0.0.1 0)
diskModeImageRev: 0x00000000 (0.0 0)
diagImageRev: 0x00000000 (0.0 0)
osImageRev: 0x00000000 (0.0 0)
iPodFamily: 0x00000000
updaterFamily: 0x00000000
oemv: 0x00000002

$ ls -l .rockbox/
total 468
drwxr-xr-x  2 DerrinM None      0 Jan  5 17:47 codecs
drwxr-xr-x  2 DerrinM None      0 Jan  5 17:47 codepages
-rw-r--r--  1 DerrinM None      0 Jan  5 06:49 database.ignore
drwxr-xr-x  2 DerrinM None      0 Jan  5 17:48 docs
drwxr-xr-x  2 DerrinM None      0 Jan  5 17:47 eqs
drwxr-xr-x  2 DerrinM None      0 Jan  5 17:51 fonts
drwxr-xr-x  2 DerrinM None      0 Jan  5 17:48 icons
drwxr-xr-x  2 DerrinM None      0 Jan  5 17:46 langs
-rw-r--r--  1 DerrinM None     55 Jan  5 17:27 rbutil.log
-rw-r--r--  1 DerrinM None    334 Jan  5 16:03 rockbox-info.txt
-rw-r--r--  1 DerrinM None 452252 Jan  5 16:03 rockbox.ipod  
                Is this file correct size?
drwxr-xr-x  6 DerrinM None      0 Jan  5 17:46 rocks
-rwxr-xr-x  1 DerrinM None   8882 Jan  5 16:03 tagnavi.config
drwxr-xr-x  2 DerrinM None      0 Jan  5 17:47 themes
-rw-r--r--  1 DerrinM None    696 Jan  5 16:03 viewers.config
drwxr-xr-x 12 DerrinM None      0 Jan  5 17:47 wps



Removing the bootloader
C:\Downloads>ipodpatcher.exe
ipodpatcher v2.0 with v2.0 bootloaders - (C) Dave Chapman 2006-2007
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...
[INFO] Ipod found - 3rd Generation ("winpod") - disk device 1
[INFO] Reading partition table from \\.\PhysicalDrive1
[INFO] Sector size is 512 bytes
[INFO] Part    Start Sector    End Sector   Size (MB)   Type
[INFO]    0              63         80324        39.2   Empty (0x00)
[INFO]    1           80325      78124094     38107.3   W95 FAT32 (0x0b)
[INFO] Ipod model: 3rd Generation ("winpod")
Enter i to install the Rockbox bootloader, u to uninstall
 or c to cancel and do nothing (i/u/c) :u
[INFO] Reading firmware (3433472 bytes)
          This is smaller than the amount written during the install?
[INFO] Padding read from 0x00346400 to 0x00346400 bytes
[INFO] Updating firmware checksum
[INFO] Bootloader removed.
Press ENTER to exit ipodpatcher :



Further investigations:

Remember Contents of  rockbox-info.txt
   (using Cygwin shell)
$ cat .rockbox/rockbox-info.txt
Target: ipod3g
Target id: 16
Target define: -DIPOD_3G
Memory: 32
CPU: arm
Manufacturer: ipod
Version: r16000-080105
Binary: rockbox.ipod
Binary size: 452252
Actual size: 452244
RAM usage: 831804
gcc: arm-elf-gcc (GCC) 4.0.3
ld: GNU ld version 2.16.1
>> Why is this?  <<
Host gcc: gcc (GCC) 4.2.3 20071014 (prerelease) (Debian 4.2.2-3)
Host system: Linux

Is it meant to be booting Linux?

Because when rebooting and holding Play/Pause during the apple: The following is displayed

Rockboc boot loader
Version: 2.0
IPOD  version: 0x000e0001
TOSHIBA MK4004GAH
Partition 1:0x0B 38107 MB
Loading Linux....
Error
Can't find Linux.bin:
File not found
Hold MENU+PLAY to
reboot then REW+FF
for disk mode

Looking in the rockbox.zip distro for the Ipod 3G there is no file linux.bin?

Thanks in advance and help is really appreciated -

BTW - I have managed to get this working on a GreyScale click ipod first time so am surprised by this

Thanks

One more point to note - on the Greyscale Click ipod there is a bin file
./rockbase/nvram.bin

On the 3G there is no .bin anywhere on the disk.

I have tried ipodpatcher a few more times but it does not create any
(find . | grep ) bin files anywhere on the disk.  Plus I cannot find any "new" files on the disk as would be written at the specific timestamp of when ipodpatcher is run - hope that makes sense?

Is there a .bin file I can download and copy directly or does it require mbr writing?

Thanks
Title: Re: Ipod 3G booting rockbox cannot find "Linux.bin"
Post by: Der Papst on January 05, 2008, 06:53:25 PM
I think the problems you are having is because it seems that rockbox is currently broken on 3G iPods (infact all PP5002, that means 1G and 2G iPods too).
Yesterday someone had similar problems in IRC (though he was using Loader 2 as bootloader).

The only solution that comes to my mind is that you have to get an older build of Rockbox. On my 3G i run a build of November 07 which works fine. However i was not able to find the link to the build archives anymore so i guess you have to compile an older build yourself, using
Code: [Select]
svn checkout svn://svn.rockbox.org/rockbox/trunk -r {YYYY-MM-DD} rockboxto check out an older version of the source code.

If you hold play during startup the rockbox bootloader tries to load the linux kernel from the iPodLinux Project (http://ipodlinux.org).
Title: Re: Ipod 3G booting rockbox cannot find "Linux.bin"
Post by: linuxstb on January 05, 2008, 07:03:15 PM
Some of the download mirrors seem to keep older versions around.  It's a lottery (depending on which mirror you connect to), but try looking here:

http://download.rockbox.org/daily/ipod3g/

Title: Re: Ipod 3G booting rockbox cannot find "Linux.bin"
Post by: delbydev on January 05, 2008, 07:16:45 PM
Perfect!  Thanks very much - up and running within 5 mins.

Glad it was not my dumminess, sad that it was a bug

Thanks again

Title: Re: Ipod 3G booting rockbox cannot find "Linux.bin"
Post by: jhMikeS on January 05, 2008, 07:31:04 PM
You can always keep trying newer builds. You've got about a 50% chance that a daily or cutting edge build will work or if you can edit and compile souce, you may add the right number of "nop;" statements into main.c (takes a little experimenting).
Title: Re: Ipod 3G booting rockbox cannot find "Linux.bin"
Post by: yapper on January 05, 2008, 08:34:55 PM
There is a thread here: http://forums.rockbox.org/index.php?topic=14228.0 that I update periodically related to the latest known good version for the 1G2G iPod.

I don't know if the same build numbers will give problems/work on the 3G, but it might give you a clue which ones to try.

The old versions for the 3G can be found here: http://www.rockbox.org/dl.cgi?bin=ipod3g
Title: Re: Ipod 3G booting rockbox cannot find "Linux.bin"
Post by: yapper on January 13, 2008, 06:56:28 PM
... or if you can edit and compile souce, you may add the right number of "nop;" statements into main.c (takes a little experimenting).
Can you give a little more detail on this? I'm assuming you mean main.c in the apps directory, but where do the nops go, and how many (approximately)?
Title: Re: Ipod 3G booting rockbox cannot find "Linux.bin"
Post by: jhMikeS on January 16, 2008, 11:58:52 PM
apps/main.c at the end of app_main()  (first function) does the trick. The number needed varies but 1-5 should do it. A few tries with different numbers of them might be needed.

Code: [Select]
static void app_main(void)
{
    ....
    nop; nop; nop; nop; ...
}
Title: Re: Ipod 3G booting rockbox cannot find "Linux.bin"
Post by: yapper on January 17, 2008, 07:14:29 PM
Thanks - I've had success with your technique.