Difference between revisions of "Didj Explorer Kernel"

From eLinux.org
Jump to: navigation, search
(Software Needed)
 
(16 intermediate revisions by 5 users not shown)
Line 1: Line 1:
'''This is a work in progress - (eg, LCD not enabled yet) '''
+
== Prerequisites ==
Explains what to change in order to build the 2.6.31 LF Explorer kernel for Didj
+
[[LeapFrog_Pollux_Platform:_Kernel_Configuration| Kernel Configuration]]
 +
 
 +
== Software Needed ==
 +
[[LeapFrog_Pollux_Platform:_Source_Code#Leapster_Explorer| Leapster Explorer Source]]
 +
 
 +
== Hardware needed ==
 +
[[LeapFrog_Pollux_Platform:_Console_Access| Console Access]]
 +
 
 +
== 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
 
1. make lf1000_ts_defconfig
Line 14: Line 24:
 
</code>
 
</code>
  
3. edit include/asm/mach-types.h (the number has changed to 2028 - but the boot loader only knows about 1235)
+
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.)
 
(you may need to 'make' once and ctrl-c to get the mach-types file generated the first time.)
Line 29: Line 41:
 
</code>
 
</code>
  
4. edit drivers/mtd/nand/lf1000.c (using didj's 9 partition scheme)
+
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/QK7mJapF Diff of 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
  
5. make
+
7. make
  
 
zImage is found in arch/arm/boot
 
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]]

Latest revision as of 20:02, 20 July 2011

Prerequisites

Kernel Configuration

Software Needed

Leapster Explorer Source

Hardware needed

Console Access

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