[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Debian on the Ionics Stratus plug computer



I've acquired a couple Ionics Stratus plug computers, which are variants of the Sheeva plug.  They come installed Debian 6 with a 2.6.x series kernel, and I'm attempting to get a Debian 7 release working on them.

Most of my information so far comes from Martin Michlmayr's website. I gather he's no longer doing ARM development, and the Ionics Stratus isn't currently supported. So I asking here for advice on achieving this and contributing the result back.

I have the Ionics development CD with the source code and tools on it. So far I have built the kernel and U-Boot binaries from the supplied sources and patches. I have also managed to upgrade the U-Boot source to the current testing branch from git (2012.04.01), applied the Ionic patches, and flashed it.  The plug managed to boot into the supplied Debian distribution with it.

What I'm currently grappling with is building a stock debian kernel and booting from that. The Ionics documents procedure is (IIRC):

   cd $kerneldir
   patch -p1 <$ionicspatch
   make mrproper
   make clean
   make ARCH=arm ionics_defconfig
   make uImage modules initrd

However, my attempt to follow the recipe here failed:

   https://wiki.debian.org/HowToRebuildAnOfficialDebianKernelPackage

To summarise:

   cd $kerneldir
   svn export svn://svn.debian.org/svn/kernel/dists/wheezy/linux/debian # NOTE s/trunk/wheezy/
   make -f debian/rules clean
   make -f debian/rules source-all

...this gets me a make error, "No rule to make target `source-all'. Stop." Even running it multiple times.

So my current working procedure to build a debian kernel comes from here:

   http://baldric.net/how-to-build-a-ubuntu-or-debian-kernel-package-the-debian-way/

Specifically:

   cd $kerneldir
   make mrproper
   make-kpkg clean
   make ARCH=arm ionics_defconfig
   fakeroot make-kpkg --initrd --append-to-version=+ionicsstrat --arch=arm --cross-compile=arm-linux-gneabi- --bzImage kernel-image kernel-headers

>From the resulting .deb package I can get a kernel and the modules.tar.gz I assume is just the ./libs directory extracted.  However I can't find an initrd, which I am guessing I still need.

Given a compiled stock kernel I am hoping that I may be able to boot the plug from it, just without support for Ionics specifics.  I can then try and get the specifics working.

My attempts so far, including patching u-boot are here:

   https://github.com/wu-lee/ionics-stratus-debian

The kernel patch is applied here:

   https://github.com/wu-lee/ionics-stratus-debian/commit/b1b996f3abb37ff37bca063abd341177beaaac3b

>From a quick look the included kernel patch consists of:

 - a kernel config (ionics_defconfig)
 - modifications to sheevaplug-setup.c for the Stratus (gpio pins etc.)
 - addition of the libertas_uap wireless access point module
 - what looks like a bugfix for the UBI filesystem driver

Are there any short cuts I am not aware of? Perhaps the xilka.com sheeva kernels might work?

Does Debian Wheezy have support for the libertas_uap device?  If not, advice on how to add it is sought. 

Advice on porting the remainder of the patch to the 3.2 kernel also solicited! Despite having some experience working with an embedded ARM GNU/Linux distribution and micro-controllers, it was a proprietary one, and I am not very familiar with the kernel internals or the Debian packaging system.


Thanks!

Nick


Reply to: