Welcome! Log In Create A New Profile

Advanced

Kernel with Full Pogoplug support (arcNumber, leds & partitions)

Posted by pazos 
Kernel with Full Pogoplug support (arcNumber, leds & partitions)
August 18, 2011 03:55AM
Hey folks!

Many of us want a kernel with full support for our pogoplugs. Until now we use a default kernel (from sheevaplug or dockstar) but now pogoplug have its own machine id and it is the time to make a kernel just for pogo.There is not a hard work to do some changes cause pogoplugs & dockstar are identical, except for mtd partitions and led-gpio arrangements.

The patch here is for the 2.6.38.4 version of vanilla kernel (www.kernel.org)

Download the patch in somewhere that you can remember.
Now choose a dir to build your kernel ( I use /usr/src/arm for this example) :

(re)-create your folder and copy the patch there

mkdir -p /usr/src/arm
cp pogo_e02-support.patch /usr/src/arm

download a shiny new kernel from www.kernel.org & uncompress it

cd /usr/src/arm
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.4.tar.bz2
tar xvf linux-2.6.38.4.tar.bz2

patch it!

cd linux-2.6.38.4/
patch -p1 < ../pogo_e02-support.patch

-----

At least you'll need to modify the kernel to adjust it to your own needs (drivers, network protocols,etc)

Please use:

make menuconfig

to compile the kernel natively on your pogoplug, or:

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- menuconfig

to crosscompile it with CodeSourcery ( a lot of information in this forum)

And finally type:

make # on your pogo device
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- # in a crosscompile enviroment

Don't forget that the default config have only a few drivers selected. You must need to add more drivers if you want to have SMB servers, NFS servers or USB-wifi adapters, or anything else...



Edited 1 time(s). Last edit at 08/18/2011 06:12AM by pazos.
Attachments:
open | download - pogo_e02-support.patch (45.2 KB)
hi patch for 2.6.38-8 available?
Re: Kernel with Full Pogoplug support (arcNumber, leds & partitions)
August 20, 2011 12:42PM
Of course. Try to patch your 2.6.38.x kernel. If you'll find hunk failed messages then look at the patch itself and modify your files to look the same!

Don't forget you choose support for Dockstar/Sheevaplug devices in order to boot the kernel with default dockstar arcNumber. Try if the kernel works before change the arcNumber, and then type on your terminal fw_setenv arcNumber '3542'
how to make .deb file after compiling?
Re: Kernel with Full Pogoplug support (arcNumber, leds & partitions)
September 01, 2011 12:59PM
I use
make-kpkg --rootcmd fakeroot --arch armel --cross-compile arm-none-linux-gnueabi- --append-to-version=-goflex --revision=1.1 --initrd kernel_image
on my Linux machine. The things you write in "--append-to-version" and "--revision" are quite arbitrary.
what is arcnumber for pogo-e02?
how to install kernel after
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi
no package is created
if i use
make-kpkg --rootcmd fakeroot --arch armel --cross-compile arm-none-linux-gnueabi- --append-to-version=-dockstar --revision=1.1 --initrd kernel_image

i get error
illegal package name linux-2.6.38.4-dockstar-pogo_e02
Re: Kernel with Full Pogoplug support (arcNumber, leds & partitions)
September 06, 2011 10:56AM
How does your CONFIG_LOCALVERSION in .config look like? If it's "pogo_e02" try replacing it by "pogo". I believe that the underscore "_" is a problem.
Re: Kernel with Full Pogoplug support (arcNumber, leds & partitions)
September 06, 2011 12:13PM
I don't know so much about Debian specific kernel configuration but the error said: illegal package name linux-2.6.38.4-dockstar-pogo_e02 and you used --append-to-version=-dockstar while default kernel config said local_version=pogo_e02 . Maybe it could work if you leave the --append-to-version= fields in blank

Something like:

make-kpkg --rootcmd fakeroot --arch armel --cross-compile arm-none-linux-gnueabi- --append-to-version=



Edited 1 time(s). Last edit at 09/06/2011 12:15PM by pazos.
Re: Kernel with Full Pogoplug support (arcNumber, leds & partitions)
October 13, 2011 06:13PM
pazos, thanks for putting this up...

is the conversion of the normal kernel to uboot kernel done automatically? (for the LinkStation ARM9 boxes I worked on before, I'm thinking we had to prepare it manually... ?)
Re: Kernel with Full Pogoplug support (arcNumber, leds & partitions)
October 14, 2011 10:39AM
You'll have to run the resultant kernel and initrd through mkimage to make a uboot compliant image.
Re: Kernel with Full Pogoplug support (arcNumber, leds & partitions)
October 21, 2011 10:56AM
Or you can install uboot-mkimage on your host machine and just compile the "u-boot kernel" with:

make uImage # just the kernel
make uImage modules # kernel & modules

Works in the same way as x86 classic 'make bzImage' but you need to install mkimage before proceed.
Re: Kernel with Full Pogoplug support (arcNumber, leds & partitions)
March 27, 2012 10:46AM
@ pazos: are you planning to submit this to mainline ever?

=====================================================
Re: Kernel with Full Pogoplug support (arcNumber, leds & partitions)
March 31, 2012 04:18PM
I've submitted this patch to the archlinuxarm github account; this seems the more active community in support these devices...
Re: Kernel with Full Pogoplug support (arcNumber, leds & partitions)
April 13, 2012 05:06AM
Gents,

Suppose I want to patch my kernel 3.0.26 source with only the patch for the pogoplug E02 that Pazos has attached above. Is that possible? Is there a way to extract the info from that patch file to create a small patch just for pogoplug E02 only?

Thanks,
bodhi
Re: Kernel with Full Pogoplug support (arcNumber, leds & partitions)
April 15, 2012 01:19AM
Anybody? is this possible? or do I need to create a different source tree and going through the steps of creating patch?
Re: Kernel with Full Pogoplug support (arcNumber, leds & partitions)
April 15, 2012 07:04AM
please try to apply the patch, It should work on 2.6 kernels. If you want to support pogo_e02 into a 3.0 kernel you should check archlinuxarm patch here -> https://github.com/archlinuxarm/PKGBUILDs/blob/master/core/linux/archlinuxarm.patch and select support for pogo_e02 via menuconfig
Re: Kernel with Full Pogoplug support (arcNumber, leds & partitions)
April 15, 2012 03:15PM
Thanks Pazos. I've tried that recent archlinux arm patch before and had some problem compiling (warning about some routine was missing prototype). And I only needs the pogo E02 patch because I already had applied a smaller archlinux arm patch which included all other supports for dockstar and goflex. But thanks for your response! I will try again.
Re: Kernel with Full Pogoplug support (arcNumber, leds & partitions)
April 20, 2012 02:31AM
@pazos,

That Arch Linux ARM patch does not compile with Debian kernel 3.x at all. The error below occurred if I enable goflex net, or goflex home.

arch/arm/mach-kirkwood/goflexnet-setup.c:169:2: error: unknown field 'boot_params' specified in initializer
make[2]: *** [arch/arm/mach-kirkwood/goflexnet-setup.o] Error 1
make[1]: *** [arch/arm/mach-kirkwood] Error 2
make[1]: Leaving directory `/usr/src/linux-3.2.15'



bodhi



Edited 1 time(s). Last edit at 04/20/2012 02:44AM by bodhi.
Re: Kernel with Full Pogoplug support (arcNumber, leds & partitions)
April 20, 2012 07:46AM
There were some modifications in the arm tree that affects to all kirkwood devices. It is simply to modify. Use the arch/arm/mach-kirkwood/dockstar-setup.c as an example and look for the last code, then adjust the code in your arch/arm/mach-kirkwood/pogo_e02.setup.c (just need to modify the "boot_params" line)
Re: Kernel with Full Pogoplug support (arcNumber, leds & partitions)
April 20, 2012 11:47PM
Thanks for the tips Pazos! will try that.
Author:

Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: