Personal tools

Log in

Changes

From IGEP - ISEE Wiki

Jump to: navigation, search

The IGEP X-loader

2,039 bytes added, 14:35, 3 March 2011
no edit summary
*The xloader must be signed before copy it into the flash memory.
You should copy the x-loader in the firsts 4 blocks (first 512 KiB), this is not a&nbsp;formated partition due the ROM not permits boot from a formated partition in flash, you should use flash_eraseall and nandwrite for copy x-loader in the first blocks.<pre><&lt;u>&gt;Suggested procedure:<&lt;/u>&gt;
Erase and copy the x-loader into the first flash partition:
$nand_eraseall /dev/mtd0
for file in `ls split-a?`; do cat $file &gt;&gt; x-load-ddp.bin.ift; cat $file &gt;&gt; x-load-ddp.bin.ift; done
This last command generate a file named x-load-ddp.bin.ift this is the x-loader for copy it in the OneNand.</pre>==== <span style="display: none; " id="1299156619608S">&nbsp;</span>Boot Partition ====
*fs used jffs2 zlib compressed filesystem.
*Suggested size: 0xC00000 (12 MiB).
X-Loader only support jffs2 partitions for boot partition.
<u>Prepare the boot partition for the first use:</u>
<u></u>You should follow the same procedure used for copy the x-loader in the first partition.
<pre>Suggested procedure:
Erase and copy the x-loader into the first flash partition:
Your initial boot partition can be a empty file the first time.
</pre><u>Next uses:</u>
<u></u>You can mount the partition over your boot directory in the rootfs
<pre>$mount /dev/mtdblck1 /boot</pre>And you can use the cp command for copy your kernel and igep.ini configuration file.<pre>$cp igep.ini /boot</pre>==== Rootfs Partition ====
*fs (your prefered fs supported by linux, maybe a good choice it should be ubifs)*Size, all or you can create more partitions if you wish ... &nbsp;:)
== Boot Priority ==
XLoader first try load from mmc and if it fails then try from OneNand.<br>
'''MLO (x-loader), igep.ini, zImage from MMC'''<br>If all it's present in the mmc it don't try to boot from Onenand.<br>
'''MLO (x-loader) in MMC, igep.ini and zImage in Onenand.'''<br>If only MLO it's provided this one try to load the other information from&nbsp;the Onenand.
It means that XLoader always try to load the information from MMC and if it fails then try to load from OneNand.
<br>== Configuration file: igep.ini ==
=== ===[http://en.wikipedia.org/wiki/INI_file This entry in wikipedia] can help you how a ini file it's structured.
=== <br> 4 Settings &amp; ConfigurationThe actual XLoader can handle two kind tags: ===
====== ================ ======[kernel] Used for internal XLoader setup.<br>
4.1 MMC Boot<br>------------<br>Get a new mmc and create two partitions, [kparams] Used for pass the first one must be fat (you can follow <br>this howto: http://code.googlelinux kernel parameters.com/p/beagleboard/wiki/LinuxBootDiskFormat)<br>In this first partition (boot partition) you should copy:
*x-loader.bin.ift (you must rename this file to MLO) / This is a signed image using contrib/signGP tool<br>* igep.ini<br>* Your desired === TAG: [kernel image.]&nbsp; ===
Don<span class="Apple-style-span" style="line-height: normal; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;" /><span style="color: rgb(255, 0, 0); ">''t use a uImage kernel format # kaddress (from ubootKernel copy destination address), only kernel formats be supported. ''</span>
Compilation Example:<br>$make ARCHspan class=arm CROSS_COMPILE"Apple-style-span" style=arm"line-height: normal; -webkit-border-horizontal-spacing: 1px; -nonewebkit-linuxborder-gnueabivertical- zImage modules spacing: 1px;">kaddress=0x80008000</span>
Read the kernel documentation about kernel images<span style="color: rgb(255, 0, 0); ">''<span class="Apple-style-span" style="line-height: normal; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "># rdaddress&nbsp;(RamDisk copy destination address)</span>''</span<span class="Apple-style-span" style="line-height: normal; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;">rdaddress=0x84000000</span> <span style="color: rgb(255, 0, 0); ">''<span class="Apple-style-span" style="line-height: normal; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "># Serial Hardware ID</span>''</span <span class="Apple-style-span" style="line-height: normal; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;">serial. low=00000001serial.high=00000000</span> <span class="Apple-style-span" style="line-height: normal; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;" /><span style="color: rgb(255, 0, 0); ">''# Revision Hardware ID''</span> <span class="Apple-style-span" style="line-height: normal; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;">revision=0001</span> <span style="color: rgb(255, 0, 0); ">''<span class="Apple-style-span" style="line-height: normal; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "># Kernel Image Name</span>''</span<span class="Apple-style-span" style="line-height: normal; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;">kImageName=zImage-test</span> ''<span style="color: rgb(255, 0, 0); "><span class="Apple-style-span" style="line-height: normal; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "># Kernel Ramdisk Name</span></span>''<span style="color: rgb(255, 0, 0); " /><span class="Apple-style-span" style="line-height: normal; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;">kRdImageName=rdImage-test</span> <br>
4.2 Setup igep.ini file<br>------------------------<br># Note this format permits use the characters<br># '#' and ';' as comment check file size restrictions
d) Sign x-loader<br>You should execute contrib/signGP for sign the xloader that resides inside the flash memory.<br>contrib/signGP x-load.bin <br>The signed x-loader it's named: x-load.bin.ift
<br>6 Contribution &amp; Support &amp; Report Bugs<br>======================================<br>Contributions to this project be welcome and you can send your patches to support@iseebcn.com<br>or you can use the igep forum for it.<br>You can access to IGEP-x-Loader repository using our git at git.igep.es<br>IGEP IRC Channel: http://webchat.freenode.net/?channels=igep<br><span style="display: none; " id="1299156619619E">&nbsp;</span><br>