A few years ago, I was compiling the kernel myself (using the .config files from www.xilka.com
) to have a stable sheevaplug.
It is necessary because one my sheevaplugs does not seem to support highspeed SD cards (see http://www.plugcomputer.org/plugforum/index.php?topic=352.0
. It was one of the very first models of sheevaplug)
I worked well until kernel 3.8. But, since version 3.9, the kernels I compile do not start any more on my sheevaplugs.
They just freeze after "Starting kernel...".
Example (with kernel 4.4.2) :
U-Boot 2014.10+dfsg1-5 (Apr 07 2015 - 21:57:04)
SoC: Kirkwood 88F6281_A1
DRAM: 512 MiB
WARNING: Caches not enabled
NAND: 512 MiB
MMC: MVEBU_MMC: 0
88E1116 Initialized on egiga0
Warning: Your board does not use generic board. Please read
doc/README.generic-board and take action. Boards not
upgraded by the late 2014 may break or be removed.
Hit any key to stop autoboot: 0
2906872 bytes read in 2209 ms (1.3 MiB/s)
10005495 bytes read in 2601 ms (3.7 MiB/s)
## Booting kernel from Legacy Image at 00800000 ...
Image Name: Linux-4.4.2
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2906808 Bytes = 2.8 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 01100000 ...
Image Name: ramdisk 3.16.0-4-kirkwood
Image Type: ARM Linux RAMDisk Image (uncompressed)
Data Size: 10005431 Bytes = 9.5 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Loading Kernel Image ... OK
Starting kernel ...
I upgraded u-boot (from 2011.03 to 2014.10), but it did not help.
Here is how I compile :
- I take the source from kernel.org, and the .config from xilka.com (for the same kernel version)
- I compile with this command :
make -j4 ARCH=arm CROSS_COMPILE=../arm-2009q3/bin/arm-none-eabi- LOADADDR=0x00008000 uImage
- then I transfer the uImage file on the boot partition of my SD card (where I initially installed the same version of the kernel from xilka.com, that was starting correctly)
I've tried with other versions of the cross-compiler with no succsess (2008q3, and the ones from standard repos of Ubuntu 15.04 and 15.10)
I managed to make kernel 3.9 boot by modifying the .config (adding CONFIG_MACH_SHEEVAPLUG=y). But this config does not exist any more in 4.4.2
Here are my env variables in u-boot :
bootargs=console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait panic=10
bootcmd=setenv bootargs $(bootargs_console); run bootcmd_mmc; bootm 0x00800000 0x01100000
bootcmd_mmc=ext2load mmc 0:1 0x00800000 /uImage; ext2load mmc 0:1 0x01100000 /uInitrd
x_bootargs=console=ttyS0,115200 mtdparts=mtdparts=orion_nand:512K(uboot),512K(env),1M(script),6M(kernel),12M(ramdisk),4M(spare),-(rootfs)x_bootcmd_kernel=nand read 0x6400000 0x100000 0x300000
x_bootargs_root=root=/dev/mtdblock3 rw rootfstype=jffs2
Environment size: 720/131068 bytes
(only modified the ethaddr)
I read on http://www.plugcomputer.org/plugforum/index.php?topic=6255.0
that many changes have been made on the build/install process on xilka.com between 3.8 and 3.9 : it might be a side-effect?
In any case, the uImage files from xilka work fine, so there must be a way to make mine work (I just need to add the patch to disable highspeed on sd cards)
Any help/hint would be appreciated.