Difference between revisions of "Boot from MMC"

From Gumstix User Wiki
Jump to: navigation, search
(The fdisk command to create a new partition is 'n', not 'd'.)
(Partition the card)
Line 1: Line 1:
 
This section describes how to boot off an MMC/microSD memory card. At the moment it is not possible to boot from microSDHC cards, usually the ones with more than 2GB capacity. This is because the high-speed drivers are not supported. See [http://www.nabble.com/Verdex---16GB-microSD-card-not-detected%2C-but-2GB-is.-td21975350.html this thread]
 
This section describes how to boot off an MMC/microSD memory card. At the moment it is not possible to boot from microSDHC cards, usually the ones with more than 2GB capacity. This is because the high-speed drivers are not supported. See [http://www.nabble.com/Verdex---16GB-microSD-card-not-detected%2C-but-2GB-is.-td21975350.html this thread]
== Partition the card ==
+
kT4rL6  <a href="http://vjqqjdfikfuh.com/">vjqqjdfikfuh</a>, [url=http://dnmedrvqijce.com/]dnmedrvqijce[/url], [link=http://ioztaelpwscr.com/]ioztaelpwscr[/link], http://sxjbeocwuuts.com/
 
+
Place the card into your reader, and unmount it if it is mounted.
+
 
+
Assuming it is the only mmc card, run fdisk:
+
+
sudo fdisk /dev/mmcblk0
+
 
+
Delete any partitions on the disk, in this case there were two:
+
 
+
<pre>
+
Command (m for help): d
+
Partition number (1-4): 1
+
 
+
Command (m for help): d
+
Selected partition 2
+
</pre>
+
 
+
Create the kernel partition:
+
 
+
<pre>
+
Command (m for help): n
+
Partition number (1-4): 1
+
 
+
Command (m for help): n
+
Selected partition 2
+
</pre>
+
 
+
Set it to FAT16 file system:
+
 
+
<pre>
+
Command (m for help): t
+
Selected partition 1
+
Hex code (type L to list codes): 6
+
Changed system type of partition 1 to 6 (FAT16)
+
</pre>
+
 
+
Create the root fs partition:
+
 
+
<pre>
+
Command (m for help): n
+
Command action
+
  e  extended
+
  p  primary partition (1-4)
+
p
+
Partition number (1-4): 2
+
First cylinder (22-984, default 22): 22
+
Last cylinder, +cylinders or +size{K,M,G} (22-984, default 984): 984
+
</pre>
+
 
+
Save the partition table:
+
 
+
<pre>
+
Command (m for help): w
+
The partition table has been altered!
+
 
+
Calling ioctl() to re-read partition table.
+
 
+
WARNING: If you have created or modified any DOS 6.x
+
partitions, please see the fdisk manual page for additional
+
information.
+
Syncing disks.
+
</pre>
+
  
 
== Format the card ==
 
== Format the card ==

Revision as of 23:32, 9 September 2009

This section describes how to boot off an MMC/microSD memory card. At the moment it is not possible to boot from microSDHC cards, usually the ones with more than 2GB capacity. This is because the high-speed drivers are not supported. See this thread kT4rL6 <a href="http://vjqqjdfikfuh.com/">vjqqjdfikfuh</a>, [url=http://dnmedrvqijce.com/]dnmedrvqijce[/url], [link=http://ioztaelpwscr.com/]ioztaelpwscr[/link], http://sxjbeocwuuts.com/

Format the card

Format the kernel partition

mkfs.vfat -F 16 /dev/mmcblk0p1 -n gum-uimage

Format the rootfs partition

mkfs.ext2 /dev/mmcblk0p2 -L gum-rootfs

Remove and reinsert the card, you should have two mmc drives, one called gum-uimage and one called gum-rootfs

Enable booting from MMC in kernel

If you don't have the user.collection directory setup to change the appropriate conf file, do so like:

mkdir -p $USERBRANCH
cp -r $GUMSTIXBRANCH/conf $USERBRANCH

Edit the conf file for your gumstix, eg for the verdex the file is:

$GUMSTIXTOP/user.collection/conf/machine/gumstix-custom-verdex.conf

Uncomment the line:

MACHINE_FEATURES  += "mmcroot"

The kernel will now build with the necessary drivers

Save the file and rebuild the image:

bitbake -c rebuild task-base-gumstix
bitbake -c rebuild gumstix-kernel
bitbake -c rebuild gumstix-basic-image

Put the images on the card

Copy the uimage file from the working directory to the uimage partition on the card, eg:

cp $GUMSTIXTOP/tmp/deploy/glibc/images/gumstix-custom-verdex/uImage-2.6.21-r1-gumstix-custom-verdex.bin /media/gum-uimage/uimage

Make sure the file on the card is named uimage

Copy the gumstix-factory.script to the uimage partition as well:

cp $GUMSTIXTOP/extras/mmc-root/gumstix-factory.script /media/gum-uimage

Unpack the root file system to the rootfs partition on the card, eg:

sudo tar -xvpzf $GUMSTIXTOP/tmp/deploy/glibc/images/gumstix-custom-verdex/Angstrom-gumstix-basic-image-glibc-ipk-2007.9-test-20090212-gumstix-custom-verdex.rootfs.tar.gz -C /media/gum-rootfs/ 

Unmount BOTH partitions.

Boot!

Place the card in the gumstix and power up.

You should see comething similar to:

U-Boot 1.2.0 (May 10 2008 - 21:22:03) - PXA270@600 MHz - 1604

*** Welcome to Gumstix ***

DRAM:  128 MB
Flash: 32 MB
Using default environment

Hit any key to stop autoboot:  0 
Instruction Cache is ON
Found gumstix-factory.script on MMC...
## Executing script at a2000000
Booting from mmc/microSD...
Detected: 1985024 blocks of 1024 bytes (1938MB) SD card.
Vendor: Man 03 OEM SD "SU02G" Date 06/2008
Product: 1091675832
Revision: 8.0
reading uimage

followed by the rest of the boot process.