From: PALFFY D. <dpa...@ra...> - 2003-11-04 14:12:03
|
Hi! Okay, I finally had a little time to play with the ipod... > > Reviving the initrd may indeed be a good plan - unfortunately I don't > > have any of the old code hanging around. It should be quite easy to get > > going though as there are a number of examples with the other uClinux > > targets using it. The full uClinux "distribution" build has a mechanism > > to automatically build the disk image. Here I had some problems. The vendor Makefile for the iPod to be patched into the distribution seems to generate a blkmem device image (last lines, sth like cat linuxbinary romfs > image). However head-arm-ipod seems to include an initrd. And I couldn't see how blkmem should work. > > From what I remember there actually isn't much more required than whats > > in the head-arm-ipod.S. Once you enable the compile option I think the > > rest of the code just switches on... If you have a good assembler :). The latest toolchain on the uClinux site has an assembler that doesn't support .incbin! However anything I've tried, I couldn't get the initrd mounted. Any fs I've tried to put on it says it can't find a legal filesystem. Ive tried to label an ext2 image, and print the label from the kernel, there were all zeros. May there be something clearing the memory? The fs image seems to be correctly linked into the kernel. > > just started up a console on the right tty line it would all work! I > Ok, I'll try this next week - I don't have a scope at home :( Still haven't tried this... The headphone connector is so fscking small, it's very hard to connect anything there. Does someone have a dead g3 remote? But some other details I've discovered: The disk driver seems to work fine. The problem is with firewire. If I turn on firewire, the kernel boots as long as it's connected to the firewire port (unpowered, on my laptop), but fails to boot when disconnected (freezes at the apple logo). Also, it seems to mess up the IDE controller, because with a firewire enabled kernel the controller is not detected. If I disable firewire, the hard disk and the partitions are also detected correctly. In the current state it's hard to debug firewire, because it's initialized before the framebuffer. I'll try to reverse this if noone has any idea what could go wrong... What works: keyboard (I've only used wait_for_action() to slow down the boot process), IDE, the serial ports seem to be detected (or are they hard coded?), and the fb. patch_fw works well with firmware 2.1 if the check for 1.2x is disabled. BTW, what's the second boot img? A flash updater? When does it get booted? And what's the difference between addr and loadAddr in the image structure? Is it possible to reduce the size of the first partition and make a hda3 on the end of the firmware partition? I'd hate to mess with umsdos, I'd like to make an ext[23] root there... -- Dani ...and Linux for all. |