<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://elinux.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://elinux.org/api.php?action=feedcontributions&amp;user=Chris&amp;feedformat=atom</id>
		<title>eLinux.org - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://elinux.org/api.php?action=feedcontributions&amp;user=Chris&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://elinux.org/Special:Contributions/Chris"/>
		<updated>2013-05-24T02:47:37Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.21alpha</generator>

	<entry>
		<id>http://elinux.org/Companies</id>
		<title>Companies</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Companies"/>
				<updated>2007-08-23T02:59:32Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: update atmark techno links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
This page provides information about companies that build and sell consumer electronics devices with Linux as their operating system.  If you're looking for companies that build and sell Linux distributions for embedded devices or who provide services around embedded Linux, please see the [[Vendors]] page.&lt;br /&gt;
&lt;br /&gt;
== A ==&lt;br /&gt;
[http://www.atmark-techno.com/en Atmark Techno]&lt;br /&gt;
* [http://www.atmark-techno.com/en/products/armadillo Armadillo Series]&lt;br /&gt;
* [http://www.atmark-techno.com/en/products/suzaku SUZAKU Series]&lt;br /&gt;
&lt;br /&gt;
== M ==&lt;br /&gt;
[http://www.motorola.com/ Motorola] - [http://wikipedia.org/wiki/Motorola Wikipedia entry]&lt;br /&gt;
&lt;br /&gt;
== N ==&lt;br /&gt;
[http://www.nokia.com/ Nokia] - [http://wikipedia.org/wiki/Nokia Wikipedia entry]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Nokia_N800 N800]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Nokia_770 N770]&lt;br /&gt;
&lt;br /&gt;
[http://www.neurostechnology.com/ Neuros Technology] - [http://wikipedia.org/wiki/Neuros_Technology Wikipedia entry]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Neuros_Technology#Neuros_OSD Neuros OSD]&lt;br /&gt;
&lt;br /&gt;
== P ==&lt;br /&gt;
[http://www.panasonic.com/ Panasonic] - [http://wikipedia.org/wiki/Panasonic Wikipedia entry]&lt;br /&gt;
&lt;br /&gt;
== S ==&lt;br /&gt;
[http://www.sony.com/Sony Sony] - [http://wikipedia.org/wiki/Sony Wikipedia entry]&lt;br /&gt;
* too many products to list, see&lt;br /&gt;
** [http://www.sony.net/Products/Linux/Download/search.html Global Linux source code download site]&lt;br /&gt;
** [http://www.sony.com/linux US Linux source code download site]&lt;br /&gt;
&lt;br /&gt;
[http://www.securecomputing.com Secure Computing] - [http://en.wikipedia.org/wiki/Secure_Computing Wikipedia entry]&lt;br /&gt;
* SnapGear family of products [http://www.snapgear.com homepage]&lt;br /&gt;
&lt;br /&gt;
== T ==&lt;br /&gt;
[http://www.timesys.com TimeSys]&lt;br /&gt;
* [http://www.timesys.com/services LinuxLink]&lt;br /&gt;
&lt;br /&gt;
[http://www.tvblob.com/?s=elinux Tvblob]&lt;br /&gt;
* [http://www.tvblob.com/?s=elinux vMAX]&lt;br /&gt;
* [http://www.tvblob.com/?s=elinux vTALK]&lt;br /&gt;
* [http://www.tvblob.com/?s=elinux vLINK]&lt;br /&gt;
* [http://www.tvblobbox.com/?s=elinux Tvblob BOX]&lt;br /&gt;
&lt;br /&gt;
== Instructions for submitters ==&lt;br /&gt;
Please add company names in alphabetical order, and follow&lt;br /&gt;
the existing format.  Make a link from your company&lt;br /&gt;
name to your main web site.  If you have a wikipedia entry, please&lt;br /&gt;
link that as well.  If you would like to, you may list a few&lt;br /&gt;
of your Linux-based products, but please don't go overboard.&lt;br /&gt;
&lt;br /&gt;
[[Category:Companies]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Products</id>
		<title>Products</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Products"/>
				<updated>2007-08-23T02:53:26Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: update armadillo-500 link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is a list of products which use embedded Linux.&lt;br /&gt;
&lt;br /&gt;
Please see the [[Talk:Products|talk page]] for information about how we want to populate this page.&lt;br /&gt;
&lt;br /&gt;
== Televisions ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+'''Televisions using Embedded Linux'''&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; | Product Name&lt;br /&gt;
! Company Name&lt;br /&gt;
! Year&amp;lt;BR&amp;gt;Introduced&lt;br /&gt;
! RAM&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Flash&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Processor&lt;br /&gt;
! style=&amp;quot;width:150px&amp;quot; | Source or Notes&lt;br /&gt;
! style=&amp;quot;width:250px&amp;quot; | Download Area&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mobile Phones ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+'''Mobile Phones using Embedded Linux'''&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; | Product Name&lt;br /&gt;
! Company Name&lt;br /&gt;
! Year&amp;lt;BR&amp;gt;Introduced&lt;br /&gt;
! RAM&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Flash&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Processor&lt;br /&gt;
! style=&amp;quot;width:150px&amp;quot; | Source or Notes&lt;br /&gt;
! style=&amp;quot;width:150px&amp;quot; | Download Area&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://www.accton.com/homepage/main3/product_range/23_CE/VM1188T.htm VM1188T]&lt;br /&gt;
| [http://www.accton.com Accton]&lt;br /&gt;
| 2006&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://www.cellon.com/products.jsp?id=18 C8000]&lt;br /&gt;
| [http://www.cellon.com/ Cellon]&lt;br /&gt;
| 2005&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://linuxdevices.com/news/NS8901223473.html 3G Linux Ref Design]&lt;br /&gt;
| [http://www.catt.ac.cn/english/ Datang]&lt;br /&gt;
| 2004&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://linuxdevices.com/news/NS4367004471.html E28 FMC phones]&lt;br /&gt;
| [http://www.e28.com/eng/ E28]&lt;br /&gt;
| 2006&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| OMAP 730&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://linuxdevices.com/news/NS5033717348.html E28 E2800]&lt;br /&gt;
| [http://www.e28.com/eng/ E28]&lt;br /&gt;
| 2003&lt;br /&gt;
| 32&lt;br /&gt;
| 32&lt;br /&gt;
| ARM9&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://linuxdevices.com/news/NS2220873893.html E28 E2800+]&lt;br /&gt;
| [http://www.e28.com/eng/ E28]&lt;br /&gt;
| 2004&lt;br /&gt;
| 64&lt;br /&gt;
| 32&lt;br /&gt;
| ARM9 300MHz&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://www.g-tekgroup.com/products/pwg_500.asp PWG500]&lt;br /&gt;
| [http://www.g-tekgroup.com/ G-Tek]&lt;br /&gt;
| 2006&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://linuxdevices.com/articles/AT2559540724.html G500i]&lt;br /&gt;
| Grundig&lt;br /&gt;
| 2005&lt;br /&gt;
| 52 - User&lt;br /&gt;
| X&lt;br /&gt;
| OMAP850&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://www.haier.com/products/product.asp?proID=4948 N60]&lt;br /&gt;
| [http://www.haier.com Haier]&lt;br /&gt;
| 2006&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://www.imcosys.com/English/Smartphone/smartphone.html GPS Phone]&lt;br /&gt;
| [http://www.imcosys.com/ ImCoSys]&lt;br /&gt;
| 2006&lt;br /&gt;
| 64&lt;br /&gt;
| 64&lt;br /&gt;
| OMAP 730&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| [http://www.imcosys.com/English/Download/download.html SDK &amp;amp; Flash Image]&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [X]&lt;br /&gt;
| [X]&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [X]&lt;br /&gt;
| [X]&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Settop Boxes ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+'''Settop Boxes using Embedded Linux'''&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; | Product Name&lt;br /&gt;
! Company Name&lt;br /&gt;
! Year&amp;lt;BR&amp;gt;Introduced&lt;br /&gt;
! RAM&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Flash&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Processor&lt;br /&gt;
! style=&amp;quot;width:150px&amp;quot; | Source or Notes&lt;br /&gt;
! style=&amp;quot;width:250px&amp;quot; | Download Area&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Digital Video Recorders ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+'''Digital Video Recorders using Embedded Linux'''&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; | Product Name&lt;br /&gt;
! Company Name&lt;br /&gt;
! Year&amp;lt;BR&amp;gt;Introduced&lt;br /&gt;
! RAM&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Flash&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Processor&lt;br /&gt;
! style=&amp;quot;width:150px&amp;quot; | Source or Notes&lt;br /&gt;
! style=&amp;quot;width:250px&amp;quot; | Download Area&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Game Consoles ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+'''Game Consoles using Embedded Linux'''&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; | Product Name&lt;br /&gt;
! Company Name&lt;br /&gt;
! Year&amp;lt;BR&amp;gt;Introduced&lt;br /&gt;
! RAM&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Flash&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Processor&lt;br /&gt;
! style=&amp;quot;width:150px&amp;quot; | Source or Notes&lt;br /&gt;
! style=&amp;quot;width:250px&amp;quot; | Download Area&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| PlayStation 2&lt;br /&gt;
| Sony Computer Entertainment&lt;br /&gt;
| 2000&lt;br /&gt;
| 32MB&lt;br /&gt;
| unknown&lt;br /&gt;
| MIPS 64-bit R5900&lt;br /&gt;
| [http://en.wikipedia.org/wiki/PlayStation_2 PS2 wikipedia page], [http://playstation2-linux.com/ Playstation-linux community site]&lt;br /&gt;
| [http://blackrhino.xrhino.com/main.php?page=home Black Rhino Linux distribution site]&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| PlayStation 3&lt;br /&gt;
| Sony Computer Entertainment&lt;br /&gt;
| 2006&lt;br /&gt;
| 512 MB&lt;br /&gt;
| unknown&lt;br /&gt;
| CELL broadband engine&lt;br /&gt;
| [http://en.wikipedia.org/wiki/PlayStation_3 PS3 wikipedia page]&lt;br /&gt;
| [http://en.wikipedia.org/wiki/Linux_for_PlayStation_3 wikipedia PS3-linux page]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Still and Video Cameras ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+'''Not Yet Categorized devices using Embedded Linux'''&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; | Product Name&lt;br /&gt;
! Company Name&lt;br /&gt;
! Year&amp;lt;BR&amp;gt;Introduced&lt;br /&gt;
! RAM&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Flash&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Processor&lt;br /&gt;
! style=&amp;quot;width:150px&amp;quot; | Source or Notes&lt;br /&gt;
! style=&amp;quot;width:250px&amp;quot; | Download Area&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| HDR-UX1, HDR-SR1 video cameras&lt;br /&gt;
| Sony&lt;br /&gt;
| 2006&lt;br /&gt;
| ??&lt;br /&gt;
| ??&lt;br /&gt;
| ARM9&lt;br /&gt;
| [http://www.sonystyle.com/webapp/wcs/stores/servlet/ProductDisplay?catalogId=10551&amp;amp;storeId=10151&amp;amp;langId=-1&amp;amp;productId=11035608 Sonystyle store listing]&lt;br /&gt;
| [http://www.sony.net/Products/Linux/Download/HDR-UX1_HDR-SR1.html Sony Linux Download area]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Not Yet Categorized ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+'''Not Yet Categorized devices using Embedded Linux'''&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; | Product Name&lt;br /&gt;
! Company Name&lt;br /&gt;
! Year&amp;lt;BR&amp;gt;Introduced&lt;br /&gt;
! RAM&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Flash&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Processor&lt;br /&gt;
! style=&amp;quot;width:150px&amp;quot; | Source&lt;br /&gt;
! style=&amp;quot;width:250px&amp;quot; | Download Area&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT4268573160.html HS210]&lt;br /&gt;
| [http://www.ericsson.com Ericsson]&lt;br /&gt;
| 2000&lt;br /&gt;
| 32&lt;br /&gt;
| 32&lt;br /&gt;
| StrongARM SA-1110&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Armadillo-500&lt;br /&gt;
| [http://www.atmark-techno.com/en Atmark Techno]&lt;br /&gt;
| 2007&lt;br /&gt;
| 64&lt;br /&gt;
| 16&lt;br /&gt;
| i.MX31&lt;br /&gt;
| [http://www.atmark-techno.com/en/products/armadillo/a500 Company Site]&lt;br /&gt;
| [http://armadillo.atmark-techno.com/filebrowser Armadillo Developer Site]&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Armadillo-300&lt;br /&gt;
| [http://www.atmark-techno.com/en Atmark Techno]&lt;br /&gt;
| 2006&lt;br /&gt;
| 64&lt;br /&gt;
| 8&lt;br /&gt;
| ARM9 200MHz&lt;br /&gt;
| [http://www.atmark-techno.com/en/products/armadillo/a300 Company Site]&lt;br /&gt;
| [http://armadillo.atmark-techno.com/filebrowser/armadillo-300 Armadillo Developer Site]&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Armadillo-9&lt;br /&gt;
| [http://www.atmark-techno.com/en Atmark Techno]&lt;br /&gt;
| 2004&lt;br /&gt;
| 64&lt;br /&gt;
| 8&lt;br /&gt;
| ARM9 200MHz&lt;br /&gt;
| [http://www.atmark-techno.com/en/products/armadillo/a9 Company Site]&lt;br /&gt;
| [http://armadillo.atmark-techno.com/filebrowser/armadillo-9 Armadillo Developer Site]&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Armadillo-240&lt;br /&gt;
| [http://www.atmark-techno.com/en Atmark Techno]&lt;br /&gt;
| 2006&lt;br /&gt;
| 64&lt;br /&gt;
| 8&lt;br /&gt;
| ARM9 200MHz&lt;br /&gt;
| [http://www.atmark-techno.com/en/products/armadillo/a240 Company Site]&lt;br /&gt;
| [http://armadillo.atmark-techno.com/filebrowser/armadillo-240 Armadillo Developer Site]&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Armadillo-230&lt;br /&gt;
| [http://www.atmark-techno.com/en Atmark Techno]&lt;br /&gt;
| 2006&lt;br /&gt;
| 32&lt;br /&gt;
| 8&lt;br /&gt;
| ARM9 200MHz&lt;br /&gt;
| [http://www.atmark-techno.com/en/products/armadillo/a230 Company Site]&lt;br /&gt;
| [http://armadillo.atmark-techno.com/filebrowser/armadillo-230 Armadillo Developer Site]&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Armadillo-220&lt;br /&gt;
| [http://www.atmark-techno.com/en Atmark Techno]&lt;br /&gt;
| 2006&lt;br /&gt;
| 32&lt;br /&gt;
| 8&lt;br /&gt;
| ARM9 200MHz&lt;br /&gt;
| [http://www.atmark-techno.com/en/products/armadillo/a220 Company Site]&lt;br /&gt;
| [http://armadillo.atmark-techno.com/filebrowser/armadillo-220 Armadillo Developer Site]&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Armadillo-210&lt;br /&gt;
| [http://www.atmark-techno.com/en Atmark Techno]&lt;br /&gt;
| 2005&lt;br /&gt;
| 32&lt;br /&gt;
| 4&lt;br /&gt;
| ARM9 200MHz&lt;br /&gt;
| [http://www.atmark-techno.com/en/products/armadillo/a210 Company Site]&lt;br /&gt;
| [http://armadillo.atmark-techno.com/filebrowser/armadillo-210 Armadillo Developer Site]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
--[[User:Bharatkapoor|Bharatkapoor]] 23:35, 5 December 2006 (EET)&lt;br /&gt;
&lt;br /&gt;
[[Category:Products]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Audio_Video_Graphics_Spec_5fR2</id>
		<title>Audio Video Graphics Spec 5fR2</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Audio_Video_Graphics_Spec_5fR2"/>
				<updated>2007-07-16T02:42:58Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Draft 0.3&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Audio, video, and graphics processing is at the core of many CE products. The AVG requirements for CE devices are different than those for PCs/Servers, notably with respect to footprint, input devices, interlacing, streaming, etc.. Multiple graphics planes and video planes may be combined using, e.g., alpha blending and animation.&lt;br /&gt;
&lt;br /&gt;
== Rationale ==&lt;br /&gt;
&lt;br /&gt;
No single default/standard interfaces exist for AVG. Having a well defined, well supported interface for AVG devices will reduce fragmentation of solutions and encourage the CE community to develop solutions that apply to conforming interfaces, so that they can be deployed across a wider range of systems. &lt;br /&gt;
&lt;br /&gt;
== Terminology ==&lt;br /&gt;
&lt;br /&gt;
=== Acronyms and terms ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Acronyms and Terms&lt;br /&gt;
! style=&amp;quot;background:#D0E0FF;&amp;quot;|'''Term'''&lt;br /&gt;
! style=&amp;quot;background:#D0E0FF;&amp;quot;|'''Definition'''&lt;br /&gt;
|-&lt;br /&gt;
|ALSA||Advanced Linux Sound Architecture -- functional level audio API, now standard in 2.6 Linux kernels, replacing OSS.&lt;br /&gt;
|-&lt;br /&gt;
|API||Application Programmers Interface&lt;br /&gt;
|-&lt;br /&gt;
|ARIB||Association of Radio Industries and Businesses. Most relevant to AVG is the proposed graphics architecture proposed for High Definition TV Broadcast (the 5-plane model).&lt;br /&gt;
|-&lt;br /&gt;
|ATSC||Advanced Television Systems Committee. American standard body for digital television broadcasting.&lt;br /&gt;
|-&lt;br /&gt;
|Back-end Scaler||A Scaler which manipulates the graphics planes and data, but does not allow the host processor access to the (blended) end result, mainly for efficiency reasons.&lt;br /&gt;
|-&lt;br /&gt;
|CCIR 601||In 1982 CCIR 601 established a digital video standard, which uses the Y, Cr, Cb color space (often incorrectly referred to as YUV). Unlike YUV, Cr,Cb range [-0.5, -0.5]. A full conversion matrix is included below (*)&lt;br /&gt;
|-&lt;br /&gt;
|CE||Consumer Electronics: a class of devices used in the home or on the move. Includes DVD, DVR, PVR, PDA, TV, set-top box, cellular phones, etc.&lt;br /&gt;
|-&lt;br /&gt;
|DVB||Digital Video Broadcast: European standards body for digital television broadcasting.&lt;br /&gt;
|-&lt;br /&gt;
|DVD||Digital Versatile Disc: high capacity multimedia data storage medium.&lt;br /&gt;
|-&lt;br /&gt;
|DVR||Digital Video Recorder: a consumer electronic device.&lt;br /&gt;
|-&lt;br /&gt;
|FB,Framebuffer||Abstraction of video-out hardware with a low level (ioctl) API. Standard in &amp;gt;2.4 Linux kernel (see the /usr/src/linux/Documentation/fb kernel tree directory for more information).&lt;br /&gt;
|-&lt;br /&gt;
|Front-end Scaler||A Scaler which manipulates the graphics planes and data and allows the host processor access the (in-between and) end results.&lt;br /&gt;
|-&lt;br /&gt;
|HDTV||High Definition Television: provides a higher quality television broadcast, with progressive and interlaced ( 720p to 1080i ) video and support for 16:9 aspect (movie) ratio.&lt;br /&gt;
|-&lt;br /&gt;
|JPEG||Joint Photographic Experts Group: (lossy) still image compression standard.&lt;br /&gt;
|-&lt;br /&gt;
|MHP||Multimedia Home Platform: an API used together with MPEG-2 transmissions.&lt;br /&gt;
|-&lt;br /&gt;
|MIME||Multipurpose Internet Mail Extension: a standard for identifying the type of data contained in a file. MIME is an Internet protocol that allows sending binary files across the Internet as attachments to e-mail messages. This includes graphics, photos, sound, video files, and formatted text documents.&lt;br /&gt;
|-&lt;br /&gt;
|MP3||MPEG-1 Audio Layer 3: a popular audio compression standard.&lt;br /&gt;
|-&lt;br /&gt;
|MPEG-1/2/4||Moving Picture Experts Group: a compression standard for digital audio &amp;amp; video with varying levels of complexity and achievable compression ratios.&lt;br /&gt;
|-&lt;br /&gt;
|NTSC||National Television Systems Committee: American standard for analog television broadcasting.&lt;br /&gt;
|-&lt;br /&gt;
|PAL||Phase Alternating Line: American standard for analog television broadcasting.&lt;br /&gt;
|-&lt;br /&gt;
|PNG||Portable Network Graphics: (lossless) still image compression standard.&lt;br /&gt;
|-&lt;br /&gt;
|PVR||Personal Video Recorder: a consumer electronic device.&lt;br /&gt;
|-&lt;br /&gt;
|RGB[A]||Colorspace representation commonly used in computer graphics. It uses three orthogonal components -- Red, Green and Blue -- to represent colors in to human visible spectrum, e.g. by combining red and green as additive colors it can fool the eye into seeing &amp;quot;yellow&amp;quot; light. An optional A at the end denotes the presence of per-pixel alpha. See also CCIR 601.&lt;br /&gt;
|-&lt;br /&gt;
|Scaler||Graphics hardware accelerator which may scale and reformat (e.g. convert from YCC to RGB) graphics data and merge multiple independent graphics planes for final display.&lt;br /&gt;
|-&lt;br /&gt;
|V4L||Video for Linux: low level (ioctl) video input and overlay API, standard in 2.4. Originally designed for control of analog video capture and tuner cards, as well as parallel port and USB video cameras. Incorporated in many other higher level APIs such as DirectFB.&lt;br /&gt;
|-&lt;br /&gt;
|!V4L2||Video for Linux, second version, made to be more flexible and extensible. Added specifications for digital tuner control and capture.&lt;br /&gt;
|-&lt;br /&gt;
|YC''''''bCr[A]||Colorspace representation commonly used in analog and digital video broadcasts, and video compression technologies such as MPEG. It uses three orthogonal components, one for luminance (Y) and two for the color-difference signals (Cr,Cb). Since the eye is less sensitive to color than luminance, the color difference signals often get a smaller bandwidth allocated (or lower pixel resolution in the digital domain). An optional A at the end denotes the presence of per-pixel alpha. See also CCIR 601.&lt;br /&gt;
|-&lt;br /&gt;
|YIQ||Colorspace representation commonly used in North American  TV broadcast and is similar to YUV (see definition of YUV). The relation with YUV is: I == 0.74 V - 0.27 U and Q == 0.48 V + 0.41 U&lt;br /&gt;
|-&lt;br /&gt;
|YUV||Colorspace representation commonly used in European TV broadcast. It is similar to YC''''''bCr and often meant to be the same (incorrectly) with U referring to Cb and V referring to Cr. With Y (luminance) defined as Y==0.299 R + 0.587 G + 0.114 B, by definition, U==B-Y, thus U represents colors from blue (U&amp;gt;0) to yellow (U&amp;lt;0). Likewise V==R-Y, thus V represents colors from magenta (V&amp;gt;0) to Cyan (blue green) (V&amp;lt;0).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+ RGB to YCbCr conversion matrix&lt;br /&gt;
|Y |||| 0.299  0.587  0.114||R&lt;br /&gt;
|-&lt;br /&gt;
|Cr||==|| 0.500 -0.419 -0.081||G&lt;br /&gt;
|-&lt;br /&gt;
|Cb||||-0.169 -0.331  0.500||B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Compliance classifiers ===&lt;br /&gt;
&lt;br /&gt;
Terminology conventions are adopted here as they are defined in IETF RFC 2119, &amp;quot;Key words for use in RFCs to Indicate Requirement Levels&amp;quot; (by S. Bradner, March 1997). A compliance classifier from the following set may be used:&lt;br /&gt;
&lt;br /&gt;
;[M]ust, Required, Shall: This is the minimum set of requirements. The CELF based products are expected to comply with these requirements when expressed in unconditional form. A conditional requirement expressed in the form, &amp;quot;If X, then Y must be implemented&amp;quot;, means that the requirement &amp;quot;Y&amp;quot; must be met when the conditional aspect &amp;quot;X&amp;quot; applies to a given implementation.&lt;br /&gt;
&lt;br /&gt;
;[S]hould, Recommended: Recommended items are optional items that are strongly recommended for inclusion in CELF based products. The difference between &amp;quot;recommended&amp;quot; items and &amp;quot;optional&amp;quot; items, below, is one of priority. When considering features for inclusion in a product, recommended items should be included first.&lt;br /&gt;
&lt;br /&gt;
;[O]ptional, May: Optional items are suggestions for features that will enhance the user experience or are offered as a less preferred choice relative to another recommended feature. If optional features are included, they should comply with the requirement to ensure interoperability with other implementations.&lt;br /&gt;
&lt;br /&gt;
;E[X]pressly Forbidden: This term means that an item must not be incorporated in a CELF based product.&lt;br /&gt;
&lt;br /&gt;
== Platforms ==&lt;br /&gt;
&lt;br /&gt;
[O] Three target platforms are used or under consideration:&lt;br /&gt;
*Renesas SH4 host with SM501 graphics (See SzwgPlatform3)&lt;br /&gt;
*TI OMAP (See SzwgPlatform1)&lt;br /&gt;
*X86 generic with Matrox G450/550&lt;br /&gt;
&lt;br /&gt;
For the first two, the [[System Size Spec]] page has a full description under &amp;quot;Definition - Platform&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Audio Specification ==&lt;br /&gt;
&lt;br /&gt;
[O] No additional Audio specifications have been defined. ALSA, defined in kernel 2.6, may be used.  Further evaluation is required before it can be considered for recommendation (see work in progress). Future extensions relate to AV streaming and synchronization.&lt;br /&gt;
&lt;br /&gt;
== Video-in/Capture Specification ==&lt;br /&gt;
[O] No additional Video input (capture) specifications have been defined. !V4L2, as defined in kernel 2.6, may be used.&lt;br /&gt;
&lt;br /&gt;
[O] Proprietary solutions may also be used for video capture and digital tuners if&lt;br /&gt;
!V4L2 does not suffice.&lt;br /&gt;
&lt;br /&gt;
[O] DirectFB may be used as a higher level API.&lt;br /&gt;
&lt;br /&gt;
Note: Video output can be seen as an (interlaced) sub-set of graphics. See graphics specification below for more details.&lt;br /&gt;
&lt;br /&gt;
== Video-out/Graphics Specification ==&lt;br /&gt;
&lt;br /&gt;
[S] The standard Framebuffer is recommended for use in embedded CE devices.&lt;br /&gt;
&lt;br /&gt;
[O] DirectFB may also be used in combination with the framebuffer.&lt;br /&gt;
&lt;br /&gt;
Extensions to both are under consideration (see work in progress).&lt;br /&gt;
&lt;br /&gt;
=== Graphics formats ===&lt;br /&gt;
&lt;br /&gt;
[O] The framebuffer supports CLUT, RGB and RGBA packet data formats, but not YC''''''bCr[A].&lt;br /&gt;
Hardware capable of accelerating the display YC''''''bCr[A] packed data may develop&lt;br /&gt;
their own extensions to the framebuffer for now.&lt;br /&gt;
&lt;br /&gt;
[O] Also, the DirectFB framework which supports these formats may be used.&lt;br /&gt;
&lt;br /&gt;
=== Multi-plane support ===&lt;br /&gt;
&lt;br /&gt;
[O] Graphics hardware capable of multiple planes may be implemented with a single or multiple&lt;br /&gt;
device drivers with one device per plane e.g. /dev/fb0, /dev/fb1,.../dev/fb5 for a 5 plane&lt;br /&gt;
capable device. Front-end based scalers are recommended to use the DirectFB framework.&lt;br /&gt;
&lt;br /&gt;
[O] Back-end scalers may add ioctl's to their framebuffer drivers.&lt;br /&gt;
&lt;br /&gt;
== Work in progress ==&lt;br /&gt;
&lt;br /&gt;
Both DirectFB and the Framebuffer '''can''' be extended with YCbCr formats and multi-plane blending features commonly found in embedded CE devices. However, it is likely that only one of them will be supported in the future.&lt;br /&gt;
&lt;br /&gt;
=== Framebuffer specification ===&lt;br /&gt;
&lt;br /&gt;
==== YCbCr Format ====&lt;br /&gt;
===== Resolution Support =====&lt;br /&gt;
&lt;br /&gt;
The recommended formats are:&lt;br /&gt;
*4:4:4 Equal number of samples of Y, Cb and Cr.&lt;br /&gt;
*4:2:2 Cb/Cr are subsampled by a factor of two horizontally.&lt;br /&gt;
*4:2:0 Cb/Cr are subsampled by a factor of two in both directions.&lt;br /&gt;
*4:1:1 Cb/Cr are subsampled by a factor of four horizontally (used in DV).&lt;br /&gt;
&lt;br /&gt;
If any of these formats are used, the CCIR 601 standard must be used. It defines how the data is interleaved and the relative positions of the Cb/Cr samples in relation to the Y samples.&lt;br /&gt;
&lt;br /&gt;
===== Memory representation =====&lt;br /&gt;
&lt;br /&gt;
YCbCr may be stored in e.g a framebuffer in various ways:&lt;br /&gt;
&lt;br /&gt;
*packed YC''''''bCrA 4:4:4 : 32-bit unit containing one pixel with alpha&lt;br /&gt;
*packed YC''''''bCr 4:2:2 : 16-bit unit, two successive units contain two horizontally adjacent pixels, no alpha&lt;br /&gt;
*planar YC''''''bCr[A] 4:2:2 : three [four] arrays, one for each component&lt;br /&gt;
*semi-planar YC''''''bCr 4:2:2 : two arrays, one with all Ys, one with Cb and Cr.&lt;br /&gt;
*planar YC''''''bCr[A] 4:2:0 : three [four] arrays, one for each component&lt;br /&gt;
*semi-planar YC''''''bCr 4:2:0 : two arrays, one with all Ys, one with U and Vs&lt;br /&gt;
&lt;br /&gt;
Following CCIR601, only the packed formats are recommended, with the possible exception of a separate alpha plane in some cases (see ARIB [O6] proposal).&lt;br /&gt;
&lt;br /&gt;
==== Font rendering ====&lt;br /&gt;
*freetype [O5]&lt;br /&gt;
&lt;br /&gt;
==== Basic 2D acceleration ====&lt;br /&gt;
&lt;br /&gt;
*lines (horz./vert. vs. anti-aliased lines)&lt;br /&gt;
*rectangles (fill and copy)&lt;br /&gt;
*pixmaps (bitblt, scaling)&lt;br /&gt;
&lt;br /&gt;
==== Video format control ====&lt;br /&gt;
&lt;br /&gt;
*resolution&lt;br /&gt;
*interlaced/progressive&lt;br /&gt;
&lt;br /&gt;
==== Multi-plane support ====&lt;br /&gt;
&lt;br /&gt;
*Each plane is represented by... [/dev/fb0, /dev/fb1,...]&lt;br /&gt;
*Additional API (ioctl) calls... [display order, placement, scaling,...]&lt;br /&gt;
&lt;br /&gt;
==== DirectFB specification ====&lt;br /&gt;
&lt;br /&gt;
[http://www.directfb.org/documentation/DirectFB_overview_V0.2.pdf DirectFB overview] [G2] provides a list of currently supported features, summarized below.&lt;br /&gt;
&lt;br /&gt;
==== Important Terminology ====&lt;br /&gt;
;Surface:Memory region physically reserved for rendering pixels. Surfaces are used for regular rendering of pixels, sprites and so on.&lt;br /&gt;
;Sub-surface:Sub-region of surface. No physical memory allocated.&lt;br /&gt;
;Primary Surface:Visible screen in full screen mode.&lt;br /&gt;
;Layer:Each layer is different video memory. They are alpha-blended and displayed.&lt;br /&gt;
;Window/Windowstack:Each layer may have multiple window. Windowstack is a stack of windows. Each window has surface.  Their locations and orders may be changed.&lt;br /&gt;
&lt;br /&gt;
==== YCbCr Format ====&lt;br /&gt;
===== Resolution Support =====&lt;br /&gt;
&lt;br /&gt;
Supported formats are:&lt;br /&gt;
*4:2:2 Cb/Cr are subsampled by a factor of two horizontally.&lt;br /&gt;
*4:2:0 Cb/Cr are subsampled by a factor of two in both directions.&lt;br /&gt;
&lt;br /&gt;
===== Memory representation =====&lt;br /&gt;
&lt;br /&gt;
*packed YCbCr 4:2:2 : 16-bit unit, two successive units contain two horizontally adjacent pixels, no alpha&lt;br /&gt;
*planar YCbCr 4:2:0 : three arrays, one for each component&lt;br /&gt;
&lt;br /&gt;
===== Font rendering =====&lt;br /&gt;
&lt;br /&gt;
*DirectFB bitmap font&lt;br /&gt;
*!TrueType (using !FreeType2)&lt;br /&gt;
*No bold or italics support other than by specifying a different typeface from the same font family. For example, 'Times New Roman Regular' and 'Times New Roman Italic' correspond to two different faces.&lt;br /&gt;
&lt;br /&gt;
==== Basic 2D acceleration ====&lt;br /&gt;
&lt;br /&gt;
*lines (anti-aliased)&lt;br /&gt;
*rectangles (fill and copy)&lt;br /&gt;
*triangle (fill and copy)&lt;br /&gt;
*pixmaps (bitblt, scaling)&lt;br /&gt;
*Per-pixel alpha blending (a.k.a. texture alpha)&lt;br /&gt;
*Per-plane alpha blending (a.k.a. alpha modulation)&lt;br /&gt;
*Colorizing (a.k.a. color modulation)&lt;br /&gt;
*Source and destination color keying&lt;br /&gt;
&lt;br /&gt;
==== Video format control ====&lt;br /&gt;
&lt;br /&gt;
*resolution&lt;br /&gt;
*interlaced/progressive support&lt;br /&gt;
&lt;br /&gt;
==== Multi-plane support ====&lt;br /&gt;
&lt;br /&gt;
* DirectFB layers (not surfaces) support the concept of planes.&lt;br /&gt;
* Layer API is provided through IDirectFBD''''''isplayLayer Interface.&lt;br /&gt;
* Opacity is available through IDirectFBD''''''isplayLayer::!SetOpacity.&lt;br /&gt;
* IDirectFBD''''''isplayLayer::!SetScreenLocation() controls scaling of the plane. Back-End Scaler(BES) is used, for instance for Matrox. It requires hardware support.&lt;br /&gt;
* Explicit Front-End Scaler(FES) is not available. Thus, stretched blit to the primary surface should be used.&lt;br /&gt;
* To execute a specific graphics operation (e.g. blitting of a surface), the DirectFB driver will access the memory mapped io ports of the graphics hardware to submit the command to the acceleration engine (actual hardware acceleration is done entirely from user space).&lt;br /&gt;
&lt;br /&gt;
==== GFX Card Driver ====&lt;br /&gt;
&lt;br /&gt;
* DirectFB abstracts the video driver through GFX driver.&lt;br /&gt;
* Graphic operation is executed through IDirectFBSurface interface. The interface calls appropriate callback routine in gfxcard driver(src/core/gfxcard.c). The callback routine decides whether the video device has hardware acceleration capability or not, and invokes appropriate functions.&lt;br /&gt;
* The following is the model used in the core gfxcard driver. Blit, !DrawLine,&lt;br /&gt;
&lt;br /&gt;
DrawRect and similar operations are implemented in this way:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void dfb_gfxcard_OPERATION() &lt;br /&gt;
{&lt;br /&gt;
	bool hw == false;&lt;br /&gt;
	lock();&lt;br /&gt;
	/* check if acceleration is available, and then acquire  */&lt;br /&gt;
	if (hardware_accel_available(OPERATION) &amp;amp;&amp;amp; hardware_accel_acquire(OPERATION)) {&lt;br /&gt;
		hw == card-&amp;gt;funcs.OPERATION();&lt;br /&gt;
	}&lt;br /&gt;
	/* if hardware acceleration is not available */&lt;br /&gt;
	if (!hw) {&lt;br /&gt;
		gAcquire();&lt;br /&gt;
		gOPERATION();&lt;br /&gt;
		gRelease();&lt;br /&gt;
	}&lt;br /&gt;
	unlock();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== DirectFb benchmarks ====&lt;br /&gt;
You can refer 'DirectFB' benchmark on various environment from Benchmark section of [[Evaluate Direct Fb Task Page]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
G - Graphics/Video out:&lt;br /&gt;
	1 Framebuffer&lt;br /&gt;
		- http://www.kernel.org/ (1) KD26/fb&lt;br /&gt;
		- http://linuxconsole.sourceforge.net/fbdev/HOWTO/&lt;br /&gt;
		- http://www.tldp.org/HOWTO/Framebuffer-HOWTO.html&lt;br /&gt;
	2 DirectFB (uses 1)&lt;br /&gt;
		- http://www.directfb.org/&lt;br /&gt;
		- http://www.directfb.org/documentation/DirectFB_overview_V0.2.pdf&lt;br /&gt;
	3 NanoX&lt;br /&gt;
		- http://www.microwindows.org/&lt;br /&gt;
	4 SDL&lt;br /&gt;
		- http://www.libsdl.org/&lt;br /&gt;
	5 Gstreamer&lt;br /&gt;
		- http://www.gstreamer.net/&lt;br /&gt;
	6 OpenGL (OpenML)&lt;br /&gt;
		- http://www.opengl.org/&lt;br /&gt;
		- http://www.khronos.org/opengles/&lt;br /&gt;
&lt;br /&gt;
V – Video in:&lt;br /&gt;
	1 V4L[2]&lt;br /&gt;
		- http://www.kernel.org/ (1) KD26/video4linux&lt;br /&gt;
		- http://bytesex.org/v4l/&lt;br /&gt;
	2 OpenML&lt;br /&gt;
		- http://www.khronos.org/openml/ &lt;br /&gt;
	3 LinuxTV (DVB API)&lt;br /&gt;
		- http://www.linuxtv.org&lt;br /&gt;
&lt;br /&gt;
A – Audio in/out:&lt;br /&gt;
	1 OSS&lt;br /&gt;
		- http://www.kernel.org/ (1) KD26/sound/oss&lt;br /&gt;
		- http://www.4front-tech.com/opensound.html&lt;br /&gt;
	2 ALSA&lt;br /&gt;
		- http://www.kernel.org/ (1) KD26/sound/alsa&lt;br /&gt;
		- http://www.alsa-project.org&lt;br /&gt;
	3 OpenAL&lt;br /&gt;
		- http://www.openal.org/&lt;br /&gt;
&lt;br /&gt;
U – Users of AVG:&lt;br /&gt;
	1 V''''''ideoLan&lt;br /&gt;
		- http://www.videolan.org&lt;br /&gt;
	2 Freevo&lt;br /&gt;
		- http://freevo.sourceforge.net&lt;br /&gt;
	3 LinuxTV&lt;br /&gt;
		- http://www.linuxtv.org/&lt;br /&gt;
	4 MythTV&lt;br /&gt;
		- http://www.mythtv.org/&lt;br /&gt;
	5 DVR	&lt;br /&gt;
		- http://dvr.sourceforge.net/html/main.html&lt;br /&gt;
	6 OpenPVR&lt;br /&gt;
		- http://www.funktronics.ca/openpvr/&lt;br /&gt;
		- http://sourceforge.net/projects/openpvr/&lt;br /&gt;
&lt;br /&gt;
O – Other:&lt;br /&gt;
	1 TV Linux Alliance&lt;br /&gt;
		- http://www.tvlinuxalliance.com/&lt;br /&gt;
	2 TV Anytime&lt;br /&gt;
		- http://www.tv-anytime.org/ &lt;br /&gt;
	3 Digital Home Working Group&lt;br /&gt;
		- http://www.dhwg.org/&lt;br /&gt;
	4 B''''''ootSplash&lt;br /&gt;
		- http://www.BootSplash.org/&lt;br /&gt;
	5 F''''''reeType&lt;br /&gt;
		- http://freetype.sourceforge.net/freetype2/&lt;br /&gt;
	6 ARIB architecture&lt;br /&gt;
		- http://www.arib.or.jp/english/html/overview/ov/std_b24.html&lt;br /&gt;
 &lt;br /&gt;
Note (1) - KD26 refers to the [http://www.kernel.org/pub/linux/kernel/v2.6/ Linux 2.6.X kernel] tree, which has a &amp;quot;Documentation&amp;quot; sub-directory.&lt;br /&gt;
&lt;br /&gt;
== Remaining Issues ==&lt;br /&gt;
See Work in progress.&lt;br /&gt;
&lt;br /&gt;
[[Category:MultiMedia]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Companies</id>
		<title>Companies</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Companies"/>
				<updated>2007-07-16T02:39:30Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
This page provides information about companies that build and sell consumer electronics devices with Linux as their operating system.  If you're looking for companies that build and sell Linux distributions for embedded devices or who provide services around embedded Linux, please see the [[Vendors]] page.&lt;br /&gt;
&lt;br /&gt;
[http://www.atmark-techno.com/en Atmark Techno]&lt;br /&gt;
* [http://www.atmark-techno.com/en/products/armadillo/a300 Armadillo-300]&lt;br /&gt;
* [http://www.atmark-techno.com/en/products/armadillo/a9 Armadillo-9]&lt;br /&gt;
* [http://www.atmark-techno.com/en/products/armadillo/a240 Armadillo-240]&lt;br /&gt;
* [http://www.atmark-techno.com/en/products/armadillo/a230 Armadillo-230]&lt;br /&gt;
* [http://www.atmark-techno.com/en/products/armadillo/a220 Armadillo-220]&lt;br /&gt;
* [http://www.atmark-techno.com/en/products/armadillo/a210 Armadillo-210]&lt;br /&gt;
* [http://www.atmark-techno.com/en/products/suzaku/suzaku-v SUZAKU-V]&lt;br /&gt;
* [http://www.atmark-techno.com/en/products/suzaku/suzaku-s SUZAKU-S]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Nokia Nokia]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Nokia_N800 N800]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Nokia_770 N770]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Neuros_Technology Neuros Technology]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Neuros_Technology#Neuros_OSD Neuros OSD]&lt;br /&gt;
&lt;br /&gt;
[[Category:Companies]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Squash_Fs</id>
		<title>Squash Fs</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Squash_Fs"/>
				<updated>2007-07-16T02:37:45Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
&amp;quot;Squash FS&amp;quot; is the name of a compressed read-only filesystem for Linux. There are a number of such file systems available for Linux, including ROMFS, CRAMFS and SquashFS.&lt;br /&gt;
&lt;br /&gt;
== Rationale ==&lt;br /&gt;
A compressed file system is interesting in embedded systems for reducing the overall size (in flash) of the Linux system.  Squash FS is reported to have better compression capabilities than CRAMFS, which is a very popular &lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
=== Projects ===&lt;br /&gt;
The Squash fs home page is at: [http://squashfs.sourceforge.net/ Squash FS]&lt;br /&gt;
&lt;br /&gt;
=== Specifications ===&lt;br /&gt;
There are no specifications on this technology.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
=== Patch ===&lt;br /&gt;
*see the Squash fs [http://sourceforge.net/project/showfiles.php?group_id=63835 download page] for latest patches&lt;br /&gt;
&lt;br /&gt;
=== Utility programs ===&lt;br /&gt;
The squashfs file release contains a README, the squashfs patch files, and the squashfs-tools directory (mksquashfs). Please see the INSTALL file for install instructions.&lt;br /&gt;
&lt;br /&gt;
== How To Use ==&lt;br /&gt;
See the Squash FS Howto:&lt;br /&gt;
*[http://artemio.net/projects/linuxdoc/squashfs online version]&lt;br /&gt;
*[[Squash FS Howto]] page (copy of document in this wiki - may be out of date)&lt;br /&gt;
&lt;br /&gt;
== Sample Results ==&lt;br /&gt;
&lt;br /&gt;
Here are brief summaries for 2 large file systems, saved using a variety of file system types.&lt;br /&gt;
&lt;br /&gt;
This information was provided by Phillip Lougher. &lt;br /&gt;
&lt;br /&gt;
=== Ubuntu liveCD compression results ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   ext3 uncompressed size      1.4 GB&lt;br /&gt;
   ISO9660 uncompressed size   1.3 GB&lt;br /&gt;
   Zisofs compressed size      589.81 MB&lt;br /&gt;
   Cloop compressed size       471.89 MB&lt;br /&gt;
   Squashfs2.0 compressed size 448.58 MB&lt;br /&gt;
   Squashfs2.1 compressed size 448.58 MB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Damn Small Linux liveCD compression results ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   ext3 uncompressed size      126 MB&lt;br /&gt;
   CRAMFS compressed size      52.19 MB&lt;br /&gt;
   Squashfs2.0 compressed size 46.52 MB&lt;br /&gt;
   Squashfs2.1 compressed size 46.52 MB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File System Performance ===&lt;br /&gt;
There is performance data for these file systems on the page SquashFsComparisons.&lt;br /&gt;
&lt;br /&gt;
=== lzma data comparison ===&lt;br /&gt;
Here is some information that was posted recently on the squashfsmailing list by Oleg Vdovikin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; # du -s target&lt;br /&gt;
&amp;gt; 7836    target&lt;br /&gt;
&amp;gt; # ls -l target.*&lt;br /&gt;
&amp;gt; -rw-r--r--  1 root     root 2842788 Aug 27 17:54 target.cramfs&lt;br /&gt;
&amp;gt; -rwx------  1 root     root 2449408 Jan 26 13:19 target.sqshfs&lt;br /&gt;
&amp;gt; -rwx------  1 root     root 2060288 Jan 26 13:21 target.lzmafs&lt;br /&gt;
&amp;gt; &lt;br /&gt;
&amp;gt;     So, lzma for this filesystem gives 84% of original size. For bigger&lt;br /&gt;
&amp;gt; filesystem I've got 82%.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Future Work/Action Items =&lt;br /&gt;
Here is a list of things that could be worked on for this feature:&lt;br /&gt;
*there was a report in August, 2004 of problems with squashfs on PPC. see [http://sourceforge.net/forum/message.php?msg_id=2735613 here] (at bottom of page)&lt;br /&gt;
*there was a suggestion to use LZMA compression for version 3.0 of squashfs - see [http://sourceforge.net/forum/forum.php?thread_id=1113639&amp;amp;forum_id=215699 here]&lt;br /&gt;
&lt;br /&gt;
== Notes on compression ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
From: John Richard Moser &amp;lt;nigele...@comcast.net&amp;gt;&lt;br /&gt;
Date: Wed, 29 Sep 2004 18:20:11 +0200&lt;br /&gt;
Subject: Re: Compressed filesystems: Better compression?&lt;br /&gt;
&lt;br /&gt;
Matti Aarnio wrote:&lt;br /&gt;
| Compression algorithms are a bit tough to be used in a random access&lt;br /&gt;
| smallish blocks environments. In long streams where you can use megabytes&lt;br /&gt;
| worth of buffer spaces there is no problem is achieving good performance.&lt;br /&gt;
| But do try to do that in an environment where your maximum block size&lt;br /&gt;
| is, say: 4 kB, and you have to start afresh at every block boundary.&lt;br /&gt;
&lt;br /&gt;
Yes of course. I've seen the compressed page cache patch do this and&lt;br /&gt;
get fair peformance (10-20%), though on double size blocks (8KiB) it&lt;br /&gt;
manages almost twice as good (20-50%, averaged around 30% IIRC). Not&lt;br /&gt;
great, but not bad.&lt;br /&gt;
&lt;br /&gt;
On compressed filesystems you can work with 64k or 128k blocks.&lt;br /&gt;
Somewhere around 32-64k is usually optimal; you're not going to see&lt;br /&gt;
great improvements using 1M blocks instead of 512k blocks.&lt;br /&gt;
&lt;br /&gt;
| Whatever algorithms you use, there will always be data sequences that&lt;br /&gt;
| are of maximum entropy, and won't compress. Rather they will be&lt;br /&gt;
| presented in streams as is with a few bytes long wrappers around&lt;br /&gt;
| them.&lt;br /&gt;
&lt;br /&gt;
Yes, an intelligent algorithm decides that if the underlying compression&lt;br /&gt;
algorithm used produces no results, it just marks the block as&lt;br /&gt;
uncompressed and stores it as such. ZLIB does this if the block gets&lt;br /&gt;
bigger. LZMA might not; but higher level intrinsics (block headers)&lt;br /&gt;
could handle that easy (as you said).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:File Systems]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Open_Wrt</id>
		<title>Open Wrt</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Open_Wrt"/>
				<updated>2007-07-16T02:31:27Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Open Wrt]] is a Linux distribution for embedded devices, especially wireless routers.&lt;br /&gt;
&lt;br /&gt;
Instead of trying to create a single, static firmware, [[Open Wrt]] provides a fully writable filesystem with package management. This frees you from the application selection and configuration provided by the vendor and allows you to customize the device through the use of packages to suit any application. For developer, [[Open Wrt]] is the framework to build an application without having to build a complete firmware around it; for users this means the ability for full customization, to use the device in ways never envisioned.&lt;br /&gt;
&lt;br /&gt;
[[Category:Distributions]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Mandatory_Access_Control_Comparison</id>
		<title>Mandatory Access Control Comparison</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Mandatory_Access_Control_Comparison"/>
				<updated>2007-07-16T02:28:56Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Table Of Contents:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This page has information about Mandatory Access Control (MAC) solutions, which is of interest to CE Linux Forum members,&lt;br /&gt;
because MAC provide strong access control for CE device which has rich resources to be managed.&lt;br /&gt;
&lt;br /&gt;
== Comparison of MAC solution ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&amp;lt;#B0FFB0&amp;gt; '''_''' \&lt;br /&gt;
||&amp;lt;#B0FFB0&amp;gt; [http://www.lids.org/ LIDS] \&lt;br /&gt;
||&amp;lt;#B0FFB0&amp;gt; [http://tomoyo.sourceforge.jp/ TOMOYO] \&lt;br /&gt;
||&amp;lt;#B0FFB0&amp;gt; [http://rsbac.org/ RSBAC] \&lt;br /&gt;
||&amp;lt;#B0FFB0&amp;gt; [http://selinux.sourceforge.net/ SELinux] \&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
| bgcolor=&amp;quot;#B0FFB0&amp;quot; | [http://en.opensuse.org/AppArmor App Armor] &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|| Security Model \&lt;br /&gt;
|| MAC(inode), TPE(1.2),TDE(1.2) \&lt;br /&gt;
|| MAC(path) \&lt;br /&gt;
|| MAC, RC, ACL, FF, UM, PM, DAZ, JAIL \&lt;br /&gt;
|| MAC(label), TE,RBAC,MLC,MCS \&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|  MAC(path) &lt;br /&gt;
|- &lt;br /&gt;
|  Type             &lt;br /&gt;
|  LSM (2.6), patch (2.4)  &lt;br /&gt;
|  patch &lt;br /&gt;
|  patch &lt;br /&gt;
|  LSM &lt;br /&gt;
|  LSM &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|| Current version (2.6)  \&lt;br /&gt;
|| 2.2.2 for 2.6.14 (LSM) \&lt;br /&gt;
|| 1.1.3 for 2.6.11-17 \&lt;br /&gt;
|| 1.2.7 for 2.6.16 \&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|  in mainline &lt;br /&gt;
|  2.6.X (LSM) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|| Current version (2.4)  \&lt;br /&gt;
|| 1.2.2 for 2.4.30 \&lt;br /&gt;
|| 1.1.3 for 2.4.20 - 32 \&lt;br /&gt;
|| 1.2.7 for 2.4.32 \&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|  obsolete  &lt;br /&gt;
|  ? &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|| Policy learn mode \&lt;br /&gt;
|| /lids/lids.ini \&lt;br /&gt;
|| CCS=0 /root/security/profile0.txt || /etc/selinux/config \&lt;br /&gt;
|| rsbac_softmode \&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|  &lt;br /&gt;
|- &lt;br /&gt;
|  disable option &lt;br /&gt;
|  lids=0 &lt;br /&gt;
|  &lt;br /&gt;
|  &lt;br /&gt;
|  selinux=0 &lt;br /&gt;
|  &lt;br /&gt;
|- &lt;br /&gt;
|  Policy location &lt;br /&gt;
|  /etc/lids/ &lt;br /&gt;
|  /root/security/ &lt;br /&gt;
|  &lt;br /&gt;
|  /etc/selinux &lt;br /&gt;
|  &lt;br /&gt;
|- &lt;br /&gt;
|  Distributions&lt;br /&gt;
|  &lt;br /&gt;
|  &lt;br /&gt;
|  Hardened Gentoo &lt;br /&gt;
|  Redhat, Fedora Core, Hardened Gentoo &lt;br /&gt;
|  Open Suse &lt;br /&gt;
|- &lt;br /&gt;
|  (by 3rd party) &lt;br /&gt;
|  Fedora core, Debian&lt;br /&gt;
|  Fedora core, Debian &lt;br /&gt;
|  Debian &lt;br /&gt;
|  Suse, Ubuntu &lt;br /&gt;
|  Slackware &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Benchmark ==&lt;br /&gt;
MEN WORKING&lt;br /&gt;
&lt;br /&gt;
Hardware : Sharp Zaurus C860,&lt;br /&gt;
CPU :[[XScale]] 400MHz,&lt;br /&gt;
Memory : --MB, &lt;br /&gt;
OS : Openzaurus 3.5.4.1 + OPIE 1.2&lt;br /&gt;
&lt;br /&gt;
=== Sizing ===&lt;br /&gt;
&lt;br /&gt;
Kerenl 2.6.16 (linux-openzaurus-2.6.16-r40, Static build)&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|  &lt;br /&gt;
|  Normal  &lt;br /&gt;
|  LIDS    &lt;br /&gt;
|  TOMOYO  &lt;br /&gt;
|  RSBAC   &lt;br /&gt;
|  [[SELinux]] &lt;br /&gt;
|- &lt;br /&gt;
|  Kernel size (Image)  &lt;br /&gt;
|  2487744 &lt;br /&gt;
|  2554880 &lt;br /&gt;
|  2541808 &lt;br /&gt;
|  2974224 &lt;br /&gt;
|  ?       &lt;br /&gt;
|- &lt;br /&gt;
|  Kernel size (zImage) &lt;br /&gt;
|  1181660 &lt;br /&gt;
|  1205324 &lt;br /&gt;
|  1207288 &lt;br /&gt;
|  1351432 &lt;br /&gt;
|  ?       &lt;br /&gt;
|- &lt;br /&gt;
|  image size overhead  &lt;br /&gt;
|  0       &lt;br /&gt;
|  67136 &lt;br /&gt;
|  54064 &lt;br /&gt;
|  486480 &lt;br /&gt;
|  ?       &lt;br /&gt;
|- &lt;br /&gt;
|  policy size          &lt;br /&gt;
|  0       &lt;br /&gt;
|- &lt;br /&gt;
|  memory consumption   &lt;br /&gt;
|  0       &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Lmbench ===&lt;br /&gt;
&lt;br /&gt;
Processor, Process, Local communication latencies&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|  &lt;br /&gt;
|  Normal &lt;br /&gt;
|  LIDS         &lt;br /&gt;
|  TOMOYO &lt;br /&gt;
|  RSBAC &lt;br /&gt;
|  [[SELinux]] &lt;br /&gt;
|- &lt;br /&gt;
|  null call     &lt;br /&gt;
|  0.46 &lt;br /&gt;
|  0.46       &lt;br /&gt;
|  0.46 &lt;br /&gt;
|- &lt;br /&gt;
|  null I/O      &lt;br /&gt;
|  1.77 &lt;br /&gt;
|  1.97 (11%) &lt;br /&gt;
|  1.77 &lt;br /&gt;
|- &lt;br /&gt;
|  stat          &lt;br /&gt;
|  12.7 &lt;br /&gt;
|  15.7 (24%) &lt;br /&gt;
|  12.8 (1%) &lt;br /&gt;
|- &lt;br /&gt;
|  open/close    &lt;br /&gt;
|  18.7 &lt;br /&gt;
|  22.5 (20%) &lt;br /&gt;
|  59 (216%) &lt;br /&gt;
|- &lt;br /&gt;
|  select TCP    &lt;br /&gt;
|  91.3 &lt;br /&gt;
|  91.6       &lt;br /&gt;
|  91.3 &lt;br /&gt;
|- &lt;br /&gt;
|  sig inst      &lt;br /&gt;
|  2.89 &lt;br /&gt;
|  2.83 (-2%) &lt;br /&gt;
|  2.84 (-2%) &lt;br /&gt;
|- &lt;br /&gt;
|  sig hndl      &lt;br /&gt;
|  7.58 &lt;br /&gt;
|  7.66  (1%) &lt;br /&gt;
|  9.25 (22%) &lt;br /&gt;
|- &lt;br /&gt;
|  fork          &lt;br /&gt;
|  3795 &lt;br /&gt;
|  3808       &lt;br /&gt;
|  3757 (-1%) &lt;br /&gt;
|- &lt;br /&gt;
|  execve        &lt;br /&gt;
|  13000 &lt;br /&gt;
|  13000       &lt;br /&gt;
|  15000 (15%) &lt;br /&gt;
|- &lt;br /&gt;
|  sh            &lt;br /&gt;
|  36000 &lt;br /&gt;
|  37000  (3%) &lt;br /&gt;
|  41000 (14%) &lt;br /&gt;
|- &lt;br /&gt;
|  ctxsw         &lt;br /&gt;
|  175 &lt;br /&gt;
|  186.3  (7%) &lt;br /&gt;
|  177.2 &lt;br /&gt;
|- &lt;br /&gt;
|  pipe          &lt;br /&gt;
|  356.9 &lt;br /&gt;
|  375.6  (5%) &lt;br /&gt;
|  358.1 &lt;br /&gt;
|- &lt;br /&gt;
|  AF_UNIX       &lt;br /&gt;
|  674 &lt;br /&gt;
|  718  (7%) &lt;br /&gt;
|  723 (7%) &lt;br /&gt;
|- &lt;br /&gt;
|  UDP           &lt;br /&gt;
|  747.5 &lt;br /&gt;
|  776.3  (4%) &lt;br /&gt;
|  765.1 (2%) &lt;br /&gt;
|- &lt;br /&gt;
|  RPC/UDP       &lt;br /&gt;
|  969.1 &lt;br /&gt;
|  1013  (5%) &lt;br /&gt;
|  1193 (23%) &lt;br /&gt;
|- &lt;br /&gt;
|  TCP           &lt;br /&gt;
|  957.3 &lt;br /&gt;
|  1004  (5%) &lt;br /&gt;
|  964.6 (1%) &lt;br /&gt;
|- &lt;br /&gt;
|  RPC/TCP       &lt;br /&gt;
|  1332 &lt;br /&gt;
|  1380  (4%) &lt;br /&gt;
|  1353 (2%) &lt;br /&gt;
|- &lt;br /&gt;
|  TCP connect   &lt;br /&gt;
|  2302 &lt;br /&gt;
|  2379  (3%) &lt;br /&gt;
|  2357 (2%) &lt;br /&gt;
|- &lt;br /&gt;
|  0KB create    &lt;br /&gt;
|  461 &lt;br /&gt;
|  605.7 (31%) &lt;br /&gt;
|  669.8 (45%) &lt;br /&gt;
|- &lt;br /&gt;
|  0KB delete    &lt;br /&gt;
|  232.5 &lt;br /&gt;
|  267.1 (15%) &lt;br /&gt;
|  329.5 (42%) &lt;br /&gt;
|- &lt;br /&gt;
|  10KB create   &lt;br /&gt;
|  5128.2 &lt;br /&gt;
|  5234.6  (2%) &lt;br /&gt;
|  5235.6 (2%) &lt;br /&gt;
|- &lt;br /&gt;
|  10KB delete   &lt;br /&gt;
|  298.8 &lt;br /&gt;
|  349.8 (17%) &lt;br /&gt;
|  415.1 (39%) &lt;br /&gt;
|- &lt;br /&gt;
|  Mmap latency  &lt;br /&gt;
|  - &lt;br /&gt;
|  - &lt;br /&gt;
|  - &lt;br /&gt;
|- &lt;br /&gt;
|  Prot Fault    &lt;br /&gt;
|  1.72 &lt;br /&gt;
|  1.71       &lt;br /&gt;
|  0.61 (-64%) &lt;br /&gt;
|- &lt;br /&gt;
|  Page Fault    &lt;br /&gt;
|  92 &lt;br /&gt;
|  92       &lt;br /&gt;
|  86 (-7%) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Unixbench ===&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|  &lt;br /&gt;
|  Normal        &lt;br /&gt;
|  LIDS &lt;br /&gt;
|  TOMOYO &lt;br /&gt;
|  RSBAC &lt;br /&gt;
|  [[SELinux]] &lt;br /&gt;
|- &lt;br /&gt;
|  execl             &lt;br /&gt;
|  89.3 lps  &lt;br /&gt;
|  84.6 &lt;br /&gt;
|  59.5 &lt;br /&gt;
|- &lt;br /&gt;
|  file read 1KB     &lt;br /&gt;
|  53974.0 [[KBps]] &lt;br /&gt;
|  52176 &lt;br /&gt;
|  53505 &lt;br /&gt;
|- &lt;br /&gt;
|  file write 1KB    &lt;br /&gt;
|  328.0 [[KBps]] &lt;br /&gt;
|  321 &lt;br /&gt;
|  376 &lt;br /&gt;
|- &lt;br /&gt;
|  file copy 1KB     &lt;br /&gt;
|  288.0 [[KBps]] &lt;br /&gt;
|  199 &lt;br /&gt;
|  311 &lt;br /&gt;
|- &lt;br /&gt;
|  file read 256B    &lt;br /&gt;
|  34766.0 [[KBps]] &lt;br /&gt;
|  33831 &lt;br /&gt;
|  34742 &lt;br /&gt;
|- &lt;br /&gt;
|  file write 256B   &lt;br /&gt;
|  133.0 [[KBps]] &lt;br /&gt;
|  121 &lt;br /&gt;
|  138 &lt;br /&gt;
|- &lt;br /&gt;
|  file copy 256B    &lt;br /&gt;
|  126.0 [[KBps]] &lt;br /&gt;
|  121 &lt;br /&gt;
|  121 &lt;br /&gt;
|- &lt;br /&gt;
|  file read 4KB     &lt;br /&gt;
|  69148.0 [[KBps]] &lt;br /&gt;
|  67961 &lt;br /&gt;
|  68851 &lt;br /&gt;
|- &lt;br /&gt;
|  file write 4KB    &lt;br /&gt;
|  1417.0 [[KBps]] &lt;br /&gt;
|  1417 &lt;br /&gt;
|  1333 &lt;br /&gt;
|- &lt;br /&gt;
|  file copy 4KB     &lt;br /&gt;
|  1268.0 [[KBps]] &lt;br /&gt;
|  1237 &lt;br /&gt;
|  1249 &lt;br /&gt;
|- &lt;br /&gt;
|  pipe              &lt;br /&gt;
|  112917.5 lps  &lt;br /&gt;
|  108924 &lt;br /&gt;
|  112137 &lt;br /&gt;
|- &lt;br /&gt;
|  pipe switching    &lt;br /&gt;
|  2655.4 lps  &lt;br /&gt;
|  2559.6 &lt;br /&gt;
|  2700 &lt;br /&gt;
|- &lt;br /&gt;
|  process creation  &lt;br /&gt;
|  272.9 lps  &lt;br /&gt;
|  367.8 &lt;br /&gt;
|  276.4 &lt;br /&gt;
|- &lt;br /&gt;
|  system call       &lt;br /&gt;
|  269446.2 lps  &lt;br /&gt;
|  267748 &lt;br /&gt;
|  268823.9 &lt;br /&gt;
|- &lt;br /&gt;
|  shell scripts (1) &lt;br /&gt;
|  82.2 lpm  &lt;br /&gt;
|  77.6 &lt;br /&gt;
|  58.6 &lt;br /&gt;
|- &lt;br /&gt;
|  shell scripts (8) &lt;br /&gt;
|  5.3 lpm  &lt;br /&gt;
|  5.6 &lt;br /&gt;
|  5.4 &lt;br /&gt;
|- &lt;br /&gt;
|  shell scripts (16)&lt;br /&gt;
|  2.0 lpm  &lt;br /&gt;
|  0 &lt;br /&gt;
|  2 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|  &lt;br /&gt;
|  LIDS &lt;br /&gt;
|  TOMOYO &lt;br /&gt;
|  RSBAC &lt;br /&gt;
|  [[SELinux]] &lt;br /&gt;
|  App Armor &lt;br /&gt;
|- &lt;br /&gt;
|  build (kenrel)  (easy:5 - 1:hard) &lt;br /&gt;
|  4 &lt;br /&gt;
|  4 &lt;br /&gt;
|  3 &lt;br /&gt;
|  5 &lt;br /&gt;
|  ? &lt;br /&gt;
|- &lt;br /&gt;
|  build (userland) (easy:5 - 1:hard)&lt;br /&gt;
|  4 &lt;br /&gt;
|  4 &lt;br /&gt;
|  3 &lt;br /&gt;
|  ? &lt;br /&gt;
|  ? &lt;br /&gt;
|- &lt;br /&gt;
|  image size       &lt;br /&gt;
|  2% &lt;br /&gt;
|  2% &lt;br /&gt;
|  15%  &lt;br /&gt;
|  3% &lt;br /&gt;
|  ? &lt;br /&gt;
|- &lt;br /&gt;
|  performance      &lt;br /&gt;
|  &lt;br /&gt;
|  &lt;br /&gt;
|  &lt;br /&gt;
|  &lt;br /&gt;
|  ? &lt;br /&gt;
|- &lt;br /&gt;
|  policy lean mode (good:5 - 1:poor) &lt;br /&gt;
|  4 &lt;br /&gt;
|  5 &lt;br /&gt;
|  ? &lt;br /&gt;
|  3 &lt;br /&gt;
|  ? &lt;br /&gt;
|- &lt;br /&gt;
|  symlink          &lt;br /&gt;
|  by wrapper &lt;br /&gt;
|  support(alias) &lt;br /&gt;
|  &lt;br /&gt;
|  &lt;br /&gt;
|  ? &lt;br /&gt;
|- &lt;br /&gt;
|  filesystem JFFS2 &lt;br /&gt;
|  ok      &lt;br /&gt;
|  ok &lt;br /&gt;
|  &lt;br /&gt;
|  &lt;br /&gt;
|  ok? &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other resources ==&lt;br /&gt;
&lt;br /&gt;
Access Control Comparison Table &lt;br /&gt;
http://gentoo-wiki.com/Access_Control_Comparison_Table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Security_Terms</id>
		<title>Security Terms</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Security_Terms"/>
				<updated>2007-07-16T02:28:03Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; Asynchronous I/O::: I/O where control is returned to the calling program after the I/O process has started, but before the I/O is completed. The I/O transfer runs in parallel with respect to the processor work. The user program continues executing at the same time the I/O operation is executing.&lt;br /&gt;
&lt;br /&gt;
 Blocking I/O::: I/O where control is not returned to the calling program until all requested data is transferred. The I/O transfer runs serially with respect to the processor work.&lt;br /&gt;
&lt;br /&gt;
;  File system : : The methods and data structures that an operating system uses to keep track of files on a disk or partition; the way the files are organized on the disk. Also used about a partition or disk that is used to store the files or the type of the file system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Linux Security Modules (LSM)::: A framework to support security systems as loadable Linux modules.&lt;br /&gt;
&lt;br /&gt;
 Non-blocking I/O::: I/O where control is returned to the calling program after the I/O process has started, but before the I/O is completed. The I/O transfer runs in parallel with respect to the processor work. The user program continues executing at the same time the I/O operation is executing.&lt;br /&gt;
&lt;br /&gt;
 Non-volatile storage::: (NVS, persistent storage, memory) A term describing a storage device whose contents are preserved when its power is off. Storage using magnetic media (e.g. magnetic disks, magnetic tape or bubble memory) is normally non-volatile by nature whereas semiconductor memories (static RAM and especially dynamic RAM) are normally volatile but can be made into non-volatile storage by having a (rechargeable) battery permanently connected.&lt;br /&gt;
&lt;br /&gt;
 RAM-based file system::: A file system built on RAM as the storage medium.&lt;br /&gt;
&lt;br /&gt;
;  Stack guarding : : A mechanism for protecting the system from buffer overrun (&amp;quot;stack smashing&amp;quot;) attacks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Synchronous I/O::: I/O where control is not returned to the calling program until all requested data is transferred. The I/O transfer runs serially with respect to the processor work.&lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Texas_Instruments</id>
		<title>Texas Instruments</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Texas_Instruments"/>
				<updated>2007-07-16T02:27:12Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Texas Instruments, Incorporated&lt;br /&gt;
&lt;br /&gt;
headquarters in Dallas, TX USA&lt;br /&gt;
&lt;br /&gt;
http://www.ti.com/&lt;br /&gt;
&lt;br /&gt;
makers of graphing calculators&lt;br /&gt;
&lt;br /&gt;
http://education.ti.com/&lt;br /&gt;
&lt;br /&gt;
and OMAP processors&lt;br /&gt;
&lt;br /&gt;
http://www.omap.com/&lt;br /&gt;
&lt;br /&gt;
[[Category:Companies]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Source_Management_Tools</id>
		<title>Source Management Tools</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Source_Management_Tools"/>
				<updated>2007-07-16T02:26:12Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are some different source management tools commonly used with Linux:&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
* David Wheeler has an excellent breakdown of various SCM tools at: http://www.dwheeler.com/essays/scm.html&lt;br /&gt;
* IBM has an good overview of available tools at: http://www-128.ibm.com/developerworks/linux/library/l-vercon/&lt;br /&gt;
* There is a comparison of several different tools at: http://better-scm.berlios.de/comparison/comparison.html&lt;br /&gt;
&lt;br /&gt;
== Patch Management Tools ==&lt;br /&gt;
* diff - to create patches&lt;br /&gt;
** use 'man diff' on your local system for information&lt;br /&gt;
* [http://wikipedia.org/wiki/Patch_%28Unix%29 patch] - to apply patches&lt;br /&gt;
** use 'man patch' on your local system for information&lt;br /&gt;
* [[Quilt]] is good for managing a group of patches relative to a single source base.&lt;br /&gt;
* diffstat reads a patch file (or standard input) and displays a histogram of the insertions, deletions, and modifications per-file. It is useful for reviewing large, complex patch files. It reads from one or more input files or from standard input. If an input filename ends with .bz2, .Z or .gz, diffstat will read the uncompressed data via a pipe from the corresponding program.&lt;br /&gt;
** diffstat is included in most Linux distributions&lt;br /&gt;
** [http://invisible-island.net/diffstat/diffstat.html diffstat home page]&lt;br /&gt;
** [http://www.die.net/doc/linux/man/man1/diffstat.1.html diffstat man page]&lt;br /&gt;
* [[Tim's patch management tools]] - diffinfo and friends - a more verbose diffstat, with splitting, joining and comparing of patches&lt;br /&gt;
* See also [[Diff And Patch Tricks]]&lt;br /&gt;
&lt;br /&gt;
== GIT ==&lt;br /&gt;
GIT is the source code management tool used by many kernel developers.&lt;br /&gt;
* GIT project home page: http://git.or.cz/&lt;br /&gt;
&lt;br /&gt;
[[Category:Development Tools]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Nor_vs_Nand</id>
		<title>Nor vs Nand</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Nor_vs_Nand"/>
				<updated>2007-07-14T13:02:41Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There is a good introduction on the differences between NOR and NAND flash at:&lt;br /&gt;
&lt;br /&gt;
http://www.commsdesign.com/design_corner/OEG20031022S0011&lt;br /&gt;
&lt;br /&gt;
Samsung seems to be able to boot off of NAND flash.&lt;br /&gt;
&lt;br /&gt;
[[Category:Flash Memory]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Nor_vs_Nand</id>
		<title>Nor vs Nand</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Nor_vs_Nand"/>
				<updated>2007-07-14T13:02:31Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There is a good introduction on the differences between NOR and NAND flash at:&lt;br /&gt;
&lt;br /&gt;
http://www.commsdesign.com/design_corner/OEG20031022S0011&lt;br /&gt;
&lt;br /&gt;
Samsung seems to be able to boot off of NAND flash.&lt;br /&gt;
&lt;br /&gt;
[[Category:Flash]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/XC9500_XL</id>
		<title>XC9500 XL</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/XC9500_XL"/>
				<updated>2007-07-14T13:02:05Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Xilinx CPLD&lt;br /&gt;
The XC9500XL family of [[CPLDs]] provide a high-performance, nonvolatile programmable logic solution comprising cost-optimized silicon, free design tools , and unparalleled support. High performance, low cost, and using the identical design environment as Xilinx [[FPGAs]], XC9500XL [[CPLDs]] provide everything you need for flexible, advanced logic system design.&lt;br /&gt;
&lt;br /&gt;
* [[[Media:xc9500xl.pdf]] datasheet]&lt;br /&gt;
* [http://www.xilinx.com/products/silicon_solutions/cplds/xc9500_series/xc9500xl/ Xilinx XC5900XL Product Page]&lt;br /&gt;
&lt;br /&gt;
[[Category:CPLDs]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Using_Jtager</id>
		<title>Using Jtager</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Using_Jtager"/>
				<updated>2007-07-14T13:00:27Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Using JTAGER with the Juicebox ==&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
JTAGER has not been updated for a while but is a great program.  It comes with support for the ARM7TDMI built in but only supports wiggler jtag hardware.&lt;br /&gt;
&lt;br /&gt;
JTAGER is useful for debugging and downloading binary files to the JB.  See [[JuiceBox Code Test]] for demo programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
Download the tarball from http://jtager.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
Read the README file for install instructions (./configure &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install should do it)&lt;br /&gt;
&lt;br /&gt;
=== Usage ===&lt;br /&gt;
This will take you through running the lcd_2 demo on your Juicebox using JTAGER.  Note that I am using # for comments but this is not actually valid - it is just to clarify what the command is doing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#see available commands&lt;br /&gt;
JTAGER&amp;gt; help&lt;br /&gt;
*snip - see your output from this*&lt;br /&gt;
&lt;br /&gt;
#halt the CPU&lt;br /&gt;
JTAGER&amp;gt; halt&lt;br /&gt;
Requesting HALT target ... [OK]&lt;br /&gt;
The target is halted in ARM mode.&lt;br /&gt;
&lt;br /&gt;
#Verify the CPU&lt;br /&gt;
JTAGER&amp;gt; idcode&lt;br /&gt;
Device ID = 0x1F0F0F0F&lt;br /&gt;
        bit[0] = 1, always be 1, required by IEEE Std 1149.1&lt;br /&gt;
        Manufacturer (bit[11:1]): 0x787 - SAMSUNG&lt;br /&gt;
        Part number (bit[27:12]): 0xF0F0&lt;br /&gt;
        Version (bit[31:28])    : 0x1&lt;br /&gt;
&lt;br /&gt;
#Copy the lcd_2 demo to memory (you have to hit enter twice)&lt;br /&gt;
#be sure to copy the BIN file and not the ELF file&lt;br /&gt;
JTAGER&amp;gt; memset --base=0x0c001000 --infile=hacking/juicebox/jb-code/lcd_2.bin&lt;br /&gt;
memset: Fill the memory block [0x0C001000, 0x0C0017EB] with the file &amp;quot;hacking/juicebox/jb-code/lcd_2.bin&amp;quot; ...&lt;br /&gt;
. [OK]&lt;br /&gt;
Total 2028 bytes are written.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#restart the proc at the correct entry point&lt;br /&gt;
JTAGER&amp;gt;JTAGER&amp;gt; restart 0x0c001000&lt;br /&gt;
Restarting the target processor at 0x0C001000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That's it  You should now be looking at the LCD demo starting with the text &amp;quot;Juicebox LCD Demo #2&amp;quot; on the screen.&lt;br /&gt;
&lt;br /&gt;
=== What is going on here? ===&lt;br /&gt;
Read the lcd_2.dld file from the lcd_2 tarball - this gives a clue as to where to copy the BIN file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* Memory Definitions */&lt;br /&gt;
MEMORY&lt;br /&gt;
{&lt;br /&gt;
  RAM (rw) : ORIGIN = 0x0c001000, LENGTH = 0x00010000&lt;br /&gt;
  SRAM (rw) : ORIGIN = 0x010001000, LENGTH = 0x1000&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Juicebox memory (RAM) starts at 0x0c001000 - therefore that is where we copy the BIN to.&lt;br /&gt;
&lt;br /&gt;
Now that you can copy binaries to your juicebox and run them it's time to start writing your own code.  See [[JuiceBox Software Development]] for help.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development Tools]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Open_Embedded</id>
		<title>Open Embedded</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Open_Embedded"/>
				<updated>2007-07-14T12:59:26Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Table Of Contents:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
[[Open Embedded]] is the name of a project which seeks to provide embedded linux distributions, built from scratch.&lt;br /&gt;
&lt;br /&gt;
=== Rationale ===&lt;br /&gt;
While the distribution used for most embedded systems has many custom elements, there are significant portions&lt;br /&gt;
of the software on consumer electronics products which could be standardized and utilized from the same source.&lt;br /&gt;
&lt;br /&gt;
Open Embedded may represent the closest thing there is to a de-facto standard embedded distribution of Linux.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
=== Projects ===&lt;br /&gt;
http://www.openembedded.org/&lt;br /&gt;
&lt;br /&gt;
=== Specifications ===&lt;br /&gt;
There are no CELF specifications related to Open Embedded. &lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
=== Patch ===&lt;br /&gt;
 - [Patch for 2.6.xx is *here* (often, the [[Patch Archive]])]&lt;br /&gt;
&lt;br /&gt;
=== Utility programs ===&lt;br /&gt;
[other programs, user-space, test, etc. related to this technology]&lt;br /&gt;
&lt;br /&gt;
== How To Use ==&lt;br /&gt;
See the Open Embedded wiki, at:&lt;br /&gt;
http://www.openembedded.org/cgi-bin/moin.cgi&lt;br /&gt;
&lt;br /&gt;
== How to validate ==&lt;br /&gt;
[put references to test plans, scripts, methods, etc. here]&lt;br /&gt;
&lt;br /&gt;
== Sample Results ==&lt;br /&gt;
=== Case Study 1 ===&lt;br /&gt;
=== Case Study 2 ===&lt;br /&gt;
&lt;br /&gt;
== Future Work/Action Items ==&lt;br /&gt;
Here is a list of things that could be worked on for this feature:&lt;br /&gt;
 - &lt;br /&gt;
I met with Phil Blundell and Tim Ansell at Linuxconf Australia and discussed&lt;br /&gt;
some possible ways the forum might sponsor Open Embedded.&lt;br /&gt;
Here are some ideas:&lt;br /&gt;
 - create an installer, which automatically copes with weird distros&lt;br /&gt;
 (I had problems getting OE installed, but then I use Mandrake)&lt;br /&gt;
   - it should validate that all required packages are installed,&lt;br /&gt;
   and if not present, install them&lt;br /&gt;
     - OE has a somewhat long list of pre-requisites&lt;br /&gt;
 - sponsor a conference/retreat of the core OE developers&lt;br /&gt;
 - do nightly builds (and testing?) of various full-distro recipes&lt;br /&gt;
 - do improvements to bitbake to solve the memory/performance&lt;br /&gt;
 problems.&lt;br /&gt;
   - need to identify if these are python issues (dependency graph&lt;br /&gt;
   memory consumption seems to be)&lt;br /&gt;
 - try to make bitbake less fragile&lt;br /&gt;
   - have a way to freeze/sign a recipe collection for a known-good&lt;br /&gt;
   distro?&lt;br /&gt;
 - canonicalize workarounds to issues caused by autoconf badness&lt;br /&gt;
 (inability to support cross-building)&lt;br /&gt;
&lt;br /&gt;
Tim and Phil both said that contract money might not influence their&lt;br /&gt;
contribution levels (they are maxed out now).  Changing their &lt;br /&gt;
focus with money might be detrimental (it might just take the fun&lt;br /&gt;
out of it.)  So, outside contractors seems like the better way to&lt;br /&gt;
go for now.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development Tools]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/DaVinci_U-boot_1.0</id>
		<title>DaVinci U-boot 1.0</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/DaVinci_U-boot_1.0"/>
				<updated>2007-07-14T12:58:48Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;Just a stub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most of what would be here is now quite well documented with the DVFlasher readme.&lt;br /&gt;
&lt;br /&gt;
For those who do not know, DVFlasher is the program which allows uboot images to be installed on the DaVinci EVM's flash via a serial connection.&lt;br /&gt;
&lt;br /&gt;
[[Category:Boot Loaders]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/M5900</id>
		<title>M5900</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/M5900"/>
				<updated>2007-07-14T12:57:33Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:m5900.jpg]]&lt;br /&gt;
* http://www.amltd.com/m5900.asp&lt;br /&gt;
* Linux Kernel 2.6.16&lt;br /&gt;
* uClibc based root file system&lt;br /&gt;
* Samsung S3C2410&lt;br /&gt;
* 32mb ram&lt;br /&gt;
* 16mb Nor Flash&lt;br /&gt;
* 160x160 stn grey scale&lt;br /&gt;
* 55-key keyboard&lt;br /&gt;
* intergrated barcode scanner&lt;br /&gt;
* rs-232 interface&lt;br /&gt;
* usb slave interface&lt;br /&gt;
* 7.2v 2200mAh battery&lt;br /&gt;
&lt;br /&gt;
[[Image:m5920.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Products]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Qplus_Target_Builder</id>
		<title>Qplus Target Builder</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Qplus_Target_Builder"/>
				<updated>2007-07-14T12:56:27Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Table Of Contents:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Embedded Linux System Build Toolkit: Target Builder&lt;br /&gt;
&lt;br /&gt;
Target Builder is a convenient system configuration tool for embedded linux system developer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
=== Projects ===&lt;br /&gt;
&lt;br /&gt;
=== Specifications ===&lt;br /&gt;
* CELF patch included BSP&lt;br /&gt;
* Linux kernel/application/target configuration&lt;br /&gt;
* Deploy made root file system image&lt;br /&gt;
* Fine-grain control of system; file-list, compile options, and more...&lt;br /&gt;
* Kconfig based configuration system&lt;br /&gt;
** Automatic dependency checking&lt;br /&gt;
** Linux kernel 2.6.x support&lt;br /&gt;
* various deployment methods support&lt;br /&gt;
** CD installer, NFS, ETC&lt;br /&gt;
* Eclipse platform&lt;br /&gt;
** project wizard and management system&lt;br /&gt;
* Licensed by GPL&lt;br /&gt;
* Included CELF patches currently 2.6.9&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Screen Shot ===&lt;br /&gt;
&lt;br /&gt;
[[Image:timerresolution.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
&lt;br /&gt;
'''[ftp://qplus.or.kr/pub/qplus/V2.0/qplus_dev_suite_2.0.2.iso Target builder &amp;amp; ESTO Develop Suite install CD image]'''&lt;br /&gt;
&lt;br /&gt;
'''[ftp://qplus.or.kr/pub/qplus/V2.0/qplus_ce_epia_bsp_1.0.1.iso VIA epia board BSP install CD image]'''&lt;br /&gt;
&lt;br /&gt;
'''[ftp://qplus.or.kr/pub/qplus/V2.0/qplus_esto_installation_guide_v2.0_050401.pdf Installation &amp;amp; user guide document(korean version)]'''&lt;br /&gt;
&lt;br /&gt;
'''''[English guide document (comming soon)]'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How To Document ==&lt;br /&gt;
We will document as soon as possible&lt;br /&gt;
&lt;br /&gt;
=== How to make BSP ===&lt;br /&gt;
&lt;br /&gt;
comming soon ;)&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
* Status: [implemented]&lt;br /&gt;
  &lt;br /&gt;
* Architecture Support:&lt;br /&gt;
*** i386: VIA epia board&lt;br /&gt;
*** ARM:&lt;br /&gt;
*** PPC:&lt;br /&gt;
*** MIPS:&lt;br /&gt;
*** SH:&lt;br /&gt;
&lt;br /&gt;
=== VIA epia board BSP Package list ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel / Standard library ====&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | item &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | package &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | version &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | note &lt;br /&gt;
|- &lt;br /&gt;
|  Kernel &lt;br /&gt;
|  kernel &lt;br /&gt;
|  2.6.6-epia1 &lt;br /&gt;
|  real time patch, board support patch &lt;br /&gt;
|- &lt;br /&gt;
|  Cross Tool Chain &lt;br /&gt;
|  glibc &lt;br /&gt;
|  2.3.2 &lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  gcc &lt;br /&gt;
|  3.2.2 &lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  binutils &lt;br /&gt;
|  2.13.2.1 &lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  Glibc &lt;br /&gt;
|  2.3.2 &lt;br /&gt;
|  .&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Utilities ====&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | item &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | package &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | version &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | note &lt;br /&gt;
|- &lt;br /&gt;
|  bootloader &lt;br /&gt;
|  lilo &lt;br /&gt;
|  21.4.4 &lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  Shell &lt;br /&gt;
|  busybox &lt;br /&gt;
|  0.60.5 &lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  bash &lt;br /&gt;
|  2.4 &lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  init &lt;br /&gt;
|  initscripts &lt;br /&gt;
|  0.0.1 &lt;br /&gt;
|  inittab file and /etc/init.d scripts&lt;br /&gt;
|- &lt;br /&gt;
|  libsn &lt;br /&gt;
|  0.5 &lt;br /&gt;
|  startup notification protocol &lt;br /&gt;
|- &lt;br /&gt;
|  startup-notification &lt;br /&gt;
|  0.6 &lt;br /&gt;
|  startup notification protocol &lt;br /&gt;
|- &lt;br /&gt;
|  moduleinittools &lt;br /&gt;
|  3.1 &lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  config &lt;br /&gt;
|  setup &lt;br /&gt;
|  2.4.7 &lt;br /&gt;
|  e.g. passwd, group, profile &lt;br /&gt;
|- &lt;br /&gt;
|  login &lt;br /&gt;
|  tinylogin &lt;br /&gt;
|  0.80 &lt;br /&gt;
|  addgroup, adduser, delgroup, deluser, login, su, sulogin &lt;br /&gt;
|- &lt;br /&gt;
|  Archive &lt;br /&gt;
|  tar &lt;br /&gt;
|  1.13.25 &lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  unzip &lt;br /&gt;
|  5.50 &lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  file&lt;br /&gt;
|  bzip2 &lt;br /&gt;
|  1.0.2&lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  fileutils&lt;br /&gt;
|  4.1&lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  device &lt;br /&gt;
|  skellinux &lt;br /&gt;
|  0.0.1 &lt;br /&gt;
|  Device files for linux system &lt;br /&gt;
|- &lt;br /&gt;
|  pciutils &lt;br /&gt;
|  2.1.8 &lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  setserial &lt;br /&gt;
|  2.17 &lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  telnet &lt;br /&gt;
|  0.17 &lt;br /&gt;
|  telnet client and server &lt;br /&gt;
|- &lt;br /&gt;
|  ftp &lt;br /&gt;
|  0.17 &lt;br /&gt;
|  ftp client &lt;br /&gt;
|- &lt;br /&gt;
|  iproute &lt;br /&gt;
|  2.4.7 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  devfiles &lt;br /&gt;
|  0.0.1 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  network &lt;br /&gt;
|  rsync &lt;br /&gt;
|  2.4.6 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  linc &lt;br /&gt;
|  1.0.1 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  Daemon &lt;br /&gt;
|  wuftp &lt;br /&gt;
|  2.7.0 &lt;br /&gt;
|  ftp server &lt;br /&gt;
|- &lt;br /&gt;
|  tcpwrappers &lt;br /&gt;
|  7.6 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  xinetd &lt;br /&gt;
|  2.1.8.9pre14 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  nfs &lt;br /&gt;
|  0.3.3 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  acpid &lt;br /&gt;
|  1.0.4 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  Debugger &lt;br /&gt;
|  stace &lt;br /&gt;
|  4.4.95 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  targetagent &lt;br /&gt;
|  1.0 &lt;br /&gt;
|  . &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Graphic library / Window system ====&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|  item &lt;br /&gt;
|  package &lt;br /&gt;
|  version &lt;br /&gt;
|  note &lt;br /&gt;
|- &lt;br /&gt;
|  Graphic library &lt;br /&gt;
|  glib &lt;br /&gt;
|  2.2.2 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  gtk &lt;br /&gt;
|  2.2.2 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  atk &lt;br /&gt;
|  1.2.4 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  pango &lt;br /&gt;
|  1.2.5 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  freetype &lt;br /&gt;
|  2.1.2 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  fontconfig &lt;br /&gt;
|  2.2.2 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  libjpeg &lt;br /&gt;
|  6b &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  libpng &lt;br /&gt;
|  1.2.8 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  libtiff &lt;br /&gt;
|  3.5.5 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  ncurses &lt;br /&gt;
|  5.3 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  cairo &lt;br /&gt;
|  0.2.0 &lt;br /&gt;
|  vector graphic library &lt;br /&gt;
|- &lt;br /&gt;
|  gnome-mime-data &lt;br /&gt;
|  2.4.1 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  gpe &lt;br /&gt;
|  0.9 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  libgcrypt &lt;br /&gt;
|  1.2.1 &lt;br /&gt;
|  Cryptographic library &lt;br /&gt;
|- &lt;br /&gt;
|  renderext &lt;br /&gt;
|  0.8 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  xrender &lt;br /&gt;
|  0.8.3 &lt;br /&gt;
|  required for pango &lt;br /&gt;
|- &lt;br /&gt;
|  xft &lt;br /&gt;
|  2.1.2 &lt;br /&gt;
|  required for pango &lt;br /&gt;
|- &lt;br /&gt;
|  libpixman &lt;br /&gt;
|  0.1.2 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  libgpg-error &lt;br /&gt;
|  1.0 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  dbus &lt;br /&gt;
|  0.11.91 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  Window system &lt;br /&gt;
|  tinyX &lt;br /&gt;
|  4.2.0 &lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  matchbox &lt;br /&gt;
|  0.9 &lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  libmatchbox &lt;br /&gt;
|  1.6 &lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  matchboxcommon&lt;br /&gt;
|  0.9.1&lt;br /&gt;
|  .&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== ETC libraries ====&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | item &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | package &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | version &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | note &lt;br /&gt;
|- &lt;br /&gt;
|  &lt;br /&gt;
|  expat &lt;br /&gt;
|  1.95.2 &lt;br /&gt;
|  C library for parsing XML &lt;br /&gt;
|- &lt;br /&gt;
|  libcpp &lt;br /&gt;
|  6.1.2 &lt;br /&gt;
|  [[LIbstdc]]++ shared library &lt;br /&gt;
|- &lt;br /&gt;
|  openssl &lt;br /&gt;
|  0.9.7a &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  zlib &lt;br /&gt;
|  1.1.4 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  libIDL &lt;br /&gt;
|  0.8.0 &lt;br /&gt;
|  for firefox &lt;br /&gt;
|- &lt;br /&gt;
|  libtermcap &lt;br /&gt;
|  2.0.8 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  libmimedir &lt;br /&gt;
|  1.2.1 &lt;br /&gt;
|  FR2425 parsing library &lt;br /&gt;
|- &lt;br /&gt;
|  gmp &lt;br /&gt;
|  4.1.4 &lt;br /&gt;
|  GNU MP Bignum library &lt;br /&gt;
|- &lt;br /&gt;
|  openbex &lt;br /&gt;
|  1.0.1 &lt;br /&gt;
|  Object exchange protocol &lt;br /&gt;
|- &lt;br /&gt;
|  readline &lt;br /&gt;
|  4.3 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  sqlite &lt;br /&gt;
|  2.8.16 &lt;br /&gt;
|  . &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Web browser and Media player ====&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | item &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | package &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | version &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | note &lt;br /&gt;
|- &lt;br /&gt;
|  . &lt;br /&gt;
|  firefox &lt;br /&gt;
|  1.0.1 &lt;br /&gt;
|  . &lt;br /&gt;
|- &lt;br /&gt;
|  . &lt;br /&gt;
|  mplayer &lt;br /&gt;
|  1.0 &lt;br /&gt;
|  . &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Future Work/Action Items ==&lt;br /&gt;
&lt;br /&gt;
 - BSP authoring tool&lt;br /&gt;
  - to provide fast and easy BSP developing environment&lt;br /&gt;
 - support various architectures and boards&lt;br /&gt;
  - Xscale, SH, OMAP, ETC&lt;br /&gt;
 - more powerful packaging system&lt;br /&gt;
  - support remote upgrade&lt;br /&gt;
  - expand provided packages&lt;br /&gt;
 - Packaging various CELF [[WGs]] products&lt;br /&gt;
 - ulibc support&lt;br /&gt;
&lt;br /&gt;
== Q&amp;amp;A ==&lt;br /&gt;
any question? ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development Tools]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Pixter_Multimedia_Expansion_Slot</id>
		<title>Pixter Multimedia Expansion Slot</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Pixter_Multimedia_Expansion_Slot"/>
				<updated>2007-07-14T12:50:52Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 * indicates verified by software and hardware&lt;br /&gt;
 + indicates verified by hardware only&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
| *1&lt;br /&gt;
| A0&lt;br /&gt;
| *2&lt;br /&gt;
| D0&lt;br /&gt;
|- &lt;br /&gt;
| *3&lt;br /&gt;
| A1&lt;br /&gt;
| *4&lt;br /&gt;
| D1&lt;br /&gt;
|- &lt;br /&gt;
| *5&lt;br /&gt;
| A2&lt;br /&gt;
| *6&lt;br /&gt;
| D2&lt;br /&gt;
|- &lt;br /&gt;
| *7&lt;br /&gt;
| A3&lt;br /&gt;
| *8&lt;br /&gt;
| D3&lt;br /&gt;
|- &lt;br /&gt;
| *9&lt;br /&gt;
| A4&lt;br /&gt;
| *10&lt;br /&gt;
| D4&lt;br /&gt;
|- &lt;br /&gt;
| *11&lt;br /&gt;
| A5&lt;br /&gt;
| *12&lt;br /&gt;
| D5&lt;br /&gt;
|- &lt;br /&gt;
| *13&lt;br /&gt;
| A6&lt;br /&gt;
| *14&lt;br /&gt;
| D6&lt;br /&gt;
|- &lt;br /&gt;
| *15&lt;br /&gt;
| A7&lt;br /&gt;
| *16&lt;br /&gt;
| D7&lt;br /&gt;
|- &lt;br /&gt;
| *17&lt;br /&gt;
| A8&lt;br /&gt;
| *18&lt;br /&gt;
| D8&lt;br /&gt;
|- &lt;br /&gt;
| *19&lt;br /&gt;
| A9&lt;br /&gt;
| *20&lt;br /&gt;
| D9&lt;br /&gt;
|- &lt;br /&gt;
| *21&lt;br /&gt;
| A10&lt;br /&gt;
| *22&lt;br /&gt;
| D10&lt;br /&gt;
|- &lt;br /&gt;
| *23&lt;br /&gt;
| A11&lt;br /&gt;
| *24&lt;br /&gt;
| D11&lt;br /&gt;
|- &lt;br /&gt;
| *25&lt;br /&gt;
| A12&lt;br /&gt;
| *26&lt;br /&gt;
| D12&lt;br /&gt;
|- &lt;br /&gt;
| *27&lt;br /&gt;
| A13&lt;br /&gt;
| *28&lt;br /&gt;
| D13&lt;br /&gt;
|- &lt;br /&gt;
| *29&lt;br /&gt;
| A14&lt;br /&gt;
| *30&lt;br /&gt;
| D14&lt;br /&gt;
|- &lt;br /&gt;
| *31&lt;br /&gt;
| A15&lt;br /&gt;
| *32&lt;br /&gt;
| D15&lt;br /&gt;
|- &lt;br /&gt;
| *33&lt;br /&gt;
| A16&lt;br /&gt;
| *34&lt;br /&gt;
| PA5&lt;br /&gt;
|- &lt;br /&gt;
| *35&lt;br /&gt;
| A17&lt;br /&gt;
| *36&lt;br /&gt;
| PA4&lt;br /&gt;
|- &lt;br /&gt;
| *37&lt;br /&gt;
| A18&lt;br /&gt;
| +38&lt;br /&gt;
| nCS2&lt;br /&gt;
|- &lt;br /&gt;
| *39&lt;br /&gt;
| A19&lt;br /&gt;
| +40&lt;br /&gt;
| nCS3&lt;br /&gt;
|- &lt;br /&gt;
| *41&lt;br /&gt;
| A20&lt;br /&gt;
| *42&lt;br /&gt;
| nOE&lt;br /&gt;
|- &lt;br /&gt;
| *43&lt;br /&gt;
| A21&lt;br /&gt;
| *44&lt;br /&gt;
| nWE&lt;br /&gt;
|- &lt;br /&gt;
| *45&lt;br /&gt;
| A22&lt;br /&gt;
| *46&lt;br /&gt;
| Vdd&lt;br /&gt;
|- &lt;br /&gt;
| *47&lt;br /&gt;
| A23&lt;br /&gt;
| *48&lt;br /&gt;
| PA0/INT3/UARTTX2&lt;br /&gt;
|- &lt;br /&gt;
| +49&lt;br /&gt;
| PA3&lt;br /&gt;
| *50&lt;br /&gt;
| PA1/INT2/UARTRX2&lt;br /&gt;
|- &lt;br /&gt;
| *51&lt;br /&gt;
| PB6/UARTRX1/INT0&lt;br /&gt;
| +52&lt;br /&gt;
| PA2&lt;br /&gt;
|- &lt;br /&gt;
| *53&lt;br /&gt;
| PB7/UARTTX1/INT1&lt;br /&gt;
| 54&lt;br /&gt;
| ????&lt;br /&gt;
|- &lt;br /&gt;
| *55&lt;br /&gt;
| PB0/nDACK/nUARTCTSO&lt;br /&gt;
| *56&lt;br /&gt;
| Vss&lt;br /&gt;
|- &lt;br /&gt;
| *57&lt;br /&gt;
| PB1/DREQ/nUARTRTS0&lt;br /&gt;
| *58&lt;br /&gt;
| Vdd&lt;br /&gt;
|- &lt;br /&gt;
| *59&lt;br /&gt;
| Vss&lt;br /&gt;
| 60&lt;br /&gt;
| ????&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* PB6 and PB7 buttons are connected to PG0 and PG1 GPIO's&lt;br /&gt;
* PB8 seems to be connected to PH7 GPIO&lt;br /&gt;
&lt;br /&gt;
[[Category:Pixter]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Pixter_Multimedia_Expansion_Cartridge</id>
		<title>Pixter Multimedia Expansion Cartridge</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Pixter_Multimedia_Expansion_Cartridge"/>
				<updated>2007-07-14T12:50:45Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here's a quick and dirty table describing a pixter multimedia game cartridge that didnt use [[Chip On Board]] technology.  Hopefully I (or someone else) will clean it up later.&lt;br /&gt;
&lt;br /&gt;
[[Image:pixtercart-composite.jpg]]&lt;br /&gt;
&lt;br /&gt;
 -=- NET/FUNCTION LIST FOR PIXTER MULTIMEDIA GAME CARTRIDGE -=-&lt;br /&gt;
&lt;br /&gt;
'''NAND MEMORY ('rom'): Matrix Memory 11247-01'''&lt;br /&gt;
http://www.matrixsemi.com/products-and-applications/documents/DS0043DMTSOPR1.11_062405.pdf&lt;br /&gt;
Note that the PDF is a different part number.  It was chosen because its the same product line and likely has the same pin interface.  This is the same IC used in the [[JuiceBox]].&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
| net1&lt;br /&gt;
| net2&lt;br /&gt;
| function&lt;br /&gt;
| flash function&lt;br /&gt;
| wiki pin&lt;br /&gt;
|- &lt;br /&gt;
| crt:2&lt;br /&gt;
| rom:20&lt;br /&gt;
| DATA0&lt;br /&gt;
| IO1&lt;br /&gt;
| 30&lt;br /&gt;
|- &lt;br /&gt;
| crt:4&lt;br /&gt;
| rom:21&lt;br /&gt;
| DATA1&lt;br /&gt;
| IO2&lt;br /&gt;
| 29&lt;br /&gt;
|- &lt;br /&gt;
| crt:6&lt;br /&gt;
| rom:22&lt;br /&gt;
| DATA2&lt;br /&gt;
| IO3&lt;br /&gt;
| 28&lt;br /&gt;
|- &lt;br /&gt;
| crt:8&lt;br /&gt;
| rom:23&lt;br /&gt;
| DATA3&lt;br /&gt;
| IO4&lt;br /&gt;
| 27&lt;br /&gt;
|- &lt;br /&gt;
| crt:10&lt;br /&gt;
| rom:27&lt;br /&gt;
| DATA4&lt;br /&gt;
| IO5&lt;br /&gt;
| 26&lt;br /&gt;
|- &lt;br /&gt;
| crt:12&lt;br /&gt;
| rom:28&lt;br /&gt;
| DATA5&lt;br /&gt;
| IO6&lt;br /&gt;
| 25&lt;br /&gt;
|- &lt;br /&gt;
| crt:14&lt;br /&gt;
| rom:29&lt;br /&gt;
| DATA6&lt;br /&gt;
| IO7&lt;br /&gt;
| 24&lt;br /&gt;
|- &lt;br /&gt;
| crt:16&lt;br /&gt;
| rom:30&lt;br /&gt;
| DATA7&lt;br /&gt;
| IO8&lt;br /&gt;
| 23&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Logic: Hitachi 74HC32D ('H32') quad 2-input OR gate'''&lt;br /&gt;
&lt;br /&gt;
        (I cheated and used a local copy of a Fairchild Semi DM74LS32 pdf)&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
| net1&lt;br /&gt;
| net2&lt;br /&gt;
| function&lt;br /&gt;
| flash function&lt;br /&gt;
| wiki pin&lt;br /&gt;
|- &lt;br /&gt;
| crt:40&lt;br /&gt;
| H32:1&lt;br /&gt;
| 1a&lt;br /&gt;
| nOE&lt;br /&gt;
| 10&lt;br /&gt;
|- &lt;br /&gt;
| crt:40&lt;br /&gt;
| H32:4&lt;br /&gt;
| 2a&lt;br /&gt;
| nOE&lt;br /&gt;
| 10&lt;br /&gt;
|- &lt;br /&gt;
| crt:42&lt;br /&gt;
| H32:2&lt;br /&gt;
| 1b&lt;br /&gt;
| nCS3&lt;br /&gt;
| 11&lt;br /&gt;
|- &lt;br /&gt;
| crt:44&lt;br /&gt;
| H32:5&lt;br /&gt;
| 2b&lt;br /&gt;
| nCS2&lt;br /&gt;
| 12&lt;br /&gt;
|- &lt;br /&gt;
| H32:3&lt;br /&gt;
| rom:5&lt;br /&gt;
| 1y&lt;br /&gt;
| RE#&lt;br /&gt;
| [internal net]&lt;br /&gt;
|- &lt;br /&gt;
| H32:6&lt;br /&gt;
| rom:14&lt;br /&gt;
| 2y&lt;br /&gt;
| WE#&lt;br /&gt;
| [internal net]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''More rom / misc lines'''&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
| net1&lt;br /&gt;
| net2&lt;br /&gt;
| function&lt;br /&gt;
| flash function&lt;br /&gt;
| wiki pin&lt;br /&gt;
|- &lt;br /&gt;
| crt:51&lt;br /&gt;
| rom:12&lt;br /&gt;
| -&lt;br /&gt;
| CLE&lt;br /&gt;
| *&lt;br /&gt;
|- &lt;br /&gt;
| crt:53&lt;br /&gt;
| rom:13&lt;br /&gt;
| -&lt;br /&gt;
| ALE&lt;br /&gt;
| *&lt;br /&gt;
|- &lt;br /&gt;
| crt:56&lt;br /&gt;
| crt:58&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| *&lt;br /&gt;
|- &lt;br /&gt;
| crt:57&lt;br /&gt;
| rom:3&lt;br /&gt;
| -&lt;br /&gt;
| R/B#&lt;br /&gt;
| *&lt;br /&gt;
|- &lt;br /&gt;
| crt:58&lt;br /&gt;
| crt:56&lt;br /&gt;
| vcc&lt;br /&gt;
| -&lt;br /&gt;
| *&lt;br /&gt;
|- &lt;br /&gt;
| crt:59&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| -&lt;br /&gt;
| *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''* I'm honestly confused about these; [[prpplague]] pinned the [[Pixter Expansion Slot]] without any knowledge for pin1 from the hardware, and had to guess pin numbers.''&lt;br /&gt;
&lt;br /&gt;
Keys:&lt;br /&gt;
* crt     Cartridge port on the pixter MM (numbered odd pins on front; even pints on back as determined by cart PCB)&lt;br /&gt;
* rom     ROM pin (u-shaped numbering pattern as normal for DIP ic's)&lt;br /&gt;
* H32     7432 pin (u-shaped numbering pattern as normal for DIP IC's)`&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Pixter]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Pixter_Multimedia_Developer_Board</id>
		<title>Pixter Multimedia Developer Board</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Pixter_Multimedia_Developer_Board"/>
				<updated>2007-07-14T12:50:36Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:devboard.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pixter]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Pixter_Multimedia</id>
		<title>Pixter Multimedia</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Pixter_Multimedia"/>
				<updated>2007-07-14T12:50:30Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:pixter-mm.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Items of interest inside the device:&lt;br /&gt;
* Sharp [[LH79524]] CPU&lt;br /&gt;
* Two IC42S16100-7T SDRAM [[ICs]] (2MB each, 4MB total) [[http://www.issi.com/pdf/42S16100.pdf datasheet]]&lt;br /&gt;
* TLV320DAC26 audio [[http://www-s.ti.com/sc/ds/tlv320dac26.pdf datasheet]]&lt;br /&gt;
* OTP flash [[Chip On Board]] IC&lt;br /&gt;
* SPI eeprom [[Chip On Board]] IC (still collecting information on this)&lt;br /&gt;
* Audio [[Chip On Board]] IC which connects to the DAC26's microphone input (still collecting information on this)&lt;br /&gt;
* Well-labeled [[PixterMultimediaLCD]] port&lt;br /&gt;
* 4-wire touch-screen&lt;br /&gt;
* Silkcreen above largest [[Chip On Board]] reads &amp;quot;PT1543A-BGA-42FC 2005/04/30 REC 4.2B&amp;quot;&lt;br /&gt;
* [[Pixter Multimedia Expansion Slot]]&lt;br /&gt;
* [[Pixter Multimedia Expansion Cartridge]]&lt;br /&gt;
* [[Pixter Multimedia Developer Board]]&lt;br /&gt;
* [[PixterMultimediaJTAG]]&lt;br /&gt;
&lt;br /&gt;
PCB Pads:&lt;br /&gt;
&lt;br /&gt;
Primary side:&lt;br /&gt;
* TXD0, RXD0 these are incorrectly label on the pcb, they are actually UARTTXD1 and UARTRXD1&lt;br /&gt;
* CTS0, RTS0 (apparently extended to cartridge port)&lt;br /&gt;
* L16 (nCS0 PM0)&lt;br /&gt;
* A4 (PH5/ETHERTX1 I/O General Purpose I/O Signals -- Port H5; multiplexed with Ethernet Transmit Channel 1)&lt;br /&gt;
&lt;br /&gt;
USB Pins:&lt;br /&gt;
* A16 USBDN I/O USB Data Negative (Differential Pair output, single ended and Differential pair input)&lt;br /&gt;
* A15 USBDP I/O USB Data Positive (Differential Pair output, single ended and Differential pair input)&lt;br /&gt;
&lt;br /&gt;
Secondary side:&lt;br /&gt;
* Test1&lt;br /&gt;
* Vss&lt;br /&gt;
* Test2&lt;br /&gt;
* CS1 bridge (SMT pads for 0-ohm resistor with a line between them) opposite the big CoB blob&lt;br /&gt;
* M4 (PB4/SSPRX/I2SRXD/UARTRX0/UARTIRRX0) Port B4; multiplexed with SSP Data In, I2S Data In, UART0 Serial Data In, and UART0 Infrared Data In&lt;br /&gt;
* 1V8 (most likely 1.8v for the cpu core)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Pixter]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Pixter_Expansion_Slot</id>
		<title>Pixter Expansion Slot</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Pixter_Expansion_Slot"/>
				<updated>2007-07-14T12:50:12Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Pixter expansion slot is a 60 pin double sided card edge connector. the pads are .035&amp;quot; wide, with a .015&amp;quot; gap between pads, and a total of .050&amp;quot; center-to-center of the pads. the pcb is .047&amp;quot; thick which is a somewhat non-standard thickness. most pcb board houses with manufactor either .031 or .062 for their express and reduced cost production. there are a few production houses that will do the .047 for no additional cost, but only do them on a specific day of the week. Pin 60 is tied to the control(on/off) line of the S-1131 ( [[Media:PixterChipList/S1131.pdf]] ) voltage regulator which allows the external cart to power the unit on and off. By using a [[Pixter Dev Cart]], all the following pins can be used to develop projects:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
| 1&lt;br /&gt;
| A0&lt;br /&gt;
| 2&lt;br /&gt;
| D0&lt;br /&gt;
|- &lt;br /&gt;
| 3&lt;br /&gt;
| A1&lt;br /&gt;
| 4&lt;br /&gt;
| D1&lt;br /&gt;
|- &lt;br /&gt;
| 5&lt;br /&gt;
| A2&lt;br /&gt;
| 6&lt;br /&gt;
| D2&lt;br /&gt;
|- &lt;br /&gt;
| 7&lt;br /&gt;
| A3&lt;br /&gt;
| 8&lt;br /&gt;
| D3&lt;br /&gt;
|- &lt;br /&gt;
| 9&lt;br /&gt;
| A4&lt;br /&gt;
| 10&lt;br /&gt;
| D4&lt;br /&gt;
|- &lt;br /&gt;
| 11&lt;br /&gt;
| A5&lt;br /&gt;
| 12&lt;br /&gt;
| D5&lt;br /&gt;
|- &lt;br /&gt;
| 13&lt;br /&gt;
| A6&lt;br /&gt;
| 14&lt;br /&gt;
| D6&lt;br /&gt;
|- &lt;br /&gt;
| 15&lt;br /&gt;
| A7&lt;br /&gt;
| 16&lt;br /&gt;
| D7&lt;br /&gt;
|- &lt;br /&gt;
| 17&lt;br /&gt;
| A8&lt;br /&gt;
| 18&lt;br /&gt;
| D8&lt;br /&gt;
|- &lt;br /&gt;
| 19&lt;br /&gt;
| A9&lt;br /&gt;
| 20&lt;br /&gt;
| D9&lt;br /&gt;
|- &lt;br /&gt;
| 21&lt;br /&gt;
| A10&lt;br /&gt;
| 22&lt;br /&gt;
| D10&lt;br /&gt;
|- &lt;br /&gt;
| 23&lt;br /&gt;
| A11&lt;br /&gt;
| 24&lt;br /&gt;
| D11&lt;br /&gt;
|- &lt;br /&gt;
| 25&lt;br /&gt;
| A12&lt;br /&gt;
| 26&lt;br /&gt;
| D12&lt;br /&gt;
|- &lt;br /&gt;
| 27&lt;br /&gt;
| A13&lt;br /&gt;
| 28&lt;br /&gt;
| D13&lt;br /&gt;
|- &lt;br /&gt;
| 29&lt;br /&gt;
| A14&lt;br /&gt;
| 30&lt;br /&gt;
| D14&lt;br /&gt;
|- &lt;br /&gt;
| 31&lt;br /&gt;
| A15&lt;br /&gt;
| 32&lt;br /&gt;
| D15&lt;br /&gt;
|- &lt;br /&gt;
| 33&lt;br /&gt;
| A16&lt;br /&gt;
| 34&lt;br /&gt;
| PE1/UARTTX2&lt;br /&gt;
|- &lt;br /&gt;
| 35&lt;br /&gt;
| A17&lt;br /&gt;
| 36&lt;br /&gt;
| PE0/UARTRX2&lt;br /&gt;
|- &lt;br /&gt;
| 37&lt;br /&gt;
| A18&lt;br /&gt;
| 38&lt;br /&gt;
| nCS2&lt;br /&gt;
|- &lt;br /&gt;
| 39&lt;br /&gt;
| A19&lt;br /&gt;
| 40&lt;br /&gt;
| nCS3&lt;br /&gt;
|- &lt;br /&gt;
| 41&lt;br /&gt;
| A20&lt;br /&gt;
| 42&lt;br /&gt;
| nOE&lt;br /&gt;
|- &lt;br /&gt;
| 43&lt;br /&gt;
| A21&lt;br /&gt;
| 44&lt;br /&gt;
| nWE&lt;br /&gt;
|- &lt;br /&gt;
| 45&lt;br /&gt;
| A22&lt;br /&gt;
| 46&lt;br /&gt;
| Vdd&lt;br /&gt;
|- &lt;br /&gt;
| 47&lt;br /&gt;
| A23&lt;br /&gt;
| 48&lt;br /&gt;
| PE4/SSPTX&lt;br /&gt;
|- &lt;br /&gt;
| 49&lt;br /&gt;
| PD2/INT2&lt;br /&gt;
| 50&lt;br /&gt;
| PE3/UARTTX0&lt;br /&gt;
|- &lt;br /&gt;
| 51&lt;br /&gt;
| PD4/INT4/UARTRX1&lt;br /&gt;
| 52&lt;br /&gt;
| PF6&lt;br /&gt;
|- &lt;br /&gt;
| 53&lt;br /&gt;
| PD3/INT3/UARTTX1&lt;br /&gt;
| 54&lt;br /&gt;
| PF4&lt;br /&gt;
|- &lt;br /&gt;
| 55&lt;br /&gt;
| PD5/INT5/DACK&lt;br /&gt;
| 56&lt;br /&gt;
| Vss&lt;br /&gt;
|- &lt;br /&gt;
| 57&lt;br /&gt;
| PD6/INT6/DREQ&lt;br /&gt;
| 58&lt;br /&gt;
| Vdd&lt;br /&gt;
|- &lt;br /&gt;
| 59&lt;br /&gt;
| Vss&lt;br /&gt;
| 60&lt;br /&gt;
| power control&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Pixter]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Category:Pixter</id>
		<title>Category:Pixter</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Category:Pixter"/>
				<updated>2007-07-14T12:49:09Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Pixter is like a personal digital assistant (PDA) for kids. But instead of storing boring appointments and phone numbers, they get to draw, do puzzles, and learn a little, too.&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Pixter_Dev_Cart</id>
		<title>Pixter Dev Cart</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Pixter_Dev_Cart"/>
				<updated>2007-07-14T12:48:39Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;a breakout board designed to provide access to all of the signals on the [[Pixter Expansion Slot]]. the headers are on .1&amp;quot; spacing to allow for use of off-the-shelf prototyping boards and parts.&lt;br /&gt;
&lt;br /&gt;
(shown in double size to make viewing easier, red is the top layer , and blue is the bottom layer)&lt;br /&gt;
[[Image:pixterdevcart.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pixter]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Pixter_Dev_Board</id>
		<title>Pixter Dev Board</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Pixter_Dev_Board"/>
				<updated>2007-07-14T12:48:31Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a Pixter taken apart and placed on a board for development. Currently this includes just the basics of touchscreen interface, power, calibrate button(GPIO), audio (PWM), and [[JTAG]]. On the todolist will be a duplication of the i/o pins (using a [[Pixter Dev Cart]]) available on the [[Pixter Expansion Slot]] which will give rise to the addition of items such as [[Pixter MMC|mmc interface]], 10baseT nic, and rs-232 interfaces.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:pixdev.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
the opposite side of the main pixter board has a pair of solder pads which appear to be for a 0 ohm resistor. the pads have a pcb trace between the pads. this pad pair is stenciled &amp;quot;NCS0&amp;quot;, which is the chip select for the onboard ROM. by cutting the trace between the pads the onboard ROM can be disabled. might be possible to find an unused or duplicate pin on the [[Pixter Expansion Slot]] that can be replaced with the NCS0 line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
there are several other unidentified three pad areas with traces between two of the pads:&lt;br /&gt;
&lt;br /&gt;
P100&lt;br /&gt;
P101&lt;br /&gt;
P102&lt;br /&gt;
P103&lt;br /&gt;
&lt;br /&gt;
as well as one single pair marked &amp;quot;option&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Pixter]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Pixter_Chip_List</id>
		<title>Pixter Chip List</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Pixter_Chip_List"/>
				<updated>2007-07-14T12:48:22Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Pixter main board consists of the following chips:&lt;br /&gt;
&lt;br /&gt;
[[Image:mainboard.jpg]]&lt;br /&gt;
&lt;br /&gt;
* [[LH75411| Sharp Blue Streak LH75411]]&lt;br /&gt;
* Seiko S-1131 Low Dropout CMOS Voltage Regulator [[Media:S1131.pdf]]&lt;br /&gt;
* Cypress CY62127 64K x 16 Static RAM [[Media:CY62127.pdf]]&lt;br /&gt;
* SL386D Low Voltage Audio Power AMP [[Media:SL386D.pdf]]&lt;br /&gt;
* MC34063 Step-Up/Step-Down Inverting Switch Regulator [[Media:MC34063A-D.pdf]]&lt;br /&gt;
* LM324 Quad Operational Amplifier [[Media:LM324.pdf]]&lt;br /&gt;
* [[Chip On Board]] Audio IC&lt;br /&gt;
* [[Chip On Board]] ROM&lt;br /&gt;
&lt;br /&gt;
LCD is a VDS VG-T161658 no info&lt;br /&gt;
&lt;br /&gt;
some of the cartridges are also known to use:&lt;br /&gt;
* SST 39VF400A 256K x 16-Bit Multi-Purpose Flash chip [[Media:SST39VF400.pdf]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Pixter]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Pixter_Camera</id>
		<title>Pixter Camera</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Pixter_Camera"/>
				<updated>2007-07-14T12:48:11Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Pixter Camera is an add on cartridge for the Pixter , this is probably the best cart to use for development since the cart is screwed together (others have the plastic cases bonded together making it difficult to open without damaging the case), has almost all the pins for the external connector used, and has plenty of room for a custom pcb. the main camera board also includes a ccd imager board, plus two Cypress CY62127 64K x 16 Static RAM chips ( [[Media:PixterChipList/CY62127.pdf]] ) and two SST 39VF400A 256K x 16-Bit Multi-Purpose Flash chips ( [[Media:PixterChipList/SST39VF400.pdf]] ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
retail cost for the pixter camera is around $30.00&lt;br /&gt;
&lt;br /&gt;
[[Image:pixtercamera.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pixter]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/PixterMultimediaLCD</id>
		<title>PixterMultimediaLCD</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/PixterMultimediaLCD"/>
				<updated>2007-07-14T12:48:00Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Custom Sharp LQ038B3DD01&lt;br /&gt;
* 3.8&amp;quot; square&lt;br /&gt;
* TFT&lt;br /&gt;
* 160 x 160&lt;br /&gt;
* 8-Bit, 256 colors&lt;br /&gt;
* single panel&lt;br /&gt;
* 4-wire bonded touch screen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
| Register &lt;br /&gt;
| Value   &lt;br /&gt;
|- &lt;br /&gt;
| 0xFFFF4000&lt;br /&gt;
| 0x0A080824&lt;br /&gt;
|- &lt;br /&gt;
| 0xFFFF4004&lt;br /&gt;
| 0x0505009F&lt;br /&gt;
|- &lt;br /&gt;
| 0xFFFF4008&lt;br /&gt;
| 0x00A13000&lt;br /&gt;
|- &lt;br /&gt;
| 0xFFFF401C&lt;br /&gt;
| 0x00000827&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [http://www.sharpsma.com/Page.aspx/americas/en/part/LQ030B7DD01/ Similiar Sharp LCD 320x320]&lt;br /&gt;
* [[[Media:lq030b7dd01.pdf]] LQ030B7DD01 Datasheet]&lt;br /&gt;
&lt;br /&gt;
major difference between the the LQ030B7DD01 and the LQ038B3DD01 is the that the lq038 is a 3.8&amp;quot; and the lq030 is a 3.0&amp;quot; , the only other obvious difference is the resolution, the LQ030B7DD01 is 320x320 , and the LQ038B3DD01 is 160x160. from the numbering i can only assume that sharp uses the B7 and B3 to indicate the resultion.&lt;br /&gt;
&lt;br /&gt;
if anyone has a document describing the numbering scheme Sharp uses for their lcds please post&lt;br /&gt;
&lt;br /&gt;
LQ-XXX-ABCDEF&lt;br /&gt;
&lt;br /&gt;
XXX is the screen size in inches&lt;br /&gt;
examples:&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
| 030&lt;br /&gt;
| 3.0&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| 031&lt;br /&gt;
| 3.1&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| 035&lt;br /&gt;
| 3.5&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| 036&lt;br /&gt;
| 3.6&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| 038&lt;br /&gt;
| 3.8&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| 039&lt;br /&gt;
| 3.9&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A is the screen format&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
| B&lt;br /&gt;
| Square&lt;br /&gt;
|- &lt;br /&gt;
| Q&lt;br /&gt;
| Quarter VGA&lt;br /&gt;
|- &lt;br /&gt;
| V&lt;br /&gt;
| VGA&lt;br /&gt;
|- &lt;br /&gt;
| S&lt;br /&gt;
| SVGA&lt;br /&gt;
|- &lt;br /&gt;
| X&lt;br /&gt;
| XGA&lt;br /&gt;
|- &lt;br /&gt;
| T&lt;br /&gt;
| 16:9&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
 (sloppy edit)&lt;br /&gt;
&lt;br /&gt;
Breakthrough  jbevren managed to switch the lcd into 16bpp mode and upload a raster image to the lcd.  The lcd seems to be pretty good qualty too.&lt;br /&gt;
http://jbevren.net/pixter/&lt;br /&gt;
&lt;br /&gt;
More documentation next week :)&lt;br /&gt;
&lt;br /&gt;
[[Category:Pixter]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/PixterMultimediaJTAG</id>
		<title>PixterMultimediaJTAG</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/PixterMultimediaJTAG"/>
				<updated>2007-07-14T12:47:49Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;JTAG Pins:&lt;br /&gt;
* D2 nTRST I JTAG Test Reset Input&lt;br /&gt;
* P4 TMS I JTAG Test Mode Select Input&lt;br /&gt;
* T3 TCK I JTAG Test Clock Input&lt;br /&gt;
* T1 TDI I JTAG Test Serial Data Input&lt;br /&gt;
* P3 TDO O JTAG Test Data Serial Output&lt;br /&gt;
* TEST1 ARM ICE debug mode&lt;br /&gt;
&lt;br /&gt;
* to place the LH79524 into ARM ICE debug mode you will need to connect test1 via a 4.7K Ohm resistor to ground&lt;br /&gt;
 &lt;br /&gt;
[[Image:pixter-mm-jtag.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pixter]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Pixter</id>
		<title>Pixter</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Pixter"/>
				<updated>2007-07-14T12:47:14Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(picture from [[http://www.amazon.com/exec/obidos/tg/detail/-/B0000AL9XS/102-9169933-0758560?v=glance&amp;amp;s=toys&amp;amp;n=507846&amp;amp;vi=pictures&amp;amp;img=14#more-pictures amazon]] where you can [[http://www.amazon.com/exec/obidos/tg/detail/-/B0000AL9XS/qid=1104437061/sr=2-3/ref=sr_2_3/104-3795122-0638312 order]] it for $79.99)&lt;br /&gt;
[[Image:Pixter.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Image:internals.jpg]]&lt;br /&gt;
&lt;br /&gt;
The Pixter is like a personal digital assistant (PDA) for kids. But instead of storing boring appointments and phone numbers, they get to draw, do puzzles, and learn a little, too. The Pixter is about the size of a small book, and has a pretty solid weight to it. It's made out of brightly colored and durable plastic. The main action of this toy is drawing with an attached stylus. The Color Pixter offers much better graphics then the black and white version, which comes in handy with activities like Paint-by-Numbers and Connect-the-Dots. You can draw a picture free form, or you can use one of the starter backgrounds. There are tool buttons, like on a PDA, that give you access to fun stamps, special effects, and the eraser button. You can also save your creation in the Pixter's memory. There are some boppy tunes playing along with all this creative activity, but luckily for parents, there's also a jack for headphones and a volume adjuster. The [[Pixter Expansion Slot]] on top of the Pixter accepts ROM-based expansion cards that contain additional software and games. Requires 4 'AA' batteries. (Not included.)&lt;br /&gt;
&lt;br /&gt;
The [[LH75411]] controller was developed to be a perfect fit to the Pixter's hardware and memory needs. Based on a 70-MHz [[ARM7TDMI]] core, the chip includes color LCD controller circuitry; a 10-bit, eight-channel A/D converter, an integral touchscreen controller; and the usual assortment of counter/timers, programmed I/O pins and SRAM. Pivotal to the design were the the 32 kbytes of SRAM, which make it possible to execute the Pixter's algorithms locally, and outputs that can be configured to implement a 12-bit pulse-width-modulated audio output. The addition of an inexpensive external capacitor gave the Pixter the functionality of a moderate-quality audio D/A converter.&lt;br /&gt;
&lt;br /&gt;
There are several projects in the works to make an external cartridge to boot a small [[EmbeddedOS]].&lt;br /&gt;
conversaion on hacking the Pixter can be found on irc.freenode.net #pixterdev and #elinux&lt;br /&gt;
&lt;br /&gt;
* [[Pixter Chip List]]&lt;br /&gt;
* [[Pixter Expansion Slot]]&lt;br /&gt;
* [[RMS100]] - similar hardware&lt;br /&gt;
* [[Pixter Dev Board]]&lt;br /&gt;
* [[PixterMMC]]&lt;br /&gt;
* [[Pixter Camera]]&lt;br /&gt;
* [[Pixter Dev Cart]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Pixter]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Category:Linux_Tiny</id>
		<title>Category:Linux Tiny</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Category:Linux_Tiny"/>
				<updated>2007-07-14T12:45:15Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The linux-tiny patchset is a series of patches against the 2.6 mainline Linux kernel to reduce its memory and disk footprint, as well as to add features to aid working on small systems.&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Linux_Tiny</id>
		<title>Linux Tiny</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Linux_Tiny"/>
				<updated>2007-07-14T12:44:39Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The linux-tiny patchset is a series of patches against the 2.6 mainline Linux kernel to reduce its memory&lt;br /&gt;
and disk footprint, as well as to add features to aid working on small systems. Target users are&lt;br /&gt;
developers of embedded system and users of small or legacy machines such as 386s and handhelds.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Project home page: [http://www.selenic.com/tiny-about/ Linux Tiny]&lt;br /&gt;
* Project mailing list: [http://selenic.com/mailman/listinfo/linux-tiny Mailing List]&lt;br /&gt;
* A Linux Weekly News article about the project is at: [http://lwn.net/Articles/63516/ LWN Article]&lt;br /&gt;
* [[Image:Alert.gif]] - [http://tree.celinuxforum.org/CelfPubWiki/TechConference2005Docs?action=AttachFile&amp;amp;do=get&amp;amp;target=linux-tiny.pdf Linux-tiny Presentation] by Matt Mackall, delivered at CELF's Technical Conference in 2005.&lt;br /&gt;
&lt;br /&gt;
== 2.6.16.19 Downloads ==&lt;br /&gt;
Linux-tiny seems not to have been maintained after kernel version 2.6.14. I've made my own broken-out patch set for 2.6.16.19.&lt;br /&gt;
&lt;br /&gt;
See:&lt;br /&gt;
* [[Media:2.6.16.19-tiny1-broken-out.tar.bz2|2.6.16.19-tiny1-broken-out]]&lt;br /&gt;
* and some porting notes: [[Media:linuxtinyNOTES.txt|notes]]&lt;br /&gt;
&lt;br /&gt;
== Original Announcements and e-mail ==&lt;br /&gt;
The original (Dec 11, 2003) announcement about the patchset, to the kernel mailing list, is available here:&lt;br /&gt;
* [http://lwn.net/Articles/62858/ Announcement]&lt;br /&gt;
&lt;br /&gt;
Here are some other announcements from Matt Mackall to LKML:&lt;br /&gt;
*[http://www.ussg.iu.edu/hypermail/linux/kernel/0312.3/0454.html 2.6.0-tiny1 Dec 27, 2003]&lt;br /&gt;
*[http://www.ussg.iu.edu/hypermail/linux/kernel/0401.0/0403.html 2.6.1-rc1-tin1 Jan 2, 2004]&lt;br /&gt;
*[http://www.ussg.iu.edu/hypermail/linux/kernel/0401.0/1256.html 2.6.1-rc1-tiny2 Jan 6, 2004]&lt;br /&gt;
&lt;br /&gt;
Recent discussion thread on lkml is summarized at: [http://kt.zork.net/kernel-traffic/latest.html#6 LKML Thread Summary]&lt;br /&gt;
The thread is available at [http://www.google.com/groups?hl=en&amp;amp;lr=&amp;amp;ie=UTF-8&amp;amp;threadm=19Kuz-872-3%40gated-at.bofh.it&amp;amp;rnum=1&amp;amp;prev=/groups%3Fhl%3Den%26lr%3D%26ie%3DUTF-8%26selm%3D19Kuz-872-3%2540gated-at.bofh.it here]&lt;br /&gt;
&lt;br /&gt;
Note that currently, the smallest kernel that is reported in this thread is 197K compressed.&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
=== Last release ===&lt;br /&gt;
A recent Linux-tiny patchset release is available here: [[Media:tiny-quilt-2.6.22-rc7-1.tar.gz]]&lt;br /&gt;
&lt;br /&gt;
=== Installation Instructions ===&lt;br /&gt;
To apply the above patches, you need the referenced kernel (2.6.22-rc7) and quilt.&lt;br /&gt;
Follow these steps:&lt;br /&gt;
* wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.21.tar.bz2&lt;br /&gt;
* tar -xjf linux-2.6.21.tar.bz2&lt;br /&gt;
* wget http://www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.22-rc7.bz2&lt;br /&gt;
* bunzip2 patch-2.6.22-rc7.bz2&lt;br /&gt;
* wget http://elinux.org/images/6/6d/Tiny-quilt-2.6.22-rc7-1.tar.gz&lt;br /&gt;
* cd linux-2.6.21&lt;br /&gt;
* patch -p1 &amp;lt;../patch-2.6.22-rc7&lt;br /&gt;
* tar -xzf ../Tiny-quilt-2.6.22-rc7-1.tar.gz&lt;br /&gt;
* quilt push -a&lt;br /&gt;
&lt;br /&gt;
=== Auxiliary tools ===&lt;br /&gt;
Here is a short shell script for making a tiny-quilt release: [[Media:release-tiny]]&lt;br /&gt;
&lt;br /&gt;
=== Older releases ===&lt;br /&gt;
An older Linux-tiny patchset can be downloaded from: [http://selenic.com/tiny/ Linux Tiny Patchset]&lt;br /&gt;
&lt;br /&gt;
== Test Project and Results ==&lt;br /&gt;
The CELF System Size working group has worked extensively with the Linux-tiny patch set. There is a script to produce a report of size reductions for the individual patches&lt;br /&gt;
in the patchset, and results from various vendors about their use of Linux-tiny. See [[Linux Tiny Test Project]]&lt;br /&gt;
&lt;br /&gt;
There are some miscellaneous usage notes at: [[Linux Tiny Notes]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Linux Tiny]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Linux_Tiny_Kernel_Size_Script</id>
		<title>Linux Tiny Kernel Size Script</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Linux_Tiny_Kernel_Size_Script"/>
				<updated>2007-07-14T12:44:29Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Script ==&lt;br /&gt;
Linux Tiny Test Project's Step1 script updated as on 21 Mar 2005:&lt;br /&gt;
&lt;br /&gt;
[[Image:linux_tiny_step1_210305.sh]]&lt;br /&gt;
  &lt;br /&gt;
Readme file for usage of linux_tiny_step1_210305.sh script:&lt;br /&gt;
&lt;br /&gt;
[[Image:README.txt]]&lt;br /&gt;
&lt;br /&gt;
Linux Tiny Test Project's Step1 script updated as on 09 Mar 2005:&lt;br /&gt;
&lt;br /&gt;
[[Image:linux_tiny_step1_090305.sh]]&lt;br /&gt;
&lt;br /&gt;
Readme file for usage of linux_tiny_step1_090305.sh script:&lt;br /&gt;
&lt;br /&gt;
[[Image:README.txt]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
Sample INPUTDIR for 'linux_tiny_step1_090305.sh' script:&lt;br /&gt;
&lt;br /&gt;
[[Image:indir_090305.tar]]&lt;br /&gt;
&lt;br /&gt;
The above tar file contain the following files:&lt;br /&gt;
&lt;br /&gt;
#indir/README&lt;br /&gt;
#indir/varlist&lt;br /&gt;
#indir/baseline_config&lt;br /&gt;
&lt;br /&gt;
Sample RESULTDIR generated by 'linux_tiny_step1_090305.sh' script:&lt;br /&gt;
&lt;br /&gt;
[[Image:results_090305.tar]]&lt;br /&gt;
&lt;br /&gt;
The above tar file contain the following files:&lt;br /&gt;
&lt;br /&gt;
#res/size_results&lt;br /&gt;
#res/CONFIG_MODULES.config.patch&lt;br /&gt;
#res/CONFIG_KMOD.config.patch   &lt;br /&gt;
&lt;br /&gt;
Note: The celinux-040503 release kernel soruce tree used for the above sample testing.&lt;br /&gt;
&lt;br /&gt;
#[[Image:minutes.Mvista.txt]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Linux Tiny]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Linux_Tiny_Notes</id>
		<title>Linux Tiny Notes</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Linux_Tiny_Notes"/>
				<updated>2007-07-14T12:44:21Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are some miscellaneous notes on using Linux tiny.  I wrote this up really quickly while I was&lt;br /&gt;
integrating Linux-tiny into a 2.6.11 kernel and doing some size testing.&lt;br /&gt;
&lt;br /&gt;
I'm providing these raw notes so that others might benefit from my experience.&lt;br /&gt;
&lt;br /&gt;
== Patch Notes ==&lt;br /&gt;
Here are some notes on individual linux-tiny sub-patches:&lt;br /&gt;
&lt;br /&gt;
== devlist.patch ==&lt;br /&gt;
* replaces device allocation code, don't know size impact, is NOT conditional&lt;br /&gt;
** maybe should add, but don't know - looks dangerous&lt;br /&gt;
&lt;br /&gt;
== core-small.patch - CONFIG_CORE_SMALL ==&lt;br /&gt;
Add CONFIG_CORE_SMALL Kconfig option&lt;br /&gt;
&lt;br /&gt;
=== CONFIG_CORE_SMALL patches ===&lt;br /&gt;
These are hash table and data structure static size adjustments&lt;br /&gt;
* pid-max.patch&lt;br /&gt;
* user-hash.patch&lt;br /&gt;
* futex-queues.patch&lt;br /&gt;
* tvec_bases.patch&lt;br /&gt;
* con_buf.patch&lt;br /&gt;
&lt;br /&gt;
== config-net-small.patch ==&lt;br /&gt;
Add CONFIG_NET_SMALL Kconfig option&lt;br /&gt;
&lt;br /&gt;
=== CONFIG_NET_SMALL patches ===&lt;br /&gt;
These tune some net-related data sizes&lt;br /&gt;
* cache_defer_hash.patch&lt;br /&gt;
* unix_socket_table.patch&lt;br /&gt;
* inet_protos.patch&lt;br /&gt;
* flow-cache-small.patch&lt;br /&gt;
&lt;br /&gt;
== Miscellanoues patches ==&lt;br /&gt;
* small-8023.patch - what does this do?&lt;br /&gt;
* tg3-oops.patch - what does this do?&lt;br /&gt;
&lt;br /&gt;
== *inline patches ==&lt;br /&gt;
* just make big routines not inline (unconditionally)&lt;br /&gt;
** Seems pretty safe to me.&lt;br /&gt;
&lt;br /&gt;
== 06-crypto-sleep.patch ==&lt;br /&gt;
*  looks scary - not immediately obvious from patch how it saves size.&lt;br /&gt;
&lt;br /&gt;
== # measurement bits ==&lt;br /&gt;
Looks like very harmless stuff to instrument kernel for mem debugging, and&lt;br /&gt;
give tools for parsing stuff.&lt;br /&gt;
&lt;br /&gt;
* kmalloc-accounting.patch - keep track of kmallocs&lt;br /&gt;
* audit-bootmem - print out all bootmem allocations&lt;br /&gt;
* bloat-o-meter.patch - provides bloat-o-meter program to compare two kernel binary images&lt;br /&gt;
**This script shows the size difference on a symbol-by-symbol basis between two binaries (sorted by the amount of difference)&lt;br /&gt;
&lt;br /&gt;
* deprecate-inline.patch - mark inlines as deprecated so compiler emits warnings&lt;br /&gt;
**Note that it provides count-inlines program to parse compiler output and report size of inlines.&lt;br /&gt;
* func-size.patch - use information about inlines to calculate function sizes (script is very similar to count-inlines program)&lt;br /&gt;
&lt;br /&gt;
== kill-printk.patch ==&lt;br /&gt;
* is single biggest reducer of kernel size, doesn't seem to work with serial console!!&lt;br /&gt;
** CONFIG_PRINTK&lt;br /&gt;
&lt;br /&gt;
== nobug.patch ==&lt;br /&gt;
Allow elimination of BUG code, which expands with file and line strings.&lt;br /&gt;
There are 1776 BUG() references in the 2.6.11 kernel. There are 1930 BUG_ON(xxx) references in the kernel.&lt;br /&gt;
* uses CONFIG_BUG&lt;br /&gt;
&lt;br /&gt;
== nopanic.patch ==&lt;br /&gt;
too dangerous to turn off panic, not used.&lt;br /&gt;
&lt;br /&gt;
== no-elf-core.patch ==&lt;br /&gt;
Allow disabling of ELF core dumps&lt;br /&gt;
* CONFIG_ELF_CORE&lt;br /&gt;
&lt;br /&gt;
== no-kcore.patch ==&lt;br /&gt;
Allow disabling of /proc/kcore, is x86-specific&lt;br /&gt;
* uses CONFIG_PROC_KCORE&lt;br /&gt;
&lt;br /&gt;
== no-aio.patch ==&lt;br /&gt;
Allow disabling of Posix async IO &lt;br /&gt;
* uses CONFIG_AIO&lt;br /&gt;
&lt;br /&gt;
== no-xattr.patch ==&lt;br /&gt;
Allow disabling of xattr syscalls&lt;br /&gt;
* uses CONFIG_XATTR&lt;br /&gt;
&lt;br /&gt;
== fslock.patch ==&lt;br /&gt;
Allow disabling of file locking syscalls&lt;br /&gt;
* uses CONFIG_FILE_LOCKING&lt;br /&gt;
&lt;br /&gt;
== direct-io-core.patch ==&lt;br /&gt;
Allow disabling of direct IO support&lt;br /&gt;
* uses CONFIG_DIRECTIO&lt;br /&gt;
&lt;br /&gt;
== Changes in number of in-kernel items ==&lt;br /&gt;
=== max-swapfiles.patch ===&lt;br /&gt;
Make number of swapfiles configurable (default=32) (shift=5 =&amp;gt; 32 files, shift=0 =&amp;gt; 1 file)&lt;br /&gt;
* uses CONFIG_MAX_SWAPFILES_SHIFT&lt;br /&gt;
&lt;br /&gt;
=== ldiscs.patch ===&lt;br /&gt;
Make number of tty line disciplines configurable (default=16)&lt;br /&gt;
* uses CONFIG_NR_LDISCS&lt;br /&gt;
&lt;br /&gt;
=== max_user_rt_prio.patch ===&lt;br /&gt;
Make number of schedule slots configurable (default=100)&lt;br /&gt;
* uses CONFIG_MAX_USER_RT_PRIO&lt;br /&gt;
&lt;br /&gt;
== change-hz.patch ==&lt;br /&gt;
It's not obvious how this changes the size of the kernel, and it appears to be x86 only&lt;br /&gt;
&lt;br /&gt;
= Notes on building and size reductions from various configs =&lt;br /&gt;
Notes on OSK builds:&lt;br /&gt;
* first, did 'quilt pop pm/deferred-resume-test.patch', then built to get vmlinux.baseline&lt;br /&gt;
&amp;lt;pre&amp;gt;	   text    data     bss     dec  filename&lt;br /&gt;
	2107356  333344  113680 2554380  vmlinux.baseline&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
* did 'quilt push -a', then built to get vmlinux.patched&lt;br /&gt;
&amp;lt;pre&amp;gt;	bloat-o-meter vmlinux.baseline vmlinux.patched = +2920/-8884&lt;br /&gt;
	   text    data     bss     dec  filename&lt;br /&gt;
	2101372  333888  113648 2548908  vmlinux.patched&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* configured all parameters at minimums, then built&lt;br /&gt;
** couldn't finish linking, and got the following errors:&lt;br /&gt;
*** undefined reference to add_preferred_console&lt;br /&gt;
*** undefined reference to generic_setxattr and generic_getxattr&lt;br /&gt;
*** undefined reference to printk&lt;br /&gt;
* configured printk and xattrs back on, then built to get vmlinux.try1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;	bloat-o-meter vmlinux.patches vmlinux.try1 = +4520/-350490&lt;br /&gt;
	   text    data     bss     dec  filename&lt;br /&gt;
	1734504   90616   89036 1914156  vmlinux.try1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Panic trying to mount rootfs via nfs&lt;br /&gt;
* tried to isolate nfs problem:&lt;br /&gt;
** configured with AIO, file locks and direct IO on - same problem&lt;br /&gt;
** configured with 5 swap files, 8 tty line disciplines, and 100 mat rt levels - same problem&lt;br /&gt;
** went back to working config - diffed and noticed NFS_FS was off&lt;br /&gt;
*** NFS_FS requires FILE_LOCKING&lt;br /&gt;
&lt;br /&gt;
== Table of Config options ==&lt;br /&gt;
Here is a table showing default value and value recommended for size savings. &lt;br /&gt;
&lt;br /&gt;
Note that I couldn't use CONFIG_PRINTK, CONFIG_XATTR or CONFIG_FILE_LOCKING in my setup.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#ffcc00;&amp;quot;|'''CONFIG option'''&lt;br /&gt;
! style=&amp;quot;background:#ffcc00;&amp;quot;|'''description'''&lt;br /&gt;
! style=&amp;quot;background:#ffcc00;&amp;quot;|'''default'''&lt;br /&gt;
! style=&amp;quot;background:#ffcc00;&amp;quot;|'''small'''&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_CORE_SMALL     ||tune some kernel data sizes                   ||N     ||Y&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_NET_SMALL      ||tune some net-related data sizes              ||N     ||Y&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_KMALLOC_ACCOUNTING||turn on kmalloc accounting                 ||N     ||Y - for measurement&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_AUDIT_BOOTMEM  ||print out all bootmem allocations             ||N     ||Y - for measurement&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_DEPRECATE_INLINES||cause compiler to emit info about inlines   ||N     ||Y - for measurement&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_PRINTK         ||allow disable of printk code and message data ||Y     ||N&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_BUG            ||allow elimination of BUG (and BUG_ON??) code  ||Y     ||N&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_ELF_CORE       ||allow disabling of ELF core dumps             ||Y     ||N&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_PROC_KCORE     ||allow disabling of /proc/kcore                ||Y     ||N&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_AIO            ||allow disabling of async IO syscalls          ||Y     ||N&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_XATTR          ||allow disabling of xattr syscalls             ||Y     ||N&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_FILE_LOCKING   ||allow disabling of file locking syscalls      ||Y     ||N&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_DIRECTIO       ||allow disabling of direct IO support          ||Y     ||N&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_MAX_SWAPFILES_SHIFT||number of swapfiles                       ||5     ||0&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_NR_LDISCS      ||number of tty line disciplines                ||16    ||2?&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_MAX_USER_RT_PRIO||number of RT priority levels (schedule slots)||100   ||5?&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ffcc00;&amp;quot;|Other config options  ||These are not in Linux-tiny, but help with size||default||small&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_KALLSYMS       ||load all symbols for debugging/kksymoops      ||Y     ||N&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_SHMEM          ||allow use of shmem filesystem                 ||Y     ||N&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Some results ==&lt;br /&gt;
&lt;br /&gt;
This was for a quick check of Linux-tiny on an OSK board.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#ffcc00;&amp;quot;|'''section'''&lt;br /&gt;
! style=&amp;quot;background:#ffcc00;&amp;quot;|'''vmlinux.baseline'''&lt;br /&gt;
! style=&amp;quot;background:#ffcc00;&amp;quot;|'''vmlinux.try3'''&lt;br /&gt;
! style=&amp;quot;background:#ffcc00;&amp;quot;|'''delta'''&lt;br /&gt;
! style=&amp;quot;background:#ffcc00;&amp;quot;|'''percent'''&lt;br /&gt;
|-&lt;br /&gt;
|| text|| 2107356|| 2057276||  -50080||-2%&lt;br /&gt;
|-&lt;br /&gt;
|| data||  333344||  100988|| -232356||-69%&lt;br /&gt;
|-&lt;br /&gt;
||  bss||  113680||   92784||  -20896||-18%&lt;br /&gt;
|-&lt;br /&gt;
|total|| 2554380|| 2251048|| -303332||-11%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Program for producing report (Download) ==&lt;br /&gt;
*[[Image:size-delta|size delta]]&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous test notes ==&lt;br /&gt;
* kernel would not link with CONFIG_PRINTK=n&lt;br /&gt;
** undefined reference to add_preferred_console&lt;br /&gt;
** undefined reference to printk&lt;br /&gt;
* kernel would not link with CONFIG_XATTR=n&lt;br /&gt;
** undefined reference to generic_setxattr and generic_getxattr&lt;br /&gt;
* kernel would not mount root fs (NFS) with CONFIG_FILE_LOCKING=n&lt;br /&gt;
&lt;br /&gt;
== Config changes ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[tbird@crest osk]$ diff config.baseline config.try3&lt;br /&gt;
--- config.baseline     2005-05-23 17:31:57.000000000 -0700&lt;br /&gt;
+++ config.try3 2005-05-23 17:31:40.000000000 -0700&lt;br /&gt;
@@ -1,7 +1,7 @@&lt;br /&gt;
 #&lt;br /&gt;
 # Automatically generated make config: don't edit&lt;br /&gt;
 # Linux kernel version: 2.6.11.10-alp&lt;br /&gt;
-# Mon May 23 16:49:43 2005&lt;br /&gt;
+# Mon May 23 17:27:14 2005&lt;br /&gt;
 #&lt;br /&gt;
 CONFIG_ARM=y&lt;br /&gt;
 CONFIG_MMU=y&lt;br /&gt;
@@ -34,34 +34,33 @@&lt;br /&gt;
 CONFIG_FASTBOOT=y&lt;br /&gt;
 # CONFIG_RTC_NO_SYNC is not set&lt;br /&gt;
 CONFIG_PRESET_LPJ=0&lt;br /&gt;
-# CONFIG_EMBEDDED is not set&lt;br /&gt;
-CONFIG_KALLSYMS=y&lt;br /&gt;
-CONFIG_KALLSYMS_ALL=y&lt;br /&gt;
-CONFIG_KALLSYMS_EXTRA_PASS=y&lt;br /&gt;
+CONFIG_EMBEDDED=y&lt;br /&gt;
+# CONFIG_KALLSYMS is not set&lt;br /&gt;
 # CONFIG_KMALLOC_ACCOUNTING is not set&lt;br /&gt;
 # CONFIG_AUDIT_BOOTMEM is not set&lt;br /&gt;
 CONFIG_PRINTK=y&lt;br /&gt;
-CONFIG_ELF_CORE=y&lt;br /&gt;
-# CONFIG_CORE_SMALL is not set&lt;br /&gt;
-# CONFIG_NET_SMALL is not set&lt;br /&gt;
-CONFIG_FUTEX=y&lt;br /&gt;
-CONFIG_EPOLL=y&lt;br /&gt;
-CONFIG_AIO=y&lt;br /&gt;
+# CONFIG_ELF_CORE is not set&lt;br /&gt;
+CONFIG_CORE_SMALL=y&lt;br /&gt;
+CONFIG_NET_SMALL=y&lt;br /&gt;
+# CONFIG_FUTEX is not set&lt;br /&gt;
+# CONFIG_EPOLL is not set&lt;br /&gt;
+# CONFIG_AIO is not set&lt;br /&gt;
 CONFIG_XATTR=y&lt;br /&gt;
 CONFIG_FILE_LOCKING=y&lt;br /&gt;
-CONFIG_DIRECTIO=y&lt;br /&gt;
+# CONFIG_DIRECTIO is not set&lt;br /&gt;
+# CONFIG_UID16 is not set&lt;br /&gt;
 # CONFIG_MEASURE_INLINES is not set&lt;br /&gt;
 CONFIG_CC_OPTIMIZE_FOR_SIZE=y&lt;br /&gt;
-CONFIG_SHMEM=y&lt;br /&gt;
+# CONFIG_SHMEM is not set&lt;br /&gt;
 CONFIG_CC_ALIGN_FUNCTIONS=0&lt;br /&gt;
 CONFIG_CC_ALIGN_LABELS=0&lt;br /&gt;
 CONFIG_CC_ALIGN_LOOPS=0&lt;br /&gt;
 CONFIG_CC_ALIGN_JUMPS=0&lt;br /&gt;
 # CONFIG_TINY_CFLAGS is not set&lt;br /&gt;
-CONFIG_MAX_SWAPFILES_SHIFT=5&lt;br /&gt;
-CONFIG_NR_LDISCS=16&lt;br /&gt;
-CONFIG_MAX_USER_RT_PRIO=100&lt;br /&gt;
-# CONFIG_TINY_SHMEM is not set&lt;br /&gt;
+CONFIG_MAX_SWAPFILES_SHIFT=0&lt;br /&gt;
+CONFIG_NR_LDISCS=2&lt;br /&gt;
+CONFIG_MAX_USER_RT_PRIO=5&lt;br /&gt;
+CONFIG_TINY_SHMEM=y&lt;br /&gt;
&lt;br /&gt;
 #&lt;br /&gt;
 # Loadable module support&lt;br /&gt;
@@ -435,6 +434,7 @@&lt;br /&gt;
 CONFIG_SERIO=y&lt;br /&gt;
 CONFIG_SERIO_SERPORT=y&lt;br /&gt;
 # CONFIG_SERIO_CT82C710 is not set&lt;br /&gt;
+# CONFIG_SERIO_LIBPS2 is not set&lt;br /&gt;
 # CONFIG_SERIO_RAW is not set&lt;br /&gt;
&lt;br /&gt;
 #&lt;br /&gt;
@@ -912,7 +912,7 @@&lt;br /&gt;
 # CONFIG_DEBUG_SPINLOCK is not set&lt;br /&gt;
 # CONFIG_DEBUG_KOBJECT is not set&lt;br /&gt;
 CONFIG_BUG=y&lt;br /&gt;
-CONFIG_DEBUG_BUGVERBOSE=y&lt;br /&gt;
+# CONFIG_DEBUG_BUGVERBOSE is not set&lt;br /&gt;
 CONFIG_DEBUG_INFO=y&lt;br /&gt;
 # CONFIG_DEBUG_FS is not set&lt;br /&gt;
 CONFIG_FRAME_POINTER=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Series file ==&lt;br /&gt;
Please note that I didn't try all the patches.  I only integrated and used 37 of the broken-out patches. You can see this from the series file I used, which follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
####################################&lt;br /&gt;
# start of linux tiny patches&lt;br /&gt;
# key:&lt;br /&gt;
# ## = patches Tim commented out&lt;br /&gt;
# # = patches commented out in original 2.6.11-tiny broken out series file&lt;br /&gt;
&lt;br /&gt;
##tiny/tiny-extraversion.patch&lt;br /&gt;
#&lt;br /&gt;
# stuff already in -mm&lt;br /&gt;
#&lt;br /&gt;
##tiny/kgdb-ga.patch&lt;br /&gt;
##tiny/kgdboe-netpoll.patch&lt;br /&gt;
tiny/use-funit-at-a-time.patch&lt;br /&gt;
##tiny/devlist.patch&lt;br /&gt;
#&lt;br /&gt;
# tiny stuff&lt;br /&gt;
#&lt;br /&gt;
# core&lt;br /&gt;
tiny/core-small.patch&lt;br /&gt;
tiny/pid-max.patch&lt;br /&gt;
tiny/user-hash.patch&lt;br /&gt;
tiny/futex-queues.patch&lt;br /&gt;
tiny/tvec_bases.patch&lt;br /&gt;
tiny/con_buf.patch&lt;br /&gt;
# net&lt;br /&gt;
tiny/config-net-small.patch&lt;br /&gt;
tiny/cache_defer_hash.patch&lt;br /&gt;
tiny/unix_socket_table.patch&lt;br /&gt;
tiny/inet_protos.patch&lt;br /&gt;
tiny/flow-cache-small.patch&lt;br /&gt;
#&lt;br /&gt;
# Unconditional bits&lt;br /&gt;
#&lt;br /&gt;
##tiny/small-8023.patch&lt;br /&gt;
##tiny/tg3-oops.patch&lt;br /&gt;
tiny/namei-inlines.patch&lt;br /&gt;
tiny/buffer-inlines.patch&lt;br /&gt;
tiny/fs_open-inlines.patch&lt;br /&gt;
tiny/inode-inlines.patch&lt;br /&gt;
tiny/ext2namei-inlines.patch&lt;br /&gt;
tiny/fslocks-inline.patch&lt;br /&gt;
##tiny/06-crypto-sleep.patch&lt;br /&gt;
#&lt;br /&gt;
# build options&lt;br /&gt;
#&lt;br /&gt;
tiny/tiny-cflags.patch&lt;br /&gt;
#&lt;br /&gt;
# measurement bits&lt;br /&gt;
#&lt;br /&gt;
tiny/kmalloc-accounting.patch&lt;br /&gt;
tiny/audit-bootmem.patch&lt;br /&gt;
tiny/bloat-o-meter.patch&lt;br /&gt;
tiny/deprecate-inline.patch&lt;br /&gt;
tiny/func-size.patch&lt;br /&gt;
#&lt;br /&gt;
# trimmed debugging support&lt;br /&gt;
#&lt;br /&gt;
##tiny/no-doublefault.patch&lt;br /&gt;
tiny/kill-printk.patch&lt;br /&gt;
##tiny/tiny-panic.patch&lt;br /&gt;
tiny/nobug.patch&lt;br /&gt;
##tiny/nopanic.patch&lt;br /&gt;
tiny/no-elf-core.patch&lt;br /&gt;
tiny/no-kcore.patch&lt;br /&gt;
#&lt;br /&gt;
# trimmed code&lt;br /&gt;
#&lt;br /&gt;
# TRB - 5/19 - haven't looked at these yet&lt;br /&gt;
##tiny/tiny-crc.patch&lt;br /&gt;
##tiny/threadinfo-ool.patch&lt;br /&gt;
##tiny/semaphore-inline.patch&lt;br /&gt;
##tiny/slob.patch&lt;br /&gt;
##tiny/slob-accounting.patch&lt;br /&gt;
##tiny/mempool-shrink.patch&lt;br /&gt;
#tiny/sysfs-backingstore.patch&lt;br /&gt;
##tiny/no-translations.patch&lt;br /&gt;
#tiny/tinyvt.patch&lt;br /&gt;
#&lt;br /&gt;
# trimmed apis&lt;br /&gt;
#&lt;br /&gt;
# TRB - 5/19 - haven't looked at ## ones yet&lt;br /&gt;
##tiny/ptrace.patch&lt;br /&gt;
##tiny/remove-vm86.patch&lt;br /&gt;
##tiny/sysenter.patch&lt;br /&gt;
tiny/no-aio.patch&lt;br /&gt;
tiny/no-xattr.patch&lt;br /&gt;
tiny/fslock.patch&lt;br /&gt;
tiny/direct-io-core.patch&lt;br /&gt;
tiny/uid16.patch&lt;br /&gt;
#tiny/posix-timers.patch&lt;br /&gt;
##tiny/ethtool.patch&lt;br /&gt;
##tiny/inetpeer.patch&lt;br /&gt;
##tiny/net-filter.patch&lt;br /&gt;
##tiny/dev_mcast.patch&lt;br /&gt;
#tiny/rtnetlink.patch&lt;br /&gt;
##tiny/igmp.patch&lt;br /&gt;
##tiny/binfmt-script.patch&lt;br /&gt;
##tiny/elf-no-aout.patch&lt;br /&gt;
#&lt;br /&gt;
# trimmed constants&lt;br /&gt;
#&lt;br /&gt;
tiny/max-swapfiles.patch&lt;br /&gt;
tiny/ldiscs.patch&lt;br /&gt;
tiny/max_user_rt_prio.patch&lt;br /&gt;
##tiny/change-hz.patch&lt;br /&gt;
#&lt;br /&gt;
# trimmed hw support&lt;br /&gt;
#&lt;br /&gt;
# TRB - 5/19 - haven't looked at ## ones yet&lt;br /&gt;
#tiny/small-nomodedb.patch&lt;br /&gt;
##tiny/ide-hwif.patch&lt;br /&gt;
##tiny/sbf.patch&lt;br /&gt;
##tiny/serial-pci.patch&lt;br /&gt;
##tiny/dmi_blacklist.patch&lt;br /&gt;
##tiny/pci-quirks.patch&lt;br /&gt;
##tiny/tsc.patch&lt;br /&gt;
##tiny/cpu-support.patch&lt;br /&gt;
##tiny/mtrr.patch&lt;br /&gt;
#&lt;br /&gt;
# inflate cleanups&lt;br /&gt;
#&lt;br /&gt;
# TRB - 5/19 - haven't looked at ## ones yet&lt;br /&gt;
##tiny/inflate-noinline.patch&lt;br /&gt;
##tiny/inflate-formatting.patch&lt;br /&gt;
##tiny/inflate-legacy.patch&lt;br /&gt;
##tiny/inflate-input.patch&lt;br /&gt;
##tiny/inflate-iostate.patch&lt;br /&gt;
##tiny/inflate-huft.patch&lt;br /&gt;
##tiny/inflate-crc.patch&lt;br /&gt;
##tiny/inflate-killglobals.patch&lt;br /&gt;
##tiny/inflate-initramfs.patch&lt;br /&gt;
##tiny/inflate-initrd.patch&lt;br /&gt;
##tiny/inflate-i386.patch&lt;br /&gt;
##tiny/inflate-arm.patch&lt;br /&gt;
##tiny/inflate-x86_64.patch&lt;br /&gt;
#&lt;br /&gt;
# unsorted&lt;br /&gt;
#&lt;br /&gt;
# TRB - 5/19 - haven't looked at ## ones yet&lt;br /&gt;
##tiny/inflate-roll-crc.patch&lt;br /&gt;
##tiny/netpoll-timeout.patch&lt;br /&gt;
##tiny/movsl-mask.patch&lt;br /&gt;
#tiny/rolled-md4.patch&lt;br /&gt;
#tiny/kill-ext3-md4.patch&lt;br /&gt;
&lt;br /&gt;
# end of linux tiny patches&lt;br /&gt;
####################################&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Linux Tiny]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Linux_Tiny_Test_Project</id>
		<title>Linux Tiny Test Project</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Linux_Tiny_Test_Project"/>
				<updated>2007-07-14T12:44:09Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
This is a project to implement an automated test framework for finding the &lt;br /&gt;
specific sub-patches or configuration options (in the total set of&lt;br /&gt;
Linux tiny sub-patches) which yeild the biggest size improvements.&lt;br /&gt;
&lt;br /&gt;
The main motivation for this is the (overwhelming) number of sub-patches&lt;br /&gt;
in the linux-tiny patchset.  In order to avoid doing a manual test of&lt;br /&gt;
each sub-patch, this framework was conceived as a method of isolate&lt;br /&gt;
the most important sub-patches of the patchset, in order to focus our&lt;br /&gt;
attention on those.&lt;br /&gt;
&lt;br /&gt;
The basic idea is that an automated script will run which will test&lt;br /&gt;
each configuration option provided by the Linux-tiny patchset.  For&lt;br /&gt;
each one, the script will measure the reduction in size of the &lt;br /&gt;
Linux kernel that results from turning that option on.  From this,&lt;br /&gt;
a list of the 'top-10' configuration options will be made.  Subsequently,&lt;br /&gt;
patches to support those top-10 configuration options will be ported and&lt;br /&gt;
analyzed on non-x86 processor platforms.&lt;br /&gt;
&lt;br /&gt;
This will give us a starting point to determine the most beneficial&lt;br /&gt;
parts of the linux-tiny patchset.&lt;br /&gt;
&lt;br /&gt;
[[Image:Alert.gif]] ''It is recognized that some parts of Linux-tiny are tools for&lt;br /&gt;
size evaluation.  Some parts affect dynamic memory size, rather than&lt;br /&gt;
the static size from the kernel compilation.  While the technique&lt;br /&gt;
described here is crude and ignores these parts, it's at least&lt;br /&gt;
a starting point for evaluating and analyzing Linux-tiny.''&lt;br /&gt;
&lt;br /&gt;
== Linux-tiny specific core member ==&lt;br /&gt;
* Classified by Name&lt;br /&gt;
** Chihiro Morita(Mitsubishi) / Step 3&lt;br /&gt;
** Richard Griffiths(intel) / Step 1 and 2&lt;br /&gt;
** M Ranga Swami Reddy(sankhya) / Step 1&lt;br /&gt;
** Keijiro Yano(Toshiba) / Step 3&lt;br /&gt;
** Masahiro Fukuda(NEC Electronics) / Step 2&lt;br /&gt;
** Shuduo Sang(Monta Vista) / Step 1 , 2 and 3&lt;br /&gt;
* Classified by Steps&lt;br /&gt;
**Step 1  Richard Griffiths(intel), M Ranga Swami Reddy(sankhya),ShuduoSang(MontaVista)&lt;br /&gt;
**Step 2  Richard Griffiths(intel), Masahiro Fukuda(NEC Electronics), ShuduoSang(MontaVista)&lt;br /&gt;
**Step 3  Chihiro Morita(Mitsubishi), Keijiro Yano(Toshiba), ShuduoSang(MontaVista)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step1 ==&lt;br /&gt;
Scope and objective&lt;br /&gt;
*Step1 is to develop automated testing (config--&amp;gt;build--&amp;gt;capture size) framework on PC/Linux platform.&lt;br /&gt;
Specification on the framework(tentative)&lt;br /&gt;
*given the following directory structure:&lt;br /&gt;
:&amp;lt;code&amp;gt;input/...&amp;lt;/code&amp;gt; = input directory = environment var INPUT_DIR&lt;br /&gt;
::has &amp;lt;code&amp;gt;baseline_config&amp;lt;/code&amp;gt; file&lt;br /&gt;
:&amp;lt;code&amp;gt;linux-2.6.8.1/...&amp;lt;/code&amp;gt; = kernel source directory = environment var KERN_SRC&lt;br /&gt;
:&amp;lt;code&amp;gt;results/...&amp;lt;/code&amp;gt; = output directory = environment var RESULT_DIR&lt;br /&gt;
*variable iteration:&lt;br /&gt;
:for CONFIG_VAR in `cat $(INPUT_DIR)/varlist`; do &amp;lt;loop body here&amp;gt; ; done&lt;br /&gt;
*Automated flow control for the following operation assuming individual CONFIG vars are given by Step2.&lt;br /&gt;
*#copy baseline_config to .config&lt;br /&gt;
*#*&amp;lt;code&amp;gt;cp ../$(INPUT_DIR)/baseline_config .config&amp;lt;/code&amp;gt;&lt;br /&gt;
*#turn on that variable in the .config file&lt;br /&gt;
*#*may need to strip current definition of CONFIG_FOO from .config file)&lt;br /&gt;
*#*&amp;lt;code&amp;gt;echo &amp;quot;CONFIG_FOO=y&amp;quot; &amp;gt;&amp;gt;.config&amp;lt;/code&amp;gt;&lt;br /&gt;
*#make sure configuration is consistent (turn on dependent configuration options)&lt;br /&gt;
*#*yes &amp;lt;code&amp;gt;''&amp;lt;/code&amp;gt; | make oldconfig&lt;br /&gt;
*#save a diff between .config and baseline_config&lt;br /&gt;
*#*&amp;lt;code&amp;gt;diff -u $RESULT_DIR/baseline_config .config  *#*&amp;gt;../$(RESULT_DIR)/$(CONFIG_VAR).config.patch &amp;lt;/code&amp;gt;&lt;br /&gt;
*#build kernel image&lt;br /&gt;
*#make vmlinux&lt;br /&gt;
*#save results&lt;br /&gt;
*#*echo $(CONFIG_VAR) &amp;gt;&amp;gt;../$(RESULT_DIR)/size_results&lt;br /&gt;
*#*size vmlinux &amp;gt;&amp;gt;../$(RESULT_DIR)/size_results&lt;br /&gt;
*#*(sub-system size measurements from linux-tiny presentation by Matt Mackall)&lt;br /&gt;
*#*&amp;lt;code&amp;gt;echo ==================================== &amp;gt;&amp;gt;../$(RESULT_DIR)/size_results&amp;lt;/code&amp;gt;&lt;br /&gt;
*#cleanup for next loop iteration, if necessary&lt;br /&gt;
*#*&amp;lt;code&amp;gt;make clean&amp;lt;/code&amp;gt;  (is this needed?)&lt;br /&gt;
*#repeat&lt;br /&gt;
&lt;br /&gt;
== Step2 ==&lt;br /&gt;
* pre-requisite (manual tasks):&lt;br /&gt;
#build a list of individual CONFIG vars to test&lt;br /&gt;
#create a baseline_config file&lt;br /&gt;
#kernel source for your platform&lt;br /&gt;
#provide environment to run automated script, consisting of:&lt;br /&gt;
*directories mentioned above: {{{input, results, &amp;lt;linux kernel source}}}&lt;br /&gt;
*environment variables for script: {{{INPUT_DIR, RESULT_DIR, KERN_SRC}}}&lt;br /&gt;
*environment variables for kernel building: {{{ARCH, CROSS_COMPILE, PATH}}}&lt;br /&gt;
#measure size of kernel compiled with baseline_config&lt;br /&gt;
#if the build is cleaned out between every compile, it may be desirable to have ccache installed - see http://ccache.samba.org/&lt;br /&gt;
* step2 script [[Image:tiny-step2script.tgz|tiny-step2script]]&lt;br /&gt;
* result {{pdf|linux-tiny-size-result.pdf|linux-tiny-size-result}}&lt;br /&gt;
&lt;br /&gt;
== Rationale ==&lt;br /&gt;
[This feature is important because ...]&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
=== Projects ===&lt;br /&gt;
* see the [[Linux Tiny]] page&lt;br /&gt;
&lt;br /&gt;
=== Specifications ===&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
=== Patch ===&lt;br /&gt;
*See [[Patch Archive]]&lt;br /&gt;
&lt;br /&gt;
=== Utility programs ===&lt;br /&gt;
[other programs, user-space, test, etc. related to this technology]&lt;br /&gt;
&lt;br /&gt;
[[Linux Tiny Kernel Size Script]]&lt;br /&gt;
&lt;br /&gt;
== How To Use ==&lt;br /&gt;
&lt;br /&gt;
== Sample Results ==&lt;br /&gt;
&lt;br /&gt;
[Examples of use with measurement of the effects.]&lt;br /&gt;
&lt;br /&gt;
== Case Study 1 ==&lt;br /&gt;
On RBTX4938 board (MIPS architecture):&lt;br /&gt;
*{{pdf|linux-tiny_size_mips.pdf|linux-tiny_size_mips}}&lt;br /&gt;
&lt;br /&gt;
[[Image:linux-tiny_size_mips.png]]&lt;br /&gt;
&lt;br /&gt;
== Case Study 2 ==&lt;br /&gt;
&lt;br /&gt;
= Future Work/Action Items =&lt;br /&gt;
Here is a list of things that could be worked on for this feature:  ??&lt;br /&gt;
&lt;br /&gt;
[[Category: Linux Tiny]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Products</id>
		<title>Products</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Products"/>
				<updated>2007-07-14T12:39:59Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: add Armadillo-2[1234]0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is a list of products which use embedded Linux.&lt;br /&gt;
&lt;br /&gt;
Please see the [[Talk:Products|talk page]] for information about how we want to populate this page.&lt;br /&gt;
&lt;br /&gt;
== Televisions ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+'''Televisions using Embedded Linux'''&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; | Product Name&lt;br /&gt;
! Company Name&lt;br /&gt;
! Year&amp;lt;BR&amp;gt;Introduced&lt;br /&gt;
! RAM&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Flash&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Processor&lt;br /&gt;
! style=&amp;quot;width:150px&amp;quot; | Source or Notes&lt;br /&gt;
! style=&amp;quot;width:250px&amp;quot; | Download Area&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mobile Phones ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+'''Mobile Phones using Embedded Linux'''&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; | Product Name&lt;br /&gt;
! Company Name&lt;br /&gt;
! Year&amp;lt;BR&amp;gt;Introduced&lt;br /&gt;
! RAM&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Flash&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Processor&lt;br /&gt;
! style=&amp;quot;width:150px&amp;quot; | Source or Notes&lt;br /&gt;
! style=&amp;quot;width:150px&amp;quot; | Download Area&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://www.accton.com/homepage/main3/product_range/23_CE/VM1188T.htm VM1188T]&lt;br /&gt;
| [http://www.accton.com Accton]&lt;br /&gt;
| 2006&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://www.cellon.com/products.jsp?id=18 C8000]&lt;br /&gt;
| [http://www.cellon.com/ Cellon]&lt;br /&gt;
| 2005&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://linuxdevices.com/news/NS8901223473.html 3G Linux Ref Design]&lt;br /&gt;
| [http://www.catt.ac.cn/english/ Datang]&lt;br /&gt;
| 2004&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://linuxdevices.com/news/NS4367004471.html E28 FMC phones]&lt;br /&gt;
| [http://www.e28.com/eng/ E28]&lt;br /&gt;
| 2006&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| OMAP 730&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://linuxdevices.com/news/NS5033717348.html E28 E2800]&lt;br /&gt;
| [http://www.e28.com/eng/ E28]&lt;br /&gt;
| 2003&lt;br /&gt;
| 32&lt;br /&gt;
| 32&lt;br /&gt;
| ARM9&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://linuxdevices.com/news/NS2220873893.html E28 E2800+]&lt;br /&gt;
| [http://www.e28.com/eng/ E28]&lt;br /&gt;
| 2004&lt;br /&gt;
| 64&lt;br /&gt;
| 32&lt;br /&gt;
| ARM9 300MHz&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://www.g-tekgroup.com/products/pwg_500.asp PWG500]&lt;br /&gt;
| [http://www.g-tekgroup.com/ G-Tek]&lt;br /&gt;
| 2006&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://linuxdevices.com/articles/AT2559540724.html G500i]&lt;br /&gt;
| Grundig&lt;br /&gt;
| 2005&lt;br /&gt;
| 52 - User&lt;br /&gt;
| X&lt;br /&gt;
| OMAP850&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://www.haier.com/products/product.asp?proID=4948 N60]&lt;br /&gt;
| [http://www.haier.com Haier]&lt;br /&gt;
| 2006&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://www.imcosys.com/English/Smartphone/smartphone.html GPS Phone]&lt;br /&gt;
| [http://www.imcosys.com/ ImCoSys]&lt;br /&gt;
| 2006&lt;br /&gt;
| 64&lt;br /&gt;
| 64&lt;br /&gt;
| OMAP 730&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| [http://www.imcosys.com/English/Download/download.html SDK &amp;amp; Flash Image]&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [X]&lt;br /&gt;
| [X]&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [X]&lt;br /&gt;
| [X]&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Settop Boxes ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+'''Settop Boxes using Embedded Linux'''&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; | Product Name&lt;br /&gt;
! Company Name&lt;br /&gt;
! Year&amp;lt;BR&amp;gt;Introduced&lt;br /&gt;
! RAM&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Flash&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Processor&lt;br /&gt;
! style=&amp;quot;width:150px&amp;quot; | Source or Notes&lt;br /&gt;
! style=&amp;quot;width:250px&amp;quot; | Download Area&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Digital Video Recorders ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+'''Digital Video Recorders using Embedded Linux'''&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; | Product Name&lt;br /&gt;
! Company Name&lt;br /&gt;
! Year&amp;lt;BR&amp;gt;Introduced&lt;br /&gt;
! RAM&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Flash&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Processor&lt;br /&gt;
! style=&amp;quot;width:150px&amp;quot; | Source or Notes&lt;br /&gt;
! style=&amp;quot;width:250px&amp;quot; | Download Area&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Game Consoles ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+'''Game Consoles using Embedded Linux'''&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; | Product Name&lt;br /&gt;
! Company Name&lt;br /&gt;
! Year&amp;lt;BR&amp;gt;Introduced&lt;br /&gt;
! RAM&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Flash&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Processor&lt;br /&gt;
! style=&amp;quot;width:150px&amp;quot; | Source or Notes&lt;br /&gt;
! style=&amp;quot;width:250px&amp;quot; | Download Area&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| PlayStation 2&lt;br /&gt;
| Sony Computer Entertainment&lt;br /&gt;
| 2000&lt;br /&gt;
| 32MB&lt;br /&gt;
| unknown&lt;br /&gt;
| MIPS 64-bit R5900&lt;br /&gt;
| [http://en.wikipedia.org/wiki/PlayStation_2 PS2 wikipedia page], [http://playstation2-linux.com/ Playstation-linux community site]&lt;br /&gt;
| [http://blackrhino.xrhino.com/main.php?page=home Black Rhino Linux distribution site]&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| PlayStation 3&lt;br /&gt;
| Sony Computer Entertainment&lt;br /&gt;
| 2006&lt;br /&gt;
| 512 MB&lt;br /&gt;
| unknown&lt;br /&gt;
| CELL broadband engine&lt;br /&gt;
| [http://en.wikipedia.org/wiki/PlayStation_3 PS3 wikipedia page]&lt;br /&gt;
| [http://en.wikipedia.org/wiki/Linux_for_PlayStation_3 wikipedia PS3-linux page]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Still and Video Cameras ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+'''Not Yet Categorized devices using Embedded Linux'''&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; | Product Name&lt;br /&gt;
! Company Name&lt;br /&gt;
! Year&amp;lt;BR&amp;gt;Introduced&lt;br /&gt;
! RAM&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Flash&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Processor&lt;br /&gt;
! style=&amp;quot;width:150px&amp;quot; | Source or Notes&lt;br /&gt;
! style=&amp;quot;width:250px&amp;quot; | Download Area&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| HDR-UX1, HDR-SR1 video cameras&lt;br /&gt;
| Sony&lt;br /&gt;
| 2006&lt;br /&gt;
| ??&lt;br /&gt;
| ??&lt;br /&gt;
| ARM9&lt;br /&gt;
| [http://www.sonystyle.com/webapp/wcs/stores/servlet/ProductDisplay?catalogId=10551&amp;amp;storeId=10151&amp;amp;langId=-1&amp;amp;productId=11035608 Sonystyle store listing]&lt;br /&gt;
| [http://www.sony.net/Products/Linux/Download/HDR-UX1_HDR-SR1.html Sony Linux Download area]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Not Yet Categorized ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+'''Not Yet Categorized devices using Embedded Linux'''&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; | Product Name&lt;br /&gt;
! Company Name&lt;br /&gt;
! Year&amp;lt;BR&amp;gt;Introduced&lt;br /&gt;
! RAM&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Flash&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Processor&lt;br /&gt;
! style=&amp;quot;width:150px&amp;quot; | Source&lt;br /&gt;
! style=&amp;quot;width:250px&amp;quot; | Download Area&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT4268573160.html HS210]&lt;br /&gt;
| [http://www.ericsson.com Ericsson]&lt;br /&gt;
| 2000&lt;br /&gt;
| 32&lt;br /&gt;
| 32&lt;br /&gt;
| StrongARM SA-1110&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Armadillo-500&lt;br /&gt;
| [http://www.atmark-techno.com/en Atmark Techno]&lt;br /&gt;
| 2007&lt;br /&gt;
| 64&lt;br /&gt;
| 16&lt;br /&gt;
| i.MX31&lt;br /&gt;
| [http://www.atmark-techno.com/products/armadillo/a500 Company Site]&lt;br /&gt;
| [http://armadillo.atmark-techno.com/filebrowser Armadillo Developer Site]&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Armadillo-300&lt;br /&gt;
| [http://www.atmark-techno.com/en Atmark Techno]&lt;br /&gt;
| 2006&lt;br /&gt;
| 64&lt;br /&gt;
| 8&lt;br /&gt;
| ARM9 200MHz&lt;br /&gt;
| [http://www.atmark-techno.com/en/products/armadillo/a300 Company Site]&lt;br /&gt;
| [http://armadillo.atmark-techno.com/filebrowser/armadillo-300 Armadillo Developer Site]&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Armadillo-9&lt;br /&gt;
| [http://www.atmark-techno.com/en Atmark Techno]&lt;br /&gt;
| 2004&lt;br /&gt;
| 64&lt;br /&gt;
| 8&lt;br /&gt;
| ARM9 200MHz&lt;br /&gt;
| [http://www.atmark-techno.com/en/products/armadillo/a9 Company Site]&lt;br /&gt;
| [http://armadillo.atmark-techno.com/filebrowser/armadillo-9 Armadillo Developer Site]&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Armadillo-240&lt;br /&gt;
| [http://www.atmark-techno.com/en Atmark Techno]&lt;br /&gt;
| 2006&lt;br /&gt;
| 64&lt;br /&gt;
| 8&lt;br /&gt;
| ARM9 200MHz&lt;br /&gt;
| [http://www.atmark-techno.com/en/products/armadillo/a240 Company Site]&lt;br /&gt;
| [http://armadillo.atmark-techno.com/filebrowser/armadillo-240 Armadillo Developer Site]&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Armadillo-230&lt;br /&gt;
| [http://www.atmark-techno.com/en Atmark Techno]&lt;br /&gt;
| 2006&lt;br /&gt;
| 32&lt;br /&gt;
| 8&lt;br /&gt;
| ARM9 200MHz&lt;br /&gt;
| [http://www.atmark-techno.com/en/products/armadillo/a230 Company Site]&lt;br /&gt;
| [http://armadillo.atmark-techno.com/filebrowser/armadillo-230 Armadillo Developer Site]&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Armadillo-220&lt;br /&gt;
| [http://www.atmark-techno.com/en Atmark Techno]&lt;br /&gt;
| 2006&lt;br /&gt;
| 32&lt;br /&gt;
| 8&lt;br /&gt;
| ARM9 200MHz&lt;br /&gt;
| [http://www.atmark-techno.com/en/products/armadillo/a220 Company Site]&lt;br /&gt;
| [http://armadillo.atmark-techno.com/filebrowser/armadillo-220 Armadillo Developer Site]&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Armadillo-210&lt;br /&gt;
| [http://www.atmark-techno.com/en Atmark Techno]&lt;br /&gt;
| 2005&lt;br /&gt;
| 32&lt;br /&gt;
| 4&lt;br /&gt;
| ARM9 200MHz&lt;br /&gt;
| [http://www.atmark-techno.com/en/products/armadillo/a210 Company Site]&lt;br /&gt;
| [http://armadillo.atmark-techno.com/filebrowser/armadillo-210 Armadillo Developer Site]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
--[[User:Bharatkapoor|Bharatkapoor]] 23:35, 5 December 2006 (EET)&lt;br /&gt;
&lt;br /&gt;
[[Category:Products]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Products</id>
		<title>Products</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Products"/>
				<updated>2007-07-14T12:35:37Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: add Armadillo-9&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is a list of products which use embedded Linux.&lt;br /&gt;
&lt;br /&gt;
Please see the [[Talk:Products|talk page]] for information about how we want to populate this page.&lt;br /&gt;
&lt;br /&gt;
== Televisions ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+'''Televisions using Embedded Linux'''&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; | Product Name&lt;br /&gt;
! Company Name&lt;br /&gt;
! Year&amp;lt;BR&amp;gt;Introduced&lt;br /&gt;
! RAM&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Flash&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Processor&lt;br /&gt;
! style=&amp;quot;width:150px&amp;quot; | Source or Notes&lt;br /&gt;
! style=&amp;quot;width:250px&amp;quot; | Download Area&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mobile Phones ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+'''Mobile Phones using Embedded Linux'''&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; | Product Name&lt;br /&gt;
! Company Name&lt;br /&gt;
! Year&amp;lt;BR&amp;gt;Introduced&lt;br /&gt;
! RAM&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Flash&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Processor&lt;br /&gt;
! style=&amp;quot;width:150px&amp;quot; | Source or Notes&lt;br /&gt;
! style=&amp;quot;width:150px&amp;quot; | Download Area&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://www.accton.com/homepage/main3/product_range/23_CE/VM1188T.htm VM1188T]&lt;br /&gt;
| [http://www.accton.com Accton]&lt;br /&gt;
| 2006&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://www.cellon.com/products.jsp?id=18 C8000]&lt;br /&gt;
| [http://www.cellon.com/ Cellon]&lt;br /&gt;
| 2005&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://linuxdevices.com/news/NS8901223473.html 3G Linux Ref Design]&lt;br /&gt;
| [http://www.catt.ac.cn/english/ Datang]&lt;br /&gt;
| 2004&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://linuxdevices.com/news/NS4367004471.html E28 FMC phones]&lt;br /&gt;
| [http://www.e28.com/eng/ E28]&lt;br /&gt;
| 2006&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| OMAP 730&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://linuxdevices.com/news/NS5033717348.html E28 E2800]&lt;br /&gt;
| [http://www.e28.com/eng/ E28]&lt;br /&gt;
| 2003&lt;br /&gt;
| 32&lt;br /&gt;
| 32&lt;br /&gt;
| ARM9&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://linuxdevices.com/news/NS2220873893.html E28 E2800+]&lt;br /&gt;
| [http://www.e28.com/eng/ E28]&lt;br /&gt;
| 2004&lt;br /&gt;
| 64&lt;br /&gt;
| 32&lt;br /&gt;
| ARM9 300MHz&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://www.g-tekgroup.com/products/pwg_500.asp PWG500]&lt;br /&gt;
| [http://www.g-tekgroup.com/ G-Tek]&lt;br /&gt;
| 2006&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://linuxdevices.com/articles/AT2559540724.html G500i]&lt;br /&gt;
| Grundig&lt;br /&gt;
| 2005&lt;br /&gt;
| 52 - User&lt;br /&gt;
| X&lt;br /&gt;
| OMAP850&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://www.haier.com/products/product.asp?proID=4948 N60]&lt;br /&gt;
| [http://www.haier.com Haier]&lt;br /&gt;
| 2006&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://www.imcosys.com/English/Smartphone/smartphone.html GPS Phone]&lt;br /&gt;
| [http://www.imcosys.com/ ImCoSys]&lt;br /&gt;
| 2006&lt;br /&gt;
| 64&lt;br /&gt;
| 64&lt;br /&gt;
| OMAP 730&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| [http://www.imcosys.com/English/Download/download.html SDK &amp;amp; Flash Image]&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [X]&lt;br /&gt;
| [X]&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [X]&lt;br /&gt;
| [X]&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Settop Boxes ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+'''Settop Boxes using Embedded Linux'''&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; | Product Name&lt;br /&gt;
! Company Name&lt;br /&gt;
! Year&amp;lt;BR&amp;gt;Introduced&lt;br /&gt;
! RAM&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Flash&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Processor&lt;br /&gt;
! style=&amp;quot;width:150px&amp;quot; | Source or Notes&lt;br /&gt;
! style=&amp;quot;width:250px&amp;quot; | Download Area&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Digital Video Recorders ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+'''Digital Video Recorders using Embedded Linux'''&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; | Product Name&lt;br /&gt;
! Company Name&lt;br /&gt;
! Year&amp;lt;BR&amp;gt;Introduced&lt;br /&gt;
! RAM&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Flash&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Processor&lt;br /&gt;
! style=&amp;quot;width:150px&amp;quot; | Source or Notes&lt;br /&gt;
! style=&amp;quot;width:250px&amp;quot; | Download Area&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Game Consoles ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+'''Game Consoles using Embedded Linux'''&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; | Product Name&lt;br /&gt;
! Company Name&lt;br /&gt;
! Year&amp;lt;BR&amp;gt;Introduced&lt;br /&gt;
! RAM&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Flash&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Processor&lt;br /&gt;
! style=&amp;quot;width:150px&amp;quot; | Source or Notes&lt;br /&gt;
! style=&amp;quot;width:250px&amp;quot; | Download Area&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| PlayStation 2&lt;br /&gt;
| Sony Computer Entertainment&lt;br /&gt;
| 2000&lt;br /&gt;
| 32MB&lt;br /&gt;
| unknown&lt;br /&gt;
| MIPS 64-bit R5900&lt;br /&gt;
| [http://en.wikipedia.org/wiki/PlayStation_2 PS2 wikipedia page], [http://playstation2-linux.com/ Playstation-linux community site]&lt;br /&gt;
| [http://blackrhino.xrhino.com/main.php?page=home Black Rhino Linux distribution site]&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| PlayStation 3&lt;br /&gt;
| Sony Computer Entertainment&lt;br /&gt;
| 2006&lt;br /&gt;
| 512 MB&lt;br /&gt;
| unknown&lt;br /&gt;
| CELL broadband engine&lt;br /&gt;
| [http://en.wikipedia.org/wiki/PlayStation_3 PS3 wikipedia page]&lt;br /&gt;
| [http://en.wikipedia.org/wiki/Linux_for_PlayStation_3 wikipedia PS3-linux page]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Still and Video Cameras ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+'''Not Yet Categorized devices using Embedded Linux'''&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; | Product Name&lt;br /&gt;
! Company Name&lt;br /&gt;
! Year&amp;lt;BR&amp;gt;Introduced&lt;br /&gt;
! RAM&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Flash&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Processor&lt;br /&gt;
! style=&amp;quot;width:150px&amp;quot; | Source or Notes&lt;br /&gt;
! style=&amp;quot;width:250px&amp;quot; | Download Area&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| HDR-UX1, HDR-SR1 video cameras&lt;br /&gt;
| Sony&lt;br /&gt;
| 2006&lt;br /&gt;
| ??&lt;br /&gt;
| ??&lt;br /&gt;
| ARM9&lt;br /&gt;
| [http://www.sonystyle.com/webapp/wcs/stores/servlet/ProductDisplay?catalogId=10551&amp;amp;storeId=10151&amp;amp;langId=-1&amp;amp;productId=11035608 Sonystyle store listing]&lt;br /&gt;
| [http://www.sony.net/Products/Linux/Download/HDR-UX1_HDR-SR1.html Sony Linux Download area]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Not Yet Categorized ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+'''Not Yet Categorized devices using Embedded Linux'''&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; | Product Name&lt;br /&gt;
! Company Name&lt;br /&gt;
! Year&amp;lt;BR&amp;gt;Introduced&lt;br /&gt;
! RAM&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Flash&amp;lt;BR&amp;gt;MB&lt;br /&gt;
! Processor&lt;br /&gt;
! style=&amp;quot;width:150px&amp;quot; | Source&lt;br /&gt;
! style=&amp;quot;width:250px&amp;quot; | Download Area&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT4268573160.html HS210]&lt;br /&gt;
| [http://www.ericsson.com Ericsson]&lt;br /&gt;
| 2000&lt;br /&gt;
| 32&lt;br /&gt;
| 32&lt;br /&gt;
| StrongARM SA-1110&lt;br /&gt;
| [http://www.linuxdevices.com/articles/AT9423084269.html LinuxDevices]&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Armadillo-500&lt;br /&gt;
| [http://www.atmark-techno.com/en Atmark Techno]&lt;br /&gt;
| 2007&lt;br /&gt;
| 64&lt;br /&gt;
| 16&lt;br /&gt;
| i.MX31&lt;br /&gt;
| [http://www.atmark-techno.com/products/armadillo/a500 Company Site]&lt;br /&gt;
| [http://armadillo.atmark-techno.com/filebrowser Armadillo Developer Site]&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Armadillo-300&lt;br /&gt;
| [http://www.atmark-techno.com/en Atmark Techno]&lt;br /&gt;
| 2006&lt;br /&gt;
| 64&lt;br /&gt;
| 8&lt;br /&gt;
| ARM9 200MHz&lt;br /&gt;
| [http://www.atmark-techno.com/en/products/armadillo/a300 Company Site]&lt;br /&gt;
| [http://armadillo.atmark-techno.com/filebrowser/armadillo-300 Armadillo Developer Site]&lt;br /&gt;
|-&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Armadillo-9&lt;br /&gt;
| [http://www.atmark-techno.com/en Atmark Techno]&lt;br /&gt;
| 2004&lt;br /&gt;
| 64&lt;br /&gt;
| 8&lt;br /&gt;
| ARM9 200MHz&lt;br /&gt;
| [http://www.atmark-techno.com/en/products/armadillo/a9 Company Site]&lt;br /&gt;
| [http://armadillo.atmark-techno.com/filebrowser/armadillo-9 Armadillo Developer Site]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
--[[User:Bharatkapoor|Bharatkapoor]] 23:35, 5 December 2006 (EET)&lt;br /&gt;
&lt;br /&gt;
[[Category:Products]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Security_Working_Group</id>
		<title>Security Working Group</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Security_Working_Group"/>
				<updated>2007-07-14T10:50:30Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Security Working Group ==&lt;br /&gt;
&lt;br /&gt;
This page will collect information about the activities of the security working group. &lt;br /&gt;
&lt;br /&gt;
== Security Working Group Charter ==&lt;br /&gt;
The security working group will work to improve the security capabilities of the Linux operating system to address the range of security requirements for consumer electronics devices.&lt;br /&gt;
&lt;br /&gt;
The working group will establish security requirements for consumer electronics devices and evaluate the suitability of candidate architectures and implementations to satisfy those requirements&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
* Data preservation despite kernel bugs&lt;br /&gt;
* Protection from malicious attacks&lt;br /&gt;
* Protection from stack overrun attacks&lt;br /&gt;
* Preservation of program code integrity&lt;br /&gt;
* Network security Interfaces to security hardware&lt;br /&gt;
* Investigate kernel interface to support security services&lt;br /&gt;
&lt;br /&gt;
== Organization ==&lt;br /&gt;
&lt;br /&gt;
The working group is chaired by Stephen Johnson. You can contact him directly at steve@research.panasonic.com. &lt;br /&gt;
&lt;br /&gt;
== Technical information ==&lt;br /&gt;
&lt;br /&gt;
For technical activities please see the [[Security Resources]] page.&lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Do_Printk</id>
		<title>Do Printk</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Do_Printk"/>
				<updated>2007-07-14T10:46:59Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
This page describes the &amp;quot;DO_PRINTK&amp;quot; feature.  This is a small tweak on the already-supported&lt;br /&gt;
printk configuration option in the kernel, which allows a developer to configure whether the &lt;br /&gt;
kernel will be compiled with or without printk messages.&lt;br /&gt;
&lt;br /&gt;
This feature allows you to turn off printk messages, while preserving the printk function&lt;br /&gt;
itself.  Then, you can turn on the printk messages from an individual file, or set of files.&lt;br /&gt;
This allows you greater granularity of control over the printk messages that are compiled&lt;br /&gt;
into the kernel.&lt;br /&gt;
&lt;br /&gt;
=== Rationale ===&lt;br /&gt;
Control over the printk messages in the kernel is important because the kernel messages&lt;br /&gt;
comprise a substantial portion of the overall kernel size (ranging from 5 to 10% of overall&lt;br /&gt;
kernel image size.)&lt;br /&gt;
&lt;br /&gt;
The kernel (as of this writing, version 2.6.17) already supports an option to turn off all&lt;br /&gt;
printk messages.  However, sometimes this is too much.  Sometimes, an embedded developer&lt;br /&gt;
may want to see a few printk messages from specific files or routines, while still not&lt;br /&gt;
enabling every single printk message in the kernel.  The DO_PRINTK feature provides&lt;br /&gt;
this fine-grained control.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
=== Patch ===&lt;br /&gt;
Patch for 2.6.17.4 is here: [[Media:do-printk.patch]] (3KB)&lt;br /&gt;
&lt;br /&gt;
== How To Use ==&lt;br /&gt;
To use DO_PRINTK, perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* Apply the patch&lt;br /&gt;
* Configure your kernel with CONFIG_PRINTK_FUNC=y and CONFIG_PRINTK=n&lt;br /&gt;
** These options appear under &amp;quot;General Setup&amp;quot;, &amp;quot;Configure standard kernel features (for small systems)&amp;quot; in 'make menuconfig' &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
    General Setup ---&amp;gt;&lt;br /&gt;
    [*] Configure standard kernel features (for small systems)  ---&amp;gt;&lt;br /&gt;
    [*] Enable printk function in the kernel&lt;br /&gt;
      [ ]  Enable support for printk messages&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
** With CONFIG_PRINTK=n, the compiler will by default omit (compile away) the calls to printk in all files&lt;br /&gt;
* Select the individual files you would like to still emit printk messages from&lt;br /&gt;
** Add &amp;quot;#define DO_PRINTK&amp;quot; to the files where you wish printk messages to be preserved&lt;br /&gt;
*** Make sure this definition appears '''before''' any &amp;lt;code&amp;gt;#include&amp;lt;/code&amp;gt; lines in the file.&lt;br /&gt;
** Alternatively, add -DDO_PRINTK to the compiler flags for files you wish to preserve printks in.&lt;br /&gt;
*** (see below for details)&lt;br /&gt;
* Compile the kernel&lt;br /&gt;
* (optionally) Examine the kernel size, and rejoice at your size savings&lt;br /&gt;
* Install the kernel&lt;br /&gt;
 &lt;br /&gt;
=== Ways to force printks to be preserved ===&lt;br /&gt;
There are actually several ways to get DO_PRINTK defined for a particular file:&lt;br /&gt;
&lt;br /&gt;
# add to the top of the file a line consisting of:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define DO_PRINTK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* this must appear before any &amp;lt;code&amp;gt;#include&amp;lt;/code&amp;gt; lines for the file&lt;br /&gt;
#* this definition will override the CONFIG_PRINTK=n directive, and allow printks in the file to work normally&lt;br /&gt;
# add an option to CFLAGS to the Makefile which controls the building of the file(s) you want to affect&lt;br /&gt;
#* To affect an individual file, add -DDO_PRINTK for the CFLAGS for that file:&lt;br /&gt;
#* For example, in the Makefile that compiles foo.c , add the line:&lt;br /&gt;
&amp;lt;pre&amp;gt;CFLAGS_foo.o += -DDO_PRINTK&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* To affect all the files in a directory, set EXTRA_CFLAGS, like so:&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;pre&amp;gt;EXTRA_CFLAGS += -DDO_PRINTK&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sample Results ==&lt;br /&gt;
&lt;br /&gt;
Examples of use with measurement of the effects.&lt;br /&gt;
&lt;br /&gt;
=== Case Study 1 ===&lt;br /&gt;
&lt;br /&gt;
On an x86 machine, using kernel.org 2.6.17.4 kernel, I got the results below, using the DO_PRINTK feature in combination with the PRINTK configuration option.&lt;br /&gt;
&lt;br /&gt;
Here is the key for the following tables:&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|  kernel                                    &lt;br /&gt;
|  CONFIG_PRINTK_FUNC &lt;br /&gt;
|  CONFIG_PRINTK   &lt;br /&gt;
|  DO_PRINTK used with files...&lt;br /&gt;
|  Notes&lt;br /&gt;
|- &lt;br /&gt;
|  func.yes-printk.yes-do.na/vmlinux         &lt;br /&gt;
|  yes               &lt;br /&gt;
|  yes             &lt;br /&gt;
|  not applicable             &lt;br /&gt;
|  This is a pretty regularly-configured kernel (used for baseline in first set of comparisons)&lt;br /&gt;
|- &lt;br /&gt;
|  func.yes-printk.no-do.none/vmlinux        &lt;br /&gt;
|  yes               &lt;br /&gt;
|  no              &lt;br /&gt;
|  none                       &lt;br /&gt;
|  Turn off all messages, but leave printk function in place&lt;br /&gt;
|- &lt;br /&gt;
|  func.no-printk.na-do.na/vmlinux           &lt;br /&gt;
|  no                &lt;br /&gt;
|  not applicable  &lt;br /&gt;
|  not applicable             &lt;br /&gt;
|  Turn off all messages and remove printk function&lt;br /&gt;
|- &lt;br /&gt;
|  func.yes-printk.no-do.init.star/vmlinux   &lt;br /&gt;
|  yes               &lt;br /&gt;
|  no              &lt;br /&gt;
|  init/*.c                   &lt;br /&gt;
|  Turn off most messages, preserve messages from files in 'init' source directory &lt;br /&gt;
|- &lt;br /&gt;
|  func.yes-printk.no-do.init.main.c/vmlinux &lt;br /&gt;
|  yes               &lt;br /&gt;
|  no              &lt;br /&gt;
|  init/main.c                &lt;br /&gt;
|  Turn off most messages, preserve messages from init/main.c &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Summary of image size results ====&lt;br /&gt;
Kernel sizes (sorted by decreasing size):&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|  text  &lt;br /&gt;
|  data  &lt;br /&gt;
|  bss &lt;br /&gt;
|  dec  &lt;br /&gt;
|  hex &lt;br /&gt;
|  filename                                    &lt;br /&gt;
|- &lt;br /&gt;
|  2621433  &lt;br /&gt;
|  564958  &lt;br /&gt;
|  137072 &lt;br /&gt;
|  3323463  &lt;br /&gt;
|  32b647 &lt;br /&gt;
|  func.yes-printk.yes-do.na/vmlinux  (a.k.a. baseline) &lt;br /&gt;
|- &lt;br /&gt;
|  2376317  &lt;br /&gt;
|  564958  &lt;br /&gt;
|  137072 &lt;br /&gt;
|  3078347  &lt;br /&gt;
|  2ef8cb &lt;br /&gt;
|  func.yes-printk.no-do.init.star/vmlinux     &lt;br /&gt;
|- &lt;br /&gt;
|  2375508  &lt;br /&gt;
|  564958  &lt;br /&gt;
|  137072 &lt;br /&gt;
|  3077538  &lt;br /&gt;
|  2ef5a2 &lt;br /&gt;
|  func.yes-printk.no-do.init.main.c/vmlinux   &lt;br /&gt;
|- &lt;br /&gt;
|  2374733  &lt;br /&gt;
|  564958  &lt;br /&gt;
|  137072 &lt;br /&gt;
|  3076763  &lt;br /&gt;
|  2ef29b &lt;br /&gt;
|  func.yes-printk.no-do.none/vmlinux (a.k.a. printk-off baseline) &lt;br /&gt;
|- &lt;br /&gt;
|  2371463  &lt;br /&gt;
|  564514  &lt;br /&gt;
|  120688 &lt;br /&gt;
|  3056665  &lt;br /&gt;
|  2ea419 &lt;br /&gt;
|  func.no-printk.na-do.na/vmlinux             &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Image size results compared to baseline ====&lt;br /&gt;
&lt;br /&gt;
The following tables show the image sizes of various kernels compared with a baseline&lt;br /&gt;
kernel.  The baseline kernel has a fairly normally i386 configuration, with&lt;br /&gt;
CONFIG_PRINTK_FUNC=y and CONFIG_PRINTK=y.  &lt;br /&gt;
&lt;br /&gt;
Size delta results:&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|  section&lt;br /&gt;
|  baseline/vmlinux &lt;br /&gt;
|  func.no-printk.na-do.na/vmlinux &lt;br /&gt;
|  change&lt;br /&gt;
|  percent&lt;br /&gt;
|- &lt;br /&gt;
|  text&lt;br /&gt;
|  2621433&lt;br /&gt;
|  2371463&lt;br /&gt;
|  -249970&lt;br /&gt;
|  -9%&lt;br /&gt;
|- &lt;br /&gt;
|  data&lt;br /&gt;
|  564958&lt;br /&gt;
|  564514&lt;br /&gt;
|  -444&lt;br /&gt;
|  0%&lt;br /&gt;
|- &lt;br /&gt;
|  bss&lt;br /&gt;
|  137072&lt;br /&gt;
|  120688&lt;br /&gt;
|  -16384&lt;br /&gt;
|  -11%&lt;br /&gt;
|- &lt;br /&gt;
|  total&lt;br /&gt;
|  3323463&lt;br /&gt;
|  3056665&lt;br /&gt;
|  -266798&lt;br /&gt;
| bgcolor=&amp;quot;#B0FFB0&amp;quot; | -8% *&lt;br /&gt;
|- &lt;br /&gt;
| bgcolor=&amp;quot;#B0FFB0&amp;quot; | * Full size reduction using printk elimination is 266K or 8% of vmlinux &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
Size delta results:&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|  section&lt;br /&gt;
|  baseline/vmlinux &lt;br /&gt;
|  func.yes-printk.no-do.init.main.c/vmlinux &lt;br /&gt;
|  change&lt;br /&gt;
|  percent&lt;br /&gt;
|- &lt;br /&gt;
|  text&lt;br /&gt;
|  2621433&lt;br /&gt;
|  2375508&lt;br /&gt;
|  -245925&lt;br /&gt;
|  -9%&lt;br /&gt;
|- &lt;br /&gt;
|  data&lt;br /&gt;
|  564958&lt;br /&gt;
|  564958&lt;br /&gt;
|  0&lt;br /&gt;
|  0%&lt;br /&gt;
|- &lt;br /&gt;
|  bss&lt;br /&gt;
|  137072&lt;br /&gt;
|  137072&lt;br /&gt;
|  0&lt;br /&gt;
|  0%&lt;br /&gt;
|- &lt;br /&gt;
|  total&lt;br /&gt;
|  3323463&lt;br /&gt;
|  3077538&lt;br /&gt;
|  -245925&lt;br /&gt;
|  -7%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
Size delta results:&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|  section&lt;br /&gt;
|  baseline/vmlinux &lt;br /&gt;
|  func.yes-printk.no-do.init.star/vmlinux &lt;br /&gt;
|  change&lt;br /&gt;
|  percent&lt;br /&gt;
|- &lt;br /&gt;
|  text&lt;br /&gt;
|  2621433&lt;br /&gt;
|  2376317&lt;br /&gt;
|  -245116&lt;br /&gt;
|  -9%&lt;br /&gt;
|- &lt;br /&gt;
|  data&lt;br /&gt;
|  564958&lt;br /&gt;
|  564958&lt;br /&gt;
|  0&lt;br /&gt;
|  0%&lt;br /&gt;
|- &lt;br /&gt;
|  bss&lt;br /&gt;
|  137072&lt;br /&gt;
|  137072&lt;br /&gt;
|  0&lt;br /&gt;
|  0%&lt;br /&gt;
|- &lt;br /&gt;
|  total&lt;br /&gt;
|  3323463&lt;br /&gt;
|  3078347&lt;br /&gt;
|  -245116&lt;br /&gt;
|  -7%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
Size delta results:&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|  section&lt;br /&gt;
|  baseline/vmlinux &lt;br /&gt;
|  func.yes-printk.no-do.none/vmlinux &lt;br /&gt;
|  change&lt;br /&gt;
|  percent&lt;br /&gt;
|- &lt;br /&gt;
|  text&lt;br /&gt;
|  2621433&lt;br /&gt;
|  2374733&lt;br /&gt;
|  -246700&lt;br /&gt;
|  -9%&lt;br /&gt;
|- &lt;br /&gt;
|  data&lt;br /&gt;
|  564958&lt;br /&gt;
|  564958&lt;br /&gt;
|  0&lt;br /&gt;
|  0%&lt;br /&gt;
|- &lt;br /&gt;
|  bss&lt;br /&gt;
|  137072&lt;br /&gt;
|  137072&lt;br /&gt;
|  0&lt;br /&gt;
|  0%&lt;br /&gt;
|- &lt;br /&gt;
|  total&lt;br /&gt;
|  3323463&lt;br /&gt;
|  3076763&lt;br /&gt;
|  -246700&lt;br /&gt;
|  -7%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Image size results compared to 'printk-off' baseline ====&lt;br /&gt;
The following tables show the image sizes of various kernels compared with a baseline&lt;br /&gt;
kernel.  The baseline kernel has 'printk-off' configuration, with&lt;br /&gt;
CONFIG_PRINTK_FUNC=y and CONFIG_PRINTK=n.  &lt;br /&gt;
&lt;br /&gt;
Size delta results:&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|  section&lt;br /&gt;
|  func.yes-printk.no-do.none/vmlinux &lt;br /&gt;
|  func.no-printk.na-do.na/vmlinux &lt;br /&gt;
|  change&lt;br /&gt;
|  percent&lt;br /&gt;
|- &lt;br /&gt;
|  text&lt;br /&gt;
|  2374733&lt;br /&gt;
|  2371463&lt;br /&gt;
| bgcolor=&amp;quot;#FFB0B0&amp;quot; | -3270 *&lt;br /&gt;
|  0%&lt;br /&gt;
|- &lt;br /&gt;
|  data&lt;br /&gt;
|  564958&lt;br /&gt;
|  564514&lt;br /&gt;
| bgcolor=&amp;quot;#FFB0B0&amp;quot; | -444 *&lt;br /&gt;
|  0%&lt;br /&gt;
|- &lt;br /&gt;
|  bss&lt;br /&gt;
|  137072&lt;br /&gt;
|  120688&lt;br /&gt;
| bgcolor=&amp;quot;#FFB0B0&amp;quot; | -16384 *&lt;br /&gt;
|  -11%&lt;br /&gt;
|- &lt;br /&gt;
|  total&lt;br /&gt;
|  3076763&lt;br /&gt;
|  3056665&lt;br /&gt;
| bgcolor=&amp;quot;#FFB0B0&amp;quot; | -20098 *&lt;br /&gt;
|  0%&lt;br /&gt;
|- &lt;br /&gt;
| bgcolor=&amp;quot;#FFB0B0&amp;quot; | * Size of printk function alone is about 3.6k in image and 20k in static memory&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
Size delta results:&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|  section&lt;br /&gt;
|  func.yes-printk.no-do.none/vmlinux &lt;br /&gt;
|  func.yes-printk.no-do.init.main.c/vmlinux &lt;br /&gt;
|  change&lt;br /&gt;
|  percent&lt;br /&gt;
|- &lt;br /&gt;
|  text&lt;br /&gt;
|  2374733&lt;br /&gt;
|  2375508&lt;br /&gt;
| bgcolor=&amp;quot;#FFFFB0&amp;quot; | 775 *&lt;br /&gt;
|  0%&lt;br /&gt;
|- &lt;br /&gt;
|  data&lt;br /&gt;
|  564958&lt;br /&gt;
|  564958&lt;br /&gt;
|  0&lt;br /&gt;
|  0%&lt;br /&gt;
|- &lt;br /&gt;
|  bss&lt;br /&gt;
|  137072&lt;br /&gt;
|  137072&lt;br /&gt;
|  0&lt;br /&gt;
|  0%&lt;br /&gt;
|- &lt;br /&gt;
|  total&lt;br /&gt;
|  3076763&lt;br /&gt;
|  3077538&lt;br /&gt;
|  775&lt;br /&gt;
|  0%&lt;br /&gt;
|- &lt;br /&gt;
| bgcolor=&amp;quot;#FFFFB0&amp;quot; | * Size of printk messages from a single C file (init/main.c in this case) was 775 bytes.  Obviously, this is heavily dependent on the number of printk calls and the size of the messages in that file. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
Size delta results:&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|  section&lt;br /&gt;
|  func.yes-printk.no-do.none/vmlinux &lt;br /&gt;
|  func.yes-printk.no-do.init.star/vmlinux &lt;br /&gt;
|  change&lt;br /&gt;
|  percent&lt;br /&gt;
|- &lt;br /&gt;
|  text&lt;br /&gt;
|  2374733&lt;br /&gt;
|  2376317&lt;br /&gt;
|  1584&lt;br /&gt;
|  0%&lt;br /&gt;
|- &lt;br /&gt;
|  data&lt;br /&gt;
|  564958&lt;br /&gt;
|  564958&lt;br /&gt;
|  0&lt;br /&gt;
|  0%&lt;br /&gt;
|- &lt;br /&gt;
|  bss&lt;br /&gt;
|  137072&lt;br /&gt;
|  137072&lt;br /&gt;
|  0&lt;br /&gt;
|  0%&lt;br /&gt;
|- &lt;br /&gt;
|  total&lt;br /&gt;
|  3076763&lt;br /&gt;
|  3078347&lt;br /&gt;
|  1584&lt;br /&gt;
|  0%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
Size delta results:&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|  section&lt;br /&gt;
|  func.yes-printk.no-do.none/vmlinux &lt;br /&gt;
|  func.yes-printk.yes-do.na/vmlinux &lt;br /&gt;
|  change&lt;br /&gt;
|  percent&lt;br /&gt;
|- &lt;br /&gt;
|  text&lt;br /&gt;
|  2374733&lt;br /&gt;
|  2621433&lt;br /&gt;
|  246700&lt;br /&gt;
|  10%&lt;br /&gt;
|- &lt;br /&gt;
|  data&lt;br /&gt;
|  564958&lt;br /&gt;
|  564958&lt;br /&gt;
|  0&lt;br /&gt;
|  0%&lt;br /&gt;
|- &lt;br /&gt;
|  bss&lt;br /&gt;
|  137072&lt;br /&gt;
|  137072&lt;br /&gt;
|  0&lt;br /&gt;
|  0%&lt;br /&gt;
|- &lt;br /&gt;
|  total&lt;br /&gt;
|  3076763&lt;br /&gt;
|  3323463&lt;br /&gt;
|  246700&lt;br /&gt;
|  8%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Case Study 2 ===&lt;br /&gt;
[need to post PPC and MIPS results here also]&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
* Status: tested on multiple platforms&lt;br /&gt;
* Architecture Support:&lt;br /&gt;
   (for each arch, one of: unknown, patches apply, compiles, runs, works, accepted)&lt;br /&gt;
** i386: works&lt;br /&gt;
** ARM: compiles, not run-tested yet&lt;br /&gt;
** PPC: works&lt;br /&gt;
** MIPS: works&lt;br /&gt;
** SH: unknown&lt;br /&gt;
&lt;br /&gt;
== Future Work/Action Items ==&lt;br /&gt;
Here is a list of things that could be worked on for this feature:&lt;br /&gt;
 - nothing right now&lt;br /&gt;
&lt;br /&gt;
[[Category:Printk]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Toolbox</id>
		<title>Toolbox</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Toolbox"/>
				<updated>2007-07-14T10:45:05Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page has information about developing Embedded Linux, including links to toolchains, debuggers and other development tools.  Also, it has links to pages with debugging tips.&lt;br /&gt;
&lt;br /&gt;
= Development Tools =&lt;br /&gt;
&lt;br /&gt;
== Toolchains ==&lt;br /&gt;
A tool chain is basically defined as a compiler, linker and C library (I.e. GCC, binutils &amp;amp; glibc/uClibc). Optionally, a tool chain may contain a debugger and C++ compiler. Quite often, the tool chain used for embedded devices is a cross toolchain: All the programs (like GCC) run on a PC but produce binary code to run on a different architecture (e.g. ARM). This is called cross compilation and is assumed to be what you want to do. It is possible to compile natively, running gcc on your target. However, unless you have an x86 target, you need a tool chain on your device, which eats up your flash and will also take much longer to compile things than your far more powerful PC. Before going down the route of obtaining a toolchain, it's worth checking to see if one is included with your target's Board Support Package (BSP), if you have one.&lt;br /&gt;
&lt;br /&gt;
=== Note about C libraries ===&lt;br /&gt;
Realistically, there are two options for the C Library: [http://en.wikipedia.org/wiki/Uclibc uClibc] &amp;amp; [http://en.wikipedia.org/wiki/Glibc glibc]. GLibc is what your PC is probably using. It's a bit of a brute, very powerful but a bit bloated. If flash space and memory footprint is an issue, using uClibc is likely to be the better option. However, the space advantages gained using uClibc are becoming less important as the price of memory &amp;amp; flash continues to drop. There are a few &amp;quot;gotcha&amp;quot;s when using uClibc. At time of writing(uClibc 0.9.28), locales are a bit ropey and the new Application Binary Interface (ABI) for ARM architectures (EABI) introduced with GCC 4.1.1 requires patches to be applied. This situation is likely to get better quickly as uClibc is under heavy development.&lt;br /&gt;
&lt;br /&gt;
=== Available Toolchains ===&lt;br /&gt;
Creating a cross development toolchain from sources can be a real pain. There are version dependency issues, patches required to make something work etc. etc. Check out the [http://kegel.com/crosstool/crosstool-0.43/buildlogs/ build matrix] for crosstool and look at all the red &amp;quot;failed&amp;quot; entries. Fortunately, there are several groups of people who have done all the hard work for you, producing scripts to create a toolchain or releases of binary toolchains.&lt;br /&gt;
&lt;br /&gt;
==== Buildroot ====&lt;br /&gt;
Buildroot is a complete build system based on the Linux Kernel configuration system and supports a wide range of target architectures. It generates root file system images ready to be written to flash. In addition to having a huge number of packages which can be compiled into the image, it also generates a cross toolchain to build those packages from source. Even if you don't want to use buildroot for your root filesystem, it is a useful tool for generating a toolchain. It should be noted however that it only supports uClibc. If you want to use glibc, you'll need something else. Link: [http://buildroot.uclibc.org/ Buildroot homepage]&lt;br /&gt;
&lt;br /&gt;
==== Scratchbox ====&lt;br /&gt;
Scratchbox provides toolchains for ARM and x86 target architectures (with PowerPC, MIPS and CRIS in experimental stages). Both uClibc &amp;amp; glibc are supported. Scratchbox simplifies cross compiling software which is built using GNU autotools - Code tests performed by configure are run in an emulator or even on the actual target. The toolchains scratchbox ships with are based on gcc 3.3 and as such are quite old, but stable and well tested. It should be pointed out that scripts to build custom toolchains are also provided with scratchbox allowing more recent gcc versions to be used. Link: [http://www.scratchbox.org/ Scratchbox]&lt;br /&gt;
&lt;br /&gt;
==== Crossdev (Gentoo) ====&lt;br /&gt;
Crossdev is specific to developers using Gentoo for their development PCs. It is a script which generates a cross toolchain using the portage build scripts for gcc etc. There are numerous architectures which are supported and both uClibc and glibc toolchains can be built. Link: [http://gentoo-wiki.com/HOWTO_Cross_Compile Gentoo Cross-Compile HOWTO]&lt;br /&gt;
&lt;br /&gt;
==== Crosstool ====&lt;br /&gt;
Crosstool is a script which downloads source tar-balls and builds simple gcc/glibc cross toolchains. There is a build matrix which shows which versions of gcc/glibc work together with various architectures ([http://kegel.com/crosstool/crosstool-0.43/buildlogs/ link]). The inclusion of this matrix makes it easy to select which versions of gcc/glibc should be used to generate a toolchain for a particular architecture. Link: [http://kegel.com/crosstool/ Crosstool]&lt;br /&gt;
&lt;br /&gt;
==== Code Sourcery ====&lt;br /&gt;
Code Sourcery is a commercial company which develops cross development tools for numerous architectures. Code Sourcery provides a &amp;quot;lite&amp;quot; version for their ARM, Coldfire &amp;amp; Power PC architecture development tools which is freely available. The toolchains are usually very up-to-date. Link: [http://www.codesourcery.com/ Code Sourcery]&lt;br /&gt;
&lt;br /&gt;
==== Crossdev/tsrpm (Timesys) ====&lt;br /&gt;
Crossdev is a project sponsored by Timesys, completely unrelated to the Gentoo cross toolchain generation system. The projects main focus is on a tool called tsrpm which is used to build cross development toolchains and generate cross-compiled software packages. Currently only x86 and select PowerPC architectures are supported. Link: [https://crossdev.timesys.com/ Crossdev]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 * FIXTHIS - need link for debuggers (DDD, gdb, kgdb, etc.)eclipse&lt;br /&gt;
 * FIXTHIS - need link for IDEs (eclipse, etc.)&lt;br /&gt;
&lt;br /&gt;
== Tracers and Profilers ==&lt;br /&gt;
* see [[Kernel Trace Systems]]&lt;br /&gt;
&lt;br /&gt;
== Benchmarks ==&lt;br /&gt;
* see [[Benchmark Programs]]&lt;br /&gt;
&lt;br /&gt;
== Source Management Tools ==&lt;br /&gt;
There are a number of tools for managing patches, which are useful for different tasks.&lt;br /&gt;
There's now a whole page devoted to this.  See [[Source Management Tools]]&lt;br /&gt;
&lt;br /&gt;
For some simple tools for managing patches, see [[Diff And Patch Tricks]]&lt;br /&gt;
&lt;br /&gt;
= Debugging Tips =&lt;br /&gt;
* See the [[Kernel Debugging Tips]] page&lt;br /&gt;
&lt;br /&gt;
[[Category:Development Tools]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/DHT-Walnut_Usefull_Projects</id>
		<title>DHT-Walnut Usefull Projects</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/DHT-Walnut_Usefull_Projects"/>
				<updated>2007-07-14T10:41:04Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.musicpd.org/ mpd] server&lt;br /&gt;
&lt;br /&gt;
Following in the footsteps of [http://devices.natetrue.com/musicap/ Nate True], I turned a DHT-Walnut + parts into a server to play my music collection. It grabs the data via nfs from an NSLU2, and is controlled via various [http://www.musicpd.org/clients.shtml mpc-like] clients from my desktops.&lt;br /&gt;
&lt;br /&gt;
[[Image:mpdserver.jpg]]&lt;br /&gt;
&lt;br /&gt;
After the above was running flawlessly for a day, somehow the usb audio device got fried. May have been a ground loop in the stereo. I had gotten used to having music playing. so I dug out an old PCI sound card (CS4280 based) and compiled the drivers and plugged it in. GIGO... seems like [[IBM4xx]] DMA support needs to be turned on in the kernel to make it work. Things are fine now with a few extra ground wires, just to be sure. &lt;br /&gt;
&lt;br /&gt;
[[[Media:config.gz]] 2.6.16-pre3 configuration]&lt;br /&gt;
&lt;br /&gt;
[[Image:mpdserver1.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DHT-Walnut]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/DHT-Walnut_U_Boot</id>
		<title>DHT-Walnut U Boot</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/DHT-Walnut_U_Boot"/>
				<updated>2007-07-14T10:41:00Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== U-Boot 1.1.4 ==&lt;br /&gt;
&lt;br /&gt;
Information on U-Boot can be found at [http://u-boot.sourceforge.net/]&lt;br /&gt;
&lt;br /&gt;
The source for U-Boot 1.1.4 is downloadable from ftp://ftp.denx.de/pub/u-boot/u-boot-1.1.4.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Here is a patch that makes it work on the DHT-Walnut: [http://www.farnsworth.org/linuxppc/u-boot-dht-walnut-df2.patch u-boot-dht-walnut-df2.patch].&lt;br /&gt;
&lt;br /&gt;
A binary that can be copied to the DHT-Walnut flash at 0xfffc0000 is available here: [http://www.farnsworth.org/linuxppc/u-boot-1.1.4-df2.bin u-boot-1.1.4-df2.bin]&lt;br /&gt;
&lt;br /&gt;
Changes since u-boot-1.1.4-df1.bin:&lt;br /&gt;
* A default ethaddr is now set: de:ad:be:ef:00:00&lt;br /&gt;
* The ethaddr can be changed as often as you like.  Use: ''setenv ethaddr be:ef:be:ef:be:ef ; saveenv''&lt;br /&gt;
* Only the first two memory banks of a DIMM are used.  This allows us to use (half of) double-sided DIMMS.&lt;br /&gt;
&lt;br /&gt;
Some things to note when changing from ppcboot to U-Boot:&lt;br /&gt;
* Default baudrate is 115200.&lt;br /&gt;
* Occupies flash addresses 0xfffc0000-0xffffffff  (256MB).&lt;br /&gt;
* Maintains two copies of environment data, primary copy at 0xfffb0000, backup copy at 0xfffa0000.&lt;br /&gt;
&lt;br /&gt;
== Installing U-Boot 1.1.4 on the DHT Walnut ==&lt;br /&gt;
* Boot the board and bring it to the ppcboot (or U-Boot) console prompt.&lt;br /&gt;
&lt;br /&gt;
* Download the new bootloader [[[Media:u-boot-1.1.4-df2.bin]] u-boot-1.1.4-df2.bin] into RAM:&lt;br /&gt;
** Using Kermit (you'll need a terminal emulator that supports the kermit file transfer mode):&lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; ''loadb 800000 115200''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;## Switch baudrate to 115200 bps and press ENTER ...&lt;br /&gt;
## Ready for binary (kermit) download ...&lt;br /&gt;
## Start Addr      = 0x00800000&lt;br /&gt;
## Switch baudrate to 9600 bps and press ESC ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** or tftpboot (requires a tftp server and setting the environment variables ethaddr, ipaddr and serverip)&lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; ''tftpboot 800000 u-boot-1.1.4-df2.bin''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Using ppc_4xx_eth0 device&lt;br /&gt;
TFTP from server 192.168.1.1; our IP address is 192.168.1.44&lt;br /&gt;
Filename 'u-boot.bin'.&lt;br /&gt;
Load address: 0x800000&lt;br /&gt;
Loading: ####################################################&lt;br /&gt;
done&lt;br /&gt;
Bytes transferred = 262144 (40000 hex)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Verify that the download was received correctly (crc should be 0xd3cef189):&lt;br /&gt;
&lt;br /&gt;
 =&amp;gt; ''crc 800000 40000''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;CRC32 for 00800000 ... 0083ffff ==&amp;gt; d3cef189&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Unprotect the last 4 sectors:&lt;br /&gt;
&lt;br /&gt;
 =&amp;gt; ''protect off fffc0000 ffffffff''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Un-Protected 4 sectors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''From this point on, do *not* power down the board, and type *very* carefully.&lt;br /&gt;
This is the critical section.'''&lt;br /&gt;
&lt;br /&gt;
* Erase the last four sectors:&lt;br /&gt;
&lt;br /&gt;
 =&amp;gt; ''erase fffc0000 ffffffff''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Erase Flash from 0xfffc0000 to 0xffffffff&lt;br /&gt;
Erasing sector fffc0000&lt;br /&gt;
.Erasing sector fffd0000&lt;br /&gt;
.Erasing sector fffe0000&lt;br /&gt;
.Erasing sector ffff0000&lt;br /&gt;
. done&lt;br /&gt;
Erased 4 sectors&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy the new bootloader into flash:&lt;br /&gt;
&lt;br /&gt;
 =&amp;gt; ''cp.b 800000 fffc0000 40000''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Copy to Flash... done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Verify that the image is correct (crc of u-boot-1.1.4-df2.bin is 0xd3cef189).&lt;br /&gt;
&lt;br /&gt;
 =&amp;gt; ''crc fffc0000 40000''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;CRC32 for fffc0000 ... ffffffff ==&amp;gt; d3cef189&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''End of critical section.  Congratulations'''&lt;br /&gt;
* Reset the board and see that the new version booted&lt;br /&gt;
*** Don't forget to change your baud rate to 115200&lt;br /&gt;
&lt;br /&gt;
 =&amp;gt; ''reset''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
U-Boot 1.1.4 (Feb 16 2006 - 17:15:06)&lt;br /&gt;
&lt;br /&gt;
CPU:   AMCC PowerPC 405GP Rev. E at 266.640 MHz (PLB=66, OPB=33, EBC=33 MHz)&lt;br /&gt;
       Internal PCI arbiter enabled, PCI async ext clock used&lt;br /&gt;
       16 kB I-Cache 8 kB D-Cache&lt;br /&gt;
Board: DHT Walnut&lt;br /&gt;
I2C:   ready&lt;br /&gt;
DRAM:  128 MB&lt;br /&gt;
FLASH: 512 kB&lt;br /&gt;
PCI:   Bus Dev VenId DevId Class Int&lt;br /&gt;
        00  04  105a  0d30  0101  1d&lt;br /&gt;
In:    serial&lt;br /&gt;
Out:   serial&lt;br /&gt;
Err:   serial&lt;br /&gt;
Net:   ppc_4xx_eth0&lt;br /&gt;
IDE:   Bus 0: OK&lt;br /&gt;
  Device 0: not available&lt;br /&gt;
  Device 1: not available&lt;br /&gt;
BEDBUG:ready&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will see a message like : *** Warning - bad CRC, using default environment&lt;br /&gt;
That's normal.  It will go away after you issue a ''saveenv'' command.&lt;br /&gt;
&lt;br /&gt;
This bootloader works well with the 2.6 Linux kernel available [wiki:DHT-Walnut2.6LinuxKernel here].&lt;br /&gt;
&lt;br /&gt;
Please let me know of any success or issues you encounter.  [mailto:dale-elinux@farnsworth.org dale-elinux@farnsworth.org]&lt;br /&gt;
&lt;br /&gt;
[[Category:DHT-Walnut]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/DHT-Walnut_Known_Working_Hardware</id>
		<title>DHT-Walnut Known Working Hardware</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/DHT-Walnut_Known_Working_Hardware"/>
				<updated>2007-07-14T10:40:48Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all hardware that is known to work (and not to work) with the DHT Walnut board. Some PCI cards that don't work, may have kernel/driver compilation issues. Here is a kernel that works with the drivers listed below.&lt;br /&gt;
&lt;br /&gt;
[[[Media:kernel]] 2.6.16-pre-3 kernel]&lt;br /&gt;
&lt;br /&gt;
== Known To Work ==&lt;br /&gt;
=== Video ===&lt;br /&gt;
* Matrox Millenium II (framebuffer console for kernel 2.4 &amp;amp; 2.6)&lt;br /&gt;
* ATI Rage XL (atyfb driver with mods for kernel 2.6.16-pre3)&lt;br /&gt;
=== USB Cards ===&lt;br /&gt;
* Best Buy 2-port USB2.0 card (NEC D720101GJ) -- NOTE:  Some kernel trees has no console mapping for the Walnut target, so while USB works, keyboard only works in X.&lt;br /&gt;
* [[Compu Geeks]] 2 &amp;amp; 5 port USB2.0 cards (NEC D720101GJ--(NOTE: Kernel 2.6.16-pre3 and later seem to handle the console mapping ok, and both usb keyboards &amp;amp; mice (some) work ok. )--&lt;br /&gt;
=== SCSI Adapters ===&lt;br /&gt;
* Adaptec 2930CU is recognized by the [[AIC7xxx]] driver&lt;br /&gt;
=== Sound Cards ===&lt;br /&gt;
* No Name CS4280/4297A PCI uses cs46xx driver, needs [[IBM4xx]] DMA support turned on in the kernel config.&lt;br /&gt;
* Creative Labs [[En Soniq]] es1370 uses ens1370 driver, needs [[IBM4xx]] DMA support turned on in the kernel config.&lt;br /&gt;
[[[Media:sound.tar.gz]] Drivers]&lt;br /&gt;
&lt;br /&gt;
=== IDE ===&lt;br /&gt;
* SYBA [[Compact Flash]] to IDE adapter (available [http://www.newegg.com/Product/Product.asp?Item=N82E16822998003 HERE])&lt;br /&gt;
=== USB Serial Adapters ===&lt;br /&gt;
* FTDI USB-Serial adapter chipset (ftdi_sio driver as module, kernel 2.6.15.4)&lt;br /&gt;
== Known Not To Work ==&lt;br /&gt;
=== Video ===&lt;br /&gt;
* most &amp;quot;standard&amp;quot; PCI video cards&lt;br /&gt;
* many of these cards need their hardware initialized by the BIOS which the DHT doesn't have.&lt;br /&gt;
=== Sound Cards ===&lt;br /&gt;
* Aureal Votrex2 using au88x0 driver, built from either the latest ALSA sources or from those in kernel 2.6.16. The driver loads and appears to initialize without errors, but causes a kernel oops  when an application tries to use it.&lt;br /&gt;
&lt;br /&gt;
[[Category:DHT-Walnut]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/DHT-Walnut_Jtag_Bootloader_Installation</id>
		<title>DHT-Walnut Jtag Bootloader Installation</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/DHT-Walnut_Jtag_Bootloader_Installation"/>
				<updated>2007-07-14T10:40:42Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- page was renamed from JtagBootloaderInstallation --&amp;gt;&lt;br /&gt;
== Recovering a bricked DHT Walnut board ==&lt;br /&gt;
&lt;br /&gt;
Using OCD Commander, a JTAG adapter, and [[GPSFan]]'s ram resident ppcboot, it is possible to reprogram the flash.  In short, use OCD Commander to turn on the sdram, download the ram targeted ppcboot, and install a new bootloader.&lt;br /&gt;
&lt;br /&gt;
You'll need a macro file [http://elinux.org/wiki/DHT-Walnut?action=AttachFile&amp;amp;do=get&amp;amp;target=recovery_config.mac recovery_config.mac] and the ppcboot image [[[Media:ppcboot_ram.s19]] ppcboot_ram.s19].&lt;br /&gt;
&lt;br /&gt;
There's also an experimental ram-resident version of u-boot-1.1.4 [[[Media:u-boot-ram.s19]] u-boot-ram.s19] that can be downloaded to 0x400000.  Source diffs against the current version from CVS, incorporating the patches from both [[GPSFan]] and dfarnsworth: [[[Media:u-boot-ram.patch]] u-boot-ram.patch].  Expect to see much more output at boot, as this version has debug output turned on.  (Other changes include setting the entry point in the linker script, output files renamed to u-boot.s19 and u-boot.elf, sdram config disabled, added debug info on code relocation, and a modified default environment.)&lt;br /&gt;
&lt;br /&gt;
* Start OCD Commander, connect to the board, reset, and halt.&lt;br /&gt;
&lt;br /&gt;
&amp;gt;''reset''&lt;br /&gt;
* The CPU should be ready to fetch the first instruction:&lt;br /&gt;
&lt;br /&gt;
&amp;gt;''cpu''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; PC: FFFFFFFC    CR: 00000000  MSR: 00000000  LR: 01FD327C&lt;br /&gt;
B  -524028&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Configure the system:&lt;br /&gt;
&lt;br /&gt;
&amp;gt;''recovery_config''  (Or hit the macro button and navigate to the recovery_config.mac file.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;endian big&lt;br /&gt;
BIG Endian set for WORD and DASM commands&lt;br /&gt;
&amp;gt;dcr 0x086 = 0x0400D038 ; 0x086: PLB0_BEAR R PLB Bus Error Address Register&lt;br /&gt;
&amp;gt;dcr 0x0A0 = 0x03000000 ; 0x0A0: POB0_BESR0 R/Clear PLB to OPB Bus Error Status Register 0&lt;br /&gt;
&amp;gt;dcr 0x0B1 = 0x0000102E ; 0x0B1: CPC0_CR0 R/W Chip Control Register 0&lt;br /&gt;
&amp;gt;dcr 0x010 = 0x30&lt;br /&gt;
&amp;gt;dcr 0x11 = 0x20880000  ; offset 0x30: SDRAM0_RTR R/W Refresh Timer Register&lt;br /&gt;
&amp;gt;dcr 0x010 = 0x40&lt;br /&gt;
&amp;gt;dcr 0x11 = 0x00046001  ; offset 0x40: SDRAM0_B0CR R/W Memory Bank 0 Configuration Register&lt;br /&gt;
&amp;gt;dcr 0x010 = 0x48&lt;br /&gt;
&amp;gt;dcr 0x11 = 0x01046001  ; offset 0x48: SDRAM0_B2CR R/W Memory Bank 2 Configuration Register&lt;br /&gt;
&amp;gt;dcr 0x010 = 0x80&lt;br /&gt;
&amp;gt;dcr 0x11 = 0x010A801A  ; offset 0x80: SDRAM0_TR R/W SDRAM Timing Register 1&lt;br /&gt;
&amp;gt;dcr 0x010 = 0x20&lt;br /&gt;
&amp;gt;dcr 0x11 = 0x80800000  ; offset 0x20: SDRAM0_CFG R/W Memory Controller Options 1&lt;br /&gt;
&amp;gt;dcr 0x012 = 0x00&lt;br /&gt;
&amp;gt;dcr 0x13 = 0xFFF18000  ; offset 0x00: EBC0_B0CR R/W Peripheral Bank 0 Configuration Register&lt;br /&gt;
&amp;gt;dcr 0x012 = 0x01&lt;br /&gt;
&amp;gt;dcr 0x13 = 0xF0018000  ; offset 0x01: EBC0_B1CR R/W Peripheral Bank 1 Configuration Register&lt;br /&gt;
&amp;gt;dcr 0x012 = 0x02&lt;br /&gt;
&amp;gt;dcr 0x13 = 0xF0118000  ; offset 0x02: EBC0_B2CR R/W Peripheral Bank 2 Configuration Register&lt;br /&gt;
&amp;gt;dcr 0x012 = 0x03&lt;br /&gt;
&amp;gt;dcr 0x13 = 0xF0218000  ; offset 0x03: EBC0_B3CR R/W Peripheral Bank 3 Configuration Register&lt;br /&gt;
&amp;gt;dcr 0x012 = 0x04&lt;br /&gt;
&amp;gt;dcr 0x13 = 0x400DA000  ; offset 0x04: EBC0_B4CR R/W Peripheral Bank 4 Configuration Register&lt;br /&gt;
&amp;gt;dcr 0x012 = 0x07&lt;br /&gt;
&amp;gt;dcr 0x13 = 0xF0318000  ; offset 0x07: EBC0_B7CR R/W Peripheral Bank 7 Configuration Register&lt;br /&gt;
&amp;gt;dcr 0x012 = 0x10&lt;br /&gt;
&amp;gt;dcr 0x13 = 0x9B015480  ; offset 0x10: EBC0_B0AP R/W Peripheral Bank 0 Access Parameters&lt;br /&gt;
&amp;gt;dcr 0x012 = 0x11&lt;br /&gt;
&amp;gt;dcr 0x13 = 0x02815480  ; offset 0x11: EBC0_B1AP R/W Peripheral Bank 1 Access Parameters&lt;br /&gt;
&amp;gt;dcr 0x012 = 0x12&lt;br /&gt;
&amp;gt;dcr 0x13 = 0x04815A80  ; offset 0x12: EBC0_B2AP R/W Peripheral Bank 2 Access Parameters&lt;br /&gt;
&amp;gt;dcr 0x012 = 0x13&lt;br /&gt;
&amp;gt;dcr 0x13 = 0x01815280  ; offset 0x13: EBC0_B3AP R/W Peripheral Bank 3 Access Parameters&lt;br /&gt;
&amp;gt;dcr 0x012 = 0x14&lt;br /&gt;
&amp;gt;dcr 0x13 = 0x03800480  ; offset 0x14: EBC0_B4AP R/W Peripheral Bank 4 Access Parameters&lt;br /&gt;
&amp;gt;dcr 0x012 = 0x17&lt;br /&gt;
&amp;gt;dcr 0x13 = 0x01815280  ; offset 0x17: EBC0_B7AP R/W Peripheral Bank 7 Access Parameters&lt;br /&gt;
&amp;gt;word 0xEF400000 = 0x00000080    ; 0xEF400000: PCIL0_PMM0LA R/W PMM 0 Local Address&lt;br /&gt;
&amp;gt;word 0xEF400004 = 0x010000E0    ; 0xEF400004: PCIL0_PMM0MA R/W PMM 0 Mask/Attribute&lt;br /&gt;
&amp;gt;word 0xEF400008 = 0x00000080    ; 0xEF400008: PCIL0_PMM0PCILA R/W PMM 0 PCI Low Address&lt;br /&gt;
&amp;gt;word 0xEF400014 = 0x010000E0    ; 0xEF400014: PCIL0_PMM1MA R/W PMM 1 Mask/Attribute&lt;br /&gt;
&amp;gt;spr 0x009 = 0x00000000    ; CTR Count Register 9 0x009 0x120 Read/Write&lt;br /&gt;
&amp;gt;spr 0x3FB = 0x80000001    ; ICCR Instruction Cache Cachability Register 1019 0x3FB 0x37F Read/Write&lt;br /&gt;
&amp;gt;spr 0x3DB = 0x0001568B    ; PIT Programmable Interval Timer 987 0x3DB 0x37E Read/Write&lt;br /&gt;
&amp;gt;spr 0x3B9 = 0x00000000    ; SGR Storage Guarded Register 953 0x3B9 0x33D Read/Write&lt;br /&gt;
&amp;gt;spr 0x3DA = 0x04400000    ; TCR Timer Control Register 986 0x3DA 0x35E Read/Write&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Download the ppcboot image to ram:&lt;br /&gt;
&lt;br /&gt;
&amp;gt;''down''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;E:\src\ppc\ppcboot\ppcboot_ram.s19: downloaded 163100 bytes in 0 minutes, 22.785 seconds&lt;br /&gt;
PC set to starting address 0x00400000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Jump to the startup (which isn't the same as the download address):&lt;br /&gt;
&amp;gt;''go 0x400100''&lt;br /&gt;
&lt;br /&gt;
At this point, you should have a running ppcboot v1.1.6.  Install a new flash resident bootloader using the bootloader update procedure [wiki:DHT-WalnutInstallingTheUpdatedBootloader Installing the Updated Bootloader]&lt;br /&gt;
&lt;br /&gt;
[[Category:DHT-Walnut]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/DHT-Walnut_Installing_The_Updated_Bootloader</id>
		<title>DHT-Walnut Installing The Updated Bootloader</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/DHT-Walnut_Installing_The_Updated_Bootloader"/>
				<updated>2007-07-14T10:40:35Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- page was renamed from InstallingTheUpdatedBootloader --&amp;gt;&lt;br /&gt;
== Installing a New Bootloader ==&lt;br /&gt;
Quick notes on updating from stock ppcboot v1.1.2 to [[GPSFan]]'s ppcboot v1.1.6.1&lt;br /&gt;
&lt;br /&gt;
* Boot the board and bring it to the ppcboot console prompt.&lt;br /&gt;
* Check current flash configuration:&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''flinfo''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Bank # 1: AMD AM29F040 (512 Kbit, uniform sector size)&lt;br /&gt;
  Size: 512 KB in 8 Sectors&lt;br /&gt;
  Sector Start Addresses:&lt;br /&gt;
    FFF80000  RO  FFF90000  RO  FFFA0000  RO  FFFB0000      FFFC0000&lt;br /&gt;
    FFFD0000      FFFE0000      FFFF0000     &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the bottom three sectors, containing the existing 1.1.2 bootloader, are protected.&lt;br /&gt;
We also want to protect the last sector, which contains the initial jump instruction, so:&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''protect on ffff0000 ffffffff''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Protected 1 sectors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Zero out a section of ram before the download:&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''mw.b 400000 0 30000''&lt;br /&gt;
* Now download the new bootloader [http://elinux.org/wiki/DHT-Walnut?action=AttachFile&amp;amp;do=get&amp;amp;target=ppcboot1.1.6.1.bin ppcboot1.1.6.1.bin] into ram (you'll need a terminal emulator that supports the kermit file transfer mode):&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''loadb 400000 115200''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;## Switch baudrate to 115200 bps and press ENTER ...&lt;br /&gt;
## Ready for binary (kermit) download ...&lt;br /&gt;
## Start Addr      = 0x00400000&lt;br /&gt;
## Switch baudrate to 9600 bps and press ESC ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Verify that the download was received correctly (crc should be 0x083fb0a3):&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''crc 400000 30000''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;CRC32 for 00400000 ... 0042ffff ==&amp;gt; 083fb0a3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Erase the three spare sectors, which we'll use to backup the 1.1.2 bootloader:&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''erase fffc0000 fffeffff''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Erase Flash from 0xfffc0000 to 0xfffeffff&lt;br /&gt;
Erasing sector fffc0000&lt;br /&gt;
.Erasing sector fffd0000&lt;br /&gt;
.Erasing sector fffe0000&lt;br /&gt;
. done&lt;br /&gt;
Erased 3 sectors&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (Optional: erase the 0xfffb0000 sector, which will be used for non-volatile environment storage.)&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''erase fffb0000 fffbffff''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Erase Flash from 0xfffb0000 to 0xfffbffff&lt;br /&gt;
Erasing sector fffb0000&lt;br /&gt;
. done&lt;br /&gt;
Erased 1 sectors&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Check that sectors 0xfffc0000 to 0xfffe0000 are erased, and sector 0xffff0000 is protected:&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''flinfo''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Bank # 1: AMD AM29F040 (512 Kbit, uniform sector size)&lt;br /&gt;
  Size: 512 KB in 8 Sectors&lt;br /&gt;
  Sector Start Addresses:&lt;br /&gt;
    FFF80000  RO  FFF90000  RO  FFFA0000  RO  FFFB0000 E    FFFC0000 E&lt;br /&gt;
    FFFD0000 E    FFFE0000 E    FFFF0000  RO &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Now we're ready to backup the 1.1.2 bootloader.  Copy three sectors from 0xfff80000 to 0xfffc0000:&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''cp.b fff80000 fffc0000 30000''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Copy to Flash... done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Easy enough, right?  Compare just to be sure it went ok:&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''cmp.b fff80000 fffc0000 30000''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Total of 196608 bytes were the same&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Now we're ready to modify the bootsectors.  We'll turn off protection, erase the three bottom sectors, and copy the new 1.1.6.1 bootloader from ram.&lt;br /&gt;
&lt;br /&gt;
* Unprotect the bottom three sectors:&lt;br /&gt;
=&amp;gt; ''protect off fff80000 fffaffff''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Un-Protected 3 sectors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''From this point on, do *not* power down the board.  This is the critical section.'''&lt;br /&gt;
* Erase the bottom three sectors with the original 1.1.2 bootloader:&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''erase fff80000 fffaffff''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Erase Flash from 0xfff80000 to 0xfffaffff&lt;br /&gt;
Erasing sector fff80000&lt;br /&gt;
.Erasing sector fff90000&lt;br /&gt;
.Erasing sector fffa0000&lt;br /&gt;
. done&lt;br /&gt;
Erased 3 sectors&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy the new bootloader into flash:&lt;br /&gt;
=&amp;gt; ''cp.b 400000 fff80000 30000''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Copy to Flash... done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Verify the copy:&lt;br /&gt;
=&amp;gt; ''cmp.b 400000 fff80000 30000''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Total of 196608 bytes were the same&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Verify that the image is correct (crc of ppcboot1.1.6.1.bin is 0x083fb0a3).&lt;br /&gt;
=&amp;gt; ''crc fff80000 30000''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;CRC32 for fff80000 ... fffaffff ==&amp;gt; 083fb0a3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''End of critical section.  Congratulations''''&lt;br /&gt;
&lt;br /&gt;
* We've finished modifying flash, so turn the write protection back on:&lt;br /&gt;
=&amp;gt; ''protect on fff80000 fffaffff''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Protected 3 sectors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Reset the board and see that the new version booted&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''reset''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PPCBoot 1.1.6 (Feb  5 2006 - 21:38:51)&lt;br /&gt;
&lt;br /&gt;
CPU:   IBM PowerPC 405GP Rev. E at 266.640 MHz (PLB=66, OPB=33, EBC=33 MHz)&lt;br /&gt;
           PCI async ext clock used, internal PCI arbiter enabled&lt;br /&gt;
           16 kB I-Cache 8 kB D-Cache&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To sum up, you'll end up executing these commands:&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''protect on ffff0000 ffffffff''&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''mw.b 400000 0 30000''&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''loadb 400000 115200''&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''crc 400000 30000''&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''erase fffc0000 fffeffff''&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''cp.b fff80000 fffc0000 30000''&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''cmp.b fff80000 fffc0000 30000''&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''protect off fff80000 fffaffff''&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''erase fff80000 fffaffff''&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''cp.b 400000 fff80000 30000''&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''cmp.b 400000 fff80000 30000''&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''crc fff80000 30000''&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; ''protect on fff80000 fffaffff''&lt;br /&gt;
&lt;br /&gt;
[[Category:DHT-Walnut]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/DHT-Walnut_GPIO</id>
		<title>DHT-Walnut GPIO</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/DHT-Walnut_GPIO"/>
				<updated>2007-07-14T10:40:00Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Warning ==&lt;br /&gt;
The GPIO registers are quite fickle things. Not only are they for the Media LED and J5 header, they also manage the [[IRQs]] and Peripheral Chip selects. Hitting a wrong bit in Linux will cause problems, kernel panics, total lockups, bad things, 'plagues of locusts', you get the idea. When using the [[PPC405 _gpio]] driver below(or the 405_ocp_gpio driver in DENX [[Linux PPC]] 2.4, use a mask of 0xFFC00000, that way you don't manage to hit something you really don't want to.&lt;br /&gt;
&lt;br /&gt;
== Playing with the Media LED ==&lt;br /&gt;
The Media LED on the DHT-Walnut is wired to the processor by the GPIO pins. However its behind a 74VHC14 Schmitt Inverter. So you have to send it low in order to turn it on. This top section only covers the Media LED and the U-Boot/[[PPCBoot]] ROM Monitor.&lt;br /&gt;
&lt;br /&gt;
=== Memory Locations ===&lt;br /&gt;
0xef600700 is the memory location of the GPIO output register. It's 4 bytes wide. It turns on and off the GPIO pins on the PPC405GP.&lt;br /&gt;
&lt;br /&gt;
0xef600704 is the location of the Tri-State register. Also 4 bytes wide. Controls if the GPIO pin is active when high.&lt;br /&gt;
&lt;br /&gt;
0xef600718 is the location of the Open Drain register. Also 4 bytes wide. Controls if the GPIO pin is an open drain or active output.&lt;br /&gt;
&lt;br /&gt;
0xef60071c is the location of the GPIO Input register. Also 4 bytes wide. The state of each pin is reflected in the correspondig value in this register. (synchronized with [[OPBClk]])&lt;br /&gt;
&lt;br /&gt;
=== Playing with the LED ===&lt;br /&gt;
By having all the bits in the Tri-State register high and the Output register all low, The pins are driven low. Because the Media LED is behind the inverter it glows when low. Setting it high in the Output register will turn it off.&lt;br /&gt;
&lt;br /&gt;
=== Example using U-Boot 1.1.4 ===&lt;br /&gt;
Setting the Tri-State Register to drive all usable [[GPIOs]].&lt;br /&gt;
&amp;lt;pre&amp;gt;=&amp;gt; nm 0xef600704&lt;br /&gt;
ef600704: 00000000 ? ffc00000&lt;br /&gt;
ef600704: ffc00000 ?&amp;lt;/pre&amp;gt;&lt;br /&gt;
The LED should be lit now as its pin is driven low.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turning the LED on and off with the Output Register&lt;br /&gt;
&amp;lt;pre&amp;gt;=&amp;gt; nm 0xef600700&lt;br /&gt;
ef600700: 00000000 ? 20000000  //LED should be off.&lt;br /&gt;
ef600700: 20000000 ? 00000000  //LED goes on.&lt;br /&gt;
ef600700: 00000000 ?&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The J5 Header ===&lt;br /&gt;
The J5 header located to the left of the RAM slot actually has 9 GPIO pins wired to it. [[GPIOs]] 1 to 9 to be exact. That header also has the Power and Media [[LEDs]] wired to it, so using the first 2 pins will look awkward if your bit-banging to say a SD/MMC card or LCD display. The J5 header has the following layout. As things are developed they will be added.&lt;br /&gt;
&lt;br /&gt;
[[[Media:gpio-J5.jpg]]]&lt;br /&gt;
=== Linux and the [[GPIOs]] ===&lt;br /&gt;
==== Module for 2.6.16 ====&lt;br /&gt;
Using a module from a Monta Vista 2.4 kernel, I did the slight editing so that it will compile with 2.6.16. I have made a patch file that can be applied to a vanilla 2.6.16(possibly any 2.6) kernel. You can also use Ken's 2.6.16-pre3 config on the [wiki:DHT-WalnutUsefullProjects DHT-WalnutUsefullProjects] page as a base config.&lt;br /&gt;
&lt;br /&gt;
Also included is a small bit of test code to show how to operate the gpio driver.&lt;br /&gt;
&lt;br /&gt;
Module patch and test code here: [[[Media:ppc405_gpio.tar.gz]]  ppc405_gpio.tar.gz] (Version 1) '''(Version 2 will be up once I clean some little problems out of the test code, possibly tonight)'''&lt;br /&gt;
&lt;br /&gt;
Any errors or things you want to see, don't hesitate to let me know. I'll be slowly adding little things to the module as helpers.&lt;br /&gt;
&lt;br /&gt;
Once you have your module installed and modprobe/insmoded, just run 'make' to built the test app. If you don't have a /dev/ entry yet just 'make dev' and it'll do it for you. [[Dev FS]] isn't supported yet, I'm working on that now.&lt;br /&gt;
&lt;br /&gt;
[[Category:DHT-Walnut]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/DHT-Walnut_Booting_From_Hdd</id>
		<title>DHT-Walnut Booting From Hdd</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/DHT-Walnut_Booting_From_Hdd"/>
				<updated>2007-07-14T10:39:54Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- page was renamed from BootingFromHdd --&amp;gt;&lt;br /&gt;
'''Work In Progress'''&lt;br /&gt;
&lt;br /&gt;
ppcboot provides only basic functionality to access Hard disks: you can print the partition table and read and write blocks (addressed by absolute block number), but there is no support to create new partitions or to read files from any type of filesystem. The current version of ppcboot-1.1.6 has a problem with writing to hdd, however, once the Linux kernel is loaded and the userland initialized, the hdd can be accesses normally through PIO and DMA modes. This may or may-not be fixed in the future.&lt;br /&gt;
&lt;br /&gt;
Update: disk write seems to work well in [wiki:DHT-Walnut-U-Boot U-Boot 1.1.4].  The information on this page applies to U-Boot as well as ppcboot.&lt;br /&gt;
&lt;br /&gt;
As usual, you can get some information about the available IDE commands using the help command in ppcboot:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;  =&amp;gt; help ide      &lt;br /&gt;
ide reset - reset IDE controller&lt;br /&gt;
ide info  - show available IDE devices&lt;br /&gt;
ide device [dev] - show or set current device&lt;br /&gt;
ide part [dev] - print partition table of one or all IDE devices&lt;br /&gt;
ide read  addr blk# cnt&lt;br /&gt;
ide write addr blk# cnt - read/write `cnt' blocks starting at block `blk#'&lt;br /&gt;
    to/from memory address `addr' &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You may create the needed partitions by tftpbooting Linux and an appropriate userland, then use fdisk to partition the disk. Then reboot back to ppcboot.&lt;br /&gt;
&lt;br /&gt;
ppcboot can be configured for DOS and [[Mac OS]]? type partition tables. Since ppcboot cannot read files from a filesystem you should create one (or more) small partitions (maybe 1 or 2 MB) if you want to boot from the &amp;quot;disk&amp;quot;. (The size of these partitions will depend on how large your kernel and userland images are)&lt;br /&gt;
&lt;br /&gt;
For example on a 128 MB [[Compact Flash]] card we could create the following partiton table under Linux:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; # fdisk /dev/hde&lt;br /&gt;
 hde: hde1 hde2 hde3 hde4&lt;br /&gt;
&lt;br /&gt;
Command (m for help): p&lt;br /&gt;
&lt;br /&gt;
Disk /dev/hde: 8 heads, 32 sectors, 978 cylinders&lt;br /&gt;
Units = cylinders of 256 * 512 bytes&lt;br /&gt;
&lt;br /&gt;
   Device Boot    Start       End    Blocks   Id  System&lt;br /&gt;
/dev/hde1             1        17      2160   83  Linux&lt;br /&gt;
/dev/hde2            18        34      2176   83  Linux&lt;br /&gt;
/dev/hde3            35       803     98432   83  Linux&lt;br /&gt;
/dev/hde4           804       978     22400   82  Linux swap&lt;br /&gt;
&lt;br /&gt;
Command (m for help): q&lt;br /&gt;
&lt;br /&gt;
# mkswap /dev/hde4&lt;br /&gt;
Setting up swapspace version 1, size = 22933504 bytes &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here we have two small boot partitions (/dev/hde1 and /dev/hde2, 2 MB each), one big partition to hold a filesystem (/dev/hde3, 99 MB), and a swap partition (/dev/hde4, 22 MB). We also initialized /dev/hde4 as swap space.&lt;br /&gt;
&lt;br /&gt;
ppcboot will recognize this partition table as follows:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; =&amp;gt; ide part&lt;br /&gt;
&lt;br /&gt;
Partition Map for IDE device 0  --   Partition Type: DOS&lt;br /&gt;
&lt;br /&gt;
Partition     Start Sector     Num Sectors     Type&lt;br /&gt;
    1                   32            4320      83&lt;br /&gt;
    2                 4352            4352      83&lt;br /&gt;
    3                 8704          196864      83&lt;br /&gt;
    4               205568           44800      82 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An easy way to load the Linux kernel into the first partition is to boot all the way back to Linux, mount an nfs partition to retrieve the kernel and userland images. then use dd to put them onto the hdd:&lt;br /&gt;
&lt;br /&gt;
* mount -t nfs -0 nolock xxx:yyy:zzz:aaa:/ /mnt&lt;br /&gt;
* cd /mnt&lt;br /&gt;
* cd /tftpboot&lt;br /&gt;
* dd if=kernel.img of=/dev/hde1&lt;br /&gt;
* dd if=userland.img of=/dev/hde2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To boot from a disk you can use the diskboot command:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; =&amp;gt; help diskboot&lt;br /&gt;
diskboot loadAddr dev:part &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The diskboot command expects a load address in RAM, and a combination of device and partition numbers, separated by a colon. It then reads the image from disk and stores it in memory. We can now boot it using the bootm command [to automatically boot the image define the ppcboot environment autostart with the value =yes=].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; =&amp;gt; diskboot 400000 0:1&lt;br /&gt;
ide_read dev 0 start 0, blocks 1 buffer at 3F9F8C0&lt;br /&gt;
## Valid DOS partition found ##&lt;br /&gt;
&lt;br /&gt;
Loading from IDE device 0, partition 1: Name: hda1&lt;br /&gt;
  Type: PPCBoot&lt;br /&gt;
First Block: 63,  # of blocks: 8001, Block Size: 512&lt;br /&gt;
ide_read dev 0 start 3F, blocks 1 buffer at 400000&lt;br /&gt;
   Image Name:   DHT Kernel&lt;br /&gt;
   Created:      2006-02-05  19:37:25 UTC&lt;br /&gt;
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)&lt;br /&gt;
   Data Size:    1085059 Bytes = 1059 kB = 1 MB&lt;br /&gt;
   Load Address: 00000000&lt;br /&gt;
   Entry Point:  00000000&lt;br /&gt;
ide_read dev 0 start 40, blocks 847 buffer at 400200&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; diskboot c00000 0:2&lt;br /&gt;
ide_read dev 0 start 0, blocks 1 buffer at 3F9F8C0&lt;br /&gt;
## Valid DOS partition found ##&lt;br /&gt;
&lt;br /&gt;
Loading from IDE device 0, partition 2: Name: hda2&lt;br /&gt;
  Type: PPCBoot&lt;br /&gt;
First Block: 8064,  # of blocks: 8064, Block Size: 512&lt;br /&gt;
ide_read dev 0 start 1F80, blocks 1 buffer at C00000&lt;br /&gt;
   Image Name:   Ramdisk Image&lt;br /&gt;
   Created:      2006-02-05  20:24:43 UTC&lt;br /&gt;
   Image Type:   PowerPC Linux RAMDisk Image (gzip compressed)&lt;br /&gt;
   Data Size:    765638 Bytes = 747 kB = 0 MB&lt;br /&gt;
   Load Address: 00000000&lt;br /&gt;
   Entry Point:  00000000&lt;br /&gt;
ide_read dev 0 start 1F81, blocks 5D7 buffer at C00200&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; bootm 400000 c00000&lt;br /&gt;
## Booting image at 00400000 ...&lt;br /&gt;
   Image Name:   DHT Kernel&lt;br /&gt;
   Created:      2006-02-05  19:37:25 UTC&lt;br /&gt;
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)&lt;br /&gt;
   Data Size:    1085059 Bytes = 1059 kB = 1 MB&lt;br /&gt;
   Load Address: 00000000&lt;br /&gt;
   Entry Point:  00000000&lt;br /&gt;
   Verifying Checksum ... OK&lt;br /&gt;
   Uncompressing Kernel Image ... OK&lt;br /&gt;
## Loading RAMDisk Image at 00c00000 ...&lt;br /&gt;
   Image Name:   Ramdisk Image&lt;br /&gt;
   Created:      2006-02-05  20:24:43 UTC&lt;br /&gt;
   Image Type:   PowerPC Linux RAMDisk Image (gzip compressed)&lt;br /&gt;
   Data Size:    765638 Bytes = 747 kB = 0 MB&lt;br /&gt;
   Load Address: 00000000&lt;br /&gt;
   Entry Point:  00000000&lt;br /&gt;
   Verifying Checksum ... OK&lt;br /&gt;
... &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; =&amp;gt; setenv bootargs root=/dev/ram0&lt;br /&gt;
=&amp;gt; setenv autostart yes&lt;br /&gt;
=&amp;gt; disk 400000 0:1 \;\ diskboot c00000 0:2 \;\ bootm 400000 c00000&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; bootd&lt;br /&gt;
ide_read dev 0 start 0, blocks 1 buffer at 3F9F518&lt;br /&gt;
## Valid DOS partition found ##&lt;br /&gt;
&lt;br /&gt;
Loading from IDE device 0, partition 1: Name: hda1&lt;br /&gt;
  Type: PPCBoot&lt;br /&gt;
First Block: 63,  # of blocks: 8001, Block Size: 512&lt;br /&gt;
ide_read dev 0 start 3F, blocks 1 buffer at 400000&lt;br /&gt;
   Image Name:   DHT Kernel&lt;br /&gt;
   Created:      2006-02-05  19:37:25 UTC&lt;br /&gt;
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)&lt;br /&gt;
   Data Size:    1085059 Bytes = 1059 kB = 1 MB&lt;br /&gt;
   Load Address: 00000000&lt;br /&gt;
   Entry Point:  00000000&lt;br /&gt;
ide_read dev 0 start 40, blocks 847 buffer at 400200&lt;br /&gt;
ide_read dev 0 start 0, blocks 1 buffer at 3F9F518&lt;br /&gt;
## Valid DOS partition found ##&lt;br /&gt;
&lt;br /&gt;
Loading from IDE device 0, partition 2: Name: hda2&lt;br /&gt;
  Type: PPCBoot&lt;br /&gt;
First Block: 8064,  # of blocks: 8064, Block Size: 512&lt;br /&gt;
ide_read dev 0 start 1F80, blocks 1 buffer at C00000&lt;br /&gt;
   Image Name:   Ramdisk Image&lt;br /&gt;
   Created:      2006-02-05  20:24:43 UTC&lt;br /&gt;
   Image Type:   PowerPC Linux RAMDisk Image (gzip compressed)&lt;br /&gt;
   Data Size:    765638 Bytes = 747 kB = 0 MB&lt;br /&gt;
   Load Address: 00000000&lt;br /&gt;
   Entry Point:  00000000&lt;br /&gt;
ide_read dev 0 start 1F81, blocks 5D7 buffer at C00200&lt;br /&gt;
## Booting image at 00400000 ...&lt;br /&gt;
   Image Name:   DHT Kernel&lt;br /&gt;
   Created:      2006-02-05  19:37:25 UTC&lt;br /&gt;
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)&lt;br /&gt;
   Data Size:    1085059 Bytes = 1059 kB = 1 MB&lt;br /&gt;
   Load Address: 00000000&lt;br /&gt;
   Entry Point:  00000000&lt;br /&gt;
   Verifying Checksum ... OK&lt;br /&gt;
   Uncompressing Kernel Image ... OK&lt;br /&gt;
## Loading RAMDisk Image at 00c00000 ...&lt;br /&gt;
   Image Name:   Ramdisk Image&lt;br /&gt;
   Created:      2006-02-05  20:24:43 UTC&lt;br /&gt;
   Image Type:   PowerPC Linux RAMDisk Image (gzip compressed)&lt;br /&gt;
   Data Size:    765638 Bytes = 747 kB = 0 MB&lt;br /&gt;
   Load Address: 00000000&lt;br /&gt;
   Entry Point:  00000000&lt;br /&gt;
   Verifying Checksum ... OK&lt;br /&gt;
   Loading Ramdisk to 03ee4000, end 03f9eec6 ... OK&lt;br /&gt;
id mach(): done&lt;br /&gt;
MMU:enter&lt;br /&gt;
MMU:hw init&lt;br /&gt;
MMU:mapin&lt;br /&gt;
MMU:mapin_ram done&lt;br /&gt;
MMU:setio&lt;br /&gt;
MMU:exit&lt;br /&gt;
setup_arch: enter&lt;br /&gt;
setup_arch: bootmem&lt;br /&gt;
setup_arch: ocp_early_init&lt;br /&gt;
arch: exit&lt;br /&gt;
arch: exit 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Welcome to the DHS local environment.&lt;br /&gt;
&lt;br /&gt;
uclibc login:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The above procedure puts the userland image from the second partition into a ramdisk. If you would like the userland to be an ext2/3/rieser/xfs partition on the hdd do the following:&lt;br /&gt;
&lt;br /&gt;
** put the kernel and small userland onto the first and second partitions as above&lt;br /&gt;
** boot as above from the hdd to the ramdisk userland&lt;br /&gt;
** bring up the network and NFS mount a remote filesystem&lt;br /&gt;
** mkfs.ext2/3/reiser/xfs /def/hde3&lt;br /&gt;
** mount the resulting partition somewhere convienent&lt;br /&gt;
** populate that partition with the appropriate files&lt;br /&gt;
** sync, and unmount all mounted filesystems&lt;br /&gt;
** reboot to ppcboot&lt;br /&gt;
** change bootargs to &amp;quot;bootargs root=/def/hde3&amp;quot;&lt;br /&gt;
** bootd to try out the new root, if it works ok, reboot back to ppcboot, change the bootargs again and saveenv&lt;br /&gt;
** bootd and enjoy your new system.&lt;br /&gt;
&lt;br /&gt;
This page was modified from and mostly lifted from:&lt;br /&gt;
[http://www.denx.de/wiki/view/DULG/UsingPCCard]&lt;br /&gt;
&lt;br /&gt;
[[Category:DHT-Walnut]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/DHT-Walnut_Boot_Via_Tftp</id>
		<title>DHT-Walnut Boot Via Tftp</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/DHT-Walnut_Boot_Via_Tftp"/>
				<updated>2007-07-14T10:39:44Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It's relative easy if:&lt;br /&gt;
* You have a tftp server setup&lt;br /&gt;
* Have a kernel Image and Userland Image in the /tftpboot/ directory on your server&lt;br /&gt;
&lt;br /&gt;
** =&amp;gt;tftpboot 400000 [[Working Kernel Image]]&lt;br /&gt;
** &amp;lt; kernel image loads &amp;gt;&lt;br /&gt;
** =&amp;gt;tftpboot c00000 [[Working Userland Image]]&lt;br /&gt;
** &amp;lt; userland image loads &amp;gt;&lt;br /&gt;
** bootm 400000 c00000&lt;br /&gt;
** &amp;lt; kernel boots and loads userland image &amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:DHT-Walnut]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/DHT-Walnut_Add_J10</id>
		<title>DHT-Walnut Add J10</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/DHT-Walnut_Add_J10"/>
				<updated>2007-07-14T10:39:36Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- page was renamed from AddJ10 --&amp;gt;&lt;br /&gt;
Just suck or wick the solder out of the holes and solder it in...&lt;br /&gt;
&lt;br /&gt;
[[Image:j10a.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DHT-Walnut]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	<entry>
		<id>http://elinux.org/DHT-Walnut_2.6_Linux_Kernel</id>
		<title>DHT-Walnut 2.6 Linux Kernel</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/DHT-Walnut_2.6_Linux_Kernel"/>
				<updated>2007-07-14T10:39:27Z</updated>
		
		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Linux Kernel v2.6.15 ==&lt;br /&gt;
&lt;br /&gt;
Here is a 2.6.15 kernel, built from unmodified source code found [http://kernel.org/pub/linux/kernel/v2.6/patch-2.6.15.4.bz2 here].&lt;br /&gt;
* [http://www.farnsworth.org/linuxppc/uImage.2.6.15.4-walnut-df4 uImage.2.6.15.4-walnut-df4]&lt;br /&gt;
* [http://www.farnsworth.org/linuxppc/config.2.6.15.4-walnut-df4 config.2.6.15.4-walnut-df4]&lt;br /&gt;
&lt;br /&gt;
(this latest image adds CONFIG_MATH_EMULATION, CONFIG_I2C, CONFIG_CRAMFS, CONFIG_DEVFS_FS, and CONFIG_PACKET)&lt;br /&gt;
&lt;br /&gt;
This kernel works with ppcboot 1.1.6 or the U-Boot bootloader available [wiki:DHT-Walnut-U-Boot here].&lt;br /&gt;
&lt;br /&gt;
The following things have been tested and all seem to work:&lt;br /&gt;
* 10/100 Ethernet port&lt;br /&gt;
* IDE with drives on /dev/hda and /dev/hdb&lt;br /&gt;
* Firewire with the PCI card sold with the DHT-Walnut.  I tested a Firewire DVD-writer.&lt;br /&gt;
* USB with an PCI OHCI adapter&lt;br /&gt;
* Console on Matrox video FB using a USB keyboard&lt;br /&gt;
* NFS root filesystem&lt;br /&gt;
* standalone system with root=/dev/hda1 and matrox fb console with usb keyboard.&lt;br /&gt;
&lt;br /&gt;
All the on-board hardware seems to be supported by the vanilla 2.6.15 kernel.&lt;br /&gt;
&lt;br /&gt;
Note: To set the Linux console baud rate to 115200, add &amp;quot;console=ttyS0,115200&amp;quot; to the U-Boot bootargs environment variable.&lt;br /&gt;
&lt;br /&gt;
Please let me know of any success or issues you encounter. [mailto:dale-elinux@farnsworth.org dale-elinux@farnsworth.org].&lt;br /&gt;
&lt;br /&gt;
[[Category:DHT-Walnut]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>	</entry>

	</feed>