Didj 2.6.31 Kernel

From eLinux.org
Revision as of 18:44, 22 July 2011 by Reggie (talk | contribs) (Software Needed)
Jump to: navigation, search


This tutorial will take you through the basic steps to get the 2.6.31 Kernel (LF-Linux-2503-20110602-1237.tar.gz) loading on your Didj. This will only deal with the kernel, and will be set up to run completely from SD, rootfs included.


Kernel Configuration

Software Needed

Leapster Explorer Source (LF-Linux-2503-20110602-1237.tar.gz)

Example Config File

Example Binary zImage

lf1000.c JFFS2/Partions Enabled

mes_sdhc.c explorer/didj updated mmc driver

Hardware needed

Console Access

Kernel Configuration

Here we will configure the kernel for compiling, currently if you are using Lightning Boot 1.4 to 2.1 there is a problem with the bootloaders framebuffer and where the kernel is loaded. Two ways currently around this, create a kernel < 2mb or boot it manually with uboot and a lower address. This tutorial uses the < 2mb method, which is easy to achieve after all the modules for things Didj doesn't have are removed.

After getting your build environment set up, we'll load a default config file:

make lf1000_ts_defconfig

Next edit .config, you can do this with a text editor, or make menuconfig, this is all one line:

CONFIG_CMDLINE="mem=14M mlc_fb=0x00E00000,0x01200000 root=179:02 rw rootfstype=ext3 rootdelay=1 debug=1    
 init=/sbin/init console=ttyS0,115200 ubi.mtd=Brio ubi.mtd=prg_Brio ubi.mtd=Cartridge ubi.mtd=EXT ubi.mtd=prg_EXT" 
 ubi.mtd=prg_Brio ubi.mtd=Cartridge"

You will also need to disable a few things, such as Touch Screen, Acellerometer, Camera, USB Host, etc. You can check the example config file for all the options.

Next we need to change the Mach Type in /linux-2.6/arch/arm/tools/mach-types the number has changed to 2028 - but the boot loader only knows about 1235:

#zir2412		MACH_ZIR2412		ZIR2412			1235
didj			MACH_DIDJ		DIDJ			1235

#didj			MACH_DIDJ		DIDJ			2028

Replace your /linux-2.6/arch/arm/mach-lf1000/lf1000.c file with the one linked to above. This will create the Didj partition scheme for your device.

Then just run the install script


zImage will be found in the path defined with $TFTP_PATH in your Environmental Variables