Difference between revisions of "Leapster Explorer: Emerald Boot SD0 Autoboot"

From eLinux.org
Jump to: navigation, search
(Partition SD Card)
Line 6: Line 6:
  
 
== Software Needed ==
 
== Software Needed ==
 +
 
[[LeapFrog_Pollux_Platform:_Source_Code#LeapPad_Explorer| LeapPad Explorer Sources ]] (LF-Linux-2503-20110602-1237.tar.gz)
 
[[LeapFrog_Pollux_Platform:_Source_Code#LeapPad_Explorer| LeapPad Explorer Sources ]] (LF-Linux-2503-20110602-1237.tar.gz)
  
Line 11: Line 12:
  
 
Linux host PC
 
Linux host PC
 +
* fdisk
 +
* mke2fs
 +
 +
kernel.cbf
 +
 +
HEALTH_AND_SAFETY.32.rle
 +
 +
rootfs/
  
 
== Hardware Needed ==
 
== Hardware Needed ==
Line 19: Line 28:
 
micro SD Card
 
micro SD Card
  
== Set up SD Card
+
== Set up SD Card ==
  
 
==== Partition SD Card ====
 
==== Partition SD Card ====
Line 28: Line 37:
 
'' Caution '' make sure you correctly identify your SD card device, and back up any needed information, this will erase all data and could unintentionally destroy needed data if done to the wrong device.
 
'' Caution '' make sure you correctly identify your SD card device, and back up any needed information, this will erase all data and could unintentionally destroy needed data if done to the wrong device.
  
First we need to partition the disk, sd[x] is replaced with your device letter.
+
First we need to partition the disk, /dev/sdf is replaced with your device:
  sudo fdisk /dev/sd[x]
+
  sudo fdisk /dev/sdf
  
 
This will bring up a prompt in fdisk, type '' m '' for help, and it will explain the options. There are 3 partitions that need to be created, screens, kernel, and rootfs. Each one is nearly the same, so repeat this 3 times, only the partition sizes and names change.
 
This will bring up a prompt in fdisk, type '' m '' for help, and it will explain the options. There are 3 partitions that need to be created, screens, kernel, and rootfs. Each one is nearly the same, so repeat this 3 times, only the partition sizes and names change.
Line 48: Line 57:
  
 
Once all done, type '' w '' to write the settings.
 
Once all done, type '' w '' to write the settings.
 +
 +
Once the partitions are created, you will need to format the rootfs as ext3:
 +
mkfs.ext3 -L "rootfs" /dev/sdf3
  
 
==== Write Data to SD Card ====
 
==== Write Data to SD Card ====
 +
For the screens and kernel, you'll need to write the data directly, for the rootfs, you'll be able to mount the SD card and copy the files and directories that way. Again be sure to double check everything, as these commands could have disastrous effects if aimed at the wrong places. In this example we will be using /dev/sdf as the device.
 +
 +
First to copy HEALTH_AND_SAFETY.32.rle to the screens partition:
 +
dd if=HEALTH_AND_SAFETY.32.rle of=/dev/sdf1 bs=512
 +
 +
Then copy the kernel.cbf file to its partition:
 +
dd if=kernel.cbf of=/dev/sdf2 bs=512
 +
 +
You should now be able to remount the SD Card and rootfs will automount on your host PC.
 +
 +
You can now copy the contents of your rootfs to the rootfs partition on the SD card.

Revision as of 14:11, 28 July 2011

Summary

With the LeapPad Explorer SD replaced NAND as the storage medium of choice. The Emerald Boot and Madrid Boot (LeapPad) sources are basically parallel builds, you build both at the same time. With a little tweaking you can set up Emerald Boot to check the SD card in a cartridge on boot up, and if it contains a correctly formatted SD card, kernel, rootfs, etc it will boot off that, if not, it falls back to normal NAND booting. This is fairly similar to how the LeapPad works, except it checks SD1 instead. In theory this modification should work with the LeapPad also. As of this writing the LeapPad has not been released.

Prerequisites

UART Boot Emerald Boot (for testing, highly recommended)

Software Needed

LeapPad Explorer Sources (LF-Linux-2503-20110602-1237.tar.gz)

EB2.0.2 SD/UART Patch

Linux host PC

  • fdisk
  • mke2fs

kernel.cbf

HEALTH_AND_SAFETY.32.rle

rootfs/

Hardware Needed

Console Access

SD Card Cartridge

micro SD Card

Set up SD Card

Partition SD Card

The SD card requires some special kind of formatting. The file /emerald-boot/README.sd-card-boot explains the structure. It explains everything but the /Bulk partition, which is still mounted from NAND.

Plug in your SD card and reader, then run dmesg in a terminal. You should see an entry like /dev/sdf where f is a,b,c,d,etc where you're SD card was mounted.

Caution make sure you correctly identify your SD card device, and back up any needed information, this will erase all data and could unintentionally destroy needed data if done to the wrong device.

First we need to partition the disk, /dev/sdf is replaced with your device:

sudo fdisk /dev/sdf

This will bring up a prompt in fdisk, type m for help, and it will explain the options. There are 3 partitions that need to be created, screens, kernel, and rootfs. Each one is nearly the same, so repeat this 3 times, only the partition sizes and names change.

First type u this change the units used.

Next create new empty partition table type o

Add a partition by typing n

It will ask you extended or primary type p for primary.

For the number, 1 for screens, 2 for kernel, 3 for rootfs.

Next it will ask you for the First sector, just hit return to accept the default.

For Last sector, you'll need to determine the size for each, screens +1M for kernel +8M is good, and for the last, rootfs just leave it blank and accept the default by hitting return. If you try and get bulk/ mounted, pick a reasonable value here like +150M, and then leave bulk/ to fill up the rest.

Once all done, type w to write the settings.

Once the partitions are created, you will need to format the rootfs as ext3:

mkfs.ext3 -L "rootfs" /dev/sdf3

Write Data to SD Card

For the screens and kernel, you'll need to write the data directly, for the rootfs, you'll be able to mount the SD card and copy the files and directories that way. Again be sure to double check everything, as these commands could have disastrous effects if aimed at the wrong places. In this example we will be using /dev/sdf as the device.

First to copy HEALTH_AND_SAFETY.32.rle to the screens partition:

dd if=HEALTH_AND_SAFETY.32.rle of=/dev/sdf1 bs=512

Then copy the kernel.cbf file to its partition:

dd if=kernel.cbf of=/dev/sdf2 bs=512

You should now be able to remount the SD Card and rootfs will automount on your host PC.

You can now copy the contents of your rootfs to the rootfs partition on the SD card.