Personal tools

Log in

Changes

From IGEP - ISEE Wiki

Jump to: navigation, search

The IGEP X-loader

1,978 bytes added, 23:41, 2 March 2012
no edit summary
X-Loader, an initial program loader for Embedded boards based on OMAP processors. <br>
Access to the latest version [http://git.igep.es/?p=pub/scm/igep-x-loader.git;a=summary here] and read the [http://git.igep.es/?p=pub/scm/igep-x-loader.git;a=blob;f=ISEE_README.txt;h=99a9a0e13bf165307f35b260b076ae4df5ad9b1d;hb=HEAD ISEE_Readme.txt] for get the latest release information.  = Why IGEP-Xloader = Exist some important reasons for use this bootloader on IGEP boards. == Security == This is one of the most important reasons why we develop this new IGEP X-loader. Probably you knows that in the flash devices with the normal usage get new bad memory blocks that be unusable or can damange the software that resides inside the flash (ex: upgrading the software, copy a new kernel ... ), in these cases your board cannot be usable anymore if you don't use a right nand filesystem that insure the data integrity. Using the old schema we've 4 importat partitions on flash without any protection, x-loader, u-boot, u-boot enviroment and kernel. IGEP X-loader resolve this situation due the configuration and kernel files resides inside a jffs2 partition. == Mantenience == With the old schema exist 3 different software (x-loader, u-boot, kernel) that do exactly the same job it means reconfigure the board, it increas the complexity of mantenience for the board system and provide a major bug source due we must insure that all software must be aligned with all changes, it has a second point of view if we do the job three times the boot process be more complex and slow. == Easy to use == <span class="Apple-style-span" style="font-size: 13px; ">With this new approach use the software it's more easy, if you've the boot information stored inside a jffs2 partition you can use the linux kernel for access to it directly without use any flash tool for modify the software (ex: use nandwrite it's to risky due it cannot garanty the data integrity over the Nand Flash memory).</span> == <span class="Apple-style-span" style="font-size: 13px; ">&nbsp;Upgrade faster and easy</span> == <span class="Apple-style-span" style="font-size: 13px; " />Upgrade a new kernel it's more easy and faster, you only need copy the new kernel inside the boot partition and copy your new igep.ini inside and reboot the board with all security.
= Features and Limitations<br> =
[2.3.0-2] Add Hynix NAND memorie and IGEP0032 support
[2.3.0-2] Added lzo compression schema.
----
[2.4.0-2] New read_nand_cache function optimized for load from OneNand
[2.4.0-2] Added Hw GPtimer functionality
= Pre-Compiled Binaries =
'''kernel build command example''':
<pre>$make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- zImage modules
</pre> 
=== Second Partition ===
$nand_eraseall /dev/mtd0
$writeloader -i &lt;x-loader.bin.ift&gt; -o /dev/mtd0
</pre> 
==== <span style="display: none;" id="1299156619608S">&nbsp;</span>Boot Partition ====
<u>Create the boot partition:</u>
<u></u>
<pre>Suggested procedure:
You can use the cp command for copy your kernel and igep.ini configuration file.
<pre>$cp igep.ini /boot
$cp zImage /boot</pre> 
==== Rootfs Partition ====
| hex memory address
|-
| serial.low| Serial number (low part)| 0 - 99999999
| numeric
|-
| serial.high| Serial number (high part)| 0 - 99999999
| numeric
|-
| revision| Revision ID| 0 - 9999
| numeric
|-
| kImageName| Kernel, binary image name| N/A
| Kernel or binary image name
|-
| kRdImageName| Ramdisk| N/A
| Ram Disk image name
|-
| MachineID| Machine ID (kernel ID)| 2717
| 2717 (Module) &#124; 2344 IGEPv2
|-
| Mode| Boot Mode| kernel
| kernel=linux kernel / binary=boot binary image
|}
Also remember you can comment any line using ';' or '#' characters.
</pre> 
= FAQ =