Difference between revisions of "OpenWRT"

From Embedded Xinu
Jump to navigation Jump to search
(Starting with some basics)
 
m
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
OpenWRT is essentially a Linux distribution for embedded systems, specifically routers.  It has an incredibly modular structure which allows it to build easily for dozens of different devices and makes package selection easy.  It also makes browsing around its source relatively difficult.  When you first download a copy of "White Russian", the stable branch of OpenWRT, you don't have a linux kernel, or even a toolchain, but you have its unique build system, which is everything you need to build a firmware image.  As far as we can tell it:
+
OpenWRT is essentially a Linux distribution for embedded systems, specifically routers.  It has an incredibly modular structure which allows it to build easily for dozens of different devices and makes package selection easy.  It also makes browsing around its source relatively difficult.  When you first download a copy of "White Russian", the stable branch of OpenWRT, you don't have a linux kernel, or even a toolchain, but you have its unique build system, which is everything you need to build a firmware image.  As far as we can tell the build process follows these steps:
  
* Downloads the correct toolchain
+
* Download the correct toolchain
* Builds the toolchain
+
* Build the toolchain
* Downloads a linux kernel
+
* Download a linux kernel
* Downloads your selected packages
+
* Download selected packages
* Uses the toolchain to build the kernel / packages
+
* Use the toolchain to build the kernel / packages
* Smushes everything together into several flavors of executable (depending on which file system you desire)
+
* Smush everything together into several flavors of executable (depending on file system)
* Also creates versions with proper Linksys headers so that they can be uploaded though the web interface as "legit" firmware upgrades
+
* Also create versions with proper Linksys headers so that they can be uploaded though the web interface as "legit" firmware upgrades
  
So though the precious bounty is not in the original download, once you complete the build process, the build system leaves the linux source behind in the '''build_mipsel''' directory, and the toolchain is left waiting to be swiped as well.
+
So though the precious bounty is not in the original download, once you complete the build process, the build system leaves the linux source behind in the '''build_mipsel''' directory, and the toolchain is left waiting to be swiped as well. Although we recommend building your own [[HOWTO:Build XINU|cross compiler]] which can be more finely tuned.
 +
 
 +
The [[Main Page|Embedded XINU]] project has used OpenWRT's linux source as a reference in our work on implementing XINU for MIPS.
 +
 
 +
== Related Links ==
 +
* http://www.openwrt.org - OpenWRT home page
 +
* http://wiki.openwrt.org/OpenWrtDocs/Hardware/Linksys/WRT54GL - information on our primary router

Latest revision as of 20:06, 24 June 2008

OpenWRT is essentially a Linux distribution for embedded systems, specifically routers. It has an incredibly modular structure which allows it to build easily for dozens of different devices and makes package selection easy. It also makes browsing around its source relatively difficult. When you first download a copy of "White Russian", the stable branch of OpenWRT, you don't have a linux kernel, or even a toolchain, but you have its unique build system, which is everything you need to build a firmware image. As far as we can tell the build process follows these steps:

  • Download the correct toolchain
  • Build the toolchain
  • Download a linux kernel
  • Download selected packages
  • Use the toolchain to build the kernel / packages
  • Smush everything together into several flavors of executable (depending on file system)
  • Also create versions with proper Linksys headers so that they can be uploaded though the web interface as "legit" firmware upgrades

So though the precious bounty is not in the original download, once you complete the build process, the build system leaves the linux source behind in the build_mipsel directory, and the toolchain is left waiting to be swiped as well. Although we recommend building your own cross compiler which can be more finely tuned.

The Embedded XINU project has used OpenWRT's linux source as a reference in our work on implementing XINU for MIPS.

Related Links