My basic objective is to build a kernel, put the uImage on partition 1 (fat) of a USB memory stick, put the file system on partition 2 (ext2), and boot the Sheeva Plug from the memory stick. Then I will be able to make a kernel of my choice.
I have had success using the linux-2.6.30.rc6 uImage and the file system distributed therewith. I have not had success trying to compile the kernel from the distributed source (linux-126.96.36.199), probably because I have had trouble finding and handling the patches that go with it.
Now I have downloaded the linux-188.8.131.52 source and am trying to compile and run it from the memory stick. Here are the steps that I have gone through:
1. Go to ftp.kernel.org and get linux-184.108.40.206.tar.bz2 and linux-220.127.116.11.tar.bz2.sign.
2. Expand this and rename the directory to linux-feroceon_4_2_7_KW.
3. Apply the Marvell LSP patch (linux-feroceon_4_2_7_KW.zip.
4. Apply the big endian patch (0001_gw_BE-fix.patch), but it said it couldn't find the file to be changed.
5. Edit the Makefile to redefine $ARCH to be "arm", and $CROSS_COMPILE to be "arm-none-linux-gnueabi-"
6. make mrproper
7. make mv88f62181_defconfig
8. make uImage This gives a uImage 2,013,908 bytes long. Copy it to stick part 1.
9. make modules
10. copy the /home/Sheevaplug/linux-feroceon_4_2_7_KW/crypto to stick part 2/lib/modules/kernel/crypto
11. do the same for /drivers, fs, lib, net and sound.
When I try to boot the stick, I get this:
Hit any key to stop autoboot: 0
USB: scanning bus for devices... 2 USB Device(s) found
scanning bus for storage devices... 1 Storage Device(s) found
2013908 bytes read
## Booting image at 00800000 ...
Image Name: Linux-18.104.22.168
Created: 2009-07-28 20:53:18 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2013844 Bytes = 1.9 MB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
Starting kernel ...
And there it hangs, so it seems that the kernel is not even getting decompressed.