Difference between revisions of "Didj Explorer Kernel"

From eLinux.org
Jump to: navigation, search
(Blanked the page)
Line 1: Line 1:
 +
== Prerequisites ==
 +
[[LeapFrog_Pollux_Platform:_Kernel_Configuration| Kernel Configuration]]
  
 +
== Software Needed ==
 +
[[LeapFrog_Pollux_Platform:_Source_Code#Leapster_Explorer| Leapster Explorer Source]]
 +
 +
== Kernel Configuration ==
 +
'''This is a work in progress'''
 +
Explains what to change in order to build the 2.6.31 LF Explorer kernel for Didj. Use your DJHI to boot the zImage from uSD.
 +
 +
1. make lf1000_ts_defconfig
 +
 +
2.  edit .config. (we are enabling jffs2 and giving the right bootargs):
 +
 +
<code>
 +
 +
CONFIG_CMDLINE="mem=18M mlc_fb=0x01200000,0x01200000 init=/sbin/init console=ttyS0,115200 root=31:06 ro rootflags=noatime rootfstype=jffs2 ubi.mtd=Brio ubi.mtd=prg_Brio ubi.mtd=Cartridge"
 +
 +
CONFIG_JFFS2_FS=y
 +
 +
</code>
 +
 +
3. edit line 184 of linux2.6/Makefile to point to your cross compiler (or comment it out if you know the varaible is set elsewhere).
 +
 +
4. edit include/asm/mach-types.h (the number has changed to 2028 - but the boot loader only knows about 1235)
 +
 +
(you may need to 'make' once and ctrl-c to get the mach-types file generated the first time.)
 +
<code>
 +
 +
//define MACH_TYPE_ZIR2412              1235
 +
 +
define MACH_TYPE_DIDJ                1235
 +
 +
...
 +
 +
//define MACH_TYPE_DIDJ                2028
 +
 +
</code>
 +
 +
4.1 instead of editig mach-types.h you can edit the file that it is generated from, mach-types (no.h!)
 +
in /linux-2.6/arch/arm/tools, edit the file and look for 2028, copy everything on the line upto 2028:
 +
 +
'''didj MACH_DIDJ DIDJ '''
 +
 +
comment out the 2028 line and now search for 1235 and replace the line with the above, make sure you add 1235 to the end:
 +
 +
'''didj MACH_DIDJ DIDJ 1235'''
 +
 +
This allows you to do 'make clean' without having to re-edit mach-types.h each time, if you also own an explorer you might not want to do this.
 +
 +
5. edit drivers/mtd/nand/lf1000.c (using didj's 9 partition scheme)
 +
 +
[http://pastie.org/1056564 Unified diff 0f changes to drivers/mtd/nand/lf1000.c]
 +
 +
[http://pastebin.com/FX0SbZzM Alternate site: Unified Diff of changes to drivers/mtd/nand/lf1000.c]
 +
 +
6. Edit arch\arm\mach-lf1000\include\mach\mlc.h
 +
#define MLC_MAJOR 251
 +
#define MLC_LAYER_MAJOR 250
 +
This will enable the mlc driver to work with /dev/mlc
 +
 +
7. make
 +
 +
zImage is found in arch/arm/boot
 +
 +
To mount /Didj:
 +
 +
<code>
 +
mount -t vfat -o async,noatime /dev/mtdblock9 /Didj
 +
</code>
 +
 +
For framebuffer configuration see [[Leapster_Explorer_Framebuffer_Driver]]
 +
 +
For MMC Card configuration see [[Didj_and_Explorer_MMC_Patch]]
 +
 +
 +
[[Category:didj]]

Revision as of 02:59, 21 July 2011

Prerequisites

Kernel Configuration

Software Needed

Leapster Explorer Source

Kernel Configuration

This is a work in progress Explains what to change in order to build the 2.6.31 LF Explorer kernel for Didj. Use your DJHI to boot the zImage from uSD.

1. make lf1000_ts_defconfig

2. edit .config. (we are enabling jffs2 and giving the right bootargs):

CONFIG_CMDLINE="mem=18M mlc_fb=0x01200000,0x01200000 init=/sbin/init console=ttyS0,115200 root=31:06 ro rootflags=noatime rootfstype=jffs2 ubi.mtd=Brio ubi.mtd=prg_Brio ubi.mtd=Cartridge"

CONFIG_JFFS2_FS=y

3. edit line 184 of linux2.6/Makefile to point to your cross compiler (or comment it out if you know the varaible is set elsewhere).

4. edit include/asm/mach-types.h (the number has changed to 2028 - but the boot loader only knows about 1235)

(you may need to 'make' once and ctrl-c to get the mach-types file generated the first time.)

//define MACH_TYPE_ZIR2412 1235

define MACH_TYPE_DIDJ 1235

...

//define MACH_TYPE_DIDJ 2028

4.1 instead of editig mach-types.h you can edit the file that it is generated from, mach-types (no.h!) in /linux-2.6/arch/arm/tools, edit the file and look for 2028, copy everything on the line upto 2028:

didj MACH_DIDJ DIDJ

comment out the 2028 line and now search for 1235 and replace the line with the above, make sure you add 1235 to the end:

didj MACH_DIDJ DIDJ 1235

This allows you to do 'make clean' without having to re-edit mach-types.h each time, if you also own an explorer you might not want to do this.

5. edit drivers/mtd/nand/lf1000.c (using didj's 9 partition scheme)

Unified diff 0f changes to drivers/mtd/nand/lf1000.c

Alternate site: Unified Diff of changes to drivers/mtd/nand/lf1000.c

6. Edit arch\arm\mach-lf1000\include\mach\mlc.h

  1. define MLC_MAJOR 251
  2. define MLC_LAYER_MAJOR 250

This will enable the mlc driver to work with /dev/mlc

7. make

zImage is found in arch/arm/boot

To mount /Didj:

mount -t vfat -o async,noatime /dev/mtdblock9 /Didj

For framebuffer configuration see Leapster_Explorer_Framebuffer_Driver

For MMC Card configuration see Didj_and_Explorer_MMC_Patch