Difference between revisions of "Prepare a bootable MicroSD Card"

From IGEP - ISEE Wiki

Jump to: navigation, search
(Created page with "==Introduction== images ==<span id="Prerequisites" class="mw-headline">Prerequisites</span>== * PC with Linux (We use for this how to Ubuntu 16.04 LTS) * MicroSD Card (4 Gb...")
 
Line 1: Line 1:
 
==Introduction==
 
==Introduction==
images
+
This how to explains how to '''create a microSD card''' to boot IGEP boards with  '''software distributions ( yocto, Ubuntu, Debian ...)'''.
 
 
  
 +
<br />images
  
 
==<span id="Prerequisites" class="mw-headline">Prerequisites</span>==
 
==<span id="Prerequisites" class="mw-headline">Prerequisites</span>==
Line 30: Line 30:
 
  $ sudo dd if=/dev/zero of=/dev/mmcblk0 bs=1024 count=1024
 
  $ sudo dd if=/dev/zero of=/dev/mmcblk0 bs=1024 count=1024
 
  [sudo] password for jdoe:
 
  [sudo] password for jdoe:
==<span class="mw-headline">Prepare a SD to boot</span>==
+
=='''<span class="mw-headline">Prepare a SD to boot</span>'''==
 
+
==<span id="Install_GParted" class="mw-headline">Install GParted</span>==
===<span id="Install_GParted" class="mw-headline">Install GParted</span>===
 
 
We will use the gparted program for create the partitions, if you don't have this program installed then you must install it with this command:
 
We will use the gparted program for create the partitions, if you don't have this program installed then you must install it with this command:
  
Line 39: Line 38:
  
 
<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code">
 
<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code">
===<span style="color: #ff0000;">Use sfdisk partition method</span>===
+
==<span style="color: #ff0000;">Use sfdisk partition method</span>==
 
<div class="codeContent panelContent pdl"><div id="highlighter_789287" class="syntaxhighlighter sh-eclipse nogutter  bash">
 
<div class="codeContent panelContent pdl"><div id="highlighter_789287" class="syntaxhighlighter sh-eclipse nogutter  bash">
 
{| class=" contenttable" border="0" cellspacing="0" cellpadding="0"
 
{| class=" contenttable" border="0" cellspacing="0" cellpadding="0"
 
|-
 
|-
| class="code"|<div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2"><span style="color: #ff0000;"><code class="bash functions">sudo</code> <code class="bash plain">sfdisk </code><code class="bash plain">/dev/</code><code class="bash plain"><your_sd> <<EOF</code></span>
+
| class="code"|<div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2"><span style="color: #ff0000;"><code class="bash functions">sudo</code> <code class="bash plain">sfdisk </code><code class="bash plain">/dev/</code><code class="bash plain"> <<EOF</code></span>
  
  
Line 59: Line 58:
 
{| class=" contenttable" border="0" cellspacing="0" cellpadding="0"
 
{| class=" contenttable" border="0" cellspacing="0" cellpadding="0"
 
|-
 
|-
| class="code"|<div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2"><code class="bash plain">$ </code><code class="bash functions">sudo</code> <code class="bash plain">mkfs.vfat -F 32 </code><code class="bash plain">/dev/</code><code class="bash plain"><your_sd_partition1> -n boot</code>
+
| class="code"|<div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2"><code class="bash plain">$ </code><code class="bash functions">sudo</code> <code class="bash plain">mkfs.vfat -F 32 </code><code class="bash plain">/dev/</code><code class="bash plain"> -n boot</code>
  
  
<div class="line number2 index1 alt1"><code class="bash plain">$ </code><code class="bash functions">sudo</code> <code class="bash plain">mkfs.ext3 </code><code class="bash plain">/dev/</code><code class="bash plain"><your_sd_partition2> -L rootfs</code></div>
+
<div class="line number2 index1 alt1"><code class="bash plain">$ </code><code class="bash functions">sudo</code> <code class="bash plain">mkfs.ext3 </code><code class="bash plain">/dev/</code><code class="bash plain"> -L rootfs</code></div>
 
</div>
 
</div>
 
</div>
 
</div>
Line 78: Line 77:
 
{| class=" contenttable" border="0" cellspacing="0" cellpadding="0"
 
{| class=" contenttable" border="0" cellspacing="0" cellpadding="0"
 
|-
 
|-
| class="code"|<div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2"><code class="bash plain">$ </code><code class="bash functions">sudo</code> <code class="bash functions">dd</code> <code class="bash keyword">if</code><code class="bash plain">=/<your_u-boot_directory></code><code class="bash plain">/u-boot</code><code class="bash plain">.imx of=</code><code class="bash plain">/dev/</code><code class="bash plain"><your_sd> bs=512 seek=2</code>
+
| class="code"|<div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2"><code class="bash plain">$ </code><code class="bash functions">sudo</code> <code class="bash functions">dd</code> <code class="bash keyword">if</code><code class="bash plain">=/</code><code class="bash plain">/u-boot</code><code class="bash plain">.imx of=</code><code class="bash plain">/dev/</code><code class="bash plain"> bs=512 seek=2</code>
  
  
Line 107: Line 106:
 
When the install procedure ends you can call the program from your system tools menu or directly using a terminal console.
 
When the install procedure ends you can call the program from your system tools menu or directly using a terminal console.
  
<div class="center"><div class="thumb tnone"><div class="thumbinner">[[]]<div class="thumbcaption"><div class="magnify"></div>
+
<div class="center"><div class="thumb tnone"><div class="thumbinner"><div class="thumbcaption"><div class="magnify"></div>
 
</div>
 
</div>
 
</div>
 
</div>
Line 115: Line 114:
 
The next step it's create the msdos table partition for it you should click in the "Device" menu and then in the "Create Partition Table" option.
 
The next step it's create the msdos table partition for it you should click in the "Device" menu and then in the "Create Partition Table" option.
  
<div class="center"><div class="thumb tnone"><div class="thumbinner">[[]]<div class="thumbcaption"><div class="magnify"></div>
+
<div class="center"><div class="thumb tnone"><div class="thumbinner"><div class="thumbcaption"><div class="magnify"></div>
 
</div>
 
</div>
 
</div>
 
</div>
Line 123: Line 122:
  
 
After that you can '''Apply'''.
 
After that you can '''Apply'''.
 +
  
  
Line 130: Line 130:
 
The Next step it's create the partitions for it you should go to the partition menu and select the "New" option then the application show a window like this:
 
The Next step it's create the partitions for it you should go to the partition menu and select the "New" option then the application show a window like this:
  
<div class="center"><div class="thumb tnone"><div class="thumbinner">[[]]<div class="thumbcaption"><div class="magnify"></div>
+
<div class="center"><div class="thumb tnone"><div class="thumbinner"><div class="thumbcaption"><div class="magnify"></div>
 
</div>
 
</div>
 
</div>
 
</div>
Line 151: Line 151:
 
The Next step it's create the partitions for it you should go to the partition menu and select the "New" option then the application show a window like this:
 
The Next step it's create the partitions for it you should go to the partition menu and select the "New" option then the application show a window like this:
  
<div class="center"><div class="thumb tnone"><div class="thumbinner">[[]]<div class="thumbcaption"><div class="magnify"></div>
+
<div class="center"><div class="thumb tnone"><div class="thumbinner"><div class="thumbcaption"><div class="magnify"></div>
 
</div>
 
</div>
 
</div>
 
</div>
Line 172: Line 172:
 
First you should select the unallocated partition area and then  you should go to the partition menu and select the "New" option then the application show a window like this:
 
First you should select the unallocated partition area and then  you should go to the partition menu and select the "New" option then the application show a window like this:
  
<div class="center"><div class="thumb tnone"><div class="thumbinner">[[]]<div class="thumbcaption"><div class="magnify"></div>
+
<div class="center"><div class="thumb tnone"><div class="thumbinner"><div class="thumbcaption"><div class="magnify"></div>
 
</div>
 
</div>
 
</div>
 
</div>
Line 186: Line 186:
 
At end we will click on "Add" button.
 
At end we will click on "Add" button.
  
<div class="center"><div class="thumb tnone"><div class="thumbinner">[[]]<div class="thumbcaption"><div class="magnify"></div>
+
<div class="center"><div class="thumb tnone"><div class="thumbinner"><div class="thumbcaption"><div class="magnify"></div>
 
</div>
 
</div>
 
</div>
 
</div>
Line 193: Line 193:
 
or
 
or
  
<div class="center"><div class="thumb tnone"><div class="thumbinner">[[]]<div class="thumbcaption"><div class="magnify"></div>
+
<div class="center"><div class="thumb tnone"><div class="thumbinner"><div class="thumbcaption"><div class="magnify"></div>
 
</div>
 
</div>
 
</div>
 
</div>
Line 203: Line 203:
 
Now we must select the boot flag for the first partition for it we use the right mouse button over the boot partition and select "Manage Flags" option
 
Now we must select the boot flag for the first partition for it we use the right mouse button over the boot partition and select "Manage Flags" option
  
<div class="center"><div class="thumb tnone"><div class="thumbinner">[[]]<div class="thumbcaption"><div class="magnify"></div>
+
<div class="center"><div class="thumb tnone"><div class="thumbinner"><div class="thumbcaption"><div class="magnify"></div>
 
</div>
 
</div>
 
</div>
 
</div>
Line 211: Line 211:
  
  
==How to boot each part==
+
 
 +
=='''How to boot each part'''==
 
Now we will see where to put each part and how to.
 
Now we will see where to put each part and how to.
  

Revision as of 11:03, 9 May 2018

Introduction

This how to explains how to create a microSD card to boot IGEP boards with  software distributions ( yocto, Ubuntu, Debian ...).


images

Prerequisites

  • PC with Linux (We use for this how to Ubuntu 16.04 LTS)
  • MicroSD Card (4 Gbytes - class 4) or bigger ...
  • Tools such, fdisk, mkfs.ext3, mkfs.vfat, gparted ...
  • Cross Toolchain included in Ubuntu 16.04 LTS gcc version 4.9.3 (Ubuntu/Linaro 4.9.3-13ubuntu2).

ToolChain

  • Read: [index.php/Ubuntu_16.04_LTS_Toolchain Ubuntu 16.04 LTS Toolchain]

Preparing the microSD card

Open a terminal window and clear your dmesg using:

sudo dmesg -c

Now insert a new microsd card in your PC and then check your dmesg:

dmesg

You should see something like this:

mmc0: new high speed SDHC card at address 0001
mmcblk0: mmc0:0001 00000 3.79 GiB
mmcblk0: unknown partition table

Ensure all in your microsd card it's erased:

$ sudo dd if=/dev/zero of=/dev/mmcblk0 bs=1024 count=1024
[sudo] password for jdoe:

Prepare a SD to boot

Install GParted

We will use the gparted program for create the partitions, if you don't have this program installed then you must install it with this command:

sudo apt-get install gparted

Another method is using fdisk and creating directly two partitions:

Use sfdisk partition method

sudo sfdisk /dev/ <<EOF


label: dos
16065,128520,0x0C,*
144585,,,-
EOF
Define partitions
sudo mkfs.vfat -F 32 /dev/ -n boot


sudo mkfs.ext3 /dev/ -L rootfs

Then you only have to use dd command in order to copy the u-boot.imx to the SD card.

Please, be sure you have write correctly the following command because in if not, it can corrupt your computer.


u-boot.imx copy
sudo dd if=//u-boot.imx of=/dev/ bs=512 seek=2


sync

For example

u-boot.imx copy
sudo dd if=/home/user/Project/u-boot/u-boot.imx of=/dev/sdd bs=512 seek=2


sync


GParted and Creation of Partitions

When the install procedure ends you can call the program from your system tools menu or directly using a terminal console.

Create the MSDOS Partition Table

The next step it's create the msdos table partition for it you should click in the "Device" menu and then in the "Create Partition Table" option.

Check the default option it's create a msdos partition table.

After that you can Apply.


Create the BOOT Partition - IGEP Texas Instruments Processor based

This Step it's only for OMAP35xx, DM37xx, AM335x, OMAP5432 processor based IGEP boards.

The Next step it's create the partitions for it you should go to the partition menu and select the "New" option then the application show a window like this:

We will configure the partition as:

  • Primary Partition
  • Format: FAT32
  • Size: 100 MegaBytes
  • Free Space Preceding: 0 MiB
  • Label: Boot
  • Align to: cylinder

It is recommended to apply changes now or you might get an error later.

Create the BOOT Partition - IGEP NXP-Freescale Processor based

This Step it's only for iMX6 processor based IGEP boards.

The Next step it's create the partitions for it you should go to the partition menu and select the "New" option then the application show a window like this:

We will configure the partition as:

  • Primary Partition
  • Format: FAT32
  • Free Space Preceding: 8 MiB
  • Size: 100 MegaBytes
  • Label: Boot
  • Align to: cylinder


It is recommended to apply changes now or you might get an error later.

Create the ROOTFS Partition

The Next step it's create the root file system partition.

First you should select the unallocated partition area and then  you should go to the partition menu and select the "New" option then the application show a window like this:

We will configure the rootfs partition as:

  • Primary Partition
  • Format: EXT4
  • Size: All the Rest
  • Label: Rootfs

At end we will click on "Add" button.

or

After all apply all changes

Select "Boot flag" for the boot partition

Now we must select the boot flag for the first partition for it we use the right mouse button over the boot partition and select "Manage Flags" option

Now we have the microsd prepared for copy the boot files


How to boot each part

Now we will see where to put each part and how to.

U-Boot

How to record the U-Boot

Root file System

How to record the Root file System

Kernel & Modules

How to record the Kernel & Modules