<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.ronetix.at/index.php?action=history&amp;feed=atom&amp;title=PM9263-U-BOOT-LINUX-OE</id>
	<title>PM9263-U-BOOT-LINUX-OE - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ronetix.at/index.php?action=history&amp;feed=atom&amp;title=PM9263-U-BOOT-LINUX-OE"/>
	<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=PM9263-U-BOOT-LINUX-OE&amp;action=history"/>
	<updated>2026-09-19T11:51:39Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=PM9263-U-BOOT-LINUX-OE&amp;diff=206&amp;oldid=prev</id>
		<title>Ilko at 06:50, 8 October 2021</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=PM9263-U-BOOT-LINUX-OE&amp;diff=206&amp;oldid=prev"/>
		<updated>2021-10-08T06:50:49Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 08:50, 8 October 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{#vardefine:HARDWARE_NAME|PM9263}} &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;!--&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{#vardefine:HARDWARE_NAME|PM9263}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;--&amp;gt;&lt;/del&gt;{{#vardefine:UBOOT_TAG|v2019.10}} &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &amp;lt;!--&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{#vardefine:UBOOT_TAG|v2019.10}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;--&amp;gt;&lt;/del&gt;{{#vardefine:URL_PM9263|[https://ronetix.at/product/pm9263-cpu-module-with-atmel-at91sam9263/ PM9263]}} &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &amp;lt;!--&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{#vardefine:URL_PM9263|[https://ronetix.at/product/pm9263-cpu-module-with-atmel-at91sam9263/ PM9263]}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;--&amp;gt;&lt;/del&gt;{{#vardefine:URL_PEEDI|[https://ronetix.at/product/peedi-jtag-swd-bdm-emulator-and-flash-programmer/ PEEDI]}} &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &amp;lt;!--&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{#vardefine:URL_PEEDI|[https://ronetix.at/product/peedi-jtag-swd-bdm-emulator-and-flash-programmer/ PEEDI]}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;--&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pm9263_top&lt;/del&gt;.png|thumb]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;PM9263-top&lt;/ins&gt;.png|thumb]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= {{#var:URL_PM9263}} User&amp;#039;s Manual and Schematics =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= {{#var:URL_PM9263}} User&amp;#039;s Manual and Schematics =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=PM9263-U-BOOT-LINUX-OE&amp;diff=43&amp;oldid=prev</id>
		<title>Ilko: Ilko moved page PM9263 to PM9263-U-BOOT-LINUX-OE</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=PM9263-U-BOOT-LINUX-OE&amp;diff=43&amp;oldid=prev"/>
		<updated>2020-08-18T10:43:39Z</updated>

		<summary type="html">&lt;p&gt;Ilko moved page &lt;a href=&quot;/index.php?title=PM9263&quot; title=&quot;PM9263&quot;&gt;PM9263&lt;/a&gt; to &lt;a href=&quot;/index.php?title=PM9263-U-BOOT-LINUX-OE&quot; title=&quot;PM9263-U-BOOT-LINUX-OE&quot;&gt;PM9263-U-BOOT-LINUX-OE&lt;/a&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:43, 18 August 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=PM9263-U-BOOT-LINUX-OE&amp;diff=29&amp;oldid=prev</id>
		<title>Ilko: Initial import</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=PM9263-U-BOOT-LINUX-OE&amp;diff=29&amp;oldid=prev"/>
		<updated>2020-08-16T17:06:50Z</updated>

		<summary type="html">&lt;p&gt;Initial import&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{#vardefine:HARDWARE_NAME|PM9263}} &amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#vardefine:UBOOT_TAG|v2019.10}}  &amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#vardefine:URL_PM9263|[https://ronetix.at/product/pm9263-cpu-module-with-atmel-at91sam9263/ PM9263]}}  &amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#vardefine:URL_PEEDI|[https://ronetix.at/product/peedi-jtag-swd-bdm-emulator-and-flash-programmer/ PEEDI]}}  &amp;lt;!--&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[File:Pm9263_top.png|thumb]]&lt;br /&gt;
&lt;br /&gt;
= {{#var:URL_PM9263}} User&amp;#039;s Manual and Schematics =&lt;br /&gt;
The User&amp;#039;s Manual and the schematics of PM9263 can be found here:&lt;br /&gt;
* http://download.ronetix.at/boards/doc/PM9263/&lt;br /&gt;
&lt;br /&gt;
= Before you start =&lt;br /&gt;
&lt;br /&gt;
The instructions in this document are meant to be done under GNU/Linux environment.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Connecting to the board =&lt;br /&gt;
	A serial terminal connection through RS-232&lt;br /&gt;
	null modem cable is needed to control U-Boot and GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
	To set up U-Boot run time a serial terminal connection must be used,&lt;br /&gt;
	this is the only way you can get access to the U-Boot command line.&lt;br /&gt;
	The Linux boot messages are transmitted to the same serial connection.&lt;br /&gt;
&lt;br /&gt;
	The Serial Debug interface is set to 115200 bps with 8 data bits, one&lt;br /&gt;
	stop bit and no parity. Use the screen command like this&lt;br /&gt;
 &amp;quot;screen /dev/ttyS0 115200 cs8,-cstopb,-parenb&amp;quot;&lt;br /&gt;
or&lt;br /&gt;
 minicom&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
	As tftp or ftp servers are needed call your system/network&lt;br /&gt;
	administrator to give you the settings. The IP address can be obtained&lt;br /&gt;
	using DHCP service or set static IP.&lt;br /&gt;
&lt;br /&gt;
	After the IP address is set and know, a link to the board running&lt;br /&gt;
	GNU/Linux can be made with telnet.&lt;br /&gt;
&lt;br /&gt;
= Toolchain =&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
The GNU Toolchain, is a combination of multiple projects:&lt;br /&gt;
&lt;br /&gt;
; GCC&lt;br /&gt;
: GCC stands for &amp;quot;GNU Compiler Collection&amp;quot;. GCC is an integrated distribution of compilers for several major programming languages. These languages currently include C, C++, Objective-C, Objective-C++, Java, Fortran, and Ada.&lt;br /&gt;
&lt;br /&gt;
; Binutils&lt;br /&gt;
: GNU Binutils are a collection of binary tools. The main ones are: the GNU linker (ld) and the GNU assembler (as).&lt;br /&gt;
&lt;br /&gt;
; Debugger&lt;br /&gt;
: GNU debugger, allows you to see what is going on `inside’ another program while it executes -- or what another program was doing at the moment it rashed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== GNU toolchain notes ===&lt;br /&gt;
The pre-built GNU toolchains can be found http://download.ronetix.at/toolchains/arm/&lt;br /&gt;
&lt;br /&gt;
; Linux:&lt;br /&gt;
: The Linux kernel reqires a minimal GCC version in order to compile. To check that minimal version take a look at the README file in the Linux source directory.&lt;br /&gt;
&lt;br /&gt;
; U-Boot&lt;br /&gt;
: U-Boot can not be compiled with some toolchains because of (E)ABI conformation. The USE_PRIVATE_LIBGCC parameter allows the usage of different run-time support library(libgcc.a). More on using this parameter see README in U-Boot source&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Download and install the GNU toolchain ===&lt;br /&gt;
&lt;br /&gt;
==== Installation of &amp;quot;KaeilOS v2010.1 SDK&amp;quot; ====&lt;br /&gt;
This is SDK produced by OpenEmbedded recipes. It includes and package management system opkg. It includes development sources form the 	packages in KaeilOS. &lt;br /&gt;
Download the two files and extract them in the &amp;quot;/&amp;quot; directory. They could be extracted in any directory, and then the file &amp;quot;&amp;lt;work directory&amp;gt;/usr/local/kaeilos/arm/environment-setup&amp;quot; have to be edited and prefix the &amp;quot;SDK_PATH&amp;quot; value with the &amp;quot;work directory&amp;quot;.&lt;br /&gt;
And also remove the line which sets the CPATH environment.&lt;br /&gt;
&lt;br /&gt;
Before compiling execute:&lt;br /&gt;
 $ . &amp;lt;work directory&amp;gt;/usr/local/kaeilos/arm/environment-setup&lt;br /&gt;
	The toolchain prefix is &amp;quot;arm-oe-linux-gnueabi-&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 $ wget http://download.ronetix.at/toolchains/arm/kaeilos-2010.1/kaeilos-2010.1-20110221-i686-linux-armv5te-linux-gnueabi-toolchain-extras.tar.bz2&lt;br /&gt;
 $ wget http://download.ronetix.at/toolchains/arm/kaeilos-2010.1/kaeilos-2010.1-20110221-i686-linux-armv5te-linux-gnueabi-toolchain.tar.bz2&lt;br /&gt;
 $ su -&lt;br /&gt;
 $ tar -C / -xjf kaeilos-2010.1-20110221-i686-linux-armv5te-linux-gnueabi-toolchain-extras.tar.bz2 &lt;br /&gt;
 $ tar -C / -xjf kaeilos-2010.1-20110221-i686-linux-armv5te-linux-gnueabi-toolchain.tar.bz2&lt;br /&gt;
 $ exit&lt;br /&gt;
 $ . /usr/local/kaeilos/arm/environment-setup&lt;br /&gt;
 $ echo &amp;#039;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 int main(int argc, char** argv) {&lt;br /&gt;
    printf(&amp;quot;Hello World!\n&amp;quot;);&lt;br /&gt;
    return 0;&lt;br /&gt;
   }&lt;br /&gt;
  &amp;#039; &amp;gt; hello.c&lt;br /&gt;
&lt;br /&gt;
 $ arm-oe-linux-gnueabi-gcc hello.c -o hello&lt;br /&gt;
&lt;br /&gt;
==== The rest of the toolchains ====&lt;br /&gt;
The toolchains will be installed in the /usr/cross directory.&lt;br /&gt;
&lt;br /&gt;
 $ wget http://download.ronetix.at/toolchains/arm/ronetix-arm-linux-4.3.3.tar.bz2&lt;br /&gt;
 $ su -&lt;br /&gt;
 $ cd /&lt;br /&gt;
 $ tar xvfj ronetix-arm-linux-4.3.3.tar.bz2&lt;br /&gt;
 $ exit&lt;br /&gt;
&lt;br /&gt;
Setup the path:&lt;br /&gt;
 $ export PATH=/usr/cross/arm-linux-4.3.3/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
= U-BOOT =&lt;br /&gt;
=== Short introduction ===&lt;br /&gt;
&lt;br /&gt;
U-BOOT is used for basic initialization of the {{#var:URL_PM9263}} boards and for loading and starting an Operating system or an user application. &lt;br /&gt;
The loading can be done via the various FLASH devices or the Ethernet.&lt;br /&gt;
&lt;br /&gt;
U-BOOT supports the following devices on the {{#var:URL_PM9263}} board:&lt;br /&gt;
* NOR Flash&lt;br /&gt;
* Dataflash&lt;br /&gt;
* NAND flash&lt;br /&gt;
* Ethernet&lt;br /&gt;
* LCD&lt;br /&gt;
* USB&lt;br /&gt;
&lt;br /&gt;
=== Download and install the U-BOOT ===&lt;br /&gt;
&lt;br /&gt;
{{#var:URL_PM9263}} is supported by the mainline U-BOOT.&lt;br /&gt;
&lt;br /&gt;
Alternatively, u-boot-2010.09 + patches can be used.&lt;br /&gt;
&lt;br /&gt;
==== Get U-Boot as tar.bz2 ====&lt;br /&gt;
&lt;br /&gt;
 $ wget http://download.ronetix.at/boards/linux/bootloader/u-boot-2010.09/u-boot-2010.09.tar.bz2&lt;br /&gt;
 $ tar xjf u-boot-2010.09.tar.bz2&lt;br /&gt;
 $ mv u-boot-2010.09 u-boot&lt;br /&gt;
 $ cd u-boot&lt;br /&gt;
 $ git init&lt;br /&gt;
 $ git add *&lt;br /&gt;
 $ git add .gitignore&lt;br /&gt;
 $ git commit -m &amp;quot;U-Boot v2010.09&amp;quot;&lt;br /&gt;
 $ git checkout -b v2010.09-pm9263&lt;br /&gt;
 $ cd ..&lt;br /&gt;
&lt;br /&gt;
==== Get U-Boot with git clone ====&lt;br /&gt;
&lt;br /&gt;
	For easy code management(trace and history of changes, patch submit and&lt;br /&gt;
	so) it is good to use revision control(in this case GIT). To get U-Boot&lt;br /&gt;
	using git, if you prefer tar.bz2 skip getting U-Boot using git.&lt;br /&gt;
&lt;br /&gt;
 $ git clone git://git.denx.de/u-boot.git u-boot&lt;br /&gt;
 $ cd u-boot&lt;br /&gt;
 $ git checkout -b v2010.09-pm9263 v2010.09&lt;br /&gt;
 $ cd ..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Apply the provided patches ===&lt;br /&gt;
&lt;br /&gt;
 $ wget http://download.ronetix.at/boards/linux/bootloader/u-boot-2010.09/patches/u-boot-patches-bb9g45-v2010.09.tar.bz2&lt;br /&gt;
 $ tar xjvf u-boot-patches-bb9g45-v2010.09.tar.bz2&lt;br /&gt;
 $ cd u-boot&lt;br /&gt;
 $ for N in ../u-boot-patches-bb9g45-v2010.09/*.patch ;do git am $N ; done&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
The U-Boot configuration files named as the respective Ronetix CPU modules are:&lt;br /&gt;
* include/configs/pm9g45.h&lt;br /&gt;
* include/configs/pm9263.h&lt;br /&gt;
* include/configs/pm9261.h&lt;br /&gt;
&lt;br /&gt;
The definitions in these header files are explained in the README file in the U-Boot source.&lt;br /&gt;
&lt;br /&gt;
If needed set the lines for the network interface as show. In the config files only the ETHADDR is set, the rest parameters can be obtained runtime in the U-Boot prompt by invoking the command &amp;quot;dhcp&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 #define CONFIG_ETHADDR		02:00:00:FE:ED:01&lt;br /&gt;
 #define CONFIG_IPADDR		192.168.3.222&lt;br /&gt;
 #define CONFIG_NETMASK		255.255.255.0&lt;br /&gt;
 #define CONFIG_GATEWAYIP	192.168.3.1&lt;br /&gt;
 #define CONFIG_SERVERIP	192.168.3.1&lt;br /&gt;
 #define CONFIG_OVERWRITE_ETHADDR_ONCE /* Read Using it! */&lt;br /&gt;
&lt;br /&gt;
These parameters can be modified later and set to a environment variables, except &amp;quot;ethaddr&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you do not want LCD support, comment as shown:&lt;br /&gt;
&lt;br /&gt;
 /* No need of LCD&lt;br /&gt;
 * #define	CONFIG_LCD			1&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
You may leave the configs as they are, test and then change as needed.&lt;br /&gt;
&lt;br /&gt;
=== Configure and build ===&lt;br /&gt;
&lt;br /&gt;
 $ make pm9263_config&lt;br /&gt;
&lt;br /&gt;
The common part for all boards:&lt;br /&gt;
&lt;br /&gt;
 $ export USE_PRIVATE_LIBGCC=yes&lt;br /&gt;
 $ export CROSS_COMPILE=arm-oe-linux-gnueabi-&lt;br /&gt;
 $ export ARCH=arm&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
The binary file for programming is u-boot.bin, and the u-boot is the elf file.&lt;br /&gt;
&lt;br /&gt;
When building U-Boot, the mkimage is also build. This utility is needed to wrap zImage(Linux kernel) for booting by U-Boot, so put it in a place mentioned by PATH environment.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Programming U-Boot for PM9263 ===&lt;br /&gt;
&lt;br /&gt;
The file u-boot.bin must be programmed in the FLASH at address 0x10000000. The environment of U-Boot is at address 0x10040000. &lt;br /&gt;
&lt;br /&gt;
==== Using {{#var:URL_PEEDI}} ====&lt;br /&gt;
&lt;br /&gt;
 peedi&amp;gt; flash set 0	; select the first flash profile&lt;br /&gt;
 peedi&amp;gt; flash program u-boot.bin bin 0x10000000 erase&lt;br /&gt;
&lt;br /&gt;
==== Using U-Boot ====&lt;br /&gt;
&lt;br /&gt;
 u-boot&amp;gt; tftp 0x20020000 u-boot.bin&lt;br /&gt;
 u-boot&amp;gt; erase 0x10000000 +${filesize}&lt;br /&gt;
 u-boot&amp;gt; cp.b 0x20020000 0x10000000 ${filesize}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Linux kernel =&lt;br /&gt;
=== Getting and unpacking the Linux kernel for {{#var:URL_PM9263}} ===&lt;br /&gt;
&lt;br /&gt;
For Linux kernel 2.6.28&lt;br /&gt;
&lt;br /&gt;
 $ wget http://download.ronetix.info/boards/linux/kernel/2.6.28/linux-2.6.28.tar.bz2&lt;br /&gt;
 $ wget http://download.ronetix.info/boards/linux/kernel/2.6.28/001_linux-2.6.28-at91.patch&lt;br /&gt;
 $ wget http://download.ronetix.info/boards/linux/kernel/2.6.28/002_linux-2.6.28-exp.patch&lt;br /&gt;
 $ wget http://download.ronetix.info/boards/linux/kernel/2.6.28/003_linux-2.6.28-at91-ronetix-20112009.patch&lt;br /&gt;
 $ tar xjf linux-2.6.28.tar.bz2&lt;br /&gt;
 $ cd linux-2.6.28&lt;br /&gt;
 $ patch -p1 &amp;lt; ../001_linux-2.6.28-at91.patch&lt;br /&gt;
 $ patch -p1 &amp;lt; ../002_linux-2.6.28-exp.patch&lt;br /&gt;
 $ patch -p1 &amp;lt; ../003_linux-2.6.28-at91-ronetix-20112009.patch&lt;br /&gt;
&lt;br /&gt;
=== Kernel config ===&lt;br /&gt;
&lt;br /&gt;
 $ make pm9263_defconfig&lt;br /&gt;
&lt;br /&gt;
If you want to change something in the kernel do the following:&lt;br /&gt;
 &lt;br /&gt;
 $ export ARCH=arm&lt;br /&gt;
 $ make menuconfig&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kernel build ===&lt;br /&gt;
&lt;br /&gt;
	uImage is the Linux kernel packed(U-Boot wrapped zImage) in format&lt;br /&gt;
	for loading by U-Boot. The &amp;quot;mkimage&amp;quot; utility which is part of U-Boot&lt;br /&gt;
	is required to be in the executable search path(environment variable&lt;br /&gt;
	PATH).&lt;br /&gt;
&lt;br /&gt;
	The &amp;quot;mkimage&amp;quot; can be taken from&lt;br /&gt;
	http://download.ronetix.at/boards/tools/linux/mkimage or&lt;br /&gt;
	obtained after building U-Boot for an ARM board.&lt;br /&gt;
&lt;br /&gt;
 $ echo Make sure &amp;quot;mkimage&amp;quot; is in the executable search path!&lt;br /&gt;
 $ export CROSS_COMPILE=arm-oe-linux-gnueabi-&lt;br /&gt;
 $ make uImage&lt;br /&gt;
&lt;br /&gt;
	The binary file for programming is arch/arm/boot/uImage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Programming of the Kernel for PM9263 ===&lt;br /&gt;
&lt;br /&gt;
==== Using {{#var:URL_PEEDI}} ====&lt;br /&gt;
&lt;br /&gt;
 peedi&amp;gt; flash set 1	; select the second flash profile&lt;br /&gt;
 peedi&amp;gt; flash program&lt;br /&gt;
&lt;br /&gt;
==== Using U-BOOT ====&lt;br /&gt;
&lt;br /&gt;
 u-boot&amp;gt; tftp 0x20020000 vmImage.bin&lt;br /&gt;
 u-boot&amp;gt; erase 0x10050000 +${filesize}&lt;br /&gt;
 u-boot&amp;gt; cp.b 0x20020000 0x10050000 ${filesize}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= OpenEmbedded =&lt;br /&gt;
=== Preparation ===&lt;br /&gt;
	First you need to prepare your host Linux distribution in order to&lt;br /&gt;
	be able to get and build KaeilOS. A list of required packages for&lt;br /&gt;
	variety of host distributions is described in:&lt;br /&gt;
&lt;br /&gt;
* http://wiki.openembedded.net/index.php/OEandYourDistro&lt;br /&gt;
* http://wiki.openembedded.net/index.php/Main_Page&lt;br /&gt;
&lt;br /&gt;
	Lets prepare directory structure. Login on your host as ordinary&lt;br /&gt;
	user not as root(root privileges are not needed and a good practice&lt;br /&gt;
	is to avoid being root if not needed). You can login as a user you&lt;br /&gt;
	like. Starting point is being in the home directory. You may choose&lt;br /&gt;
	working directory at your decision, but be aware of the paths.&lt;br /&gt;
&lt;br /&gt;
	Make directory for doing things and go to it:&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ mkdir -p usr/src/oe&lt;br /&gt;
 $ cd usr/src/oe&lt;br /&gt;
&lt;br /&gt;
	Now it is time to get bitbake - the building tool. All thing here&lt;br /&gt;
	are done with bitbake version 1.10.2. And don&amp;#039;t install bitbake&lt;br /&gt;
	globally, install it as a sibling directory of openembedded/&lt;br /&gt;
	and build/.&lt;br /&gt;
&lt;br /&gt;
 $ git clone git://git.openembedded.org/bitbake.git&lt;br /&gt;
 $ cd bitbake&lt;br /&gt;
 $ git pull&lt;br /&gt;
 $ git checkout -b _tag_1.10.2 1.10.2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Getting openembedded - meta data, packages, relations and more ===&lt;br /&gt;
&lt;br /&gt;
	Get it, go to directory openembedded/ and update.&lt;br /&gt;
&lt;br /&gt;
 $ git clone git://git.openembedded.org/openembedded&lt;br /&gt;
 $ cd openembedded&lt;br /&gt;
 $ git pull&lt;br /&gt;
&lt;br /&gt;
	Now you have the development branch of openembedded master.&lt;br /&gt;
	The org.openembedded.dev branch is depreciated.&lt;br /&gt;
	Check that you are in development branch.&lt;br /&gt;
&lt;br /&gt;
 $ git branch&lt;br /&gt;
 * master&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
	As the OE is developing continuously sometimes the OE can not be build&lt;br /&gt;
	successfully so you can keep updating OE untill it builds or use a&lt;br /&gt;
	build verified state(commit).&lt;br /&gt;
&lt;br /&gt;
==== Keep updating ====&lt;br /&gt;
&lt;br /&gt;
After git-clone create a branch and try to build images with it. If the building is successful keep the branch, but if building is unsuccessful keep pulling until you get a working OE commit, or you can try to fix the problem.&lt;br /&gt;
&lt;br /&gt;
 $ git checkout -b dev_snapshoot  # Switched to a new branch &amp;quot;dev_snapshoot&amp;quot;&lt;br /&gt;
 $ git pull origin master:dev_snapshoot&lt;br /&gt;
&lt;br /&gt;
Use a verified state&lt;br /&gt;
That state can be found here http://www.kaeilos.com/latest-changes&lt;br /&gt;
It is good to to make a branch after cloning.&lt;br /&gt;
&lt;br /&gt;
 $ git checkout -b state_070cbda&lt;br /&gt;
 $ git reset --hard 070cbda8e9c073c8fd3b89d2a4c49acbc7fb7918 FIX:&lt;br /&gt;
&lt;br /&gt;
This is last verified commit.&lt;br /&gt;
&lt;br /&gt;
	Commit date: FIX:&lt;br /&gt;
	Build date: FIX:&lt;br /&gt;
&lt;br /&gt;
	Warning: even the tested OpenEmbedded/Bitbake metadata state after&lt;br /&gt;
	&amp;quot;some&amp;quot; time can not produce the desired images, due to URL sources&lt;br /&gt;
	are not available, most probably a new version, and the old one is&lt;br /&gt;
	removed. Example of this is missing live.2010.10.15.tar.gz from&lt;br /&gt;
	recipe live555_20101015.bb. Also there is recipes referring to a&lt;br /&gt;
	source in a svn, git or other repositories, which at the build time&lt;br /&gt;
	could be with broken sources like mplayer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Get KaeilOS settings and configuration files ===&lt;br /&gt;
&lt;br /&gt;
 $ wget ftp://ftp.koansoftware.com/public/kaeilos/kaeilos-4.05-config-files.tgz&lt;br /&gt;
 $ tar xzvf kaeilos-4.05-config-files.tgz&lt;br /&gt;
&lt;br /&gt;
Get custom-extra-image.bb recipe file and save it in $OEBASE/openembedded/recipes/images:&lt;br /&gt;
&lt;br /&gt;
 $ wget http://download.ronetix.at/boards/linux/rootfs/custom-extra-image.bb -O openembedded/recipes/images/custom-extra-image.bb&lt;br /&gt;
&lt;br /&gt;
Edit the files listed below so that they contains the correct paths.&lt;br /&gt;
Use the absolute path: in file setup-kaeilos.sh correct BB_DIR to point to $OEBASE/btibake/ and OE_DIR to point to $OEBASE/openembedded/&lt;br /&gt;
Also in the same file(setup-kaeilos.sh) make it looks like:&lt;br /&gt;
&lt;br /&gt;
 --- part of setup-kaeilos.sh lines 16:29 ---&lt;br /&gt;
 echo &amp;quot;Preparing KaeilOS build environment ver.&amp;quot; $SETUP_KAEILOS_VER&lt;br /&gt;
 cd $BB_DIR &lt;br /&gt;
 # Bitbake not anymore in svn repository, not it is git one.&lt;br /&gt;
 echo &amp;quot;Checking bitbake&amp;quot;&lt;br /&gt;
 ##svn cleanup&lt;br /&gt;
 ##svn update&lt;br /&gt;
 git branch&lt;br /&gt;
 cd $OE_DIR&lt;br /&gt;
 # Do not pull, use the present state and if needed chnage manualy.&lt;br /&gt;
 echo &amp;quot;Checking OpenEmbedded&amp;quot;&lt;br /&gt;
 ##git pull&lt;br /&gt;
 git branch&lt;br /&gt;
 cd $HERE&lt;br /&gt;
 cd $1&lt;br /&gt;
 --- part of setup-kaeilos.sh lines 16:29 ---&lt;br /&gt;
&lt;br /&gt;
* in build/kaeilos/conf/auto.conf you can select the machine to&lt;br /&gt;
			build KaeilOS for. The default machine is&lt;br /&gt;
			&amp;quot;ronetix-pm9263&amp;quot;, to build for pm9g45 change the name&lt;br /&gt;
			&amp;quot;ronetix-pm9263&amp;quot; to &amp;quot;ronetix-pm9g45&amp;quot;, and if the case&lt;br /&gt;
			is pm9261 use &amp;quot;ronetix-pm9261&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* in build/kaeilos/conf/local.conf change DEPLOY_DIR_PSTAGE to&lt;br /&gt;
			point to &amp;quot;$OEBASE/build/kaeilos/tmp/pstage/&amp;quot;, and if you&lt;br /&gt;
			work in a screen session leave the three lines below&lt;br /&gt;
			&amp;quot;# Enable devshell with screen and bash&amp;quot;, in the other&lt;br /&gt;
			case comment these three lines. And please don&amp;#039;t&lt;br /&gt;
			comment sending automatic reports.&lt;br /&gt;
&lt;br /&gt;
 --- part of build/kaeilos/conf/local.conf lines 23:33 ---&lt;br /&gt;
 # Enable devshell with screen and bash&lt;br /&gt;
 #SCREEN_TERMCMD = &amp;#039;screen -D -m -t &amp;quot;$TERMWINDOWTITLE&amp;quot; -s /bin/bash&amp;#039;&lt;br /&gt;
 #TERMCMD = &amp;quot;${SCREEN_TERMCMD}&amp;quot;&lt;br /&gt;
 #TERMCMDRUN = &amp;quot;${SCREEN_TERMCMDRUN}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # Enable this to send automatic success and failure reports&lt;br /&gt;
 #http://wiki.openembedded.net/index.php/How_do_I_send_automatic_success_and_failure_reports&lt;br /&gt;
 INHERIT += &amp;quot;oestats-client&amp;quot;&lt;br /&gt;
 OESTATS_SERVER = &amp;quot;tinderbox.openembedded.net&amp;quot;&lt;br /&gt;
 OESTATS_BUILDER = &amp;quot;kaeilos-user&amp;quot;&lt;br /&gt;
 --- part of build/kaeilos/conf/local.conf lines 23:33 ---&lt;br /&gt;
&lt;br /&gt;
* in the above file change the DISTRO parameter form &amp;quot;kaeilos&amp;quot; to &amp;quot;kaeilos-2010&amp;quot;&lt;br /&gt;
* also remove &amp;quot;ext2&amp;quot; parameter in IMAGE_FSTYPES&lt;br /&gt;
* in build/kaeilos/conf/site.conf correct DL_DIR to become &amp;quot;$OEBASE/sources/&amp;quot; and correct BBFILES = &amp;quot;$OEBASE/openembedded/recipes/*/*.bb&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Initial building of the system ===&lt;br /&gt;
&lt;br /&gt;
You should be in $OEBASE directory. Running this command for the first time will take a some hours to finish:&lt;br /&gt;
&lt;br /&gt;
 $ source setup-kaeilos.sh /home/ivan/usr/src/oe/build/kaeilos&lt;br /&gt;
 $ bitbake custom-extra-image&lt;br /&gt;
&lt;br /&gt;
Warning: custom-extra-image.bb is recipe example, it is useful to&lt;br /&gt;
to demonstrate how to add stuff you like/want. It is build-able&lt;br /&gt;
with the OpenEmbedded/Bitbake latest metadata state mentioned at&lt;br /&gt;
&amp;quot;2. Getting openembedded - meta data, packages, relations and more&amp;quot;.&lt;br /&gt;
Doe to continuous change/improvement of OE there could be a time when&lt;br /&gt;
some packages included in the custom-extra-image.bb are not build-able,&lt;br /&gt;
and the items in the custom-extra-image.bb have to be adopted. The&lt;br /&gt;
&amp;quot;x11-image&amp;quot;, &amp;quot;console-image&amp;quot; and &amp;quot;console-base-image&amp;quot; are general for&lt;br /&gt;
OE.&lt;br /&gt;
&lt;br /&gt;
Warning: even the tested OpenEmbedded/Bitbake metadata state after&lt;br /&gt;
&amp;quot;some&amp;quot; time can not produce the desired images, due to URL sources&lt;br /&gt;
are not available, most probably a new version, and the old one is&lt;br /&gt;
removed. Example of this is missing live.2010.10.15.tar.gz from&lt;br /&gt;
recipe live555_20101015.bb. Also there is recipes referring to a&lt;br /&gt;
source in a svn, git or other repositories, which at the build time&lt;br /&gt;
could be with broken sources like mplayer.&lt;br /&gt;
&lt;br /&gt;
This initial system building is to let the OpenEmbedded build the&lt;br /&gt;
system as it is by default, and later you can customize it.&lt;br /&gt;
&lt;br /&gt;
Note that toolchains installation is not required as the OE makes it.&lt;br /&gt;
There is an option to tell OE to use external toolchains.&lt;br /&gt;
&lt;br /&gt;
=== Kernel configuring ===&lt;br /&gt;
&lt;br /&gt;
Go to $OEBASE/build/kaeilos to configure and build your linux kernel:&lt;br /&gt;
&lt;br /&gt;
 $ cd $OEBASE/build/kaeilos&lt;br /&gt;
 $ bitbake virtual/kernel -c menuconfig&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kernel building ===&lt;br /&gt;
&lt;br /&gt;
	Next comes to compile, populate stage directory, install the kernel.&lt;br /&gt;
	Executing these task will compile kernel and modules, make head&lt;br /&gt;
	files to be in the stage directory and finally copy kernel and&lt;br /&gt;
	modules to $DEPLOY directory.&lt;br /&gt;
&lt;br /&gt;
 $ bitbake virtual/kernel -c compile -f&lt;br /&gt;
 $ bitbake virtual/kernel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== RootFS building ===&lt;br /&gt;
&lt;br /&gt;
To create RootFS go to $OEBASE/build/kaeilos:&lt;br /&gt;
&lt;br /&gt;
 $ cd $OEBASE/build/kaeilos&lt;br /&gt;
 $ bitbake custom-extra-image&lt;br /&gt;
&lt;br /&gt;
The RootFS image is in the $DEPLOY directory.&lt;br /&gt;
This is the image you should program into the NAND Flash of PM9263:&lt;br /&gt;
 KaeilOS-custom-extra-image-glibc-ipk-2009.1-test-20090914-ronetix-pm9263.rootfs.jffs2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Export SDK ===&lt;br /&gt;
&lt;br /&gt;
Creating a toolchain(SDK) is the same as creating a rootfs image.&lt;br /&gt;
From the $OEBASE directory:&lt;br /&gt;
&lt;br /&gt;
 $ source setup-kaeilos.sh /home/ivan/usr/src/oe/build/kaeilos&lt;br /&gt;
 $ bitbake meta-toolchain&lt;br /&gt;
&lt;br /&gt;
and the resulted SDK is in $DEPLOY directory.&lt;br /&gt;
&lt;br /&gt;
For reference:&lt;br /&gt;
* http://docs.openembedded.org/usermanual/html/commonuse_qte_sdk.html&lt;br /&gt;
* http://docs.openembedded.org/usermanual/html/ch05s08.html&lt;br /&gt;
&lt;br /&gt;
=== ROOTFS programming into the NAND flash for PM9263 ===&lt;br /&gt;
&lt;br /&gt;
	Note:The Linux kernel scans the whole RootFs partition, to create the&lt;br /&gt;
	JFFS2 file system summary, and if on that partition there are&lt;br /&gt;
	blocks from the older root file system, the new one could not be&lt;br /&gt;
	mounted properly and most probably will fail. So erase the whole&lt;br /&gt;
	Linux RootFs partition on NAND (MTD partition). {{#var:URL_PEEDI}} is not aware&lt;br /&gt;
	of MTD partitions, so erase the that partition size from the start of it.&lt;br /&gt;
	This applies for U-Boot, too.&lt;br /&gt;
&lt;br /&gt;
==== Using {{#var:URL_PEEDI}} ====&lt;br /&gt;
&lt;br /&gt;
 peedi&amp;gt; flash set 2&lt;br /&gt;
 peedi&amp;gt; flash erase&lt;br /&gt;
 peedi&amp;gt; flash program&lt;br /&gt;
&lt;br /&gt;
==== Using U-BOOT ====&lt;br /&gt;
&lt;br /&gt;
Caution: the RootFS image larger than 62MiB can&amp;#039;t be programmed by U-BOOT, because it doesn&amp;#039;t fit in the SDRAM.&lt;br /&gt;
&lt;br /&gt;
 u-boot&amp;gt; nand erase clean&lt;br /&gt;
 u-boot&amp;gt; tftp 0x20020000 rootfs.jffs2	; the image should less than 62MiB&lt;br /&gt;
 u-boot&amp;gt; nand write.jffs2 0x20020000 0 ${filesize}&lt;br /&gt;
&lt;br /&gt;
=== Tips and tricks ===&lt;br /&gt;
&lt;br /&gt;
==== Rotate KaeilOS boot logo ====&lt;br /&gt;
&lt;br /&gt;
In /etc/defaul/psplash add &amp;quot;--angle 90&amp;quot; in psplash arguments variable, so that splash screen is rotated properly.&lt;br /&gt;
&lt;br /&gt;
==== Enable/Disable mouse pointer in X ====&lt;br /&gt;
&lt;br /&gt;
In /etc/matchbox/session find the line starting with&lt;br /&gt;
		&amp;quot;exec matchbox-window-manager&amp;quot; and change to&lt;br /&gt;
		&amp;quot;-use_cursor no&amp;quot; or to&lt;br /&gt;
		&amp;quot;-use_cursor yes&amp;quot;&lt;br /&gt;
		to hide or show mouse pointer.&lt;br /&gt;
&lt;br /&gt;
==== To rotate X display properly you can execute this from the command line ====&lt;br /&gt;
&lt;br /&gt;
A. KDrive (now obsolete)&lt;br /&gt;
 $ sed -i &amp;#039;/case `module_id` in/ a\&lt;br /&gt;
 &amp;quot;Ronetix PM9261&amp;quot; | &amp;quot;Ronetix PM9261/BB9261&amp;quot; | &amp;quot;Ronetix PM9263&amp;quot; | \\\&lt;br /&gt;
 &amp;quot;Ronetix PM9263/BB9261&amp;quot; | &amp;quot;Ronetix PM9263/BB9263&amp;quot;) \&lt;br /&gt;
 ARGS=&amp;quot;$ARGS -rgba bgr -screen 240/54x320/81@90x16&amp;quot; ;;&lt;br /&gt;
 &amp;#039; /etc/X11/Xserver&lt;br /&gt;
&lt;br /&gt;
B. Xorg&lt;br /&gt;
Take a look at /etc/X11/xorg.conf in Section &amp;quot;Device&amp;quot;, and add or change the Option &amp;quot;Roatate&amp;quot;, like this:&lt;br /&gt;
 Option          &amp;quot;Rotate&amp;quot; &amp;quot;CCW&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Adjusting touchscreen axes, in &amp;#039;Section &amp;quot;InputDevice&amp;quot;&amp;#039; modify or add:&lt;br /&gt;
&lt;br /&gt;
 Option          &amp;quot;SwapAxes&amp;quot; &amp;quot;True&amp;quot;&lt;br /&gt;
 Option          &amp;quot;InvertX&amp;quot; &amp;quot;True&amp;quot;&lt;br /&gt;
 Option          &amp;quot;InvertY&amp;quot; &amp;quot;True&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Getting eth0 gateway parameter from dhcp ====&lt;br /&gt;
&lt;br /&gt;
	In /etc/network/interface add &amp;quot;iface eth0 inet dhcp&amp;quot; before&lt;br /&gt;
	&amp;quot;iface eth0 inet static&amp;quot; line.&lt;br /&gt;
&lt;br /&gt;
	Form the command line call &amp;quot;udhcpc&amp;quot; or &amp;quot;dhclient eth0&amp;quot; to set network&lt;br /&gt;
	through DHCP server.&lt;br /&gt;
&lt;br /&gt;
==== Calibrating the touchscren ====&lt;br /&gt;
&lt;br /&gt;
In Kdrive the &amp;quot;xtscal&amp;quot; is used, but in Xorg &amp;quot;ts_calibrate&amp;quot; is used.&lt;br /&gt;
&lt;br /&gt;
A. In the first running of Linux, GPE login screen is preceded by touch screen calibration.&lt;br /&gt;
B. To calibrate the screen in the login prompt touch randomly on the screen, from 30 second to 1 minute and the calibration screen will appear again.&lt;br /&gt;
C. From a terminal using keyboard on USB port, run &amp;quot;xtscal&amp;quot; &lt;br /&gt;
D. Form Settings/Screen Setting press the &amp;quot;start&amp;quot; button in the calibration section.&lt;br /&gt;
&lt;br /&gt;
= Develop =&lt;br /&gt;
&lt;br /&gt;
=== Compiling a simple GNU/Linux application ===&lt;br /&gt;
&lt;br /&gt;
Create a text file example.c with contents:&lt;br /&gt;
&lt;br /&gt;
 --- example.c ---&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 int main(int argc, char** argv){&lt;br /&gt;
   printf(&amp;quot;Hello world\n&amp;quot;);&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
 --- example.c ---&lt;br /&gt;
&lt;br /&gt;
Compiling: Substitute &amp;quot;arm-oe-linux-gnueabi-gcc&amp;quot; with the toolchain used to build kernel and root file system utilities.&lt;br /&gt;
&lt;br /&gt;
 $ arm-oe-linux-gnueabi-gcc -o example example.c&lt;br /&gt;
&lt;br /&gt;
The result is the ELF file called &amp;quot;example&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Transferring the executable file from the PC to the target ===&lt;br /&gt;
&lt;br /&gt;
==== Using USB stick ====&lt;br /&gt;
	The simples way is to use a USB stick - just copy the file example to a&lt;br /&gt;
	USB stick inserted into your PC. Unmount the stick and put it into the&lt;br /&gt;
	target board. After few seconds the USB stick will be discovered(most&lt;br /&gt;
	probably). You should have support of the file system on the USB stick,&lt;br /&gt;
	most probably it will be VFAT(FAT32). Take a look at the kernel&lt;br /&gt;
	messages to see the device node of your USB stick.&lt;br /&gt;
&lt;br /&gt;
	Depending auto-mounter is enabled and installed on the rootfs, the USB&lt;br /&gt;
	stick could be automatically mounted. To see if it is automatically&lt;br /&gt;
	mounted:&lt;br /&gt;
&lt;br /&gt;
On target machine mount /dev/sda1 on /media/sda1&lt;br /&gt;
&lt;br /&gt;
In case it is not mounted automatically:&lt;br /&gt;
&lt;br /&gt;
On target machine:&lt;br /&gt;
 $ mkdir /mnt/sda1&lt;br /&gt;
 $ mount /dev/sda1 /mnt/sda1 -t vfat&lt;br /&gt;
&lt;br /&gt;
 $ cp /mnt/sda1/main .&lt;br /&gt;
 $ chmod +x main&lt;br /&gt;
 $./main&lt;br /&gt;
 Hello world&lt;br /&gt;
&lt;br /&gt;
==== Tftp over network ====&lt;br /&gt;
A tftp server should work on a host(or any development) computer.&lt;br /&gt;
&lt;br /&gt;
On host:&lt;br /&gt;
 $ cp hello tftp_boot_dir/&lt;br /&gt;
&lt;br /&gt;
On target machine:&lt;br /&gt;
 $ udhcpc&lt;br /&gt;
 $ tftp -g -r tftp_boot_dir/hello -l hello 192.168.3.1&lt;br /&gt;
 $ chmod u+x hello&lt;br /&gt;
 $ ./hello&lt;br /&gt;
 Hello world&lt;br /&gt;
&lt;br /&gt;
Alternatively to the &amp;quot;udhcpc&amp;quot; you can use &amp;quot;dhclient eth0&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Kernel debugging =&lt;br /&gt;
&lt;br /&gt;
The board should be programmed with the u-boot and the binary version of the kernel.&lt;br /&gt;
&lt;br /&gt;
Start gdb/insight:&lt;br /&gt;
 $ arm-oe-linux-gnueabi-gdb vmlinux&lt;br /&gt;
&lt;br /&gt;
In the console window:&lt;br /&gt;
&lt;br /&gt;
 (gdb) target remote peedi_ip:2000&lt;br /&gt;
 (gdb) set $pc = 0x10000040	; the u-boot is flashed at 0x10000000 (after remap)&lt;br /&gt;
 (gdb) c&lt;br /&gt;
&lt;br /&gt;
	The board is running: first starts the u-boot, then the Linux kernel.&lt;br /&gt;
	If you have a serial console you can see that the Linux is working.&lt;br /&gt;
	Now you can halt the kernel and set breakpoints where you want.&lt;br /&gt;
&lt;br /&gt;
	If you want to have a breakpoint before the kernel is running you have&lt;br /&gt;
	to do the following:&lt;br /&gt;
&lt;br /&gt;
 (gdb) target remote peedi_ip:2000&lt;br /&gt;
 (gdb) set $pc = 0x10000040	; assuming the u-boot is flashed at 0x10000000&lt;br /&gt;
 (gdb) hbreak start_kernel	; hardware breakpoint is used because the MMU is still not active&lt;br /&gt;
 (gdb) c&lt;br /&gt;
&lt;br /&gt;
The board is running (u-boot, then the kernel) and will stop at the start_kernel function.&lt;br /&gt;
&lt;br /&gt;
 (gdb) delete	; delete the hardware breakpoint.&lt;br /&gt;
&lt;br /&gt;
Now you can use the software breakpoints.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= {{#var:URL_PM9263}} pre-built images =&lt;br /&gt;
&lt;br /&gt;
;U-Boot&lt;br /&gt;
: http://download.ronetix.info/boards/linux/bootloader/u-boot-2010.09/pm9263_u-boot.bin&lt;br /&gt;
&lt;br /&gt;
; Linux Kernel&lt;br /&gt;
: http://download.ronetix.info/boards/linux/kernel/2.6.28/uImage-2.6.28-r12-ronetix-pm9263.bin&lt;br /&gt;
&lt;br /&gt;
; RootFS&lt;br /&gt;
: http://download.ronetix.info/boards/linux/rootfs/2.6.28-pm9263/KaeilOS-console-image-glibc-ipk-2009.1-test-20090909-ronetix-pm9263.rootfs.jffs2&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
</feed>