OpenWGT: Difference between revisions

From
Jump to navigation Jump to search
(Link for binaries added)
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Introduction =
= Introduction =
What is OpenWGT? OpenWGT is a Linux distribution designed to run on Netgear's WGT634U ''Wireless Media Routers''.
What is [http://openwgt.informatik.hu-berlin.de/ OpenWGT]? OpenWGT is a Linux distribution designed to run on Netgear's WGT634U ''Wireless Media Routers''.
OpenWGT intents to be compatible to OpenWRT (a distribution for the Linksys WRT54G(S) broadband router).
OpenWGT intents to be compatible to [http://openwrt.org/ OpenWRT] (a distribution for the Linksys WRT54G(S) broadband router).


This OpenWRT compatibility will be reached by compatibility in:
This OpenWRT compatibility will be reached through compatibility in:


* Init process layout
* Init process layout
Line 11: Line 11:




= Advantages =
== Advantages ==
Why don't use the distributed Linux system?
Why don't use the distributed Linux system?


Line 19: Line 19:




= Overview =
== Overview ==
OpenWGT consists of two parts:
OpenWGT consists of two parts:
# Linux kernel (2.4 or 2.6)
# Linux kernel (2.4 or 2.6)
Line 31: Line 31:
There are 2 possibilities to install the OpenWGT Linux distribution:
There are 2 possibilities to install the OpenWGT Linux distribution:


# use an OpenWGT firmware image
# self-compile from sources (using the standarized development environment - WRTSDE)
# self-compile from sources (using the standarized development environment - WRTSDE)

# use the OpenWGT web installer (alpha stadium) - You will need an online connection during the whole installation process!

== Install OpenWGT via Netgear's web-frontend ==
See http://openwgt.informatik.hu-berlin.de/installation.php for details.




== Compiling OpenWGT from sources ==
== Compiling OpenWGT from sources ==
First of all you need a Linux/UNIX machine with development tools (compilers, etc.) -
'''NOTE:''' Instead of compile OpenWGT for your own or using the web-installer, you can download the binaries we are using for our Netgear routers.
at least a working subversion tool and debootstrap to create a working set of tools
You can get it from: http://sar.informatik.hu-berlin.de/research/roofnet/openwgt/binary/
See below how to install the binaries.


=== Get scripts ===
For self-compilation you will need:
We published some script to simplify the creating of a toolchain.
# a toolchain for cross-compiling, since the Netgear WGT634U contains a Mipsel CPU.
Get a copy from the SAR subversion repository:
# the SAR OpenWGT sources (these are an old snapshot from the OpenWRT project)
# sources of the Linux kernel from netgear


You can also download a complete OpenWGT construction kit from http://sar.informatik.hu-berlin.de/.../
svn co svn://sarsvn.informatik.hu-berlin.de/openwgt-dev




'''Note''': if your system have all necessary development tools (gcc, zlib, java, wget, ...) installed, you can skip the following section.
== OpenWGT web installer ==
We provide a web-installer to install then OpenWGT distribution, but note that the installer is under construction yet (alpha stadium).


=== Build a toolchain with debootstrap ===
web-installer TODO list:
* To create the toolchain, you will need debootstrap for it. Debian users run:
* split the installer script (to show intermediate results)
apt-get install debootstrap

* You will find a script called '''create-image.sh''' in the fetched openwgt-dev directory. Execute it as root to create a minimal image for user-mode-linux or Xen - if you don't want to use them you can also loop-mount that image locally to use this working set.

* The image path is '''/home/uml/ODK-rootfs.img'''

* The '''startuml.sh''' script (in the openwgt-dev directory) presents, how to run an UML system, using the created image. (Debian supports UML only in unstable tree yet)

* The passwords for ''root'' und the ''user'' account are blank.

=== Build an OpenWGT image ===
* If you are using the UML option, copy the ''openwgt-dev'' directory to the image (via loop-mount) or check out another copy from sarsvn inside the UML system.
* Now it's time to build an OpenWGT image on your own: (You will need an Internet connection for this)
cd openwgt-dev/buildroot
make

* If nothing went wrong, you should find an image - called '''openwgt-0.06a.img''' - in the buildroot directory.




Line 60: Line 78:
* boot via network (TFTP/NFS)
* boot via network (TFTP/NFS)


=== Installing OpenWGT to flash ===


= Feature list =
Feel free to add things you like to have with OpenWGT.

=== Implemented ===
* boot rootfs from USB devices
* ipkg
* working madwifi for linux 2.4

=== Necessary things for kernel 2.6 ===
* NVRAM support
* rootfs from USB (does it fit into kernel partition?)
* ramdisk mode
* particular compressed kernel image (Netgear's default settings don't allow fully compressed ones)


=== TODO ===
=== Setting up a netboot environment ===
* ipkg packages for kernel modules: NFS, SMB, USB-2-serial(for gpsd), ...
* pppoecd for DSL dialup (see http://openwgt.informatik.hu-berlin.de/installation.php#pppoe)
* FLASH partition layout
* read network device configuration completly from NVRAM

Latest revision as of 19:21, 15 December 2005

Introduction

What is OpenWGT? OpenWGT is a Linux distribution designed to run on Netgear's WGT634U Wireless Media Routers. OpenWGT intents to be compatible to OpenWRT (a distribution for the Linksys WRT54G(S) broadband router).

This OpenWRT compatibility will be reached through compatibility in:

  • Init process layout
  • NVRAM layout
  • ipkg management
  • flash partition layout


Advantages

Why don't use the distributed Linux system?

  • booting needs lots of time (> 2 minutes)
  • it's hard to install own programs
  • bad fallback strategy (if modifications fail)


Overview

OpenWGT consists of two parts:

  1. Linux kernel (2.4 or 2.6)
  2. Root file system


Installation

WARNING: The installation of OpenWGT is heavily under construction. So we recommend to continue the following steps only if you have a serial console for your Netgear WGT634U.

There are 2 possibilities to install the OpenWGT Linux distribution:

  1. use an OpenWGT firmware image
  2. self-compile from sources (using the standarized development environment - WRTSDE)


Install OpenWGT via Netgear's web-frontend

See http://openwgt.informatik.hu-berlin.de/installation.php for details.


Compiling OpenWGT from sources

First of all you need a Linux/UNIX machine with development tools (compilers, etc.) - at least a working subversion tool and debootstrap to create a working set of tools

Get scripts

We published some script to simplify the creating of a toolchain. Get a copy from the SAR subversion repository:

svn co svn://sarsvn.informatik.hu-berlin.de/openwgt-dev


Note: if your system have all necessary development tools (gcc, zlib, java, wget, ...) installed, you can skip the following section.

Build a toolchain with debootstrap

  • To create the toolchain, you will need debootstrap for it. Debian users run:
apt-get install debootstrap
  • You will find a script called create-image.sh in the fetched openwgt-dev directory. Execute it as root to create a minimal image for user-mode-linux or Xen - if you don't want to use them you can also loop-mount that image locally to use this working set.
  • The image path is /home/uml/ODK-rootfs.img
  • The startuml.sh script (in the openwgt-dev directory) presents, how to run an UML system, using the created image. (Debian supports UML only in unstable tree yet)
  • The passwords for root und the user account are blank.

Build an OpenWGT image

  • If you are using the UML option, copy the openwgt-dev directory to the image (via loop-mount) or check out another copy from sarsvn inside the UML system.
  • Now it's time to build an OpenWGT image on your own: (You will need an Internet connection for this)
cd openwgt-dev/buildroot
make
  • If nothing went wrong, you should find an image - called openwgt-0.06a.img - in the buildroot directory.


Booting OpenWGT

TODO: Description of:

  • boot from flash
  • boot via network (TFTP/NFS)


Feature list

Feel free to add things you like to have with OpenWGT.

Implemented

  • boot rootfs from USB devices
  • ipkg
  • working madwifi for linux 2.4

Necessary things for kernel 2.6

  • NVRAM support
  • rootfs from USB (does it fit into kernel partition?)
  • ramdisk mode
  • particular compressed kernel image (Netgear's default settings don't allow fully compressed ones)

TODO