APC – Real Progress – Bootable Linux Kernel..

After excellent work done by Mike Thompson from the Raspbian project, there is now a set of patches and a config file available for the APC-supplied 2.6.32.9+ kernel source, which enables a working kernel to be compiled and run – although with limited functionality due to ‘missing’ device drivers..   More details at :  http://www.raspbian.org/ApricotImages

To use this, you have to have a USB / UART console connection, as described in earlier posts..     As this kernel is compiled from the source, it enables a ‘real’ Linux version of the kernel to be produced, which removes the ‘boot only from rom‘ problem with the APC-supplied binary kernel, as documented previously..

I have now compiled my own kernel, and booted the APC with it:

.........
Initial SD/MMC Card OK!
SD/MMC clock is 44Mhz
register mmc device
part_offset : 800, cur_part : 1
part_offset : 800, cur_part : 1
reading uzImage.bin

2706496 bytes read
part_offset : 800, cur_part : 1
reading initrd.gz

1644999 bytes read

## Checking Image at 01000000 ...
   Image Name:   Linux-2.6.32.9-default
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2706432 Bytes =  2.6 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Booting image at 01000000 ...
   Image Name:   Linux-2.6.32.9-default
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2706432 Bytes =  2.6 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
OK

Starting kernel ...

Uncompressing Linux....................................................................
Linux version 2.6.32.9-default (rgadsdon@rglinux) (gcc version 4.7.1 (GCC) ) #1 Fri Au2
CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7), cr=00c5387f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: WMT
Memory policy: ECC disabled, Data cache writeback

……………………………etc……………….

For the cross-compile, I used the compiler toolchain available with the OpenELEC XBMC self-contained bootable system for the Raspberry Pi:

armv6zk-openelec-linux-gnueabi-

This will now be the foundation of the next phase of my project..  To find a way of running Fedora/ARM 17 on the device..

There may well be ‘challenges’ with this, as the APC kernel version is so ancient..  Version 2.6.32.9 was released in February 2010, and is 30 months old!

 

 


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.