<?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=DavidCary&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=DavidCary&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://elinux.org/Special:Contributions/DavidCary"/>
		<updated>2013-06-19T12:32:27Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.22alpha</generator>

	<entry>
		<id>http://elinux.org/Talk:Main_Page</id>
		<title>Talk:Main Page</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Talk:Main_Page"/>
				<updated>2009-04-21T04:50:53Z</updated>
		
		<summary type="html">&lt;p&gt;DavidCary: logo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Before we get started here, did we want to decide on a layout/skin.  I like the [http://www.thinkwiki.org/ ThinkWiki] skin.  I believe rt-linux is using a variant of this skin as well, or so said Ted.  Or do we want to get more original?&lt;br /&gt;
&lt;br /&gt;
--[[User:Wmat|Wmat]] 05:16, 13 October 2006 (EEST)&lt;br /&gt;
&lt;br /&gt;
:First, how do I indent?  I tried to find out using the Editing help link, but that page is empty. OK, so we need a buglist or feature request list also.  OK, now to my actual comment:  I think this is a good start.  I'd say the site should be organized using portals.  The main page should consist almost entirely of links to portals.  Here is a list of possible portals: kernel, tools, distributions, hardware, companies, distributions, middleware, technologies --[[User:Tbird|Tbird]] 21:48, 13 October 2006 (EEST)&lt;br /&gt;
&lt;br /&gt;
::I guess you figured out the indenting using colons to indicate number of tab stops.  I agree with the portal idea, assuming you define a portal as a cluster of like content.  The Main page layout is geared toward exactly that.  I don't want to simply recreate the Table of Contents from the CELF Public Wiki though, I'd like to try to organize things more logically.  I'll begin putting out the idea for 3 Main Content Clusters:&lt;br /&gt;
:::# Development Resources&lt;br /&gt;
:::# Industry Information&lt;br /&gt;
:::# Research &amp;amp; Development&lt;br /&gt;
::I'll add subcategories directly to the Main page --[[User:Wmat|Wmat]] 22:10, 13 October 2006 (EEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
OK, I put up a basic structure for the main page based off of thinkwiki.orgs layout.  I'll add in potential real headings soon for discussion.&lt;br /&gt;
&lt;br /&gt;
--[[User:Wmat|Wmat]] 06:32, 13 October 2006 (EEST)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== pages that imho can be deleted ==&lt;br /&gt;
 [all removed as of Nov 17, 2008]&lt;br /&gt;
&lt;br /&gt;
== logo ==&lt;br /&gt;
&lt;br /&gt;
What happened to the elinux logo?&lt;br /&gt;
I thought the logo was once a [http://wikiindex.org/images/3/34/Final_penguin_only_color.jpg Tux penguin with headphones holding electronics with blinking lights].&lt;br /&gt;
But today the elinux.org site logo ( http://elinux.org/upload/tux113x135.gif ) appears to be the original [http://en.wikipedia.org/wiki/Tux original unmodified Tux penguin].&lt;br /&gt;
--[[User:DavidCary|DavidCary]] 04:50, 21 April 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>DavidCary</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Bootup_time</id>
		<title>Bootup time</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Bootup_time"/>
				<updated>2009-04-21T04:46:33Z</updated>
		
		<summary type="html">&lt;p&gt;DavidCary: #REDIRECT Boot Time&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Boot Time]]&lt;/div&gt;</summary>
		<author><name>DavidCary</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Bootup_Time_Spec</id>
		<title>Bootup Time Spec</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Bootup_Time_Spec"/>
				<updated>2009-04-21T04:46:07Z</updated>
		
		<summary type="html">&lt;p&gt;DavidCary: linkify&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the specification of [[bootup time]] technologies and features, of the&lt;br /&gt;
[[Bootup Time Working Group]] of the CE Linux Forum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#noprint&lt;br /&gt;
[[TableOfContents3]]&lt;br /&gt;
#noprint&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The specifications of the Bootup Time Working Group deals with reducing the time required&lt;br /&gt;
to boot a Linux kernel in a consumer electronics products.  &lt;br /&gt;
The purpose of this specification is to define requested or required features of Linux&lt;br /&gt;
which improve the bootup time of the system for such products.  Also, this specification&lt;br /&gt;
mentions features which, over the long term, will assist developers in measuring and&lt;br /&gt;
enhancing the bootup time for their systems.&lt;br /&gt;
&lt;br /&gt;
While suspend, resume, and shutdown times&lt;br /&gt;
are also within the scope of the Bootup Time Working Group, this version 1.0 of specifications&lt;br /&gt;
does not include any technology in support of reductions in these areas.  Reductions in&lt;br /&gt;
those areas will be covered in future versions of the specification.&lt;br /&gt;
&lt;br /&gt;
== Rationale ==&lt;br /&gt;
Users expect to be able to use their CE products very soon after turning them on.  Linux, as configured and used&lt;br /&gt;
for desktop and server systems, exhibits long bootup times - on the order of 30 seconds to&lt;br /&gt;
a few minutes. The technologies mentioned here (while small in number, in this first release), represent &lt;br /&gt;
a few mechanisms which can be used to reduce bootup time.&lt;br /&gt;
&lt;br /&gt;
== Terminology ==&lt;br /&gt;
The following table presents terms used in this specification related to bootup time&lt;br /&gt;
technology and features.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Work In Progress ==&lt;br /&gt;
The following item is currently being worked on, but is not ready for publication yet.&lt;br /&gt;
&lt;br /&gt;
[[Category:Boot Time]]&lt;/div&gt;</summary>
		<author><name>DavidCary</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Boot_Time</id>
		<title>Boot Time</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Boot_Time"/>
				<updated>2009-04-21T04:41:53Z</updated>
		
		<summary type="html">&lt;p&gt;DavidCary: link to otherwise-orphan pages ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Boot Time includes topics such as measurement, analysis, human factors, initialization techniques, and reduction techniques.&lt;br /&gt;
The time that a product takes to boot directly impacts the first perception an end user has of the product.&lt;br /&gt;
Regardless of how attractive or well designed a consumer electronic device is, the time required to move the device from off to an interactive, usable state is critical to obtaining a positive end user experience.  Turning on a device is Use Case #1.&lt;br /&gt;
&lt;br /&gt;
Booting up a device involves numerous steps and sequences of events.  In order to use consistent terminology, the&lt;br /&gt;
[[Bootup Time Working Group]] of the CE Linux Forum came up with a list of terms and their widely accepted definitions&lt;br /&gt;
for this functionality area.  See the following page for these terms:&lt;br /&gt;
* [[Boot-up Time Definition Of Terms]]&lt;br /&gt;
&lt;br /&gt;
== Technology/Project Pages ==&lt;br /&gt;
The following are individual pages with information about various technologies relevant to improving Boot Time for Linux.  Some of these describe local patches available on this site.  Others point to projects or patches maintained elsewhere.&lt;br /&gt;
&lt;br /&gt;
=== Measuring Boot-up Time ===&lt;br /&gt;
*[[Printk Times]] - simple system for showing timing information for each printk.&lt;br /&gt;
*[[Kernel Function Trace]] - system for reporting function timings in the kernel.&lt;br /&gt;
*[[Linux Trace Toolkit]] - system for reporting timing data for certain kernel and process events.&lt;br /&gt;
*[http://oprofile.sourceforge.net/news/ Oprofile] - system-wide profiler for Linux.&lt;br /&gt;
*[[Bootchart]] - a tool for performance analysis and visualization of the Linux boot process. Resource utilization and  process information are collected during the user-space portion of the boot process and are later rendered in a PNG, SVG or EPS encoded chart.&lt;br /&gt;
*[http://people.redhat.com/berrange/systemtap/bootprobe/ Bootprobe] - a set of [[System Tap]] scripts for analyzing system bootup.&lt;br /&gt;
* and, let us not forget: &amp;quot;cat /proc/uptime&amp;quot;&lt;br /&gt;
* [[Tims Fastboot Tools#grabserial | grabserial]] - a nice utility from Tim Bird to log and timestamp console output&lt;br /&gt;
* [[Tims Fastboot Tools#Tim's quick and dirty process trace|process trace]] - a simple patch from Tim Bird to log exec, fork and exit system calls.&lt;br /&gt;
* [[Initcall Debug]] - a kernel command line option to show time taken for initcalls.&lt;br /&gt;
* See also: [[Kernel Instrumentation]] which lists some known kernel instrumentation tools.  These are of interest for measuring kernel startup time.&lt;br /&gt;
&lt;br /&gt;
=== Technologies and Techniques for Reducing Boot Time ===&lt;br /&gt;
==== Bootloader speedups ====&lt;br /&gt;
*[[Kernel XIP]] - Allow kernel to be executed in-place in ROM or FLASH.&lt;br /&gt;
*[[DMA Copy Of Kernel On Startup]] - Copy kernel from Flash to RAM using DMA&lt;br /&gt;
*[[Uncompressed kernel]] - An uncompressed kernel might boot faster&lt;br /&gt;
*[[Fast Kernel Decompression]]&lt;br /&gt;
&lt;br /&gt;
==== Kernel speedups ====&lt;br /&gt;
*[[Disable Console]] - Avoid overhead of console output during system startup.&lt;br /&gt;
*Disable bug and printk - Avoid the overhead of bug and printk. Disadvantage is that you loose a lot of info.&lt;br /&gt;
*[[RTC No Sync]] - Avoid delay to synchronize system time with RTC clock edge on startup.&lt;br /&gt;
*[[Short IDE Delays]] - Reduce duration of IDE startup delays (this is effective but possibly dangerous).&lt;br /&gt;
*[[Hardcode kernel module info]] - Reduce the overhead of loading a module, by hardcoding some information used for loading the relocation information&lt;br /&gt;
*[[IDE No Probe]] - Force kernel to observe the ide&amp;lt;x&amp;gt;=noprobe option.&lt;br /&gt;
*[[Preset LPJ]] - Allow the use of a preset loops_per_jiffy value.&lt;br /&gt;
*[[Asynchronous function calls]] - Allow probing or other functions to proceed in parallel, to overlap time-consuming boot-up activities.&lt;br /&gt;
**[[Threaded Device Probing]] - Allow drivers to probe devices in parallel.  (not mainlined, now deprecated?)&lt;br /&gt;
*[[Reordering of driver initialization]] - Allow driver bus probing to start as soon as possible.&lt;br /&gt;
*[[Deferred Initcalls]] - defer non-essential module initialization routines to after primary boot&lt;br /&gt;
*NAND ECC improvement - The pre 2.6.28 nand_ecc.c has room for improvement. You can find an improved version in the mtd git at http://git.infradead.org/mtd-2.6.git?a=blob_plain;f=drivers/mtd/nand/nand_ecc.c;hb=HEAD. Documentation for this is in http://git.infradead.org/mtd-2.6.git?a=blob_plain;f=Documentation/mtd/nand_ecc.txt;hb=HEAD. This is only interesting if your system uses software ECC correction.&lt;br /&gt;
*Check what kernel memory allocator you use. Slob or slub might be better than slab (which is the default in older kernels) &lt;br /&gt;
*If your system does not need it, you can remove SYSFS and even PROCFS from the kernel. In one test removing sysfs saved 20 ms.&lt;br /&gt;
*Carefully investigate all kernel configuration options on whether they are applicable or not. Even if you select an option that is not used in the end, it contributes to the kernel size and therefore to the kernel load time (assuming you are not doing kernel XIP). Often this will require some trial and measure! E.g. selecting CONFIG_CC_OPTIMIZE_FOR_SIZE (found under general setup) gave in one case a boot improvement of 20 ms. Not dramamtic, but when reducing boot time every penny counts!&lt;br /&gt;
*Moving to a different compiler version might lead to shorter and/or faster code. Most often newer compilers produce better code. You might also want to play with compiler options to see what works best.&lt;br /&gt;
* If you use initramfs in your kernel and a compressed kernel it is better to have an uncompressed initramfs image. This is to avoid having to uncompress data twice. A patch for this has been submitted to LKML. See http://lkml.org/lkml/2008/11/22/112 &lt;br /&gt;
&lt;br /&gt;
===== File System issues =====&lt;br /&gt;
Different file systems have different initialization (mounting) times, for the same data sets.  This&lt;br /&gt;
is a function of whether meta-data must be read from storage into RAM or not, and what algorithms are&lt;br /&gt;
used during the mount procedure.&lt;br /&gt;
&lt;br /&gt;
* [[Filesystem Information]] - has information about boot-up times of various file systems&lt;br /&gt;
* [[File Systems]] - has information on various file systems that are interesting for embedded systems. Also includes some improvement suggestions.&lt;br /&gt;
* [[Avoid Initramfs]] - explains on why intramfs should be avoided if you want to minimize boot time&lt;br /&gt;
* Split partitions. If mounting a file system takes long, you can consider splitting that filesystem in two parts, one with the info that is needed during or immediately after boot, and one which can be mounted later on.&lt;br /&gt;
* [[Ramdisks demasked]] - explains why using a ram disk generally results in a longer boot time, not a shorter one.&lt;br /&gt;
&lt;br /&gt;
==== User-space and application speedups ====&lt;br /&gt;
* [[Optimize RC Scripts]] - Reduce overhead of running RC scripts&lt;br /&gt;
* [[Parallel RC Scripts]] - Run RC scripts in parallel instead of sequentially&lt;br /&gt;
* [[Application XIP]] - Allow programs and libraries to be executed in-place in ROM or FLASH&lt;br /&gt;
* [[Pre Linking]] - Avoid cost of runtime linking on first program load&lt;br /&gt;
* Statically link applications. This avoids the costs of runtime linking. Useful if you have only a few applications. In that case it could also reduce the size of your image as no dynamic libraries are needed&lt;br /&gt;
* GNU_HASH: ~ 50% speed improvement in dynamic linking&lt;br /&gt;
** See http://sourceware.org/ml/binutils/2006-06/msg00418.html&lt;br /&gt;
* [[Application Init Optimizations]] - Improvements in program load and init time via: &lt;br /&gt;
** use of mmap vs. read&lt;br /&gt;
** control over page mapping characteristics.&lt;br /&gt;
* [[Include modules in kernel image]] - Avoid extra overhead of module loading by adding the modules to the kernel image&lt;br /&gt;
* Avoid udev, it takes quite some time to populate the /dev directory. In an embedded system it is often known what devices are present and in any case you know what drivers are available, so you know what device entries might be needed in /dev. These should be created statically, not dynamically. mknod is your friend, udev is your enemy.&lt;br /&gt;
* If you still like udev and also like fast boot-up's, you might go this way: start your system with udev enabled and make kind of a backup of the created device nodes. Now, modify your init script like this: instead running udev, copy the device nodes that you just made a backup of into the device tree. Now, install the hotplug-daemon like you always do. That trick avoids the device node creation at startup but stills lets your system create device nodes later on. &lt;br /&gt;
*  If your device has a network connection, preferably use static IP addresses. Getting an address from a DHCP server takes additional time and has extra overhead associated with it.&lt;br /&gt;
* Moving to a different compiler version might lead to shorter and/or faster code. Most often newer compilers produce better code. You might also want to play with compiler options to see what works best.&lt;br /&gt;
* If possible move from glibc to uClibc. This leads to smaller executables and hence to faster load times.&lt;br /&gt;
* library optimiser tool: http://libraryopt.sourceforge.net/ &amp;lt;br/&amp;gt; This will allow you to create an optimised library. As unneeded functions are removed this should lead to a performance gain. Normally there will be library pages which contain unused code (adjacent to code that is used). After optimizing the library this does not occur any more, so less pages are needed and hence less page loads, so some time can be saved.&lt;br /&gt;
* Function reordering: http://www.celinux.org/elc08_presentations/DDLink%20FunctionReorder%2008%2004.pdf  &amp;lt;br/&amp;gt; This is a technique to rearrange the functions within an executable so they appear in the order they are needed. This improves the load time of the application as all initialization code is grouped into a set of pages, instead of being scattered over a number of pages.&lt;br /&gt;
&lt;br /&gt;
==== Suspend related improvements ====&lt;br /&gt;
Another approach to improve boot time is to use a suspend related mechanism. Two approaches are known.&lt;br /&gt;
* Using the standard hibernate/resume approach. This is what has been demonstrated by Chan Ju, Park, from Samsung. See sheet 23 and onwards from this [[Media:LinuxBootupTimeReduction4DSC.ppt|PPT]] and section 2.7 of this [http://www.kernel.org/doc/ols/2006/ols2006v2-pages-239-248.pdf paper]. &amp;lt;br /&amp;gt; Issue with this approach is that flash write is much slower than flash read, so the actual creation of the hibernate image might take quite a while.&lt;br /&gt;
* Implementing snapshot boot. This is done by Hiroki Kaminaga from Sony and is described at [[Suspend To Disk For ARM|snapshot boot for ARM]] and http://elinux.org/upload/3/37/Snapshot-boot-final.pdf&amp;lt;br /&amp;gt;This is similar to hibernate and resume, but the hibernate file is retained and used upon every boot. Disadvantage is that no writable partitions should be mounted at the time of making the snapshot. Otherwise inconsistencies will occur if a partition is modified, while applications in the hibernate file might have information in the snapshot related to the unmodified partition.&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous topics ====&lt;br /&gt;
&lt;br /&gt;
[[About Compression]] discusses the effects of compression on boot time. This can affect both the kernel boot time as well as user-space startup.&lt;br /&gt;
&lt;br /&gt;
==== Uninvestigated speedups ====&lt;br /&gt;
&lt;br /&gt;
This section is a holding pen for ideas for improvement that are not implemented yet but that could result in a boot time gain. Please leave a note here if you are working on one of these items to avoid duplicate work.&lt;br /&gt;
&lt;br /&gt;
* '''Prepopulated buffer cache''' - As initramfs performs an additional copy of the data the idea is to have a prepopulated buffer cache. A simplistic scenario would allow dumping the buffer cache when the booting is completed and the user applications have initialised. This data then could be used in a subsequent boot to initialize the buffer cache (of course without copying). A possible approach would be to have those data to reside into the kernel image and use them directly. Alternately they could be loaded separately. &amp;lt;br /&amp;gt; Unfortunately my knowledge of the internals in this section is not yet good enough to do a trial implementation.&amp;lt;br /&amp;gt; Caveats:&lt;br /&gt;
** is it possible to have the buffer cache split into two different parts, one which is statically allocated, one which is dynamically allocated?&lt;br /&gt;
** the pages in the prepopulated buffer cache probably cannot be discarded, so they should be pinned&lt;br /&gt;
** apart from the buffer cache data itself also some other variables might need restoring&lt;br /&gt;
** a similar approach could also be used for the cached file data.&lt;br /&gt;
*'''Dedicated fs''' - currently a lot of abstraction is done in fs to make a nice abstraction allowing easy addition of new filesystems and creating a unified view of those filesystem. While this is pretty neat, the abstraction layers also introduce some overhead. A solution could be to create a dedicated fs system, which supports only one (or maybe 2) filesystems, and eliminates the abstraction overhead. This will give some benefit, but the chance of getting this into the mainline is zero.&lt;br /&gt;
&lt;br /&gt;
== Articles and Presentations ==&lt;br /&gt;
* &amp;quot;Tools and Techniques for Reducing Bootup Time&amp;quot; ([[Media:Tools-and-technique-for-reducing-bootup-time.ppt|PPT]] | [[Media:Tools-and-technique-for-reducing-bootup-time.odp|ODP]] | [[Media:Tools-and-technique-for-reducing-bootup-time.pdf|PDF]] | [http://free-electrons.com/pub/video/2008/elce/elce2008-bird-reducing-bootup-time.ogv video])&lt;br /&gt;
** Tim Bird has presented at ELC Europe, on November 7, 2008, his latest collection of tips and tricks for reducing bootup time&lt;br /&gt;
** [[Tims Fastboot Tools]] has online materials in support of this presentation&lt;br /&gt;
* [http://www.mvista.com/download/author.php?a=37 Christopher Hallinan] has done a presentation at the MontaVista Vision conference 2008 on the topic of reducing boot time. Slides available [http://www.mvista.com/download/power/Reducing-boot-time-techniques-for-fast-booting.pdf here]&lt;br /&gt;
* [http://lwn.net/Articles/192082/ Optimizing Linker Load Times]&lt;br /&gt;
** (introducing various kinds of bootuptime reduction, prelinking, etc.)&lt;br /&gt;
* [http://tuxology.net/2008/07/08/benchmarking-boot-latency-on-x86/ Benchmarking boot latency on x86]&lt;br /&gt;
** By Gilad Ben-Yossef, July 2008&lt;br /&gt;
** A tutorial on using TSC register and the kernel PRINTK_TIMES feature to measure x86 system boot time, including BIOS, bootloader, kernel and time to first user program.&lt;br /&gt;
* [http://tree.celinuxforum.org/CelfPubWiki/KoreaTechJamboree3?action=AttachFile&amp;amp;do=get&amp;amp;target=The_Fast_Booting_of_Embedded_Linux.pdf Fast Booting of Embedded Linux]&lt;br /&gt;
** By HoJoon Park, Electrons and Telecommunications Research Institute (ETRI), Korea, Presented at the CELF [http://tree.celinuxforum.org/CelfPubWiki/KoreaTechJamboree3 3rd Korean Technical Jamboree], July 2008&lt;br /&gt;
** Explains several different reduction techniques used for different phases of bootup time&lt;br /&gt;
*Tim Bird's (Sony) survey of boot-up time reduction techniques:&lt;br /&gt;
**[http://kernel.org/doc/ols/2004/ols2004v1-pages-79-88.pdf Methods to Improve Boot-up Time in Linux] - Paper prepared for 2004 Ottawa Linux Symposium&lt;br /&gt;
**{{pdf|ReducingStartupTime v0.8.pdf|Reducing Startup Time in Embedded Linux Systems}} - December 2003 Presentation describing some existing boot-up time reduction techniques and strategies.&lt;br /&gt;
* [http://free-electrons.com/articles/optimizations Embedded Linux optimizations]&lt;br /&gt;
** By Free Electrons&lt;br /&gt;
** Tutorial to reduce size, RAM, speed, power and cost of a Linux based embedded system]&lt;br /&gt;
&lt;br /&gt;
=== Case Studies ===&lt;br /&gt;
*Samsung proof-of-acceptability study for digital still camera: see [[Media:LinuxBootupTimeReduction4DSC.ppt|Boot Up Time Reduction PPT]] and the [http://www.kernel.org/doc/ols/2006/ols2006v2-pages-239-248.pdf paper] describing this.&lt;br /&gt;
&lt;br /&gt;
=== News ===&lt;br /&gt;
* Lineo Solutions announced (Nov. 2008) technology to boot Linux in 2.97 seconds on a low-end system.   The system is called &amp;quot;Warp2&amp;quot; and appears to be a form of modified resume (similar to &amp;quot;snapshot boot&amp;quot; mentioned above.&lt;br /&gt;
** See http://www.linuxdevices.com/news/NS5185504436.html&lt;br /&gt;
&lt;br /&gt;
== Additional Projects/Mailing Lists/Resources ==&lt;br /&gt;
=== Kexec ===&lt;br /&gt;
*Kexec is a system which allows a system to be '''rebooted''' without going through BIOS. That is, a Linux kernel can directly boot into another Linux kernel, without going through firmware.  See the white paper at: [http://developer.osdl.org/andyp/kexec/whitepaper/kexec.pdf kexec.pdf]&lt;br /&gt;
**2004 Kernel Summit presentation: [http://www.xenotime.net/linux/fastboot/fastboot-ks-2004.pdf fastboot.pdf]&lt;br /&gt;
**here's another Kexec white paper:[http://www-106.ibm.com/developerworks/linux/library/l-kexec.html?ca=dgr-lnxw04 Reboot Fast]&lt;br /&gt;
&lt;br /&gt;
=== Splash Screen projects ===&lt;br /&gt;
* [http://splashy.alioth.debian.org/wiki/ Splashy] - Technology to put up a spalsh screen early in the boot sequence.  This is user-space code.&lt;br /&gt;
** This seems to be the most current splash screen technology, for major distributions. A framebuffer driver for the kernel is required.&lt;br /&gt;
* [http://dev.gentoo.org/~spock/projects/gensplash/ Gentoo Splashscreen] - newer technology to put a splash screen early in the boot sequence&lt;br /&gt;
** See the HOWTO at: [http://gentoo-wiki.com/HOWTO_fbsplash HOWTO FBSplash]&lt;br /&gt;
* [http://butterfeet.org/?p=8 PSplash] - PSplash is a userspace graphical boot splash screen for mainly embedded Linux devices supporting a 16bpp or 32bpp framebuffer.&lt;br /&gt;
* [http://www.bootsplash.org/ bootsplash.org] - put up a splash screen early in boot sequence&lt;br /&gt;
** This project requires kernel patches&lt;br /&gt;
** This project is now abandoned, and work is being done on Splashy.&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
*[http://www.linuxdevices.com/news/NS5907201615.html FSMLabs Fastboot] - press release by FSMLabs about fast booting of their product. Is any of this published?&lt;br /&gt;
&lt;br /&gt;
*[http://tree.celinuxforum.org/CelfPubWiki/ snapshot boot] - a technology uses software resume to boot up the system quickly.&lt;br /&gt;
&lt;br /&gt;
==== Apparently obsolete or abandoned material ====&lt;br /&gt;
* [[Image:alert.gif]] ''in progress'' - [[Boot-up Time Reduction Howto]] - this is a project to catalog existing boot-up time reduction techniques.&lt;br /&gt;
** Was originally intended to be the authoritative source for bootup time reduction information.&lt;br /&gt;
** No one maintains it any more (as of Aug, 2008)&lt;br /&gt;
*[[Image:alert.gif]]''no content yet'' - [[Boot-up Time Delay Taxonomy]] - list of delays categorized by boot phase, type and magnitude&lt;br /&gt;
** Was to be a survey of common bootup delays found in embedded devices.&lt;br /&gt;
** Was never really written.&lt;br /&gt;
&lt;br /&gt;
???&lt;br /&gt;
* [[Bootup Time Spec]]&lt;br /&gt;
* [[Bootup Time Things To Investigate]]&lt;br /&gt;
* [[Bootup Time Working Group]]&lt;br /&gt;
* [[Bootup Time Task List]]&lt;br /&gt;
* [[Bootup Time Howto Task List]]&lt;br /&gt;
* [[Fast Booting Translation]]&lt;br /&gt;
&lt;br /&gt;
== Companies, individuals or projects working on fast booting ==&lt;br /&gt;
* Intel - Arjan van de Ven - see http://lwn.net/Articles/299483/&lt;br /&gt;
* Tripeaks - see http://www.linuxdevices.com/news/NS8282586707.html&lt;br /&gt;
* Lineo Solutions - see http://www.linuxdevices.com/news/NS5185504436.html&lt;br /&gt;
* Monta Vista - see http://www.linuxdevices.com/news/NS2560585344.html&lt;br /&gt;
* fastboot git tree - see http://lwn.net/Articles/299591/&lt;br /&gt;
&lt;br /&gt;
[[Category:Boot Time]]&lt;br /&gt;
[[Category:Bootloader]]&lt;/div&gt;</summary>
		<author><name>DavidCary</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Processors</id>
		<title>Processors</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Processors"/>
				<updated>2009-03-30T06:12:19Z</updated>
		
		<summary type="html">&lt;p&gt;DavidCary: processor wiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is a list of different processor families, with miscellaneous notes for development information:&lt;br /&gt;
&lt;br /&gt;
See also [[Hardware Hacking]] for a list of systems that include these processors.&lt;br /&gt;
&lt;br /&gt;
== ARM ==&lt;br /&gt;
See [http://www.arm.com ARM website] and the [http://en.wikipedia.org/wiki/ARM_architecture Wikipedia ARM article] for information about the ARM architecture and processor family.&lt;br /&gt;
&lt;br /&gt;
From the Linux perspective, there are 2 very different kinds of ARM chips:&lt;br /&gt;
* ARM processors that include a memory management unit (MMU), and can run standard Linux&lt;br /&gt;
* ARM processors without MMU. These can run a modified version of Linux called uClinux ( http://uclinux.org/ ), enabling Linux to run on MMUless platforms or embedded processors with memory protection unit (MPU). These include ARM processors such as ARM7TDMI, ARM1156T2(F)-S or ARM Cortex-R4(F) for instance. &lt;br /&gt;
&lt;br /&gt;
Please note that because of security considerations for MMU-less processors, it is unwise to &lt;br /&gt;
use them when 3rd-party or untrusted code will be running on the device.  For locked-down, single&lt;br /&gt;
function devices, MMU-less processors may be appropriate.  They are usually less expensive than processors&lt;br /&gt;
with MMU.&lt;br /&gt;
&lt;br /&gt;
Some major ARM platforms/SOCs are:&lt;br /&gt;
* [[DaVinci]] from [http://www.ti.com/corp/docs/landing/davinci/firstproducts.html Texas Instruments]&lt;br /&gt;
* OMAP - by TI&lt;br /&gt;
* i.MX - by FreeScale&lt;br /&gt;
** Freescale's GIT repository for i.MX Linux support is at: http://opensource.freescale.com&lt;br /&gt;
*** Info about this repository, as of April 2007 is at: http://www.spinics.net/lists/arm-kernel/msg39771.html&lt;br /&gt;
* [http://www.arm.com/products/DevTools/Hardware_Platforms.html ARM RealView] platforms - by ARM Ltd. &lt;br /&gt;
** Linux BSP and resources available at http://www.arm.com/linux with associated [http://www.linux-arm.org/git GIT tree]&lt;br /&gt;
* XScale/PXA - by Marvell (formerly Intel) -- has MMU&lt;br /&gt;
** PXA255/PXA26x - Cotulla/Dalhart&lt;br /&gt;
** PXA27x - Bulverde&lt;br /&gt;
** PXA3xx - Monahans family&lt;br /&gt;
*** Linux PXA255/PXA26x/PXA27x BSPs are available in mainline kernel. You can find PXA3xx BSP from [http://www.marvell.com/ Marvell]. Marvell team is working hard to get PXA3xx patches accepted by the mainline.&lt;br /&gt;
* Orion - by Marvell&lt;br /&gt;
** Linux BSP for Orion-2 SoC available on [http://marc.info/?l=linux-arm-kernel&amp;amp;m=117869744222933&amp;amp;w=2 ARM Linux Mailing List].&lt;br /&gt;
* Philips LPC21xx series of ARM processors are currently the lowest-cost ARM processors available. But they have no MMU.&lt;br /&gt;
* [[JuiceBox]] uses a ARM S3C44B0X. It runs uClinux.&lt;br /&gt;
* AT91 - by Atmel&lt;br /&gt;
** [http://www.atmel.com/dyn/products/devices.asp?family_id=605#1393 AT91RM9200] - ARM920T based -- has MMU&lt;br /&gt;
** [http://www.atmel.com/dyn/products/devices.asp?family_id=605#1739 AT91SAM9 Series] - ARM926EJ-S based -- has MMU&lt;br /&gt;
** Linux gateway : [http://www.linux4sam.org www.linux4sam.org]&lt;br /&gt;
* Cirrus Logic ([http://arm.cirrus.com/ Linux forum and download site])&lt;br /&gt;
** EP73xx - ARM720T based&lt;br /&gt;
** EP93xx - ARM920T based&lt;br /&gt;
* Samsung System-on-Chip (SystemLSI gtoup)&lt;br /&gt;
** S3C2410 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C2410], S3C2440 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C2440], S3C2443 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C2443] - ARM920T&lt;br /&gt;
** S3C2416 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C2416] - S3C2450 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C2450], S3C2412 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C2412], S3C2413 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C2413] - ARM926EJS&lt;br /&gt;
** S3C6400 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C6400], S3C6410 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C6410] - ARM1176EJS&lt;br /&gt;
&lt;br /&gt;
== MIPS ==&lt;br /&gt;
Information about MIPS processor architecture can be found [http://www.mips.com here]. For the Linux port information can be found [http://www.linux-mips.org here].&lt;br /&gt;
&lt;br /&gt;
Processors based on MIPS architecture include&lt;br /&gt;
# [http://www.toshiba.com/taec/Catalog/Family.do?familyid=5 TX System RISC] from Toshiba.&lt;br /&gt;
# [http://www.pmc-sierra.com/mips-processors MSP series] of processor from PMC Sierra.&lt;br /&gt;
&lt;br /&gt;
== SuperH ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Superh_logo.gif]]&lt;br /&gt;
&lt;br /&gt;
Built by [http://www.renesas.com/homepage.jsp Renesas Technology] the webpage of record for the SuperH family of microprocessors can be found here: [http://www.renesas.com/fmwk.jsp?cnt=superh_family_landing.jsp&amp;amp;fp=/products/mpumcu/superh_family/ SuperH RISC Engine Family].&lt;br /&gt;
&lt;br /&gt;
Wikipedia Page: [http://en.wikipedia.org/wiki/SuperH SuperH]&lt;br /&gt;
&lt;br /&gt;
Linux on SuperH: [http://linux-sh.org/shwiki/FrontPage linux-sh]&lt;br /&gt;
&lt;br /&gt;
=== Renesas SuperH Overview ===&lt;br /&gt;
&lt;br /&gt;
SuperH is an embedded RISC developed for high cost-performance, miniaturization, and performance per unit of power consumption (MIPS/W). We are developing CPU cores for a wide range of applications and functions and have many products available. Our product lines include a series with the SH-2 as the CPU core and on-chip large-capacity flash memory and peripheral functions such as timer, serial I/O, and AD converter, and a series with the SH-3 or SH-4 as the CPU core, which achieves high-speed data processing and is equipped with cache and MMU. Additionally, there is lineup of series with the SH2-DSP or SH3-DSP as the CPU core, which have full DSP functions and an emphasis on multimedia and communications processing. Currently available products also have lots of features, such as low power modes, low power consumption, and small size. Various versatile operating systems and development tools have been improved, allowing for more efficient development.&lt;br /&gt;
&lt;br /&gt;
=== Devices ===&lt;br /&gt;
* Sega&lt;br /&gt;
** [http://linux-sh.org/shwiki/Dreamcast Dreamcast] - Limited to the machine models that can start by MIL-CD and usage of a Broad Band Adapter is recommended.&lt;br /&gt;
* Hitachi ULSI Systems&lt;br /&gt;
** [http://linux-sh.org/shwiki/MS7206SE01 MS7206SE01] - SH72060 Solution Engine&lt;br /&gt;
** MS7750SE01 - SH7750(sh4) Solution Engine&lt;br /&gt;
** MS7709SE01 - SH7709(sh3) Solution Engine&lt;br /&gt;
* SuperH, Inc.&lt;br /&gt;
** [&amp;quot;MicroDev&amp;quot;]&lt;br /&gt;
* HP Jornada&lt;br /&gt;
** 525 (SH7709 (sh3))&lt;br /&gt;
** 548 (SH7709A (sh3))&lt;br /&gt;
** 620LX (SH7709 (sh3))&lt;br /&gt;
** 660LX (SH7709 (sh3))&lt;br /&gt;
** 680 (SH7709A (sh3))&lt;br /&gt;
** 690 (SH7709A (sh3))&lt;br /&gt;
* Renesas Technology Corp.&lt;br /&gt;
** RTS7751R2D - CE Linux Forum（CELF）Compliant Evaluation Board&lt;br /&gt;
* [http://www.shlinux.com Renesas Europe/MPC Data Limited]&lt;br /&gt;
** EDOSK7705 - SH7705 sh3&lt;br /&gt;
* EDOSK7760 - SH7760 sh4&lt;br /&gt;
** EDOSK7751R - SH7751R sh4&lt;br /&gt;
** SH7751R SystemH - SH7751R sh&lt;br /&gt;
* [http://www.cqpub.co.jp/eda/CqREEK/SH4PCI.HTM CQ Publishing Co.，Ltd.]&lt;br /&gt;
** CQ RISC Evaluation Kit(CqREEK)/SH4-PCI with Linux&lt;br /&gt;
** [http://www.kmckk.co.jp/eng/ Kyoto Microcomputer Co., Ltd. (KMC or KμC)&lt;br /&gt;
** Solution Platform KZP-01 KZP-01[Mainboard] + KZ-SH4RPCI-01[SH4 CPU Board]&lt;br /&gt;
* [http://www.si-linux.com/index.html Silicon Linux Co,. Ltd.]&lt;br /&gt;
** CAT760 - SH7760&lt;br /&gt;
** CAT709 - SH7709S&lt;br /&gt;
** CAT68701 - SH7708R For A-one CATBUS[Designed for 68000 board] compliant&lt;br /&gt;
* [http://dsn-net.net/product/list_shlinux.html Daisen Electronic Industrial Co., Ltd.]&lt;br /&gt;
** SH2000 - SH7709A 118MHz&lt;br /&gt;
** SH2002 - SH7709S 200MHz&lt;br /&gt;
** SH-500 - SH7709S 118MHz&lt;br /&gt;
** SH-1000 - SH7709S 133MHz&lt;br /&gt;
** SH-2004 - SH7750R 240MHz&lt;br /&gt;
* [http://www.iodata.jp/prod/storage/hdd/index_lanhdd.htm IO-DATA DEVICE, Inc.(Network Attached Storage [NAS] Series)]&lt;br /&gt;
** LAN-iCN - NAS Adapter for IODATA HDD with &amp;quot;i-connect&amp;quot; Interface&lt;br /&gt;
** LAN-iCN2&amp;quot;] - NAS Adapter for IODATA HDD with &amp;quot;i-connect&amp;quot; Interface&lt;br /&gt;
** LANDISK&amp;quot;]  - SH4-266MHz[FSB133MHz] RAM64MB UDMA133 USB x2 10/100Base-T&lt;br /&gt;
*** HDL-xxxU - LANDISK Series NAS Standard Model&lt;br /&gt;
*** HDL-xxxUR - LANDISK with RICOH IPSiO G series print monitor for Windows support &lt;br /&gt;
*** HDL-WxxxU - LANDISK with wide body &amp;amp; twin drive support for Heavy storage or RAID1&lt;br /&gt;
*** HDL-AV250 - LANDISK with Home Network DLNA guideline support&lt;br /&gt;
*** LANTank - LANDISK kit SuperTank(CHALLENGER) Series&lt;br /&gt;
**** HDL-WxxxU based twin drive bulk NAS kit. LANTank have a special feature that supported network media server(cf. iTunes etc..).&lt;br /&gt;
* [http://www.e-linux.jp/tmm_index.html TOWA MECCS CORPORATION]&lt;br /&gt;
** TMM1000 - SH7709&lt;br /&gt;
** TMM1100 - (SH7727&lt;br /&gt;
** TMM1200 - SH7727&lt;br /&gt;
* [http://www.sophia-systems.co.jp/ice/eval_board/index.html Sophia Systems]&lt;br /&gt;
** Sophia SH7709A Evaluation Board&lt;br /&gt;
** Sophia SH7750 Evaluation Board&lt;br /&gt;
** Sophia SH7751 Evaluation Board&lt;br /&gt;
* [http://www.movingeye.co.jp/mi6/sh4board.html MovingEye Inc.]&lt;br /&gt;
** A3pci7003 - Using SH7750/ART-Linux [Linux with Realtime Extension]&lt;br /&gt;
* [http://www.apnet.co.jp/product/ms104/ms104-sh4.html AlphaProject Co., Ltd.]&lt;br /&gt;
** MS104-SH4 - SH7750R/PC104(Embedded ISA Bus) with apLinux&lt;br /&gt;
* [http://www.interface.co.jp/cpu/ Interface Corporation.]&lt;br /&gt;
** MPC-SH02 - SH7750S: ATX Motherboard Style&lt;br /&gt;
** PCI-SH02xx&amp;quot;] - SH7750S: PCI-CARD Style&lt;br /&gt;
* [http://www.tacinc.jp/ TAC Inc.]&lt;br /&gt;
** [http://web.kyoto-inet.or.jp/people/takagaki/T-SH7706/T-SH7706.htm T-SH7706LAN] another name &amp;quot;Mitsuiwa SH3 board&amp;quot; SH-MIN - SH7706A/128MHz Flash512KB SDRAM 8MB 10BASE-T&lt;br /&gt;
* [http://www.securecomputing.com/ SecureComputing]/[http://www.snapgear.org/ SnapGear] (older products, check ebay etc, all can netboot and have a debug header)&lt;br /&gt;
** [http://www.snapgear.org/ SG530] - SH7751@166MHz RAM16MB FLASH4MB 2x10/100 1xSerial&lt;br /&gt;
** [http://www.snapgear.org/ SG550] - SH7751@166MHz RAM16MB FLASH8MB 2x10/100 1xSerial&lt;br /&gt;
** [http://www.snapgear.org/ SG570] - SH7751R@240MHz RAM16MB FLASH8MB 3x10/100 1xSerial&lt;br /&gt;
** [http://www.snapgear.org/ SG575] - SH7751R@240MHz RAM64MB FLASH16MB 3x10/100 1xSerial&lt;br /&gt;
** [http://www.snapgear.org/ SG630] - SH7751@166MHz PCI NIC card RAM16MB FLASH4MB 1x10/100 1xSerial-header&lt;br /&gt;
** [http://www.snapgear.org/ SG635] - SH7751R@240MHz PCI NIC card RAM16MB FLASH16MB 1x10/100 1xSerial-header&lt;br /&gt;
&lt;br /&gt;
== PowerPC ==&lt;br /&gt;
For Linux embedded applications requiring Floating Point in a SOC the MPC5200 is hard to beat.&lt;br /&gt;
&lt;br /&gt;
Freescale's highly integrated, cost-effective [http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MPC5200&amp;amp;fpsp=1&amp;amp;tab=Documentation_Tab MPC5200] is well suited for networking, media, industrial control, and automotive applications. It delivers 760 MIPS with a Floating Point Unit (FPU), hardware Memory Management Unit (MMU) for fast task switching, is packed with I/O, and operates at only one watt. The MPC5200 serves the processing-intensive network media gateway, network access storage, set-top box, audio jukebox automotive, Internet access, industrial automation, image detection/analysis, and electronic/medical instrumentation markets. With its successful foundation in the automotive/telematics market via the mobileGT™  alliance and platforms, all markets can now enjoy extended temperature, automotive qualification, and life cycles typically demanded in that industry. A solid choice of Real Time Operating Systems (RTOS) and development boards with Board Support Packages (BSPs) provides users with a complete and flexible set of solutions.&lt;br /&gt;
&lt;br /&gt;
Product Highlights&lt;br /&gt;
&lt;br /&gt;
The MPC5200 is based on a 400 MHz MPC603e PowerPC core with an integrated double precision Floating Point Unit (FPU) that is qualified at -40oC to +85oC. It incorporates a hardware-based memory management unit (MMU) for advanced memory protection schemes, fast task switching and broad RTOS support. The MPC5200 was designed for fast data throughput and processing. The integrated BestComm DMA controller offloads the main MPC603e core from I/O intensive data transfers. An integrated Double Data Rate (DDR) memory controller accelerates data access with an effective memory bus speed of 266 MHz. A high-speed PCI interface backed by the BestComm DMA controller and DDR memory support enables high-speed data transfers in and out of the MPC5200.&lt;br /&gt;
&lt;br /&gt;
    * MPC603e series PowerPC™ processor core&lt;br /&gt;
    * 0-400 MHz operation at -40oC to +85oC temperature range&lt;br /&gt;
    * Double Precision Floating Point Unit (FPU)&lt;br /&gt;
    * Instruction and Data Memory Management Unit (MMU)&lt;br /&gt;
    * 16K Instruction and 16K Data Caches&lt;br /&gt;
    * BestComm Intelligent DMA I/O Controller&lt;br /&gt;
    * SDR and 133 MHz Double Data Rate (DDR) memory interface (266 MHz effective)&lt;br /&gt;
    * Local Plus interface for flash memory, etc.&lt;br /&gt;
    * 10/100 Ethernet MAC&lt;br /&gt;
    * Peripheral Control Interface (PCI) Version 2.2&lt;br /&gt;
    * ATA/IDE Interface&lt;br /&gt;
    * USB 1.1 Host (two each. USB 2.0 compatible)&lt;br /&gt;
    * Programmable Serial Controllers (six)&lt;br /&gt;
    * Serial Peripheral Interface (SPI)&lt;br /&gt;
    * I2C (two)&lt;br /&gt;
    * I2S (up to three)&lt;br /&gt;
    * CAN 2.0 A/B (two)&lt;br /&gt;
    * J1850 BDLC-D&lt;br /&gt;
    * GPIO (up to 56)&lt;br /&gt;
    * 8 Timers&lt;br /&gt;
    * 1.5V core, 3.3V external (and 2.5V for DDR memory)&lt;br /&gt;
    * 272 Pin Plastic Pin Ball Grid Array (PBGA) Package&lt;br /&gt;
    * AEC-Q100, QS9000/TS-16949 automotive grade available&lt;br /&gt;
    * Lead (Pb) and lead-free packages&lt;br /&gt;
&lt;br /&gt;
The DENX Embedded Linux Development Kit (ELDK) provides a complete and powerful software development environment for embedded and real-time systems. It is available for ARM, PowerPC and MIPS processors and consists of:&lt;br /&gt;
&lt;br /&gt;
    * Cross Development Tools (Compiler, Assembler, Linker etc.) to develop software for the target system.&lt;br /&gt;
    * Native Tools (Shell, commands and libraries) which provide a standard Linux development environment that runs on the target system.&lt;br /&gt;
    * Firmware that can be easily ported to new boards and processors.&lt;br /&gt;
    * Linux kernel including the complete source-code with all device drivers, board-support functions etc.&lt;br /&gt;
    * RTAI (Real Time Application Interface) Extension for systems requiring hard real-time responses.&lt;br /&gt;
    * SELF (Simple Embedded Linux Framework) as fundament to build your embedded systems on.&lt;br /&gt;
&lt;br /&gt;
All components of the ELDK are available for free with complete source code under GPL and other Free Software Licenses. Also, detailed instructions to rebuild all the tools and packages from scratch are included.&lt;br /&gt;
&lt;br /&gt;
The ELDK can be downloaded for free from several mirror sites or ordered on CD-ROM for a nominal charge (99 Euro). To order the CD please contact office@denx.de&lt;br /&gt;
&lt;br /&gt;
Detailed information about the ELDK is available [http://www.denx.de/wiki/DULG/ELDK here]. &lt;br /&gt;
&lt;br /&gt;
== XScale ==&lt;br /&gt;
CE2110 Media Processor&lt;br /&gt;
* [http://www.intel.com/design/celect/2110/ CE2110 Media Processor]&lt;br /&gt;
The highly integrated Intel CE 2110 Media Processor helps to simplify the design of consumer electronics products with reduced BOM cost. The integrated Intel XScale® processor core at 1GHz provides processing performance and headroom to deploy new revenue-generating applications. Hardware-based decode of widely used video codecs (MPEG-2, H.264) maximizes system-level performance by enabling the processor core to be used exclusively for applications.&lt;br /&gt;
&lt;br /&gt;
The Intel CE 2110 Media Processor also includes an Intel® Micro Signal Architecture (Intel® MSA) DSP core for audio codecs, a PowerVR* 2D/3D graphics accelerator, hardware accelerators for encryption and decryption, comprehensive peripheral interfaces, analog and digital input/outputs, and a transport interface for ATSC/DVB input.&lt;br /&gt;
&lt;br /&gt;
* The Intel CE 2110 Media Processor Development Platform is designed to reduce time-to-market for new applications.&lt;br /&gt;
* The Intel CE 2110 Media Processor reference platform provides the foundation for rapid development of new customer designs and product demonstrations.&lt;br /&gt;
&lt;br /&gt;
== x86 ==&lt;br /&gt;
&lt;br /&gt;
* Geode from [http://www.amd.com/us-en/ConnectivitySolutions/ProductInformation/0,,50_2330,00.html AMD]&lt;br /&gt;
:* AMD Geode GX / CS5535&lt;br /&gt;
:* AMD Geode LX / CS5536&lt;br /&gt;
&lt;br /&gt;
== AVR32 ==&lt;br /&gt;
&lt;br /&gt;
* AP7000 from [http://www.atmel.com/products/AVR32/ap7.asp Atmel]&lt;br /&gt;
&lt;br /&gt;
== Blackfin ==&lt;br /&gt;
&lt;br /&gt;
* [[Blackfin]]&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
&lt;br /&gt;
* Several processors have their own wiki, listed on the [[WikiNode]].&lt;br /&gt;
 &lt;br /&gt;
[[Category:NeedsEditing]]&lt;br /&gt;
[[Category:Processors| ]]&lt;/div&gt;</summary>
		<author><name>DavidCary</name></author>	</entry>

	<entry>
		<id>http://elinux.org/WikiNode</id>
		<title>WikiNode</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/WikiNode"/>
				<updated>2009-03-30T06:11:54Z</updated>
		
		<summary type="html">&lt;p&gt;DavidCary: yet another embedded Linux wiki; kernel wiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to eLinux, the Embedded Linux wiki.&lt;br /&gt;
We discuss developing and using Linux in embedded systems.&lt;br /&gt;
&lt;br /&gt;
== key pages ==&lt;br /&gt;
While you're here, be sure to check out:&lt;br /&gt;
&lt;br /&gt;
* [[Main Page]]&lt;br /&gt;
* [[Special:Recentchanges|Recentchanges]] &lt;br /&gt;
* [[Jobs]]&lt;br /&gt;
* [[Processors]]&lt;br /&gt;
* [[Board and Chip Vendors]]&lt;br /&gt;
* [[Hardware Hacking]]&lt;br /&gt;
* [[Events]]&lt;br /&gt;
&lt;br /&gt;
==WikiNodes of our neighbors ==&lt;br /&gt;
* [http://www.open-research.org.uk/ARMuC/WikiNode.html ARM microcontroller wiki] discusses some low-level details about the hardware used by many embedded Linux systems.&lt;br /&gt;
* [http://opencircuits.com/WikiNode Open Circuits wiki] discusses &amp;quot;Open Hardware&amp;quot; including some embedded Linux systems.&lt;br /&gt;
* [http://en.wikibooks.org/wiki/Embedded_Systems the &amp;quot;Embedded Systems&amp;quot; Wikibook]&lt;br /&gt;
* [http://rt.wiki.kernel.org/ the Real-Time Linux Wiki]&lt;br /&gt;
* [http://docs.blackfin.uclinux.org/ the Blackfin Linux wiki] discusses how to get [[uClinux]] running on a [[Blackfin]] processor.&lt;br /&gt;
* [http://www.avrfreaks.net/wiki/index.php/WikiNode the AVRfreaks wiki] has a big section on how to get Ubuntu Linux running on a Atmel AVR32 processor.&lt;br /&gt;
* [https://opensource.motorola.com/sf/wiki/do/viewPage/projects.sitewide/wiki/FAQ?selectedTab=versions&amp;amp;wikiPageVersion=9 the Open Source Motorola wiki] mentions Linux-based mobile phones&lt;br /&gt;
* [http://embedded.hk/modules/wiwimod/ Embedded Linux Interest Group Wiki]&lt;br /&gt;
* [http://kernelnewbies.org/ Linux kernel newbies wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Please add closely-related wiki, preferably linking directly to their WikiNode. Please cut links to unrelated wiki, and paste those links to [http://wikiindex.org/ the WikiIndex].''&lt;br /&gt;
&lt;br /&gt;
The [http://wikiindex.org/WikiProject:Wiki-Noding Wiki Nodes Project] aims &lt;br /&gt;
to create a fabric among wikis which allows users to traverse the universe of all wikis via topically related links. &lt;br /&gt;
This wiki is also [http://wikiindex.org/eLinux.org_Wiki listed in the WikiIndex], a related project.&lt;br /&gt;
&lt;br /&gt;
(remove this: A little about us, we are wiki collaboration enthusiasts who work on many &lt;br /&gt;
wiki projects and coordinate through [http://wikiindex.org/WikiProject:Wiki-Noding WikiIndex.org], please join us if you would like. &lt;br /&gt;
Obviously, since this is wiki, please revert this edit if not wanted! :-) Best, --[[User:DavidCary|DavidCary]] 05:22, 30 March 2009 (UTC) )&lt;/div&gt;</summary>
		<author><name>DavidCary</name></author>	</entry>

	<entry>
		<id>http://elinux.org/WikiNode</id>
		<title>WikiNode</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/WikiNode"/>
				<updated>2009-03-30T06:08:27Z</updated>
		
		<summary type="html">&lt;p&gt;DavidCary: more processor wiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to eLinux, the Embedded Linux wiki.&lt;br /&gt;
We discuss developing and using Linux in embedded systems.&lt;br /&gt;
&lt;br /&gt;
== key pages ==&lt;br /&gt;
While you're here, be sure to check out:&lt;br /&gt;
&lt;br /&gt;
* [[Main Page]]&lt;br /&gt;
* [[Special:Recentchanges|Recentchanges]] &lt;br /&gt;
* [[Jobs]]&lt;br /&gt;
* [[Processors]]&lt;br /&gt;
* [[Board and Chip Vendors]]&lt;br /&gt;
* [[Hardware Hacking]]&lt;br /&gt;
* [[Events]]&lt;br /&gt;
&lt;br /&gt;
==WikiNodes of our neighbors ==&lt;br /&gt;
* [http://www.open-research.org.uk/ARMuC/WikiNode.html ARM microcontroller wiki] discusses some low-level details about the hardware used by many embedded Linux systems.&lt;br /&gt;
* [http://opencircuits.com/WikiNode Open Circuits wiki] discusses &amp;quot;Open Hardware&amp;quot; including some embedded Linux systems.&lt;br /&gt;
* [http://en.wikibooks.org/wiki/Embedded_Systems the &amp;quot;Embedded Systems&amp;quot; Wikibook]&lt;br /&gt;
* [http://rt.wiki.kernel.org/ the Real-Time Linux Wiki]&lt;br /&gt;
* [http://docs.blackfin.uclinux.org/ the Blackfin Linux wiki] discusses how to get [[uClinux]] running on a [[Blackfin]] processor.&lt;br /&gt;
* [http://www.avrfreaks.net/wiki/index.php/WikiNode the AVRfreaks wiki] has a big section on how to get Ubuntu Linux running on a Atmel AVR32 processor.&lt;br /&gt;
* [https://opensource.motorola.com/sf/wiki/do/viewPage/projects.sitewide/wiki/FAQ?selectedTab=versions&amp;amp;wikiPageVersion=9 the Open Source Motorola wiki] mentions Linux-based mobile phones&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Please add closely-related wiki, preferably linking directly to their WikiNode. Please cut links to unrelated wiki, and paste those links to [http://wikiindex.org/ the WikiIndex].''&lt;br /&gt;
&lt;br /&gt;
The [http://wikiindex.org/WikiProject:Wiki-Noding Wiki Nodes Project] aims &lt;br /&gt;
to create a fabric among wikis which allows users to traverse the universe of all wikis via topically related links. &lt;br /&gt;
This wiki is also [http://wikiindex.org/eLinux.org_Wiki listed in the WikiIndex], a related project.&lt;br /&gt;
&lt;br /&gt;
(remove this: A little about us, we are wiki collaboration enthusiasts who work on many &lt;br /&gt;
wiki projects and coordinate through [http://wikiindex.org/WikiProject:Wiki-Noding WikiIndex.org], please join us if you would like. &lt;br /&gt;
Obviously, since this is wiki, please revert this edit if not wanted! :-) Best, --[[User:DavidCary|DavidCary]] 05:22, 30 March 2009 (UTC) )&lt;/div&gt;</summary>
		<author><name>DavidCary</name></author>	</entry>

	<entry>
		<id>http://elinux.org/WikiNode</id>
		<title>WikiNode</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/WikiNode"/>
				<updated>2009-03-30T05:22:34Z</updated>
		
		<summary type="html">&lt;p&gt;DavidCary: rough draft&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to eLinux, the Embedded Linux wiki.&lt;br /&gt;
We discuss developing and using Linux in embedded systems.&lt;br /&gt;
&lt;br /&gt;
== key pages ==&lt;br /&gt;
While you're here, be sure to check out:&lt;br /&gt;
&lt;br /&gt;
* [[Main Page]]&lt;br /&gt;
* [[Special:Recentchanges|Recentchanges]] &lt;br /&gt;
* [[Jobs]]&lt;br /&gt;
* [[Processors]]&lt;br /&gt;
* [[Board and Chip Vendors]]&lt;br /&gt;
* [[Hardware Hacking]]&lt;br /&gt;
* [[Events]]&lt;br /&gt;
&lt;br /&gt;
==WikiNodes of our neighbors ==&lt;br /&gt;
* [http://www.open-research.org.uk/ARMuC/WikiNode.html ARM microcontroller wiki] discusses some low-level details about the hardware used by many embedded Linux systems.&lt;br /&gt;
* [http://opencircuits.com/WikiNode Open Circuits wiki] discusses &amp;quot;Open Hardware&amp;quot; including some embedded Linux systems.&lt;br /&gt;
* [http://en.wikibooks.org/wiki/Embedded_Systems the &amp;quot;Embedded Systems&amp;quot; Wikibook]&lt;br /&gt;
* [http://rt.wiki.kernel.org/ the Real-Time Linux Wiki]&lt;br /&gt;
&lt;br /&gt;
''Please add closely-related wiki, preferably linking directly to their WikiNode. Please cut links to unrelated wiki, and paste those links to [http://wikiindex.org/ the WikiIndex].''&lt;br /&gt;
&lt;br /&gt;
The [http://wikiindex.org/WikiProject:Wiki-Noding Wiki Nodes Project] aims &lt;br /&gt;
to create a fabric among wikis which allows users to traverse the universe of all wikis via topically related links. &lt;br /&gt;
This wiki is also [http://wikiindex.org/eLinux.org_Wiki listed in the WikiIndex], a related project.&lt;br /&gt;
&lt;br /&gt;
(remove this: A little about us, we are wiki collaboration enthusiasts who work on many &lt;br /&gt;
wiki projects and coordinate through [http://wikiindex.org/WikiProject:Wiki-Noding WikiIndex.org], please join us if you would like. &lt;br /&gt;
Obviously, since this is wiki, please revert this edit if not wanted! :-) Best, --[[User:DavidCary|DavidCary]] 05:22, 30 March 2009 (UTC) )&lt;/div&gt;</summary>
		<author><name>DavidCary</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Boot-up_Time_Reduction_Howto</id>
		<title>Boot-up Time Reduction Howto</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Boot-up_Time_Reduction_Howto"/>
				<updated>2009-03-29T00:37:54Z</updated>
		
		<summary type="html">&lt;p&gt;DavidCary: /* User Space Phase */ some references for &amp;quot;reduce writes to flash&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The items on this page constitute a list of existing techniques for reducing bootup times for embedded systems.  Some of these items may also be applicable to desktop or enterprise systems, but that is not the focus.&lt;br /&gt;
&lt;br /&gt;
For each individual item below, a separate page should exist.  If it doesn't already exist, a new page should be created using the !HowtoTemplate.  Links listed in red below are pages that are not created yet.  To sign up for a task related to this HOWTO, please see the [[Bootup Time Howto Task List]].&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
=== Bootup Phases ===&lt;br /&gt;
This document divides the bootup process into 3 main phases:&lt;br /&gt;
*Firmware initialization phase&lt;br /&gt;
*Kernel initialization phase&lt;br /&gt;
*User Space initialization phase&lt;br /&gt;
&lt;br /&gt;
User Space usually consists of a few distinct phases also:&lt;br /&gt;
*Initialization scripts (RC scripts, for desktop systems)&lt;br /&gt;
**This is where most daemons and services are loaded.&lt;br /&gt;
*Graphics system initialization&lt;br /&gt;
*Graphical environment start&lt;br /&gt;
*Application initialization&lt;br /&gt;
&lt;br /&gt;
=== Main Technique Types ===&lt;br /&gt;
Techniques presented here can be organized according to the way they try to achieve their effect. The technique can consist of:&lt;br /&gt;
#speeding up the activity&lt;br /&gt;
#doing the activity in parallel with other initialization tasks&lt;br /&gt;
#doingthe activity later (possibly after booting is completed)&lt;br /&gt;
#avoiding doing the activity at all.&lt;br /&gt;
&lt;br /&gt;
In summary, each technique describes how to take an existing bootup activity and do one of:&lt;br /&gt;
*Do it faster&lt;br /&gt;
*Do it in parallel&lt;br /&gt;
*Do it later&lt;br /&gt;
*Don't do it at all&lt;br /&gt;
&lt;br /&gt;
Some techniques will consist of multiple methods (such as both speeding up and doing it in parallel).&lt;br /&gt;
&lt;br /&gt;
== Bootup Time Reduction Technique Outline ==&lt;br /&gt;
Following is an outline of different bootup time reduction techniques, organized by the boot phase where they are applied.&lt;br /&gt;
&lt;br /&gt;
== Firmware Phase ==&lt;br /&gt;
Here ase some techniques for speeding up the Firmware phase of the boot sequence:&lt;br /&gt;
&lt;br /&gt;
*[Kernel XIP] - Kernel Execute-In-Place&lt;br /&gt;
*SkipFirmware - Disable firmware features to eliminate diagnostics, memory counts, etc.&lt;br /&gt;
*[Parallel HD SpinUp] - Parallelize Hard Disk spinup with Kernel load&lt;br /&gt;
*[Dma Copy Of Kernel On Startup] - Use DMA to copy kernel from flash to RAM&lt;br /&gt;
&lt;br /&gt;
== Kernel Phase ==&lt;br /&gt;
The following are techniques used to speed up the initialization of the kernel:&lt;br /&gt;
&lt;br /&gt;
*DisableConsole - Turn off serial console output during boot &lt;br /&gt;
*[[Preset LPJ]] - Use pre-set loops_per_jiffy (avoid calibrate_delay())&lt;br /&gt;
*[[Preconfigure PCI]] -  Preconfigure some PCI bus slots&lt;br /&gt;
*[[IDE No Probe]] - Don't probe some IDE devices - &lt;br /&gt;
*[[No Probe Missing Devices]] - Disable probes for non-existent devices (including keyboards, etc.)&lt;br /&gt;
*[[Small Kernel Config]] - Use smallest kernel configuration possible &lt;br /&gt;
*[[Reduce Driver Busy Waits]] - Shorten device probes by reducing the amount of time the driver busywaits&lt;br /&gt;
**A special case of this is [[Short IDE Delays]], with IDE driver delays&lt;br /&gt;
*[[Threaded Init]] - Perform threaded initialization - replace driver busywaits with yields&lt;br /&gt;
**A special case of this is [[IDE Preempt]], with IDE driver busywaits&lt;br /&gt;
*[[Load Drivers Later]] - Use modules where possible to move driver initialization later in the boot sequence&lt;br /&gt;
&lt;br /&gt;
== User Space Phase ==&lt;br /&gt;
The following are techniques for reducing the bootup time for user-space programs: &lt;br /&gt;
&lt;br /&gt;
*[[Application XIP]] - Execute-In-Place for applications and librarys &lt;br /&gt;
*[[Reduce RC Scripts]] - Eliminate unneeded RC scripts &lt;br /&gt;
*[[Custom Init Program]] - Use a custom initialization program&lt;br /&gt;
(This is a special case of eliminating unneeded RC scripts)&lt;br /&gt;
*[[Optimize RC Scripts]] - Optimize RC script execution&lt;br /&gt;
*[[Parallel RC Scripts]] - Execute RC scripts in parallel, instead of in sequence&lt;br /&gt;
*[[Pre Linking]] - Avoid overhead of runtime link fixups during first program/library load&lt;br /&gt;
*[[Reduce Flash Writes]] - Reduce writes to flash. (In particular, perhaps you want to &amp;quot;disable the date of last access&amp;quot; with noatime [http://forums.techarena.in/tips-tweaks/1053888.htm][http://stackoverflow.com/questions/81158/files-on-xp-is-turning-off-last-access-time-safe][http://beta.ivancover.com/wiki/index.php/Eee_PC_Linux#Less_Disk_Writes][http://home.x-pec.com/~ivc/sites/ivc/ibook/linux/][http://danweinreb.org/blog/using-solid-state-disks-on-linux][http://24.97.150.195/nstwiki/index.php/HowTo_Disable_The_%22relatime%22_Method_For_%22atime%22_Updates_For_A_File])&lt;br /&gt;
*[[Disable Logging Turn]] - off logging to stable storage &lt;br /&gt;
*[[Faster File System]] - Use faster file system &lt;br /&gt;
*[[Ramdisk During Boot]] - Use RAMDISK during boot&lt;br /&gt;
*[[Segmented File System]] - Use a segmented file system to avoid interference between reads and writes&lt;br /&gt;
&lt;br /&gt;
== General Reduction Techniques ==&lt;br /&gt;
Some reduction techniques don't apply to a specific boot phase, but are general methods to reduce bootup time.  These are listed here.&lt;br /&gt;
&lt;br /&gt;
*Smaller Programs - Use smaller kernel and programs for faster load times&lt;br /&gt;
*Faster Memory - Use faster system memory to increase load and initialization performance&lt;br /&gt;
&lt;br /&gt;
== Table of Reduction Techniques ==&lt;br /&gt;
&lt;br /&gt;
The following table summarizes the various techniques listed in this document.&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:#80C0C0;&amp;quot;|'''Technique'''&lt;br /&gt;
! style=&amp;quot;background:#80C0C0;&amp;quot;|'''Boot Phase'''&lt;br /&gt;
! style=&amp;quot;background:#80C0C0;&amp;quot;|'''Description'''&lt;br /&gt;
! style=&amp;quot;background:#80C0C0;&amp;quot;|'''Observed reduction'''&lt;br /&gt;
! style=&amp;quot;background:#80C0C0;&amp;quot;|'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Kernel XIP]]||Firmware||Kernel Execute-In-Place - avoids kernel copy and decompression time          ||250 ms||causes runtime performance loss&lt;br /&gt;
|-&lt;br /&gt;
|[[Skip Firmware]]||Firmware||Skip firmware probing features,  like memory check, bus probing, and device detection, etc.||??|| Linux re-probes busses and devices anyway, so this is usually waste of time&lt;br /&gt;
|-&lt;br /&gt;
|[[Parallel HD SpinUp]] ||Firwmare||Start hard drive spin up before loading kernel                               ||??    ||Not possible if the kernel is loaded from  hard drive.&lt;br /&gt;
|-&lt;br /&gt;
|[[DMA Copy Of Kernel On Startup]]||Firmware||Use DMA to copy kernel from flash to RAM                                     ||180 ms||.&lt;br /&gt;
|-&lt;br /&gt;
|[[Preset LPJ]]||Kernel||Use a hardcoded loops_per_jiffy value to avoid cost of calibration.          ||250 ms||.&lt;br /&gt;
|-&lt;br /&gt;
|[[No Probe Missing Devices]]||Kernel||Avoid probing for non-existent keyboards and other devices                   ||??    ||.&lt;br /&gt;
|-&lt;br /&gt;
|[[Small Kernel Config]]||Kernel||Reduce kernel size and length of code paths, thereby reducing execution overhead||??||.&lt;br /&gt;
|-&lt;br /&gt;
|[[Disable Console]]||Kernel||Turn off output to serial console during boot                                ||250 ms||.&lt;br /&gt;
|-&lt;br /&gt;
|[[Preconfigure PCI]]||Kernel||Preconfigure PCI bus slots on kernel command line                            ||??||Is this even possible?&lt;br /&gt;
|-&lt;br /&gt;
|[[Load Drivers Later]]||Drivers||Move drivers to modules and load them later in boot sequence.)               ||??||Only works for drivers that can be loaded as modules late in the boot cycle.&lt;br /&gt;
|-&lt;br /&gt;
|[[IDE No Probe]]||Drivers||Use &amp;quot;noprobe&amp;quot; on kernel command line for IDE driver                          ||3 sec.||Depends on hardware present&lt;br /&gt;
|-&lt;br /&gt;
|[[Reduce Driver Busy Waits]]||Drivers||Reduce the length of driver busy waits                                       ||??||.&lt;br /&gt;
|-&lt;br /&gt;
|[[Short IDE Delays]]||Drivers||Reduce length of IDE initialization delays                                   ||5 sec.||May be dangerous, depends on hardware&lt;br /&gt;
|-&lt;br /&gt;
|[[Threaded Init]]||Drivers||Replace busywaits in drivers with yields                                     ||??||Only adds value if driver can be parallelized with some other init activity.&lt;br /&gt;
|-&lt;br /&gt;
|[[IDE Preempt]]||Drivers||Replace busywaits in IDE drivers with yields                                 ||250 ms (decreased non-preemptibility)||Already fixed in 2.6&lt;br /&gt;
|-&lt;br /&gt;
|[[Reduce RC Scripts]]||RC scripts||Eliminate unneeded init scripts                                              ||3 sec.||Depends on required scripts&lt;br /&gt;
|-&lt;br /&gt;
|[[Parallel RC Scripts]]||RC scripts||Start init scripts in parallel                                               ||??||.&lt;br /&gt;
|-&lt;br /&gt;
|[[Defer RC Scripts]]||RC scripts||Defer some init scripts to later in boot cycle                               ||??||.&lt;br /&gt;
|-&lt;br /&gt;
|[[Optimize RC Scripts]]||RC scripts||Use busybox, smaller shell, builtins, adjusted scripts                       ||3 sec.||Depends on required scripts&lt;br /&gt;
|-&lt;br /&gt;
|[[Custom Init Program]]||RC scripts|| Use custom initialization program (eliminating RC scripts altogether)       ||10 sec.||requires long-term maintenance of the program&lt;br /&gt;
|-&lt;br /&gt;
|[[Application XIP]]||User Space||Use Execute-In-Place for applications and libraries.                         ||??||Requires uncompressed file system. Application performance may be reduced.&lt;br /&gt;
|-&lt;br /&gt;
|[[Segmented File System]]||User Space||Keep read-only data separate from writable data in flash storage             ||??||.&lt;br /&gt;
|-&lt;br /&gt;
|[[Reduce Flash Writes]]||User Space||Avoid writes to flash memory                                                 ||??||.&lt;br /&gt;
|-&lt;br /&gt;
|[[Ramdisk During Boot]]||User Space||Keep writable files in RAM, and write them to flash after boot               ||??||.&lt;br /&gt;
|-&lt;br /&gt;
|[[Smaller Programs]]||User Space||Use smallest programs and configurations possible                            ||??||Reduces program load time. It may increase cache hits.&lt;br /&gt;
|-&lt;br /&gt;
|[[Faster Memory]]||General||Use faster memory                                                            ||??||.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Potential Techniques ==&lt;br /&gt;
Here is a list of potential techniques that have not been tried yet, to our knowledge:&lt;br /&gt;
*Use different, faster, firmware&lt;br /&gt;
*Cache results of find and grep during RC scripts&lt;br /&gt;
*Partial XIP (this is a current project of the WG)&lt;br /&gt;
&lt;br /&gt;
[[Category:Boot Time]]&lt;/div&gt;</summary>
		<author><name>DavidCary</name></author>	</entry>

	<entry>
		<id>http://elinux.org/SheevaPlug</id>
		<title>SheevaPlug</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/SheevaPlug"/>
				<updated>2009-03-28T23:19:29Z</updated>
		
		<summary type="html">&lt;p&gt;DavidCary: &amp;quot;hardware design is completely open&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
From http://www.marvell.com/products/embedded_processors/developer/kirkwood/sheevaplug.jsp:&lt;br /&gt;
&lt;br /&gt;
The SheevaPlug is a development platform, targeted for use as a plug computer, and designed to run network-based software services. It features a Kirkwood Series SoC with an embedded Marvell Sheeva™ CPU core running at 1.2 GHz. This device connects to the network using GbE, offers desktop class performance, and can be used to replace a PC-based home server for many applications. Peripherals connect using the included USB 2.0 port.&lt;br /&gt;
&lt;br /&gt;
The development kit is enclosed in a plastic case that also contains a universal power supply. For developers a USB-based debug connection is included to enable simple debugging and reprogramming.&lt;br /&gt;
&lt;br /&gt;
= Hardware =&lt;br /&gt;
&lt;br /&gt;
* 1.2 Ghz ARM CPU (88F6281 aka kirkwood) (L1 Cache: 16K Instruction + 16K Data, L2 Cache: 256KB)&lt;br /&gt;
* 512 MB RAM&lt;br /&gt;
* 512 MB NAND flash&lt;br /&gt;
* 1 GBit ethernet&lt;br /&gt;
* USB host port&lt;br /&gt;
* Real Time Clock with batter&lt;br /&gt;
* JTAG and console interface via USB&lt;br /&gt;
* SDIO interface&lt;br /&gt;
&lt;br /&gt;
Pictures of the internals can be found at http://www.cyrius.com/debian/kirkwood/sheevaplug/gallery.html&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
Linux variants supported or in the works:&lt;br /&gt;
* Ubunto&lt;br /&gt;
* gentoo&lt;br /&gt;
* debian&lt;br /&gt;
* fedora&lt;br /&gt;
* openembedded&lt;br /&gt;
&lt;br /&gt;
= Purchasing and more info =&lt;br /&gt;
&lt;br /&gt;
You can order a sheevaplug for USD 99 from &lt;br /&gt;
http://www.globalscaletechnologies.com/p-22-sheevaplug-dev-kit.aspx&lt;br /&gt;
&lt;br /&gt;
Documentation can be found at http://www.marvell.com/files/products/embedded_processors/developer/kirkwood/SheevaPlug_DocumentationPackage.zip&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Its hardware design is completely open -- everything from schematics to Gerber files will be available on a website ...  volume pricing could fall to $50&amp;quot;&lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://linuxdevices.com/news/NS9634061300.html Linuxdevices.com &amp;quot;$100 Linux wall-wart launches&amp;quot;]&lt;br /&gt;
&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
= Similar products =&lt;br /&gt;
&lt;br /&gt;
== PogoPlug ==&lt;br /&gt;
&lt;br /&gt;
http://www.pogoplug.com/&lt;br /&gt;
&lt;br /&gt;
Specification is not clear, No JTAG/SDIO&lt;br /&gt;
&lt;br /&gt;
Preorder: USD 79, retail price: USD 99.&lt;br /&gt;
&lt;br /&gt;
== highseclabs sheeva plug ==&lt;br /&gt;
&lt;br /&gt;
http://www.highseclabs.com/sheeva_plug_sp1100.html&lt;br /&gt;
&lt;br /&gt;
Only 128 MB RAM, no JTAG/SDIO&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
* http://www.plugcomputer.org/&lt;/div&gt;</summary>
		<author><name>DavidCary</name></author>	</entry>

	<entry>
		<id>http://elinux.org/SheevaPlug</id>
		<title>SheevaPlug</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/SheevaPlug"/>
				<updated>2009-03-28T23:12:16Z</updated>
		
		<summary type="html">&lt;p&gt;DavidCary: linuxdevices.com article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
From http://www.marvell.com/products/embedded_processors/developer/kirkwood/sheevaplug.jsp:&lt;br /&gt;
&lt;br /&gt;
The SheevaPlug is a development platform, targeted for use as a plug computer, and designed to run network-based software services. It features a Kirkwood Series SoC with an embedded Marvell Sheeva™ CPU core running at 1.2 GHz. This device connects to the network using GbE, offers desktop class performance, and can be used to replace a PC-based home server for many applications. Peripherals connect using the included USB 2.0 port.&lt;br /&gt;
&lt;br /&gt;
The development kit is enclosed in a plastic case that also contains a universal power supply. For developers a USB-based debug connection is included to enable simple debugging and reprogramming.&lt;br /&gt;
&lt;br /&gt;
= Hardware =&lt;br /&gt;
&lt;br /&gt;
* 1.2 Ghz ARM CPU (88F6281 aka kirkwood) (L1 Cache: 16K Instruction + 16K Data, L2 Cache: 256KB)&lt;br /&gt;
* 512 MB RAM&lt;br /&gt;
* 512 MB NAND flash&lt;br /&gt;
* 1 GBit ethernet&lt;br /&gt;
* USB host port&lt;br /&gt;
* Real Time Clock with batter&lt;br /&gt;
* JTAG and console interface via USB&lt;br /&gt;
* SDIO interface&lt;br /&gt;
&lt;br /&gt;
Pictures of the internals can be found at http://www.cyrius.com/debian/kirkwood/sheevaplug/gallery.html&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
Linux variants supported or in the works:&lt;br /&gt;
* Ubunto&lt;br /&gt;
* gentoo&lt;br /&gt;
* debian&lt;br /&gt;
* fedora&lt;br /&gt;
* openembedded&lt;br /&gt;
&lt;br /&gt;
= Purchasing and more info =&lt;br /&gt;
&lt;br /&gt;
You can order a sheevaplug for USD 99 from &lt;br /&gt;
http://www.globalscaletechnologies.com/p-22-sheevaplug-dev-kit.aspx&lt;br /&gt;
&lt;br /&gt;
Documentation can be found at http://www.marvell.com/files/products/embedded_processors/developer/kirkwood/SheevaPlug_DocumentationPackage.zip&lt;br /&gt;
&lt;br /&gt;
= Similar products =&lt;br /&gt;
&lt;br /&gt;
== PogoPlug ==&lt;br /&gt;
&lt;br /&gt;
http://www.pogoplug.com/&lt;br /&gt;
&lt;br /&gt;
Specification is not clear, No JTAG/SDIO&lt;br /&gt;
&lt;br /&gt;
Preorder: USD 79, retail price: USD 99.&lt;br /&gt;
&lt;br /&gt;
== highseclabs sheeva plug ==&lt;br /&gt;
&lt;br /&gt;
http://www.highseclabs.com/sheeva_plug_sp1100.html&lt;br /&gt;
&lt;br /&gt;
Only 128 MB RAM, no JTAG/SDIO&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
&lt;br /&gt;
* http://www.plugcomputer.org/&lt;br /&gt;
* [http://linuxdevices.com/news/NS9634061300.html Linuxdevices.com &amp;quot;$100 Linux wall-wart launches&amp;quot;]&lt;/div&gt;</summary>
		<author><name>DavidCary</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Hardware_Hacking</id>
		<title>Hardware Hacking</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Hardware_Hacking"/>
				<updated>2009-03-28T23:07:53Z</updated>
		
		<summary type="html">&lt;p&gt;DavidCary: fix redlink&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Consumer Devices ==&lt;br /&gt;
&lt;br /&gt;
*Information about running Linux on devices that are or have been available to the general public.  This includes both officially supported devices and project devices (or devices that unofficially run Linux).&lt;br /&gt;
&lt;br /&gt;
=== Project Devices ===&lt;br /&gt;
&lt;br /&gt;
*[[TCube Info|TCube]]&lt;br /&gt;
*[[Mobile_Pro|Mobile Pro]]&lt;br /&gt;
*[[Didj]] from LeapFrog&lt;br /&gt;
*[[DCT 5000]]&lt;br /&gt;
*[[Pixter]]&lt;br /&gt;
*[[Pixter Multimedia]]&lt;br /&gt;
*[[TvNow]]&lt;br /&gt;
*[[ZipIt]]&lt;br /&gt;
*[http://zipit2system.sf.net Zipit2] - the new Zipit with better hardware&lt;br /&gt;
*[[JuiceBox]]&lt;br /&gt;
*[[DHT-Walnut]]&lt;br /&gt;
*[[FX3002]] watch from fossil.&lt;br /&gt;
*[[Hisense]] - USDTV HDTV Tuner DB-2010 running Linux&lt;br /&gt;
*[[enc28j60]] - single chip 10baseT ethernet with SPI interface&lt;br /&gt;
*[[R8610_Based_WAP]] - tiny x86 compatible WAPs with internal 2.5&amp;quot; HD runs Linux&lt;br /&gt;
*[[SMC WSKP100]] - A wifi Skype phone from SMC&lt;br /&gt;
&lt;br /&gt;
=== Supported Devices ===&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/NSLU2 Linksys NSLU2]. See also http://www.nslu2-linux.org&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Linksys_WRT54G_series#WRT54GL Linksys WRT54GL]&lt;br /&gt;
* [http://wiki.neurostechnology.com/index.php/Neuros_OSD Neuros OSD]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/N770 Nokia 770]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/N800 Nokia 800]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Sharp_Zaurus Sharp Zaurus]&lt;br /&gt;
* [[AML_Products|AML Handheld devices]]&lt;br /&gt;
&lt;br /&gt;
== Development Boards and Tools==&lt;br /&gt;
&lt;br /&gt;
*Information about development boards for embedded Linux&lt;br /&gt;
&lt;br /&gt;
=== [[JTAG]] ===&lt;br /&gt;
* [[Flyswatter]]&lt;br /&gt;
&lt;br /&gt;
=== [[ARM_Processor|ARM]] ===&lt;br /&gt;
*[[ARM_Integrator_Info|ARM Integrator]]&lt;br /&gt;
*[[OSK]] - OMAP Starter Kit&lt;br /&gt;
*GAO Engineering Inc. - http://www.gaoengineering.com&lt;br /&gt;
* [[DaVinci]] DVEVM Evaluation module - http://www.spectrumdigital.com/&lt;br /&gt;
* [[ITSY]]&lt;br /&gt;
* [[LART Project]]&lt;br /&gt;
* [[Hammer_Board]]&lt;br /&gt;
* Simtec Electronics - http://www.simtec.co.uk/&lt;br /&gt;
* Open AT91RM9200 Evaluation Board - http://wiki.emqbit.com/free-ecb-at91&lt;br /&gt;
* [[BeagleBoard]]&lt;br /&gt;
* [[Balloonboard]]&lt;br /&gt;
* KB9202 - http://www.kwikbyte.com/KB9202.html&lt;br /&gt;
* Luminary Micro's '''LM3S6965''' is an ARM Cortex M3 MCU. There is an inexpensive development board available for it called the '''LM3S6965 Ethernet Evaluation Kit''', which is available from [http://www.mouser.com/ Mouser]  and others for around $69.00 USD.&lt;br /&gt;
&lt;br /&gt;
=== [[AVR32_Processor|AVR32]] ===&lt;br /&gt;
* [[ATNGW100]] Network Gateway Kit http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4102&lt;br /&gt;
&lt;br /&gt;
=== [[Blackfin]] ===&lt;br /&gt;
&lt;br /&gt;
* [http://docs.blackfin.uclinux.org/doku.php?id=hw:boards ADI_Boards]&lt;br /&gt;
* [http://docs.blackfin.uclinux.org/doku.php?id=buy_stuff#other_hardware Everyone_else]&lt;br /&gt;
* [http://youtube.com/watch?v=fKyQOntPEFs Demo_video]&lt;br /&gt;
&lt;br /&gt;
=== MIPS ===&lt;br /&gt;
&lt;br /&gt;
=== PowerPC ===&lt;br /&gt;
* Walnut (405GP) - http://amcc.com/Embedded/Downloads/download.html?cat=1&amp;amp;family=2&lt;br /&gt;
* Ebony (440GP) -&lt;br /&gt;
* Kuro Box-HG (MPC4281) - http://www.kurobox.com/mwiki/index.php/Kurobox/Kurobox-HG_Main_Page&lt;br /&gt;
* Efika5200 (MPC5200) - http://www.powerdeveloper.org/program/efika/accepted&lt;br /&gt;
&lt;br /&gt;
=== SH ===&lt;br /&gt;
&lt;br /&gt;
=== i386 and compatible ===&lt;br /&gt;
&lt;br /&gt;
== Embedded Linux Distributions ==&lt;br /&gt;
&lt;br /&gt;
* Information about embedded Linux distributions. This also includes configuration and build systems.&lt;br /&gt;
&lt;br /&gt;
=== Vendor distros ===&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Montavista MontaVista] Mobilinux (formerly CE Linux) - see [http://www.mvista.com/product_detail_mob.php Mobilinux]&lt;br /&gt;
* [http://www.timesys.com TimeSys] Linux - see [http://www.timesys.com/products/index.htm TimeSys Linux]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Lineo Lineo Solutions] uLinux - see [http://www.lineo.co.jp/eng/products-services/products/ulinux.html uLinux]&lt;br /&gt;
&lt;br /&gt;
=== Other distros ===&lt;br /&gt;
* Snapgear Embedded Linux Distribution - [http://www.snapgear.org/ Snapgear]&lt;br /&gt;
* [[Open Wrt]] - [http://openwrt.org/ OpenWRT]&lt;br /&gt;
* uArch micro Linux - [http://uarch.zapto.org/ uArch]&lt;br /&gt;
* OpenEmbedded http://www.openembedded.org&lt;br /&gt;
&lt;br /&gt;
=== Configuration and Build systems ===&lt;br /&gt;
* [[Open Embedded]] - System for building full embedded images from scratch. See http://www.openembedded.org&lt;br /&gt;
* [[Qplus Target Builder]] - Target image builder from ETRI&lt;br /&gt;
* LTIB - Linux Target Image Builder (by Stuart Hughes of FreeScale) - see [http://savannah.nongnu.org/projects/ltib ltib]&lt;br /&gt;
* Eagle Linux - [http://www.safedesksolutions.com/eaglelinux/ eaglelinux]&lt;br /&gt;
** An embedded Linux distribution aimed at helping users learn Linux by creating bootable Linux images &amp;quot;virtually from scratch&amp;quot;. Eagle Linux 2.3 is currently distributed as a concise, 26-page PDF documenting the creation of a minimalist, network-ready Linux image for bootable CDs, floppies, or flash drives. See description at: [http://ct.enews.deviceforge.com/rd/cts?d=207-106-2-28-5560-8662-0-0-0-1 Description]&lt;br /&gt;
&lt;br /&gt;
=== Hardware Tools and Information ===&lt;br /&gt;
* [[Sparkfun_Camera]] - Low cost cmos camera&lt;br /&gt;
* [[Ez_Usb]] - 8051 based usb devices&lt;br /&gt;
* [[Mini_LA]] - open source logic analyzer&lt;br /&gt;
* [[NTSC_Bitbang]] - detailed concepts on NTSC&lt;br /&gt;
* [[Lithium_Ion_Charger]] - Li-Ion battery charger design&lt;br /&gt;
* [[Libertas SDIO]] - Marvell Libertas SDIO information&lt;br /&gt;
* [[Nand_Flash256]] - common 256MB nand flash devices&lt;br /&gt;
* [[Nor_vs_Nand]] - data comparisons between Nor and Nand Flash&lt;br /&gt;
* [[TUSB2046B]] - four port usb chipset&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware Hacking| ]]&lt;/div&gt;</summary>
		<author><name>DavidCary</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Processors</id>
		<title>Processors</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Processors"/>
				<updated>2009-03-28T23:07:27Z</updated>
		
		<summary type="html">&lt;p&gt;DavidCary: +Blackfin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is a list of different processor families, with miscellaneous notes for development information:&lt;br /&gt;
&lt;br /&gt;
See also [[Hardware Hacking]] for a list of systems that include these processors.&lt;br /&gt;
&lt;br /&gt;
== ARM ==&lt;br /&gt;
See [http://www.arm.com ARM website] and the [http://en.wikipedia.org/wiki/ARM_architecture Wikipedia ARM article] for information about the ARM architecture and processor family.&lt;br /&gt;
&lt;br /&gt;
From the Linux perspective, there are 2 very different kinds of ARM chips:&lt;br /&gt;
* ARM processors that include a memory management unit (MMU), and can run standard Linux&lt;br /&gt;
* ARM processors without MMU. These can run a modified version of Linux called uClinux ( http://uclinux.org/ ), enabling Linux to run on MMUless platforms or embedded processors with memory protection unit (MPU). These include ARM processors such as ARM7TDMI, ARM1156T2(F)-S or ARM Cortex-R4(F) for instance. &lt;br /&gt;
&lt;br /&gt;
Please note that because of security considerations for MMU-less processors, it is unwise to &lt;br /&gt;
use them when 3rd-party or untrusted code will be running on the device.  For locked-down, single&lt;br /&gt;
function devices, MMU-less processors may be appropriate.  They are usually less expensive than processors&lt;br /&gt;
with MMU.&lt;br /&gt;
&lt;br /&gt;
Some major ARM platforms/SOCs are:&lt;br /&gt;
* [[DaVinci]] from [http://www.ti.com/corp/docs/landing/davinci/firstproducts.html Texas Instruments]&lt;br /&gt;
* OMAP - by TI&lt;br /&gt;
* i.MX - by FreeScale&lt;br /&gt;
** Freescale's GIT repository for i.MX Linux support is at: http://opensource.freescale.com&lt;br /&gt;
*** Info about this repository, as of April 2007 is at: http://www.spinics.net/lists/arm-kernel/msg39771.html&lt;br /&gt;
* [http://www.arm.com/products/DevTools/Hardware_Platforms.html ARM RealView] platforms - by ARM Ltd. &lt;br /&gt;
** Linux BSP and resources available at http://www.arm.com/linux with associated [http://www.linux-arm.org/git GIT tree]&lt;br /&gt;
* XScale/PXA - by Marvell (formerly Intel) -- has MMU&lt;br /&gt;
** PXA255/PXA26x - Cotulla/Dalhart&lt;br /&gt;
** PXA27x - Bulverde&lt;br /&gt;
** PXA3xx - Monahans family&lt;br /&gt;
*** Linux PXA255/PXA26x/PXA27x BSPs are available in mainline kernel. You can find PXA3xx BSP from [http://www.marvell.com/ Marvell]. Marvell team is working hard to get PXA3xx patches accepted by the mainline.&lt;br /&gt;
* Orion - by Marvell&lt;br /&gt;
** Linux BSP for Orion-2 SoC available on [http://marc.info/?l=linux-arm-kernel&amp;amp;m=117869744222933&amp;amp;w=2 ARM Linux Mailing List].&lt;br /&gt;
* Philips LPC21xx series of ARM processors are currently the lowest-cost ARM processors available. But they have no MMU.&lt;br /&gt;
* [[JuiceBox]] uses a ARM S3C44B0X. It runs uClinux.&lt;br /&gt;
* AT91 - by Atmel&lt;br /&gt;
** [http://www.atmel.com/dyn/products/devices.asp?family_id=605#1393 AT91RM9200] - ARM920T based -- has MMU&lt;br /&gt;
** [http://www.atmel.com/dyn/products/devices.asp?family_id=605#1739 AT91SAM9 Series] - ARM926EJ-S based -- has MMU&lt;br /&gt;
** Linux gateway : [http://www.linux4sam.org www.linux4sam.org]&lt;br /&gt;
* Cirrus Logic ([http://arm.cirrus.com/ Linux forum and download site])&lt;br /&gt;
** EP73xx - ARM720T based&lt;br /&gt;
** EP93xx - ARM920T based&lt;br /&gt;
* Samsung System-on-Chip (SystemLSI gtoup)&lt;br /&gt;
** S3C2410 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C2410], S3C2440 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C2440], S3C2443 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C2443] - ARM920T&lt;br /&gt;
** S3C2416 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C2416] - S3C2450 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C2450], S3C2412 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C2412], S3C2413 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C2413] - ARM926EJS&lt;br /&gt;
** S3C6400 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C6400], S3C6410 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C6410] - ARM1176EJS&lt;br /&gt;
&lt;br /&gt;
== MIPS ==&lt;br /&gt;
Information about MIPS processor architecture can be found [http://www.mips.com here]. For the Linux port information can be found [http://www.linux-mips.org here].&lt;br /&gt;
&lt;br /&gt;
Processors based on MIPS architecture include&lt;br /&gt;
# [http://www.toshiba.com/taec/Catalog/Family.do?familyid=5 TX System RISC] from Toshiba.&lt;br /&gt;
# [http://www.pmc-sierra.com/mips-processors MSP series] of processor from PMC Sierra.&lt;br /&gt;
&lt;br /&gt;
== SuperH ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Superh_logo.gif]]&lt;br /&gt;
&lt;br /&gt;
Built by [http://www.renesas.com/homepage.jsp Renesas Technology] the webpage of record for the SuperH family of microprocessors can be found here: [http://www.renesas.com/fmwk.jsp?cnt=superh_family_landing.jsp&amp;amp;fp=/products/mpumcu/superh_family/ SuperH RISC Engine Family].&lt;br /&gt;
&lt;br /&gt;
Wikipedia Page: [http://en.wikipedia.org/wiki/SuperH SuperH]&lt;br /&gt;
&lt;br /&gt;
Linux on SuperH: [http://linux-sh.org/shwiki/FrontPage linux-sh]&lt;br /&gt;
&lt;br /&gt;
=== Renesas SuperH Overview ===&lt;br /&gt;
&lt;br /&gt;
SuperH is an embedded RISC developed for high cost-performance, miniaturization, and performance per unit of power consumption (MIPS/W). We are developing CPU cores for a wide range of applications and functions and have many products available. Our product lines include a series with the SH-2 as the CPU core and on-chip large-capacity flash memory and peripheral functions such as timer, serial I/O, and AD converter, and a series with the SH-3 or SH-4 as the CPU core, which achieves high-speed data processing and is equipped with cache and MMU. Additionally, there is lineup of series with the SH2-DSP or SH3-DSP as the CPU core, which have full DSP functions and an emphasis on multimedia and communications processing. Currently available products also have lots of features, such as low power modes, low power consumption, and small size. Various versatile operating systems and development tools have been improved, allowing for more efficient development.&lt;br /&gt;
&lt;br /&gt;
=== Devices ===&lt;br /&gt;
* Sega&lt;br /&gt;
** [http://linux-sh.org/shwiki/Dreamcast Dreamcast] - Limited to the machine models that can start by MIL-CD and usage of a Broad Band Adapter is recommended.&lt;br /&gt;
* Hitachi ULSI Systems&lt;br /&gt;
** [http://linux-sh.org/shwiki/MS7206SE01 MS7206SE01] - SH72060 Solution Engine&lt;br /&gt;
** MS7750SE01 - SH7750(sh4) Solution Engine&lt;br /&gt;
** MS7709SE01 - SH7709(sh3) Solution Engine&lt;br /&gt;
* SuperH, Inc.&lt;br /&gt;
** [&amp;quot;MicroDev&amp;quot;]&lt;br /&gt;
* HP Jornada&lt;br /&gt;
** 525 (SH7709 (sh3))&lt;br /&gt;
** 548 (SH7709A (sh3))&lt;br /&gt;
** 620LX (SH7709 (sh3))&lt;br /&gt;
** 660LX (SH7709 (sh3))&lt;br /&gt;
** 680 (SH7709A (sh3))&lt;br /&gt;
** 690 (SH7709A (sh3))&lt;br /&gt;
* Renesas Technology Corp.&lt;br /&gt;
** RTS7751R2D - CE Linux Forum（CELF）Compliant Evaluation Board&lt;br /&gt;
* [http://www.shlinux.com Renesas Europe/MPC Data Limited]&lt;br /&gt;
** EDOSK7705 - SH7705 sh3&lt;br /&gt;
* EDOSK7760 - SH7760 sh4&lt;br /&gt;
** EDOSK7751R - SH7751R sh4&lt;br /&gt;
** SH7751R SystemH - SH7751R sh&lt;br /&gt;
* [http://www.cqpub.co.jp/eda/CqREEK/SH4PCI.HTM CQ Publishing Co.，Ltd.]&lt;br /&gt;
** CQ RISC Evaluation Kit(CqREEK)/SH4-PCI with Linux&lt;br /&gt;
** [http://www.kmckk.co.jp/eng/ Kyoto Microcomputer Co., Ltd. (KMC or KμC)&lt;br /&gt;
** Solution Platform KZP-01 KZP-01[Mainboard] + KZ-SH4RPCI-01[SH4 CPU Board]&lt;br /&gt;
* [http://www.si-linux.com/index.html Silicon Linux Co,. Ltd.]&lt;br /&gt;
** CAT760 - SH7760&lt;br /&gt;
** CAT709 - SH7709S&lt;br /&gt;
** CAT68701 - SH7708R For A-one CATBUS[Designed for 68000 board] compliant&lt;br /&gt;
* [http://dsn-net.net/product/list_shlinux.html Daisen Electronic Industrial Co., Ltd.]&lt;br /&gt;
** SH2000 - SH7709A 118MHz&lt;br /&gt;
** SH2002 - SH7709S 200MHz&lt;br /&gt;
** SH-500 - SH7709S 118MHz&lt;br /&gt;
** SH-1000 - SH7709S 133MHz&lt;br /&gt;
** SH-2004 - SH7750R 240MHz&lt;br /&gt;
* [http://www.iodata.jp/prod/storage/hdd/index_lanhdd.htm IO-DATA DEVICE, Inc.(Network Attached Storage [NAS] Series)]&lt;br /&gt;
** LAN-iCN - NAS Adapter for IODATA HDD with &amp;quot;i-connect&amp;quot; Interface&lt;br /&gt;
** LAN-iCN2&amp;quot;] - NAS Adapter for IODATA HDD with &amp;quot;i-connect&amp;quot; Interface&lt;br /&gt;
** LANDISK&amp;quot;]  - SH4-266MHz[FSB133MHz] RAM64MB UDMA133 USB x2 10/100Base-T&lt;br /&gt;
*** HDL-xxxU - LANDISK Series NAS Standard Model&lt;br /&gt;
*** HDL-xxxUR - LANDISK with RICOH IPSiO G series print monitor for Windows support &lt;br /&gt;
*** HDL-WxxxU - LANDISK with wide body &amp;amp; twin drive support for Heavy storage or RAID1&lt;br /&gt;
*** HDL-AV250 - LANDISK with Home Network DLNA guideline support&lt;br /&gt;
*** LANTank - LANDISK kit SuperTank(CHALLENGER) Series&lt;br /&gt;
**** HDL-WxxxU based twin drive bulk NAS kit. LANTank have a special feature that supported network media server(cf. iTunes etc..).&lt;br /&gt;
* [http://www.e-linux.jp/tmm_index.html TOWA MECCS CORPORATION]&lt;br /&gt;
** TMM1000 - SH7709&lt;br /&gt;
** TMM1100 - (SH7727&lt;br /&gt;
** TMM1200 - SH7727&lt;br /&gt;
* [http://www.sophia-systems.co.jp/ice/eval_board/index.html Sophia Systems]&lt;br /&gt;
** Sophia SH7709A Evaluation Board&lt;br /&gt;
** Sophia SH7750 Evaluation Board&lt;br /&gt;
** Sophia SH7751 Evaluation Board&lt;br /&gt;
* [http://www.movingeye.co.jp/mi6/sh4board.html MovingEye Inc.]&lt;br /&gt;
** A3pci7003 - Using SH7750/ART-Linux [Linux with Realtime Extension]&lt;br /&gt;
* [http://www.apnet.co.jp/product/ms104/ms104-sh4.html AlphaProject Co., Ltd.]&lt;br /&gt;
** MS104-SH4 - SH7750R/PC104(Embedded ISA Bus) with apLinux&lt;br /&gt;
* [http://www.interface.co.jp/cpu/ Interface Corporation.]&lt;br /&gt;
** MPC-SH02 - SH7750S: ATX Motherboard Style&lt;br /&gt;
** PCI-SH02xx&amp;quot;] - SH7750S: PCI-CARD Style&lt;br /&gt;
* [http://www.tacinc.jp/ TAC Inc.]&lt;br /&gt;
** [http://web.kyoto-inet.or.jp/people/takagaki/T-SH7706/T-SH7706.htm T-SH7706LAN] another name &amp;quot;Mitsuiwa SH3 board&amp;quot; SH-MIN - SH7706A/128MHz Flash512KB SDRAM 8MB 10BASE-T&lt;br /&gt;
* [http://www.securecomputing.com/ SecureComputing]/[http://www.snapgear.org/ SnapGear] (older products, check ebay etc, all can netboot and have a debug header)&lt;br /&gt;
** [http://www.snapgear.org/ SG530] - SH7751@166MHz RAM16MB FLASH4MB 2x10/100 1xSerial&lt;br /&gt;
** [http://www.snapgear.org/ SG550] - SH7751@166MHz RAM16MB FLASH8MB 2x10/100 1xSerial&lt;br /&gt;
** [http://www.snapgear.org/ SG570] - SH7751R@240MHz RAM16MB FLASH8MB 3x10/100 1xSerial&lt;br /&gt;
** [http://www.snapgear.org/ SG575] - SH7751R@240MHz RAM64MB FLASH16MB 3x10/100 1xSerial&lt;br /&gt;
** [http://www.snapgear.org/ SG630] - SH7751@166MHz PCI NIC card RAM16MB FLASH4MB 1x10/100 1xSerial-header&lt;br /&gt;
** [http://www.snapgear.org/ SG635] - SH7751R@240MHz PCI NIC card RAM16MB FLASH16MB 1x10/100 1xSerial-header&lt;br /&gt;
&lt;br /&gt;
== PowerPC ==&lt;br /&gt;
For Linux embedded applications requiring Floating Point in a SOC the MPC5200 is hard to beat.&lt;br /&gt;
&lt;br /&gt;
Freescale's highly integrated, cost-effective [http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MPC5200&amp;amp;fpsp=1&amp;amp;tab=Documentation_Tab MPC5200] is well suited for networking, media, industrial control, and automotive applications. It delivers 760 MIPS with a Floating Point Unit (FPU), hardware Memory Management Unit (MMU) for fast task switching, is packed with I/O, and operates at only one watt. The MPC5200 serves the processing-intensive network media gateway, network access storage, set-top box, audio jukebox automotive, Internet access, industrial automation, image detection/analysis, and electronic/medical instrumentation markets. With its successful foundation in the automotive/telematics market via the mobileGT™  alliance and platforms, all markets can now enjoy extended temperature, automotive qualification, and life cycles typically demanded in that industry. A solid choice of Real Time Operating Systems (RTOS) and development boards with Board Support Packages (BSPs) provides users with a complete and flexible set of solutions.&lt;br /&gt;
&lt;br /&gt;
Product Highlights&lt;br /&gt;
&lt;br /&gt;
The MPC5200 is based on a 400 MHz MPC603e PowerPC core with an integrated double precision Floating Point Unit (FPU) that is qualified at -40oC to +85oC. It incorporates a hardware-based memory management unit (MMU) for advanced memory protection schemes, fast task switching and broad RTOS support. The MPC5200 was designed for fast data throughput and processing. The integrated BestComm DMA controller offloads the main MPC603e core from I/O intensive data transfers. An integrated Double Data Rate (DDR) memory controller accelerates data access with an effective memory bus speed of 266 MHz. A high-speed PCI interface backed by the BestComm DMA controller and DDR memory support enables high-speed data transfers in and out of the MPC5200.&lt;br /&gt;
&lt;br /&gt;
    * MPC603e series PowerPC™ processor core&lt;br /&gt;
    * 0-400 MHz operation at -40oC to +85oC temperature range&lt;br /&gt;
    * Double Precision Floating Point Unit (FPU)&lt;br /&gt;
    * Instruction and Data Memory Management Unit (MMU)&lt;br /&gt;
    * 16K Instruction and 16K Data Caches&lt;br /&gt;
    * BestComm Intelligent DMA I/O Controller&lt;br /&gt;
    * SDR and 133 MHz Double Data Rate (DDR) memory interface (266 MHz effective)&lt;br /&gt;
    * Local Plus interface for flash memory, etc.&lt;br /&gt;
    * 10/100 Ethernet MAC&lt;br /&gt;
    * Peripheral Control Interface (PCI) Version 2.2&lt;br /&gt;
    * ATA/IDE Interface&lt;br /&gt;
    * USB 1.1 Host (two each. USB 2.0 compatible)&lt;br /&gt;
    * Programmable Serial Controllers (six)&lt;br /&gt;
    * Serial Peripheral Interface (SPI)&lt;br /&gt;
    * I2C (two)&lt;br /&gt;
    * I2S (up to three)&lt;br /&gt;
    * CAN 2.0 A/B (two)&lt;br /&gt;
    * J1850 BDLC-D&lt;br /&gt;
    * GPIO (up to 56)&lt;br /&gt;
    * 8 Timers&lt;br /&gt;
    * 1.5V core, 3.3V external (and 2.5V for DDR memory)&lt;br /&gt;
    * 272 Pin Plastic Pin Ball Grid Array (PBGA) Package&lt;br /&gt;
    * AEC-Q100, QS9000/TS-16949 automotive grade available&lt;br /&gt;
    * Lead (Pb) and lead-free packages&lt;br /&gt;
&lt;br /&gt;
The DENX Embedded Linux Development Kit (ELDK) provides a complete and powerful software development environment for embedded and real-time systems. It is available for ARM, PowerPC and MIPS processors and consists of:&lt;br /&gt;
&lt;br /&gt;
    * Cross Development Tools (Compiler, Assembler, Linker etc.) to develop software for the target system.&lt;br /&gt;
    * Native Tools (Shell, commands and libraries) which provide a standard Linux development environment that runs on the target system.&lt;br /&gt;
    * Firmware that can be easily ported to new boards and processors.&lt;br /&gt;
    * Linux kernel including the complete source-code with all device drivers, board-support functions etc.&lt;br /&gt;
    * RTAI (Real Time Application Interface) Extension for systems requiring hard real-time responses.&lt;br /&gt;
    * SELF (Simple Embedded Linux Framework) as fundament to build your embedded systems on.&lt;br /&gt;
&lt;br /&gt;
All components of the ELDK are available for free with complete source code under GPL and other Free Software Licenses. Also, detailed instructions to rebuild all the tools and packages from scratch are included.&lt;br /&gt;
&lt;br /&gt;
The ELDK can be downloaded for free from several mirror sites or ordered on CD-ROM for a nominal charge (99 Euro). To order the CD please contact office@denx.de&lt;br /&gt;
&lt;br /&gt;
Detailed information about the ELDK is available [http://www.denx.de/wiki/DULG/ELDK here]. &lt;br /&gt;
&lt;br /&gt;
== XScale ==&lt;br /&gt;
CE2110 Media Processor&lt;br /&gt;
* [http://www.intel.com/design/celect/2110/ CE2110 Media Processor]&lt;br /&gt;
The highly integrated Intel CE 2110 Media Processor helps to simplify the design of consumer electronics products with reduced BOM cost. The integrated Intel XScale® processor core at 1GHz provides processing performance and headroom to deploy new revenue-generating applications. Hardware-based decode of widely used video codecs (MPEG-2, H.264) maximizes system-level performance by enabling the processor core to be used exclusively for applications.&lt;br /&gt;
&lt;br /&gt;
The Intel CE 2110 Media Processor also includes an Intel® Micro Signal Architecture (Intel® MSA) DSP core for audio codecs, a PowerVR* 2D/3D graphics accelerator, hardware accelerators for encryption and decryption, comprehensive peripheral interfaces, analog and digital input/outputs, and a transport interface for ATSC/DVB input.&lt;br /&gt;
&lt;br /&gt;
* The Intel CE 2110 Media Processor Development Platform is designed to reduce time-to-market for new applications.&lt;br /&gt;
* The Intel CE 2110 Media Processor reference platform provides the foundation for rapid development of new customer designs and product demonstrations.&lt;br /&gt;
&lt;br /&gt;
== x86 ==&lt;br /&gt;
&lt;br /&gt;
* Geode from [http://www.amd.com/us-en/ConnectivitySolutions/ProductInformation/0,,50_2330,00.html AMD]&lt;br /&gt;
:* AMD Geode GX / CS5535&lt;br /&gt;
:* AMD Geode LX / CS5536&lt;br /&gt;
&lt;br /&gt;
== AVR32 ==&lt;br /&gt;
&lt;br /&gt;
* AP7000 from [http://www.atmel.com/products/AVR32/ap7.asp Atmel]&lt;br /&gt;
&lt;br /&gt;
== Blackfin ==&lt;br /&gt;
&lt;br /&gt;
* [[Blackfin]]&lt;br /&gt;
 &lt;br /&gt;
[[Category:NeedsEditing]]&lt;br /&gt;
[[Category:Processors| ]]&lt;/div&gt;</summary>
		<author><name>DavidCary</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Blackfin</id>
		<title>Blackfin</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Blackfin"/>
				<updated>2009-03-28T23:07:09Z</updated>
		
		<summary type="html">&lt;p&gt;DavidCary: rough draft&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Blackfin processor was designed by and is manufactured by Analog Devices ([[Board and Chip Vendors#A]]).&lt;br /&gt;
Several boards that include a Blackfin processor are available ([[Hardware Hacking#Blackfin]]).&lt;br /&gt;
&lt;br /&gt;
All Blackfin processors include Debug/[[JTAG]] Interface for in-system debugging.&lt;br /&gt;
&lt;br /&gt;
Blackfin processors are fast enough to support real-time H.264 video encoding.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;MMU&amp;quot; on Blackfin processors supports memory protection for &amp;quot;user&amp;quot; programs,&lt;br /&gt;
and is more than adequate for running [[uCLinux]].&lt;br /&gt;
But it apparently doesn't have the &amp;quot;memory mapping&amp;quot; feature required to run most other [[Embedded Linux Distributions]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
&lt;br /&gt;
* the [http://docs.blackfin.uclinux.org/ Blackfin Linux wiki]&lt;br /&gt;
* the [http://blackfin.uclinux.org/ Blackfin Open Source Koop]&lt;/div&gt;</summary>
		<author><name>DavidCary</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Embedded_Linux_Distributions</id>
		<title>Embedded Linux Distributions</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Embedded_Linux_Distributions"/>
				<updated>2009-03-28T23:01:39Z</updated>
		
		<summary type="html">&lt;p&gt;DavidCary: +Embedded OS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is some information about embedded Linux distributions, and kernel configuration and build systems:&lt;br /&gt;
&lt;br /&gt;
== Vendor distros ==&lt;br /&gt;
* Embedded Alley - see http://www.embeddedalley.com/&lt;br /&gt;
* [http://www.kaeilos.com KaeilOS embedded linux]&lt;br /&gt;
* Lineo Solutions [http://www.lineo.co.jp/eng/products-services/products/ulinux.html uLinux]&lt;br /&gt;
* [[MontaVista]] Linux - see http://www.mvista.com/products_services.php&lt;br /&gt;
* [[RidgeRun]] Linux - see http://www.ridgerun.com/sdk.shtml&lt;br /&gt;
* [[TimeSys]] LinuxLink - see http://www.timesys.com/products/index.htm&lt;br /&gt;
* [http://wiki.ubuntu.com/MobileAndEmbedded Ubuntu Mobile]&lt;br /&gt;
* Wind River - see http://www.windriver.com/products/linux/&lt;br /&gt;
* [http://www.littlebluelinux.com/ Little Blue Linux] - MPC Data&lt;br /&gt;
&lt;br /&gt;
== Other distros ==&lt;br /&gt;
* Snapgear Embedded Linux Distribution - http://www.snapgear.org/&lt;br /&gt;
* [[Open Wrt]] - http://openwrt.org/&lt;br /&gt;
* Embedded Debian - http://www.emdebian.org/&lt;br /&gt;
* Embedded Gentoo - http://www.gentoo.org/proj/en/base/embedded/index.xml&lt;br /&gt;
&lt;br /&gt;
=== Special purpose embedded Linux distributions ===&lt;br /&gt;
* [http://flashlinux.org.uk/ Flash Linux] - a distribution specifically for USB keys and Live CDs&lt;br /&gt;
* Eagle Linux - http://www.safedesksolutions.com/eaglelinux/&lt;br /&gt;
** An embedded Linux distribution aimed at helping users learn Linux by creating bootable Linux images &amp;quot;virtually from scratch&amp;quot;. Eagle Linux 2.3 is currently distributed as a concise, 26-page PDF documenting the creation of a minimalist, network-ready Linux image for bootable CDs, floppies, or flash drives. See description at: http://ct.enews.deviceforge.com/rd/cts?d=207-106-2-28-5560-8662-0-0-0-1&lt;br /&gt;
* [http://www.uclinux.org/ uClinux] A distribution targeting at systems without Memory Management Unit. See also [[UClinux Shared Library]].&lt;br /&gt;
&lt;br /&gt;
== Configuration and Build systems ==&lt;br /&gt;
* [[Open Embedded]] - System for building full embedded images from scratch&lt;br /&gt;
* [http://buildroot.uclibc.org/ buildroot]&lt;br /&gt;
** Buildroot is a set of Makefiles and patches that makes it easy generate a cross-compilation toolchain and root filesystem for your target Linux system using the uClibc C library.&lt;br /&gt;
* [http://www.pengutronix.de/software/ptxdist/index_en.html PTXdist]&lt;br /&gt;
** Kconfig based build system developed by [http://www.pengutronix.de/index_en.html Pengutronix] &lt;br /&gt;
** GPL licensed&lt;br /&gt;
* [http://www.linuxfromscratch.org/ Linux From Scratch]&lt;br /&gt;
* [[Qplus Target Builder]] - Target image builder from ETRI&lt;br /&gt;
* LTIB - Linux Target Image Builder (by Stuart Hughes of FreeScale) - see http://savannah.nongnu.org/projects/ltib&lt;br /&gt;
&lt;br /&gt;
* [http://www.mvista.com/download/fetchdoc.php?docid=342 Building Embedded Userlands] - Presentation by Ned Miljevic &amp;amp; Klaas van Gend at the ELC 2008 which compares different configuration and build systems&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
&lt;br /&gt;
* [[Embedded OS]] mentions a variety of embedded operating systems, including embedded Linux.&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>DavidCary</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Embedded_OS</id>
		<title>Embedded OS</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Embedded_OS"/>
				<updated>2009-03-28T23:00:18Z</updated>
		
		<summary type="html">&lt;p&gt;DavidCary: fix redlink&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;some of the different operating system that can be embedded:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* eCos - http://sources.redhat.com/ecos/&lt;br /&gt;
* [[Embedded Linux Distributions]]&lt;br /&gt;
* uClinux - http://www.uclinux.org&lt;br /&gt;
* UZI - http://uzix.sourceforge.net/&lt;br /&gt;
* OMU - http://rootprompt.org/article.php3?article=335&lt;br /&gt;
&lt;br /&gt;
[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>DavidCary</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Embedded_Linux_Distributions</id>
		<title>Embedded Linux Distributions</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Embedded_Linux_Distributions"/>
				<updated>2009-03-28T22:59:17Z</updated>
		
		<summary type="html">&lt;p&gt;DavidCary: /* Special purpose embedded Linux distributions */ +UClinux Shared Library&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is some information about embedded Linux distributions, and kernel configuration and build systems:&lt;br /&gt;
&lt;br /&gt;
== Vendor distros ==&lt;br /&gt;
* Embedded Alley - see http://www.embeddedalley.com/&lt;br /&gt;
* [http://www.kaeilos.com KaeilOS embedded linux]&lt;br /&gt;
* Lineo Solutions [http://www.lineo.co.jp/eng/products-services/products/ulinux.html uLinux]&lt;br /&gt;
* [[MontaVista]] Linux - see http://www.mvista.com/products_services.php&lt;br /&gt;
* [[RidgeRun]] Linux - see http://www.ridgerun.com/sdk.shtml&lt;br /&gt;
* [[TimeSys]] LinuxLink - see http://www.timesys.com/products/index.htm&lt;br /&gt;
* [http://wiki.ubuntu.com/MobileAndEmbedded Ubuntu Mobile]&lt;br /&gt;
* Wind River - see http://www.windriver.com/products/linux/&lt;br /&gt;
* [http://www.littlebluelinux.com/ Little Blue Linux] - MPC Data&lt;br /&gt;
&lt;br /&gt;
== Other distros ==&lt;br /&gt;
* Snapgear Embedded Linux Distribution - http://www.snapgear.org/&lt;br /&gt;
* [[Open Wrt]] - http://openwrt.org/&lt;br /&gt;
* Embedded Debian - http://www.emdebian.org/&lt;br /&gt;
* Embedded Gentoo - http://www.gentoo.org/proj/en/base/embedded/index.xml&lt;br /&gt;
&lt;br /&gt;
=== Special purpose embedded Linux distributions ===&lt;br /&gt;
* [http://flashlinux.org.uk/ Flash Linux] - a distribution specifically for USB keys and Live CDs&lt;br /&gt;
* Eagle Linux - http://www.safedesksolutions.com/eaglelinux/&lt;br /&gt;
** An embedded Linux distribution aimed at helping users learn Linux by creating bootable Linux images &amp;quot;virtually from scratch&amp;quot;. Eagle Linux 2.3 is currently distributed as a concise, 26-page PDF documenting the creation of a minimalist, network-ready Linux image for bootable CDs, floppies, or flash drives. See description at: http://ct.enews.deviceforge.com/rd/cts?d=207-106-2-28-5560-8662-0-0-0-1&lt;br /&gt;
* [http://www.uclinux.org/ uClinux] A distribution targeting at systems without Memory Management Unit. See also [[UClinux Shared Library]].&lt;br /&gt;
&lt;br /&gt;
== Configuration and Build systems ==&lt;br /&gt;
* [[Open Embedded]] - System for building full embedded images from scratch&lt;br /&gt;
* [http://buildroot.uclibc.org/ buildroot]&lt;br /&gt;
** Buildroot is a set of Makefiles and patches that makes it easy generate a cross-compilation toolchain and root filesystem for your target Linux system using the uClibc C library.&lt;br /&gt;
* [http://www.pengutronix.de/software/ptxdist/index_en.html PTXdist]&lt;br /&gt;
** Kconfig based build system developed by [http://www.pengutronix.de/index_en.html Pengutronix] &lt;br /&gt;
** GPL licensed&lt;br /&gt;
* [http://www.linuxfromscratch.org/ Linux From Scratch]&lt;br /&gt;
* [[Qplus Target Builder]] - Target image builder from ETRI&lt;br /&gt;
* LTIB - Linux Target Image Builder (by Stuart Hughes of FreeScale) - see http://savannah.nongnu.org/projects/ltib&lt;br /&gt;
&lt;br /&gt;
* [http://www.mvista.com/download/fetchdoc.php?docid=342 Building Embedded Userlands] - Presentation by Ned Miljevic &amp;amp; Klaas van Gend at the ELC 2008 which compares different configuration and build systems&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>DavidCary</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Fast_Kernel_Decompression</id>
		<title>Fast Kernel Decompression</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Fast_Kernel_Decompression"/>
				<updated>2009-01-09T02:55:09Z</updated>
		
		<summary type="html">&lt;p&gt;DavidCary: lzop&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page has notes about faster kernel decompression.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Currently, the method used to compress the kernel is gzip.  However, other compression and&lt;br /&gt;
decompression methods exist which may allow improvements in kernel decompression (and&lt;br /&gt;
hence startup) performance.&lt;br /&gt;
&lt;br /&gt;
This page documents Sony's investigation of UCL compression/decompression performance,&lt;br /&gt;
for possible use in speeding up bootup time on an embedded device.  In our testing&lt;br /&gt;
UCL decompressed a sample file system image 43% faster than gunzip, and a sample kernel&lt;br /&gt;
image 28% faster than gunzip.&lt;br /&gt;
&lt;br /&gt;
From the UCL web page, it states:&lt;br /&gt;
* UCL is written in ANSI C. Both the source code and the compressed data format are designed to be portable across platforms.&lt;br /&gt;
&lt;br /&gt;
* UCL implements a number of algorithms with the following features:&lt;br /&gt;
** Decompression is simple and *very* fast.&lt;br /&gt;
** Requires no memory for decompression.&lt;br /&gt;
** The decompressors can be squeezed into less than 200 bytes of code.&lt;br /&gt;
** Focuses on compression levels for generating pre-compressed data which achieve a quite competitive compression ratio.&lt;br /&gt;
** Allows you to dial up extra compression at a speed cost in the compressor. The speed of the decompressor is not reduced.&lt;br /&gt;
** Algorithm is thread safe.&lt;br /&gt;
** Algorithm is lossless.&lt;br /&gt;
&lt;br /&gt;
* UCL supports in-place decompression.&lt;br /&gt;
* UCL and the UCL algorithms and implementations are distributed under the terms of the GNU General Public License (GPL) { auf Deutsch }. Special licenses for commercial and other applications are available by contacting the author.&lt;br /&gt;
&lt;br /&gt;
Another method of speeding up the kernel load phase of bootup is to use [[DMA Copy Of Kernel On Startup]]&lt;br /&gt;
&lt;br /&gt;
== How to implement or use ==&lt;br /&gt;
Get UCL from following URL and use sample command &amp;quot;uclpack&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    http://www.oberhumer.com/opensource/ucl/download/ucl-1.03.tar.gz&lt;br /&gt;
&lt;br /&gt;
untar the file, build , and use the sample command &amp;quot;uclpack&amp;quot;,&lt;br /&gt;
located at: ucl-1.03/examples/uclpack in the untar'ed source tree.&lt;br /&gt;
&lt;br /&gt;
== Expected Improvement ==&lt;br /&gt;
The case study below is intended to show a performance improvement in decompressing a&lt;br /&gt;
sample file system and sample kernel.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* UCL can be obtained at: http://www.oberhumer.com/opensource/ucl/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Projects ===&lt;br /&gt;
&lt;br /&gt;
* lzop ( http://www.lzop.org/ [http://en.wikipedia.org/wiki/lzop Wikipedia: lzop] ) uses the miniLZO Lempel-Ziv-Oberhumer ( [http://en.wikipedia.org/wiki/Lempel-Ziv-Oberhumer Wikipedia: LZO] ) algorithm. It has the reputation of extremely fast decompression and a tiny decompressor, but larger compressed files -- apparently faster decompression and better compressed file size than Lempel-Ziv Ross Williams ( [http://en.wikipedia.org/wiki/LZRW Wikipedia: LZRW] ) -- faster than memcopy() on some machines.&lt;br /&gt;
* UPX: the the Ultimate Packer for eXecutables ( [http://en.wikipedia.org/wiki/UPX Wikipedia: UPX] ; http://upx.sf.net/ ) uses the UCL algorithm&lt;br /&gt;
* gzip ( [http://en.wikipedia.org/wiki/gzip Wikipedia: gzip] )&lt;br /&gt;
* bzip2 ( [http://en.wikipedia.org/wiki/bzip2 Wikipedia: bzip2] ; http://www.bzip.org/ ) has the reputation of giving smaller compressed files and about the same decompression time as gzip (but longer compression times)&lt;br /&gt;
&lt;br /&gt;
[Are there other compressors with better decompression performance than gzip??&lt;br /&gt;
&lt;br /&gt;
== Case Studies ==&lt;br /&gt;
=== Case 1 ===&lt;br /&gt;
For this use case, we compiled both uclpack and gzip for the [[PowerPC]] platform.  Then&lt;br /&gt;
we ran the programs on the target platform, compressing and decompressing two different&lt;br /&gt;
file images - an initrd filesystem image, and a linux kernel image (originally uncompressed).&lt;br /&gt;
&lt;br /&gt;
The size and performance results from running these commands are in the tables below.&lt;br /&gt;
{| border=1 cellspacing=0&lt;br /&gt;
|- &lt;br /&gt;
|  Image file:&lt;br /&gt;
|  initrd-2.6.5-1.358&lt;br /&gt;
|- &lt;br /&gt;
|  method        &lt;br /&gt;
|  UCL    &lt;br /&gt;
|  GZIP    &lt;br /&gt;
|  improved %&lt;br /&gt;
|- &lt;br /&gt;
|  parameter        &lt;br /&gt;
|  -b4194304&lt;br /&gt;
|  -8&lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  source file size    &lt;br /&gt;
|  819200&lt;br /&gt;
|  819200&lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  compressed size    &lt;br /&gt;
|  187853&lt;br /&gt;
|  189447&lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  compression rate    &lt;br /&gt;
|  77.1% &lt;br /&gt;
|  76.9% &lt;br /&gt;
|  0.3%&lt;br /&gt;
|- &lt;br /&gt;
|  compression time: user (sec)&lt;br /&gt;
|  5.13&lt;br /&gt;
|  2.03  &lt;br /&gt;
|  -152.5%&lt;br /&gt;
|- &lt;br /&gt;
|  sys (sec)    &lt;br /&gt;
|  0.09    &lt;br /&gt;
|  0.06  &lt;br /&gt;
|  -36.5%&lt;br /&gt;
|- &lt;br /&gt;
|  total (sec)    &lt;br /&gt;
|  5.22    &lt;br /&gt;
|  2.09    &lt;br /&gt;
|  -149.0%&lt;br /&gt;
|- &lt;br /&gt;
|  decompression    time: user (sec)&lt;br /&gt;
|  0.12&lt;br /&gt;
|  0.3    &lt;br /&gt;
|  59.7%&lt;br /&gt;
|- &lt;br /&gt;
|  sys (sec)    &lt;br /&gt;
|  0.1    &lt;br /&gt;
|  0.08    &lt;br /&gt;
|  -16.9%&lt;br /&gt;
|- &lt;br /&gt;
|  total (sec)    &lt;br /&gt;
|  0.22    &lt;br /&gt;
|  0.39    &lt;br /&gt;
| bgcolor=&amp;quot;#ffc0c0&amp;quot; | 43.0%&lt;br /&gt;
|-&lt;br /&gt;
|.||.||.||.&lt;br /&gt;
|-&lt;br /&gt;
|  Image file:&lt;br /&gt;
|  vmlinux-2.4.20 for ibm-440gp&lt;br /&gt;
|- &lt;br /&gt;
|  method        &lt;br /&gt;
|  UCL    &lt;br /&gt;
|  GZIP    &lt;br /&gt;
|  improved %&lt;br /&gt;
|- &lt;br /&gt;
|  parameter        &lt;br /&gt;
|  -b4194304&lt;br /&gt;
|  -8 &lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  source file size    &lt;br /&gt;
|  1810351&lt;br /&gt;
|  1810351&lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  compressed size    &lt;br /&gt;
|  790250&lt;br /&gt;
|  776807&lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  compression rate    &lt;br /&gt;
|  56.3% &lt;br /&gt;
|  57.1%    &lt;br /&gt;
|  -1.3%&lt;br /&gt;
|- &lt;br /&gt;
|  compression time: user (sec)&lt;br /&gt;
|  17.29&lt;br /&gt;
|  6.07&lt;br /&gt;
|  -185.0%&lt;br /&gt;
|- &lt;br /&gt;
|  sys (sec)    &lt;br /&gt;
|  0.04    &lt;br /&gt;
|  0.02    &lt;br /&gt;
|  -92.4%&lt;br /&gt;
|- &lt;br /&gt;
|  total (sec)    &lt;br /&gt;
|  17.33    &lt;br /&gt;
|  6.09    &lt;br /&gt;
|  -184.6%&lt;br /&gt;
|- &lt;br /&gt;
|  decompression    time: user (sec)&lt;br /&gt;
|  0.12    &lt;br /&gt;
|  0.16    &lt;br /&gt;
|  26.1%&lt;br /&gt;
|- &lt;br /&gt;
|  sys (sec)    &lt;br /&gt;
|  0.03    &lt;br /&gt;
|  0.04    &lt;br /&gt;
|  35.8% &lt;br /&gt;
|- &lt;br /&gt;
|  total (sec)    &lt;br /&gt;
|  0.15    &lt;br /&gt;
|  0.2    &lt;br /&gt;
| bgcolor=&amp;quot;#ffc0c0&amp;quot; | 28.2% &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;  Hardware : PPC440GP - 300 MHZ&lt;br /&gt;
&lt;br /&gt;
;  Kernel Version : Linux kernel running on target was 2.6.11, kernel which was compressed with Linux 2.4.20&lt;br /&gt;
&lt;br /&gt;
;  Configuration : See above tables for parameters to gzip and ucl&lt;br /&gt;
&lt;br /&gt;
;  Time without change : [put that here]&lt;br /&gt;
&lt;br /&gt;
;  Time with change : [put that here]&lt;br /&gt;
&lt;br /&gt;
=== Case 2 ===&lt;br /&gt;
=== Case 3 ===&lt;/div&gt;</summary>
		<author><name>DavidCary</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Fast_Kernel_Decompression</id>
		<title>Fast Kernel Decompression</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Fast_Kernel_Decompression"/>
				<updated>2009-01-08T05:46:47Z</updated>
		
		<summary type="html">&lt;p&gt;DavidCary: other compressors, as requested&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page has notes about faster kernel decompression.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Currently, the method used to compress the kernel is gzip.  However, other compression and&lt;br /&gt;
decompression methods exist which may allow improvements in kernel decompression (and&lt;br /&gt;
hence startup) performance.&lt;br /&gt;
&lt;br /&gt;
This page documents Sony's investigation of UCL compression/decompression performance,&lt;br /&gt;
for possible use in speeding up bootup time on an embedded device.  In our testing&lt;br /&gt;
UCL decompressed a sample file system image 43% faster than gunzip, and a sample kernel&lt;br /&gt;
image 28% faster than gunzip.&lt;br /&gt;
&lt;br /&gt;
From the UCL web page, it states:&lt;br /&gt;
* UCL is written in ANSI C. Both the source code and the compressed data format are designed to be portable across platforms.&lt;br /&gt;
&lt;br /&gt;
* UCL implements a number of algorithms with the following features:&lt;br /&gt;
** Decompression is simple and *very* fast.&lt;br /&gt;
** Requires no memory for decompression.&lt;br /&gt;
** The decompressors can be squeezed into less than 200 bytes of code.&lt;br /&gt;
** Focuses on compression levels for generating pre-compressed data which achieve a quite competitive compression ratio.&lt;br /&gt;
** Allows you to dial up extra compression at a speed cost in the compressor. The speed of the decompressor is not reduced.&lt;br /&gt;
** Algorithm is thread safe.&lt;br /&gt;
** Algorithm is lossless.&lt;br /&gt;
&lt;br /&gt;
* UCL supports in-place decompression.&lt;br /&gt;
* UCL and the UCL algorithms and implementations are distributed under the terms of the GNU General Public License (GPL) { auf Deutsch }. Special licenses for commercial and other applications are available by contacting the author.&lt;br /&gt;
&lt;br /&gt;
Another method of speeding up the kernel load phase of bootup is to use [[DMA Copy Of Kernel On Startup]]&lt;br /&gt;
&lt;br /&gt;
== How to implement or use ==&lt;br /&gt;
Get UCL from following URL and use sample command &amp;quot;uclpack&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    http://www.oberhumer.com/opensource/ucl/download/ucl-1.03.tar.gz&lt;br /&gt;
&lt;br /&gt;
untar the file, build , and use the sample command &amp;quot;uclpack&amp;quot;,&lt;br /&gt;
located at: ucl-1.03/examples/uclpack in the untar'ed source tree.&lt;br /&gt;
&lt;br /&gt;
== Expected Improvement ==&lt;br /&gt;
The case study below is intended to show a performance improvement in decompressing a&lt;br /&gt;
sample file system and sample kernel.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* UCL can be obtained at: http://www.oberhumer.com/opensource/ucl/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Projects ===&lt;br /&gt;
&lt;br /&gt;
* miniLZO Lempel-Ziv-Oberhumer ( [http://en.wikipedia.org/wiki/Lempel-Ziv-Oberhumer Wikipedia: LZO) has the reputation of extremely fast decompression and a tiny decompressor, but larger compressed files -- apparently faster decompression and better compressed file size than Lempel-Ziv Ross Williams ( [http://en.wikipedia.org/wiki/LZRW Wikipedia: LZRW] ) -- faster than memcopy() on some machines.&lt;br /&gt;
* UPX: the the Ultimate Packer for eXecutables ( [http://en.wikipedia.org/wiki/UPX Wikipedia: UPX] ; http://upx.sf.net/ ) uses the UCL algorithm&lt;br /&gt;
* gzip ( [http://en.wikipedia.org/wiki/gzip Wikipedia: gzip] )&lt;br /&gt;
* bzip2 ( [http://en.wikipedia.org/wiki/bzip2 Wikipedia: bzip2] ; http://www.bzip.org/ ) has the reputation of giving smaller compressed files and about the same decompression time as gzip (but longer compression times)&lt;br /&gt;
&lt;br /&gt;
[Are there other compressors with better decompression performance than gzip??&lt;br /&gt;
&lt;br /&gt;
== Case Studies ==&lt;br /&gt;
=== Case 1 ===&lt;br /&gt;
For this use case, we compiled both uclpack and gzip for the [[PowerPC]] platform.  Then&lt;br /&gt;
we ran the programs on the target platform, compressing and decompressing two different&lt;br /&gt;
file images - an initrd filesystem image, and a linux kernel image (originally uncompressed).&lt;br /&gt;
&lt;br /&gt;
The size and performance results from running these commands are in the tables below.&lt;br /&gt;
{| border=1 cellspacing=0&lt;br /&gt;
|- &lt;br /&gt;
|  Image file:&lt;br /&gt;
|  initrd-2.6.5-1.358&lt;br /&gt;
|- &lt;br /&gt;
|  method        &lt;br /&gt;
|  UCL    &lt;br /&gt;
|  GZIP    &lt;br /&gt;
|  improved %&lt;br /&gt;
|- &lt;br /&gt;
|  parameter        &lt;br /&gt;
|  -b4194304&lt;br /&gt;
|  -8&lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  source file size    &lt;br /&gt;
|  819200&lt;br /&gt;
|  819200&lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  compressed size    &lt;br /&gt;
|  187853&lt;br /&gt;
|  189447&lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  compression rate    &lt;br /&gt;
|  77.1% &lt;br /&gt;
|  76.9% &lt;br /&gt;
|  0.3%&lt;br /&gt;
|- &lt;br /&gt;
|  compression time: user (sec)&lt;br /&gt;
|  5.13&lt;br /&gt;
|  2.03  &lt;br /&gt;
|  -152.5%&lt;br /&gt;
|- &lt;br /&gt;
|  sys (sec)    &lt;br /&gt;
|  0.09    &lt;br /&gt;
|  0.06  &lt;br /&gt;
|  -36.5%&lt;br /&gt;
|- &lt;br /&gt;
|  total (sec)    &lt;br /&gt;
|  5.22    &lt;br /&gt;
|  2.09    &lt;br /&gt;
|  -149.0%&lt;br /&gt;
|- &lt;br /&gt;
|  decompression    time: user (sec)&lt;br /&gt;
|  0.12&lt;br /&gt;
|  0.3    &lt;br /&gt;
|  59.7%&lt;br /&gt;
|- &lt;br /&gt;
|  sys (sec)    &lt;br /&gt;
|  0.1    &lt;br /&gt;
|  0.08    &lt;br /&gt;
|  -16.9%&lt;br /&gt;
|- &lt;br /&gt;
|  total (sec)    &lt;br /&gt;
|  0.22    &lt;br /&gt;
|  0.39    &lt;br /&gt;
| bgcolor=&amp;quot;#ffc0c0&amp;quot; | 43.0%&lt;br /&gt;
|-&lt;br /&gt;
|.||.||.||.&lt;br /&gt;
|-&lt;br /&gt;
|  Image file:&lt;br /&gt;
|  vmlinux-2.4.20 for ibm-440gp&lt;br /&gt;
|- &lt;br /&gt;
|  method        &lt;br /&gt;
|  UCL    &lt;br /&gt;
|  GZIP    &lt;br /&gt;
|  improved %&lt;br /&gt;
|- &lt;br /&gt;
|  parameter        &lt;br /&gt;
|  -b4194304&lt;br /&gt;
|  -8 &lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  source file size    &lt;br /&gt;
|  1810351&lt;br /&gt;
|  1810351&lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  compressed size    &lt;br /&gt;
|  790250&lt;br /&gt;
|  776807&lt;br /&gt;
|  .&lt;br /&gt;
|- &lt;br /&gt;
|  compression rate    &lt;br /&gt;
|  56.3% &lt;br /&gt;
|  57.1%    &lt;br /&gt;
|  -1.3%&lt;br /&gt;
|- &lt;br /&gt;
|  compression time: user (sec)&lt;br /&gt;
|  17.29&lt;br /&gt;
|  6.07&lt;br /&gt;
|  -185.0%&lt;br /&gt;
|- &lt;br /&gt;
|  sys (sec)    &lt;br /&gt;
|  0.04    &lt;br /&gt;
|  0.02    &lt;br /&gt;
|  -92.4%&lt;br /&gt;
|- &lt;br /&gt;
|  total (sec)    &lt;br /&gt;
|  17.33    &lt;br /&gt;
|  6.09    &lt;br /&gt;
|  -184.6%&lt;br /&gt;
|- &lt;br /&gt;
|  decompression    time: user (sec)&lt;br /&gt;
|  0.12    &lt;br /&gt;
|  0.16    &lt;br /&gt;
|  26.1%&lt;br /&gt;
|- &lt;br /&gt;
|  sys (sec)    &lt;br /&gt;
|  0.03    &lt;br /&gt;
|  0.04    &lt;br /&gt;
|  35.8% &lt;br /&gt;
|- &lt;br /&gt;
|  total (sec)    &lt;br /&gt;
|  0.15    &lt;br /&gt;
|  0.2    &lt;br /&gt;
| bgcolor=&amp;quot;#ffc0c0&amp;quot; | 28.2% &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;  Hardware : PPC440GP - 300 MHZ&lt;br /&gt;
&lt;br /&gt;
;  Kernel Version : Linux kernel running on target was 2.6.11, kernel which was compressed with Linux 2.4.20&lt;br /&gt;
&lt;br /&gt;
;  Configuration : See above tables for parameters to gzip and ucl&lt;br /&gt;
&lt;br /&gt;
;  Time without change : [put that here]&lt;br /&gt;
&lt;br /&gt;
;  Time with change : [put that here]&lt;br /&gt;
&lt;br /&gt;
=== Case 2 ===&lt;br /&gt;
=== Case 3 ===&lt;/div&gt;</summary>
		<author><name>DavidCary</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Talk:Processors</id>
		<title>Talk:Processors</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Talk:Processors"/>
				<updated>2007-06-13T23:07:02Z</updated>
		
		<summary type="html">&lt;p&gt;DavidCary: &amp;quot;buggy executable&amp;quot;, &amp;quot;trusted&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Is it true that the the Linux [[security]] permissions system relies on the MMU? -- DavidCary&lt;br /&gt;
&lt;br /&gt;
It depends on what you mean by &amp;quot;security permissions&amp;quot;.  The file system permissions&lt;br /&gt;
are enforced by the file system.  Any process operating through normal system calls&lt;br /&gt;
will be unable to open files for which is does not have appropriate security.&lt;br /&gt;
&lt;br /&gt;
However, security between processes is NOT enforced via memory protection, since&lt;br /&gt;
there is no memory management unit.  Any process can access the memory areas&lt;br /&gt;
of the kernel or any other process.  Thus it is not wise to run untrusted code&lt;br /&gt;
on an MMU-less system. --[[User:TimBird|TimBird]]&lt;br /&gt;
&lt;br /&gt;
So any buggy executable can bypass the normal system calls, delete files, and crash the entire system.&lt;br /&gt;
&lt;br /&gt;
But a buggy shell script or Java app will stay confined to its own compartment by the file system permissions&lt;br /&gt;
(unless the shell or the JVM is a buggy executable).&lt;br /&gt;
&lt;br /&gt;
p.s.: I'm starting to hear a lot of programmers use the term &amp;quot;trusted&amp;quot;.&lt;br /&gt;
And what they mean by it is not what I (or, I suspect, you) mean by it.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;The Fallacy of Trusted Client Software&amp;quot; by [http://www.schneier.com/essay-063.html Bruce Schneier], [http://infosecuritymag.techtarget.com/articles/august00/columns2_cryptorhythms.shtml Information Security Magazine], August 2000 &lt;br /&gt;
* [http://www.theregister.co.uk/2005/09/27/untrusted_search/ &amp;quot;Trusted search software labels fraud site as safe&amp;quot;] ...  &amp;quot;Such incorrect classifications create a false sense of security&amp;quot;&lt;br /&gt;
* [http://www.w3.org/2000/12/drm-ws/pp/cloakware.html a user that cannot be ... trusted. ... Bob must assumed to be hostile, not just naive.]&lt;br /&gt;
* [http://www.eff.org/Infrastructure/trusted_computing/20031001_tc.php &amp;quot;Trusted Computing: Promise and Risk&amp;quot;] by Seth Schoen. &amp;quot;... trusted computing ... remains controversial. Some of the controversy is based on misconceptions ...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
--[[User:DavidCary|DavidCary]] 02:07, 14 June 2007 (EEST)&lt;/div&gt;</summary>
		<author><name>DavidCary</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Processors</id>
		<title>Processors</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Processors"/>
				<updated>2007-06-11T16:42:20Z</updated>
		
		<summary type="html">&lt;p&gt;DavidCary: more ARM processors -- do they have a MMU?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is a list of different processor families, with miscellaneous notes for development information:&lt;br /&gt;
&lt;br /&gt;
See also [[Hardware Hacking]] for a list of systems that include these processors.&lt;br /&gt;
&lt;br /&gt;
== ARM ==&lt;br /&gt;
See [http://www.arm.com ARM website] and the [http://en.wikipedia.org/wiki/ARM_architecture Wikipedia ARM article] for information about the ARM architecture and processor family.&lt;br /&gt;
&lt;br /&gt;
From the Linux perspective, there are 2 very different kinds of ARM chips:&lt;br /&gt;
* ARM devices that include a MMU, and can run standard Linux&lt;br /&gt;
* ARM devices without a MMU, which cannot run standard Linux. However, they can run uClinux. The Linux/Microcontroller project is a port of Linux to systems without a Memory Management Unit (MMU), such as the ARM7TDMI and the Microblaze. ( http://uclinux.org/ ). Is it true that the the Linux [[security]] permissions system relies on the MMU?&lt;br /&gt;
&lt;br /&gt;
''(FIXME: indicate whether or not each chip has a MMU)''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some major ARM platforms/SOCs are:&lt;br /&gt;
* [[DaVinci]] from [http://www.ti.com/corp/docs/landing/davinci/firstproducts.html Texas Instruments]&lt;br /&gt;
* OMAP - by TI&lt;br /&gt;
* i.MX - by FreeScale&lt;br /&gt;
** Freescale's GIT repository for i.MX Linux support is at: http://opensource.freescale.com&lt;br /&gt;
*** Info about this repository, as of April 2007 is at: http://www.spinics.net/lists/arm-kernel/msg39771.html&lt;br /&gt;
* [http://www.arm.com/products/DevTools/Hardware_Platforms.html ARM RealView] platforms - by ARM Ltd. &lt;br /&gt;
** Linux BSP and resources available at http://www.arm.com/linux with associated [http://www.linux-arm.org/git GIT tree]&lt;br /&gt;
* XScale/PXA - by Marvell (formerly Intel) -- has MMU&lt;br /&gt;
** Linux BSPs available in mainline kernel or from Marvell web-site (for Monahans)&lt;br /&gt;
* Orion - by Marvell&lt;br /&gt;
** Linux BSP for Orion-2 SoC available on [http://marc.info/?l=linux-arm-kernel&amp;amp;m=117869744222933&amp;amp;w=2 ARM Linux Mailing List].&lt;br /&gt;
* Philips LPC21xx series of ARM processors are currently the lowest-cost ARM processors available. But they have no MMU.&lt;br /&gt;
* [[JuiceBox]] uses a ARM S3C44B0X. It runs uClinux.&lt;br /&gt;
* Atmel AT91RM9200 -- has MMU.&lt;br /&gt;
&lt;br /&gt;
== MIPS ==&lt;br /&gt;
''need info here''&lt;br /&gt;
&lt;br /&gt;
== SH ==&lt;br /&gt;
''need info here''&lt;br /&gt;
&lt;br /&gt;
== x86 ==&lt;br /&gt;
''need info here''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:NeedsEditing]]&lt;/div&gt;</summary>
		<author><name>DavidCary</name></author>	</entry>

	</feed>