Leapster Explorer: Testing Kernels via USB Boot

From eLinux.org
Revision as of 18:08, 4 August 2010 by Nirvous (Talk | contribs) (Implementation)

Jump to: navigation, search

Background

The Leapster Explorer (LX) differs from Didj in many ways. Among the most siginificant is the USB recovery function, designed to be used in conjunction with LFConnect to recover the LX to a known-working state.

We can leverage this USB recovery function to transfer kernels we want to test to the LX without having to do a destructive write of the new kernel to the LX nand (which can be dangerous). The result is an ability to test kernels on LX using USB booting, just like we test kernels using UART or SD kernel booting on the Didj.

Implementation

1. Modify lines 999-1008 of linux2.6/drivers/nand/lf1000.c as follows to enable mounting of the onboard partitions:

//if (gpio_get_boot_source_config() == SCRATCH_BOOT_SOURCE_USB)
//{
//	base_parts = partition_info_recovery;
//	base_parts_nb = ARRAY_SIZE(partition_info_recovery);
//}
//else
//{
    base_parts = partition_info;
    base_parts_nb = ARRAY_SIZE(partition_info);
//}

2. Once you have made this modification, go to the linux2.6 directory and build the kernel:

$make

3. Create the 'cbf' file that can be used for usb boot. in the scripts directory, type:

$make_cbf.py

4. Put the LX into recovery mode via powering up while pressing LS-RS-Hint.

5. Use pager.sh to transfer the kernel (more info on pager.sh).