<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://sarwiki.informatik.hu-berlin.de/index.php?action=history&amp;feed=atom&amp;title=Hacking_the_Netgear_wgt634u</id>
	<title>Hacking the Netgear wgt634u - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://sarwiki.informatik.hu-berlin.de/index.php?action=history&amp;feed=atom&amp;title=Hacking_the_Netgear_wgt634u"/>
	<link rel="alternate" type="text/html" href="https://sarwiki.informatik.hu-berlin.de/index.php?title=Hacking_the_Netgear_wgt634u&amp;action=history"/>
	<updated>2026-07-01T14:07:10Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://sarwiki.informatik.hu-berlin.de/index.php?title=Hacking_the_Netgear_wgt634u&amp;diff=5856&amp;oldid=prev</id>
		<title>W m0zart: Total amount of volatile RAM is 2*16MB=32 MB (according to IC42S16800 datasheet)</title>
		<link rel="alternate" type="text/html" href="https://sarwiki.informatik.hu-berlin.de/index.php?title=Hacking_the_Netgear_wgt634u&amp;diff=5856&amp;oldid=prev"/>
		<updated>2006-08-23T13:52:33Z</updated>

		<summary type="html">&lt;p&gt;Total amount of volatile RAM is 2*16MB=32 MB (according to IC42S16800 datasheet)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:52, 23 August 2006&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 20:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 20:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;alternate devices can be found at: http://wiki.openwrt.org/OpenWrtDocs/Hardware/&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;alternate devices can be found at: http://wiki.openwrt.org/OpenWrtDocs/Hardware/&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The operating system on the Router router is Linux - again, not the same Linux that you might run on your desktop, but a Linux that was specifically compiled for the Broadcom CPU. The operating system along with all other programs is stored in a regular Linux file system which physically resides on the Netgear router&#039;s 8MB of flash memory. Flash memory is nonvolatile RAM which does not lose its data when the device is powered-off. But it is RAM, i.e. it can be modified in much the same way as regular RAM - just at a slower speed. In addition to the 8MB of non-volatile flash memory for the file system, the Netgear router has &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;16MB&lt;/del&gt; of regular volatile RAM. &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The operating system on the Router router is Linux - again, not the same Linux that you might run on your desktop, but a Linux that was specifically compiled for the Broadcom CPU. The operating system along with all other programs is stored in a regular Linux file system which physically resides on the Netgear router&#039;s 8MB of flash memory. Flash memory is nonvolatile RAM which does not lose its data when the device is powered-off. But it is RAM, i.e. it can be modified in much the same way as regular RAM - just at a slower speed. In addition to the 8MB of non-volatile flash memory for the file system, the Netgear router has &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;32MB&lt;/ins&gt; of regular volatile RAM. &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The content of the flash memory (i.e. the file system with all its data, including the operating system, programs and configuration data) is also called firmware. When we say that we replace the firmware of the Netgear router, we mean that we erase the content of the flash memory, i.e. it the entire file system that was stored in it - and replace it with an entirely new file system, which contains a completely new operating system, and a new set of programs and data files. Nothing from the old system will survive when the firmware is replaced. &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The content of the flash memory (i.e. the file system with all its data, including the operating system, programs and configuration data) is also called firmware. When we say that we replace the firmware of the Netgear router, we mean that we erase the content of the flash memory, i.e. it the entire file system that was stored in it - and replace it with an entirely new file system, which contains a completely new operating system, and a new set of programs and data files. Nothing from the old system will survive when the firmware is replaced. &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>W m0zart</name></author>
	</entry>
	<entry>
		<id>https://sarwiki.informatik.hu-berlin.de/index.php?title=Hacking_the_Netgear_wgt634u&amp;diff=5664&amp;oldid=prev</id>
		<title>Jeschke: Reverted edit of 1146345199, changed back to last version by Cakruege</title>
		<link rel="alternate" type="text/html" href="https://sarwiki.informatik.hu-berlin.de/index.php?title=Hacking_the_Netgear_wgt634u&amp;diff=5664&amp;oldid=prev"/>
		<updated>2006-05-17T10:47:17Z</updated>

		<summary type="html">&lt;p&gt;Reverted edit of 1146345199, changed back to last version by Cakruege&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Abstract==&lt;br /&gt;
&lt;br /&gt;
OpenWRT is a Linux port (2.4 kernel) for embedded plattforms including the Netgear wgt634u wireless router.&lt;br /&gt;
&lt;br /&gt;
Click is a modular software for implementing advanced router functionality on Linux systems.&lt;br /&gt;
&lt;br /&gt;
Madwifi is a WLAN driver (802.11 wireless network) that runs on OpenWRT and can be integrated with the click system.&lt;br /&gt;
&lt;br /&gt;
This tutorial describes the steps of downloading the source code for each of these&lt;br /&gt;
3 components, for compiling them, and for getting them to run (together) on a wgt634 Netgear wireless router platform.&lt;br /&gt;
&lt;br /&gt;
This work has been done for the Berlin Roof Net project ( http://sarwiki.informatik.hu-berlin.de/wiki/BerlinRoofNet ),&lt;br /&gt;
with substantial support from the MIT Roof Net project team ( http://pdos.csail.mit.edu/click/ )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
The Netgear wgt634u Wireless Router has a Broadcom (type 0x29007) CPU, running at 200MHz. This CPU is not compatible with the Pentium (or similar) on your desktop computer, i.e. you can not simply take a binary program file from your desktop and execute it on the Netgear router - the Broadcom CPU encodes instructions and data in a completely different way and would therefore not &amp;quot;understand&amp;quot; your Pentium-based program at all. &lt;br /&gt;
&lt;br /&gt;
alternate devices can be found at: http://wiki.openwrt.org/OpenWrtDocs/Hardware/&lt;br /&gt;
&lt;br /&gt;
The operating system on the Router router is Linux - again, not the same Linux that you might run on your desktop, but a Linux that was specifically compiled for the Broadcom CPU. The operating system along with all other programs is stored in a regular Linux file system which physically resides on the Netgear router&amp;#039;s 8MB of flash memory. Flash memory is nonvolatile RAM which does not lose its data when the device is powered-off. But it is RAM, i.e. it can be modified in much the same way as regular RAM - just at a slower speed. In addition to the 8MB of non-volatile flash memory for the file system, the Netgear router has 16MB of regular volatile RAM. &lt;br /&gt;
&lt;br /&gt;
The content of the flash memory (i.e. the file system with all its data, including the operating system, programs and configuration data) is also called firmware. When we say that we replace the firmware of the Netgear router, we mean that we erase the content of the flash memory, i.e. it the entire file system that was stored in it - and replace it with an entirely new file system, which contains a completely new operating system, and a new set of programs and data files. Nothing from the old system will survive when the firmware is replaced. &lt;br /&gt;
&lt;br /&gt;
For the initial setup of the Netgear router we will download the source code for the OpenWRT firmware and cross-compile it for the Broadcom CPU. Cross-compilation is a process where the compiler produces binary program files that are not meant to be executed on the local system, but rather on another platform (here the Netgear router with its Broadcom CPU). Then, using tricky configuration script, we will tinker with the original bootloader configuration and finally replace the Netgear firmware with our OpenWRT firmware. &lt;br /&gt;
&lt;br /&gt;
Before you begin, one word of caution: Once you overwrite the original Netgear firmware, it is gone forever. No pressing of the reset button or power cycling will bring it back. If the new firmware does not work, then you have transformed your Netgear router into a nice paperweight. But fortunately, this does not happen often.&lt;br /&gt;
&lt;br /&gt;
==Installing SSH Daemon while keeping original Firmware==&lt;br /&gt;
&lt;br /&gt;
For many reasons its unnecessary to replace the original firmware of your WGT634 if you just want to run some Linux programs.&lt;br /&gt;
(see below how to compile your program for WGT634 system with help of a toolchain)&lt;br /&gt;
So you can install a remote shell (sshd aka dropbear) on the router an copy your favorite mips-binary via scp or netcat (&amp;#039;&amp;#039;nc&amp;#039;&amp;#039; in busybox)&lt;br /&gt;
to /tmp directory and start it from there.&lt;br /&gt;
&lt;br /&gt;
The Netgear web frontend supports to backup the router settings into a file. With the help of such a file your are able to bring files on the router.&lt;br /&gt;
(these file are just gzipped files containing a minix filesystem container file. See below how to modify it.)&lt;br /&gt;
&lt;br /&gt;
First you need to get the &amp;#039;&amp;#039;netgear-sar.cfg&amp;#039;&amp;#039; file form the follwing link: [[Image:Netgear-sar.cfg|netgear-sar.cfg file]] and select the &amp;#039;&amp;#039;Backup Settings&amp;#039;&amp;#039; entry in your web frontend.&lt;br /&gt;
Now select the downloaded file on your hard disk and press &amp;#039;&amp;#039;Restore&amp;#039;&amp;#039;. After waiting a couple of minutes the WGT634 should reboot again and you are able to request the page: http://192.168.1.1/cgi-bin/installer.sh where you can download and install the &amp;#039;&amp;#039;sshd-main&amp;#039;&amp;#039; package directly on the router.&lt;br /&gt;
After a reboot you should be able to login via ssh with user &amp;#039;&amp;#039;root&amp;#039;&amp;#039; and your admin password.&lt;br /&gt;
&lt;br /&gt;
 $ ssh root@192.168.1.1&lt;br /&gt;
&lt;br /&gt;
===Modify netgear-sar.cfg===&lt;br /&gt;
To add more files to the &amp;quot;restore&amp;quot; file, first loop mount it (require root privileges) on your development machine:&lt;br /&gt;
&lt;br /&gt;
 # mount -o loop netgear-sar.cfg  /mnt&lt;br /&gt;
&lt;br /&gt;
Then unpack the archive:&lt;br /&gt;
&lt;br /&gt;
 $ mkdir config.lrp.d&lt;br /&gt;
 $ cd config.lrp.d&lt;br /&gt;
 $ tar xvzf /mnt/config.lrp&lt;br /&gt;
&lt;br /&gt;
Now you can find 2 subdirectories in the current working directory:&lt;br /&gt;
&lt;br /&gt;
 $ ls&lt;br /&gt;
 etc usr&lt;br /&gt;
&lt;br /&gt;
Add your files into the desired position. Afterwards you have to tar the subdirectories:&lt;br /&gt;
&lt;br /&gt;
 $ tar cvf - * | gzip -9 -c &amp;gt; ../config-new.lrp&lt;br /&gt;
&lt;br /&gt;
Replace the config-new.lrp in the mounted container (as root):&lt;br /&gt;
&lt;br /&gt;
 $ sudo cp ../config-new.lrp /mnt/config.lrp&lt;br /&gt;
&lt;br /&gt;
Unmounting the container (as root):&lt;br /&gt;
&lt;br /&gt;
 # umount /mnt&lt;br /&gt;
&lt;br /&gt;
At this point the config-file is in principle ready to use,&lt;br /&gt;
but the web frontend checks the file for a hexadecimal CRC32 sum in the last 8 Bytes.&lt;br /&gt;
To create a CRC32 you can use the jacksum collection. Get it from http://www.jonelo.de/java/jacksum/.&lt;br /&gt;
&lt;br /&gt;
 $ unzip jacksum-1.5.1.zip&lt;br /&gt;
 # The next shows the help page of jacksum&lt;br /&gt;
 $ java -jar jacksum.jar -h&lt;br /&gt;
&lt;br /&gt;
If you&amp;#039;re getting jacksum successfully you have to truncate the last 8 bytes from the modified &amp;#039;&amp;#039;netgear-sar.cfg&amp;#039;&amp;#039; file:&lt;br /&gt;
&lt;br /&gt;
 $ dd if=netgear-sar.cfg of=netgear-sar.cfg.head bs=1 count=$(expr $(cat netgear-sar.cfg | wc -c) - 8)&lt;br /&gt;
&lt;br /&gt;
Now calculate the CRC32 sum over the truncated file and append it to a complete file with correct checksum:&lt;br /&gt;
&lt;br /&gt;
 $ java -jar jacksum.jar -x -a crc32 netgear-sar.cfg.head | awk &amp;#039;{ printf(&amp;quot;%s&amp;quot;, $1) }&amp;#039;| cat netgear-sar.cfg.head - &amp;gt; netgear-sar.cfg&lt;br /&gt;
&lt;br /&gt;
Now you can upload the resulting &amp;#039;&amp;#039;netgear-sar.cfg&amp;#039;&amp;#039; file with Netgear&amp;#039;s web frontend.&lt;br /&gt;
&lt;br /&gt;
==CFE==&lt;br /&gt;
Once you&amp;#039;ve got a [[serial console]] attached you can access the CFE which is a bit like the bios of the WGT634U. Start up minicom and apply power to the router while holding Control C. You should see something like the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CFE version 1.0.34 for BCM95365R (32bit,SP,LE)&lt;br /&gt;
Build Date: Tue Feb 24 03:21:41 CST 2004 (root@jackylinux)&lt;br /&gt;
Copyright (C) 2000,2001,2002 Broadcom Corporation.&lt;br /&gt;
&lt;br /&gt;
Add MAC client version(DNI).&lt;br /&gt;
Initializing Arena.&lt;br /&gt;
Initializing Devices.&lt;br /&gt;
et0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller&lt;br /&gt;
CPU type 0x29007: 200MHz&lt;br /&gt;
Total memory: 0x2000000 bytes (32MB)&lt;br /&gt;
&lt;br /&gt;
Total memory used by CFE:  0x81BB1280 - 0x82000000 (4517248)&lt;br /&gt;
Initialized Data:          0x81BB1280 - 0x81BB3E90 (11280)&lt;br /&gt;
BSS Area:                  0x81BB3E90 - 0x81BB45D0 (1856)&lt;br /&gt;
Local Heap:                0x81BB45D0 - 0x81FB45D0 (4194304)&lt;br /&gt;
Stack Area:                0x81FB45D0 - 0x81FB65D0 (8192)&lt;br /&gt;
Text (code) segment:       0x81FB65E0 - 0x81FFFFB0 (301520)&lt;br /&gt;
Boot area (physical):      0x01B70000 - 0x01BB0000&lt;br /&gt;
Relocation Factor:         I:E23B65E0 - D:01BB0280&lt;br /&gt;
&lt;br /&gt;
configure vlans&lt;br /&gt;
*****************************************************************&lt;br /&gt;
*********************** VLAN Driver initial  ********************&lt;br /&gt;
*****************************************************************&lt;br /&gt;
Process LAN port(2-5) vlan Architecture...&lt;br /&gt;
SUCCESS: trying to create VLAN 0 for switch&lt;br /&gt;
SUCCESS: trying to add LAN port&lt;br /&gt;
&lt;br /&gt;
Process WAN port(2-5) vlan Architecture...&lt;br /&gt;
SUCCESS: trying to create VLAN 0 for switch&lt;br /&gt;
SUCCESS: trying to add WAN port&lt;br /&gt;
SUCCESS: enable ports  success&lt;br /&gt;
configure vlans...done&lt;br /&gt;
Automatic startup canceled via Ctrl-C&lt;br /&gt;
CFE&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you can get a listing of the available commands by typing &amp;quot;help&amp;quot;. If you want to boot a kernel from a tftp server do the following:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CFE&amp;gt; ifconfig eth0 -addr=192.168.1.1 -mask=255.255.255.0;&lt;br /&gt;
CFE&amp;gt; boot -z -elf -tftp 192.168.1.10:vmlinux.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Or you can automate the process by setting STARTUP using:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CFE&amp;gt; setenv -p STARTUP &amp;quot;ifconfig eth0 -addr=192.168.1.1 -mask=255.255.255.0;boot -z -elf -tftp 192.168.1.10:vmlinux.gz;boot -elf flash0.os:&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For loading rootfs over NFS&lt;br /&gt;
&amp;lt;pre&amp;gt;CFE&amp;gt; setenv -p kernel_args &amp;quot;console=ttyS1,115200 root=/dev/nfs nfsroot=192.168.1.10:/wgtroot init=/etc/preinit syst_size=8M&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The router will now try and retrieve a kernel image called vmlinux.gz using tftp from 192.168.1.10. If this fails it will go ahead and boot the kernel on the flash. The is quite handy as in conjuction with a NFS root, it means you can do all your development without modifing the original firmware.&lt;br /&gt;
&lt;br /&gt;
If your network has a DHCP server, you can do this:&lt;br /&gt;
&amp;lt;pre&amp;gt;CFE&amp;gt; ifconfig eth0 -auto&lt;br /&gt;
Device eth0:  hwaddr 00-0F-B5-0B-B7-DA, ipaddr 192.168.1.17, mask 255.255.255.0&lt;br /&gt;
        gateway 192.168.1.1, nameserver 192.168.1.1, domain lan&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==OpenWRT Toolchain==&lt;br /&gt;
&lt;br /&gt;
===Getting Started===&lt;br /&gt;
You need a Linux system with approximately 1GB free disk space to download and compile the OpenWRT source code and the toolchain.&lt;br /&gt;
&lt;br /&gt;
===What is a toolchain?===&lt;br /&gt;
To build a Linux system for the Broadcom CPU, you need several tools that are not part of your normal Linux distribution. To obtain those tools, you have to download their source code and compile them on your Linux system. All these tools together make up the toolchain. Note, that the toolchain programs run on your local (Pentium-based) computer; they are only needed to build the OpenWRT firmware, but they will not be included in the firmware itself! &lt;br /&gt;
&lt;br /&gt;
===Quick Startup===&lt;br /&gt;
*svn co svn://merkur/brn/platform/wgt634u/do_dev_env.sh&lt;br /&gt;
*sh do_dev_env.sh&lt;br /&gt;
&lt;br /&gt;
===Downloading the OpenWRT toolchain sources===&lt;br /&gt;
&lt;br /&gt;
First of all you need to install the openwrt toolchain ( [http://openwrt.org/] ) on your build computer.&lt;br /&gt;
&lt;br /&gt;
  cvs -d:pserver:anonymous@openwrt.org:/openwrt login&lt;br /&gt;
  cvs -d:pserver:anonymous@openwrt.org:/openwrt co obsolete-buildroot&lt;br /&gt;
&lt;br /&gt;
The following tools/libs are required:&lt;br /&gt;
* wget, tftp&lt;br /&gt;
* cvs, subversion&lt;br /&gt;
* gcc, gcc-c++, bison, flex&lt;br /&gt;
* patch, gettext&lt;br /&gt;
* autoconf, automake&lt;br /&gt;
* zlib-devel&lt;br /&gt;
&lt;br /&gt;
===Compiling the OpenWRT toolchain===&lt;br /&gt;
&lt;br /&gt;
We need a C++-compiler, so you’ll need to patch &amp;#039;&amp;#039;$OPENWRT/buildroot/Makefile&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
  INSTALL_LIBSTDCPP:=true&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s all: &amp;#039;&amp;#039;run make&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
If you want to build click, madwifi or a new kernel for the wgt you have to fetch our Makefiles:&lt;br /&gt;
&lt;br /&gt;
Checkout the files from your $OPENWRT/buildroot/ directory:&lt;br /&gt;
&lt;br /&gt;
  svn co svn://sarsvn.informatik.hu-berlin.de/platform/wgt634u/openwrt/ make/&lt;br /&gt;
&lt;br /&gt;
===Packages===&lt;br /&gt;
* [http://nthill.free.fr/openwrt/ipkg/]&lt;br /&gt;
&lt;br /&gt;
==Compiling Click==&lt;br /&gt;
&lt;br /&gt;
To build click you have to copy the Makefile (click.mk [http://merkur.sardmn.informatik.hu-berlin.de/svn/brn/platform/wgt634u/openwrt/click.mk]) to the &amp;#039;&amp;#039;$OPENWRT/buildroot/make&amp;#039;&amp;#039; directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#############################################################&lt;br /&gt;
#&lt;br /&gt;
# click 1.4.3(with brn patch)&lt;br /&gt;
#&lt;br /&gt;
#############################################################&lt;br /&gt;
CLICK_DIR:=$(BUILD_DIR)/click&lt;br /&gt;
CLICK_PREFIX:=$(BUILD_DIR)/staging_dir/bin&lt;br /&gt;
DEPLOY_DIR:=/tmp&lt;br /&gt;
&lt;br /&gt;
click-source: $(CLICK_DIR)/.unpacked&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$(CLICK_DIR)/.unpacked: $(DL_DIR)/$(CLICK_SOURCE)&lt;br /&gt;
	(cd $(BUILD_DIR); \&lt;br /&gt;
	svn co svn://sarsvn.informatik.hu-berlin.de/archives/click-1.4.3/ $(CLICK_DIR))&lt;br /&gt;
	touch $(CLICK_DIR)/.unpacked&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$(CLICK_DIR)/.configured: $(CLICK_DIR)/.unpacked&lt;br /&gt;
	(cd $(CLICK_DIR); rm -rf config.cache; \&lt;br /&gt;
		$(TARGET_CONFIGURE_OPTS) \&lt;br /&gt;
		CFLAGS=&amp;quot;$(TARGET_CFLAGS)&amp;quot; \&lt;br /&gt;
		AR_CREATEFLAGS=&amp;quot;cru&amp;quot; \&lt;br /&gt;
		./configure \&lt;br /&gt;
		--build=i686-pc-linux-gnu \&lt;br /&gt;
		--host=mipsel-linux \&lt;br /&gt;
		--disable-linuxmodule \&lt;br /&gt;
		--enable-userlevel \&lt;br /&gt;
		--enable-wifi \&lt;br /&gt;
		--enable-tools=mixed \&lt;br /&gt;
		--enable-dmalloc \&lt;br /&gt;
		--prefix=$(CLICK_PREFIX) \&lt;br /&gt;
	);&lt;br /&gt;
	touch  $(CLICK_DIR)/.configured&lt;br /&gt;
&lt;br /&gt;
$(CLICK_DIR)/click: $(CLICK_DIR)/.configured&lt;br /&gt;
	$(MAKE) CC=$(TARGET_CC) -C $(CLICK_DIR)&lt;br /&gt;
&lt;br /&gt;
$(CLICK_PREFIX)/bin/click: $(CLICK_DIR)/click&lt;br /&gt;
	$(MAKE) CC=$(TARGET_CC) -C $(CLICK_DIR) install	&lt;br /&gt;
&lt;br /&gt;
click: $(CLICK_PREFIX)/bin/click &lt;br /&gt;
&lt;br /&gt;
click-clean: &lt;br /&gt;
	$(MAKE) -C $(CLICK_DIR) clean&lt;br /&gt;
	rm -rf $(TARGET_DIR)/usr/bin/click&lt;br /&gt;
&lt;br /&gt;
click-dirclean: &lt;br /&gt;
	rm -rf $(CLICK_DIR)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s all: run &amp;#039;&amp;#039;make click&amp;#039;&amp;#039; to build click. Currently, I only tested the userlevel click binary.&lt;br /&gt;
&lt;br /&gt;
==Compiling Brn==&lt;br /&gt;
&lt;br /&gt;
===Install Click===&lt;br /&gt;
  $(CLICK_DIR)/make install&lt;br /&gt;
&lt;br /&gt;
===Build BRN===&lt;br /&gt;
To build brn you have to copy the Makefile (brn.mk [http://merkur.sardmn.informatik.hu-berlin.de/svn/brn/platform/wgt634u/openwrt/brn.mk]) to the $OPENWRT/buildroot/make directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#############################################################&lt;br /&gt;
#&lt;br /&gt;
# Berlin RoofNet Project (BRN)&lt;br /&gt;
#&lt;br /&gt;
#############################################################&lt;br /&gt;
BRN_DIR:=$(BUILD_DIR)/brn&lt;br /&gt;
CLICK_PREFIX:=$(BUILD_DIR)/staging_dir/bin&lt;br /&gt;
&lt;br /&gt;
$(BRN_DIR)/.unpacked:&lt;br /&gt;
	(cd $(BUILD_DIR); \&lt;br /&gt;
	svn co svn://sarsvn.informatik.hu-berlin.de/platform/wgt634u/brn/)&lt;br /&gt;
	touch $(BRN_DIR)/.unpacked&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$(BRN_DIR)/.configured: $(BRN_DIR)/.unpacked&lt;br /&gt;
	(cd $(BRN_DIR); rm -rf config.cache; \&lt;br /&gt;
		autoconf; \&lt;br /&gt;
		$(TARGET_CONFIGURE_OPTS) \&lt;br /&gt;
		CFLAGS=&amp;quot;$(TARGET_CFLAGS)&amp;quot; \&lt;br /&gt;
		AR_CREATEFLAGS=&amp;quot;cru&amp;quot; \&lt;br /&gt;
		./configure \&lt;br /&gt;
		--prefix=$(CLICK_PREFIX) \&lt;br /&gt;
	);&lt;br /&gt;
	touch  $(BRN_DIR)/.configured&lt;br /&gt;
&lt;br /&gt;
$(BRN_DIR)/brn: $(BRN_DIR)/.configured&lt;br /&gt;
	$(MAKE) CC=$(TARGET_CC) -C $(BRN_DIR)&lt;br /&gt;
&lt;br /&gt;
brn: uclibc $(BRN_DIR)/brn &lt;br /&gt;
&lt;br /&gt;
brn-clean: &lt;br /&gt;
	$(MAKE) -C $(BRN_DIR) clean&lt;br /&gt;
&lt;br /&gt;
brn-dirclean: &lt;br /&gt;
	rm -rf $(BRN_DIR)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s all: run make brn&lt;br /&gt;
&lt;br /&gt;
==Compiling Services for Brn==&lt;br /&gt;
&lt;br /&gt;
===Address Resolution Protocol (ARP) for Brn===&lt;br /&gt;
&lt;br /&gt;
===Dynamic Host Configuration Protocol (DHCP) for Brn===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#############################################################&lt;br /&gt;
#&lt;br /&gt;
# DHCP module for Berlin RoofNet Project (BRN)&lt;br /&gt;
#&lt;br /&gt;
#############################################################&lt;br /&gt;
DHCP_DIR:=$(BUILD_DIR)/dhcp&lt;br /&gt;
CLICK_PREFIX:=$(BUILD_DIR)/staging_dir/bin&lt;br /&gt;
&lt;br /&gt;
$(DHCP_DIR)/.unpacked:&lt;br /&gt;
	(cd $(BUILD_DIR); \&lt;br /&gt;
	svn co svn://sarsvn.sardmn.informatik.hu-berlin.de/brn/platform/wgt634u/dhcp/)&lt;br /&gt;
	touch $(DHCP_DIR)/.unpacked&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$(DHCP_DIR)/.configured: $(DHCP_DIR)/.unpacked&lt;br /&gt;
	(cd $(DHCP_DIR); rm -rf config.cache; \&lt;br /&gt;
		autoconf; \&lt;br /&gt;
		$(TARGET_CONFIGURE_OPTS) \&lt;br /&gt;
		CFLAGS=&amp;quot;$(TARGET_CFLAGS)&amp;quot; \&lt;br /&gt;
		AR_CREATEFLAGS=&amp;quot;cru&amp;quot; \&lt;br /&gt;
		./configure \&lt;br /&gt;
		--prefix=$(CLICK_PREFIX) \&lt;br /&gt;
	);&lt;br /&gt;
	touch  $(DHCP_DIR)/.configured&lt;br /&gt;
&lt;br /&gt;
$(DHCP_DIR)/dhcp: $(DHCP_DIR)/.configured&lt;br /&gt;
	$(MAKE) CC=$(TARGET_CC) -C $(DHCP_DIR)&lt;br /&gt;
	install -m 644 $(DHCP_DIR)/dhcp.uo $(CLICK_PREFIX)/lib&lt;br /&gt;
&lt;br /&gt;
dhcp: $(DHCP_DIR)/dhcp&lt;br /&gt;
&lt;br /&gt;
dhcp-clean: &lt;br /&gt;
	$(MAKE) -C $(DHCP_DIR) clean&lt;br /&gt;
&lt;br /&gt;
dhcp-dirclean: &lt;br /&gt;
	rm -rf $(DHCP_DIR)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compiling Madwifi.stripped==&lt;br /&gt;
&lt;br /&gt;
The madwifi.stripped driver lets Click directly read and write raw frames from the wireless card, and strips out the usual driver logic.&lt;br /&gt;
To build the madwifi.stripped driver you have to copy the following Makefile (madwifi.mk [http://merkur.sardmn.informatik.hu-berlin.de/svn/brn/platform/wgt634u/openwrt/madwifi.mk]) to the &amp;#039;&amp;#039;$OPENWRT/buildroot/make&amp;#039;&amp;#039; directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#############################################################&lt;br /&gt;
#&lt;br /&gt;
# madwifi.stripped&lt;br /&gt;
#&lt;br /&gt;
#############################################################&lt;br /&gt;
MADWIFI_DIR:=$(BUILD_DIR)/madwifi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$(DL_DIR)/$(MADWIFI_SOURCE):&lt;br /&gt;
	$(WGET) -P $(DL_DIR) $(MADWIFI_SITE)/$(MADWIFI_SOURCE)&lt;br /&gt;
&lt;br /&gt;
madwifi-source: $(DL_DIR)/$(MADWIFI_SOURCE)&lt;br /&gt;
&lt;br /&gt;
$(MADWIFI_DIR)/.unpacked: $(DL_DIR)/$(MADWIFI_SOURCE)&lt;br /&gt;
	(cd $(BUILD_DIR); \&lt;br /&gt;
	cvs -d :pserver:anoncvs@cvs.pdos.lcs.mit.edu:/cvs login)&lt;br /&gt;
	(cd $(BUILD_DIR); \&lt;br /&gt;
	cvs -z5 -d :pserver:anoncvs@cvs.pdos.lcs.mit.edu:/cvs co -d madwifi roofnet/release/stripped)&lt;br /&gt;
	touch $(MADWIFI_DIR)/.unpacked&lt;br /&gt;
&lt;br /&gt;
$(MADWIFI_DIR)/madwifi: $(MADWIFI_DIR)/.unpacked&lt;br /&gt;
	$(MAKE) CC=$(TARGET_CC) TARGET=mips-le-elf KERNELPATH=$(BUILD_DIR)/WRT54GS/release/src/linux/linux/ -C $(MADWIFI_DIR)&lt;br /&gt;
&lt;br /&gt;
$(TARGET_DIR)/usr/bin/madwifi: $(MADWIFI_DIR)/madwifi&lt;br /&gt;
	mkdir $(TARGET_DIR)/usr/bin/madwifi/&lt;br /&gt;
	cp $(MADWIFI_DIR)/madwifi/driver/ath_pci.o $(TARGET_DIR)/usr/bin/madwifi/&lt;br /&gt;
	cp $(MADWIFI_DIR)/madwifi/ath_hal/ath_hal.o $(TARGET_DIR)/usr/bin/madwifi/&lt;br /&gt;
&lt;br /&gt;
madwifi: uclibc $(TARGET_DIR)/usr/bin/madwifi/&lt;br /&gt;
&lt;br /&gt;
madwifi-clean: &lt;br /&gt;
	$(MAKE) -C $(MADWIFI_DIR) clean&lt;br /&gt;
	rm $(MADWIFI_DIR)/.unpacked&lt;br /&gt;
	rm -rf $(TARGET_DIR)/usr/bin/madwifi/&lt;br /&gt;
&lt;br /&gt;
madwifi-dirclean: &lt;br /&gt;
	rm -rf $(MADWIFI_DIR)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s all: run &amp;#039;&amp;#039;make madwifi&amp;#039;&amp;#039; to build the driver.&lt;br /&gt;
&lt;br /&gt;
Madwifi-API (xDoclet): [http://www/research/projects/BerlinRoofNet/software/html/index.html]&lt;br /&gt;
&lt;br /&gt;
==Compiling New Kernel==&lt;br /&gt;
&lt;br /&gt;
To build the linux kernel for the wgt634u-box you have to copy the following Makefile (wgtkernel.mk [http://merkur.sardmn.informatik.hu-berlin.de/svn/brn/platform/wgt634u/openwrt/wgtkernel.mk]) to the $OPENWRT/buildroot/make directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#############################################################&lt;br /&gt;
#&lt;br /&gt;
# linux kernel for wgt634&lt;br /&gt;
#&lt;br /&gt;
#############################################################&lt;br /&gt;
WGTKERNEL_DIR:=$(BUILD_DIR)/wgt634u-1.4.1.8-gpl-src&lt;br /&gt;
WGTKERNEL_SOURCE=wgt634u-1.4.1.8-gpl-src.tar.bz2&lt;br /&gt;
WGTKERNEL_SITE=ftp://downloads.netgear.com/files/GPL&lt;br /&gt;
WGTKERNEL_KERNEL=wgt634u-1.4.1.8-gpl-src/linux-2.4.x&lt;br /&gt;
WGTKERNEL_BROADCOM_SRC=wgt634u-1.4.1.8-gpl-src/broadcom-src&lt;br /&gt;
LINUX_DIR:=$(WGTKERNEL_DIR)/linux-2.4.x&lt;br /&gt;
UCLIBC_DIR:=$(BUILD_DIR)/staging_dir/mipsel-linux-uclibc/&lt;br /&gt;
STAGING_DIR:=$(BUILD_DIR)/staging_dir/&lt;br /&gt;
&lt;br /&gt;
all: wgtkernel&lt;br /&gt;
&lt;br /&gt;
$(DL_DIR)/$(WGTKERNEL_SOURCE):&lt;br /&gt;
	$(WGET) -P $(DL_DIR) $(WGTKERNEL_SITE)/$(WGTKERNEL_SOURCE)&lt;br /&gt;
 &lt;br /&gt;
$(WGTKERNEL_DIR)/.source: $(DL_DIR)/$(WGTKERNEL_SOURCE)&lt;br /&gt;
	bzcat $(DL_DIR)/$(WGTKERNEL_SOURCE) | tar -C $(BUILD_DIR) -xvf - $(WGTKERNEL_KERNEL) $(WGTKERNEL_BROADCOM_SRC)&lt;br /&gt;
	touch $(WGTKERNEL_DIR)/.source&lt;br /&gt;
	@echo &amp;quot;Patching the kernel&amp;quot;&lt;br /&gt;
	svn co svn://sarsvn.informatik.hu-berlin.de/platform/wgt634u/patches/&lt;br /&gt;
	(cd $(WGTKERNEL_DIR); patch -p7 &amp;lt; ../../patches/kernel_brn-2005-05-19.patch);&lt;br /&gt;
	(cd $(LINUX_DIR); patch -p1 &amp;lt; ../../../patches/patch-int-2.4.20.1);&lt;br /&gt;
&lt;br /&gt;
wgtkernel: dep zImage&lt;br /&gt;
  &lt;br /&gt;
dep: $(WGTKERNEL_DIR)/.source&lt;br /&gt;
	$(MAKE) CC=$(TARGET_CC) -C $(WGTKERNEL_DIR)/linux-2.4.x oldconfig include/linux/version.h&lt;br /&gt;
	$(MAKE) CC=$(TARGET_CC) -C $(WGTKERNEL_DIR)/linux-2.4.x SRCBASE=$(WGTKERNEL_DIR)/broadcom-src dep&lt;br /&gt;
&lt;br /&gt;
zImage:&lt;br /&gt;
	$(MAKE) CC=$(TARGET_CC) -C $(WGTKERNEL_DIR)/linux-2.4.x SRCBASE=$(WGTKERNEL_DIR)/broadcom-src zImage&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
wgtkernel-clean: &lt;br /&gt;
	$(MAKE) -C $(LINUX_DIR) clean&lt;br /&gt;
	rm $(WGTKERNEL_DIR)/.unpacked&lt;br /&gt;
  &lt;br /&gt;
wgtkernel-dirclean: &lt;br /&gt;
	rm -rf $(WGTKERNEL_DIR)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you cannot reach our repository, you have to patch the kernel by hand:&lt;br /&gt;
&lt;br /&gt;
First, the stock kernel doesn’t link with gcc 3.3.3, so you’ll need to patch linux-2.4.x/arch/mips/brcm-boards/bcm947xx/cfe_flash_nvram.c.&lt;br /&gt;
&lt;br /&gt;
  @@ -927,6 +927,12 @@&lt;br /&gt;
        struct page *page, *end;&lt;br /&gt;
        unsigned int i;&lt;br /&gt;
  &lt;br /&gt;
  +       /* Register char device */&lt;br /&gt;
  +       if ((nvram_major = devfs_register_chrdev(252, &amp;quot;nvram&amp;quot;, &amp;amp;nvram_fops)) &amp;lt; 0) {&lt;br /&gt;
  +               ret = nvram_major;&lt;br /&gt;
  +               return ret;&lt;br /&gt;
  +       }&lt;br /&gt;
  +&lt;br /&gt;
          /* Allocate and reserve memory to mmap() */&lt;br /&gt;
          while ((PAGE_SIZE &amp;lt;&amp;lt; order) &amp;lt; NVRAM_SPACE)&lt;br /&gt;
                  order++;&lt;br /&gt;
  @@ -955,21 +961,11 @@&lt;br /&gt;
          /* Initialize hash table */&lt;br /&gt;
          nvram_rehash();&lt;br /&gt;
  &lt;br /&gt;
  -       /* Register char device */&lt;br /&gt;
  -       if ((nvram_major = devfs_register_chrdev(252, &amp;quot;nvram&amp;quot;, &amp;amp;nvram_fops)) &amp;lt; 0) {&lt;br /&gt;
  -               ret = nvram_major;&lt;br /&gt;
  -               goto err;&lt;br /&gt;
  -       }&lt;br /&gt;
  -&lt;br /&gt;
          /* Create /dev/nvram handle */&lt;br /&gt;
          nvram_handle = devfs_register(NULL, &amp;quot;nvram&amp;quot;, DEVFS_FL_NONE, nvram_major, 0,&lt;br /&gt;
                                        S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP, &amp;amp;nvram_fops, NULL);&lt;br /&gt;
          return 0;&lt;br /&gt;
  -&lt;br /&gt;
  - err:&lt;br /&gt;
  -       nvram_exit();&lt;br /&gt;
  -       return ret;&lt;br /&gt;
   }&lt;br /&gt;
  &lt;br /&gt;
   module_init(nvram_init);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Third, you’ll need to patch linux-2.4.x/Makefile.&lt;br /&gt;
&lt;br /&gt;
  27a28,29&lt;br /&gt;
  &amp;gt; MIPS_BASE     	= $(TOPDIR)/../../staging_dir/bin/&lt;br /&gt;
  &amp;gt; &lt;br /&gt;
  29c31&lt;br /&gt;
  &amp;lt; LD		= $(CROSS_COMPILE)ld&lt;br /&gt;
  ---&lt;br /&gt;
  &amp;gt; LD		= $(MIPS_BASE)/$(CROSS_COMPILE)ld&lt;br /&gt;
  32,36c34,38&lt;br /&gt;
  &amp;lt; AR		= $(CROSS_COMPILE)ar&lt;br /&gt;
  &amp;lt; NM		= $(CROSS_COMPILE)nm&lt;br /&gt;
  &amp;lt; STRIP		= $(CROSS_COMPILE)strip&lt;br /&gt;
  &amp;lt; OBJCOPY		= $(CROSS_COMPILE)objcopy&lt;br /&gt;
  &amp;lt; OBJDUMP		= $(CROSS_COMPILE)objdump&lt;br /&gt;
  ---&lt;br /&gt;
  &amp;gt; AR		= $(MIPS_BASE)/$(CROSS_COMPILE)ar&lt;br /&gt;
  &amp;gt; NM		= $(MIPS_BASE)/$(CROSS_COMPILE)nm&lt;br /&gt;
  &amp;gt; STRIP		= $(MIPS_BASE)/$(CROSS_COMPILE)strip&lt;br /&gt;
  &amp;gt; OBJCOPY		= $(MIPS_BASE)/$(CROSS_COMPILE)objcopy&lt;br /&gt;
  &amp;gt; OBJDUMP		= $(MIPS_BASE)/$(CROSS_COMPILE)objdump&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fourth, you’ll need to patch linux-2.4.x/arch/mips/Makefile.&lt;br /&gt;
&lt;br /&gt;
  69c69&lt;br /&gt;
  &amp;lt; GCCFLAGS	+= -mcpu=r4600 -mips2 -Wa,--trap&lt;br /&gt;
  ---&lt;br /&gt;
  &amp;gt; GCCFLAGS	+= -mips2 -Wa,--trap&lt;br /&gt;
  72c72&lt;br /&gt;
  &amp;lt; GCCFLAGS	+= -mcpu=r4600 -mips2 -Wa,--trap&lt;br /&gt;
  ---&lt;br /&gt;
  &amp;gt; GCCFLAGS	+= -mips2 -Wa,--trap&lt;br /&gt;
  75c75&lt;br /&gt;
  &amp;lt; GCCFLAGS	+= -mcpu=r4600 -mips2 -Wa,--trap&lt;br /&gt;
  ---&lt;br /&gt;
  &amp;gt; GCCFLAGS	+= -mips2 -Wa,--trap&lt;br /&gt;
  78c78&lt;br /&gt;
  &amp;lt; GCCFLAGS	+= -mcpu=r4600 -mips2 -Wa,--trap&lt;br /&gt;
  ---&lt;br /&gt;
  &amp;gt; GCCFLAGS	+= -mips2 -Wa,--trap&lt;br /&gt;
  81c81&lt;br /&gt;
  &amp;lt; GCCFLAGS	+= -mcpu=r4600 -mips2 -Wa,--trap&lt;br /&gt;
  ---&lt;br /&gt;
  &amp;gt; GCCFLAGS	+= -mips2 -Wa,--trap&lt;br /&gt;
&lt;br /&gt;
Fifth, you’ll need to patch linux-2.4.x/arch/mips/brcm-boards/bcm947xx/compressed/Makefile.&lt;br /&gt;
&lt;br /&gt;
  21d20&lt;br /&gt;
  &amp;lt; STRIP := $(CROSS_COMPILE)strip&lt;br /&gt;
  23c22,25&lt;br /&gt;
  &amp;lt; OBJCOPY		:= $(CROSS_COMPILE)objcopy -O binary -R .reginfo -R .note -R .comment -R .mdebug -S&lt;br /&gt;
  ---&lt;br /&gt;
  &amp;gt; MIPS_BASE	:= $(TOPDIR)/../../staging_dir/bin/&lt;br /&gt;
  &amp;gt; STRIP 		:= $(MIPS_BASE)/$(CROSS_COMPILE)strip&lt;br /&gt;
  &amp;gt; &lt;br /&gt;
  &amp;gt; OBJCOPY		:= $(MIPS_BASE)/$(CROSS_COMPILE)objcopy -O binary -R .reginfo -R .note -R .comment -R .mdebug -S&lt;br /&gt;
  28c30&lt;br /&gt;
  &amp;lt; ASFLAGS		+= -G 0  -mno-abicalls -fno-pic -pipe -mcpu=r4600 -mips2 -Wa --trap -m4710a0kern&lt;br /&gt;
  ---&lt;br /&gt;
  &amp;gt; ASFLAGS		+= -G 0  -mno-abicalls -fno-pic -pipe -mips2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Last, if you’re planning to run userlevel click, edit the linux-2.4.x/.config file and change the CONFIG_ETHERTAP and CONFIG_TUN lines to y.&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s all: run &amp;#039;&amp;#039;make wgtkernel&amp;#039;&amp;#039; to build the kernel.&lt;br /&gt;
&lt;br /&gt;
==Install to Flash==&lt;br /&gt;
&lt;br /&gt;
There are two ways to install a flash upgrade; from Linux or from CFE.&lt;br /&gt;
&lt;br /&gt;
===Via Linux===&lt;br /&gt;
This requires a working Linux installation. The contents of the flash should not be in use - that means this method is unsuitable for upgrading a mounted JFFS2 filesystem.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# eraseall /dev/mtd3&lt;br /&gt;
# cat rootfs.img &amp;gt; /dev/mtd3&lt;br /&gt;
# eraseall /dev/mtd2&lt;br /&gt;
# dd if=kernel of=/dev/mtd2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Via CFE===&lt;br /&gt;
This is a little bit more complicated, however it will allow you to recover a completely hosed system. First of all, you need to have SerialConsole access in order to get into the CFE. Second of all, the CFE flash routine will only download and flash a maximum of 4194304 bytes (4MB) at a time. To get around the 4MB limit, we need to split the image into smaller chunks and then use the =-offset= flag to flash the two parts.&lt;br /&gt;
&lt;br /&gt;
Split the image on the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dd bs=128k if=netgear.img of=netgear.img.1 count=30&lt;br /&gt;
30+0 records in&lt;br /&gt;
30+0 records out&lt;br /&gt;
# dd bs=128k if=netgear.img of=netgear.img.2 skip=30&lt;br /&gt;
5+1 records in&lt;br /&gt;
5+1 records out&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flash the image in individual parts:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CFE&amp;gt; flash -noheader tftp_host:netgear.img.1 flash0.os&lt;br /&gt;
Reading tftp_host:netgear.img.1: Done. 3932160 bytes read&lt;br /&gt;
Programming...done. 3932160 bytes written&lt;br /&gt;
*** command status = 0&lt;br /&gt;
CFE&amp;gt; flash -noheader -offset=3932160 tftp_host:netgear.img.2 flash0.os&lt;br /&gt;
Reading tftp_host:netgear.img.2: Done. 786256 bytes read&lt;br /&gt;
Programming...done. 786256 bytes written&lt;br /&gt;
*** command status = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The image must contain both the kernel and the root filesystem payload. Furthermore, the root filesystem must be located at the right offset, as defined by the MTD partitioning within the kernel itself.&lt;br /&gt;
&lt;br /&gt;
====Troubleshooting====&lt;br /&gt;
&lt;br /&gt;
Sometimes you need to erase the flash (flash0.os) from within CFE first before installing a new image.&lt;br /&gt;
First, try to create a file of size 3776k bytes and containing only 0xFF (e.g., with perl). &lt;br /&gt;
Since flash0.os is of size 7552k bytes and 2*3776=7552, you can use the &amp;#039;-offset&amp;#039; flag to erase the two parts of flash0.os:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CFE&amp;gt; flash -noheader tftp_host:ff.img flash0.os&lt;br /&gt;
...&lt;br /&gt;
CFE&amp;gt; flash -noheader -offset=3866624 tftp_host:ff.img flash0.os&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compiling GPSD==&lt;br /&gt;
&lt;br /&gt;
To build the gpsd daemon for the wgt634u-box you have to copy the following Makefile (gpsd.mk [http://merkur.sardmn.informatik.hu-berlin.de/svn/brn/platform/wgt634u/openwrt/wgtkernel.mk]) to the $OPENWRT/buildroot/make directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#############################################################&lt;br /&gt;
#&lt;br /&gt;
# gpsd&lt;br /&gt;
#&lt;br /&gt;
#############################################################&lt;br /&gt;
GPSD_SOURCE:=gpsd-2.10.tar.gz&lt;br /&gt;
GPSD_SITE:=http://download.berlios.de/gpsd&lt;br /&gt;
GPSD_DIR:=$(BUILD_DIR)/gpsd-2.10&lt;br /&gt;
GPSD_CAT:=zcat&lt;br /&gt;
GPSD_BINARY:=gpsd&lt;br /&gt;
GPSD_TARGET_BINARY:=bin/gpsd&lt;br /&gt;
&lt;br /&gt;
$(DL_DIR)/$(GPSD_SOURCE):&lt;br /&gt;
	 $(WGET) -P $(DL_DIR) $(GPSD_SITE)/$(GPSD_SOURCE)&lt;br /&gt;
&lt;br /&gt;
gpsd-source: $(DL_DIR)/$(GPSD_SOURCE)&lt;br /&gt;
&lt;br /&gt;
$(GPSD_DIR)/configure: $(DL_DIR)/$(GPSD_SOURCE)&lt;br /&gt;
	$(GPSD_CAT) $(DL_DIR)/$(GPSD_SOURCE) | tar -C $(BUILD_DIR) -xf -&lt;br /&gt;
	$(SOURCE_DIR)/patch-kernel.sh $(GPSD_DIR) $(SOURCE_DIR) gpsd-*.patch&lt;br /&gt;
&lt;br /&gt;
$(GPSD_DIR)/Makefile: $(GPSD_DIR)/configure&lt;br /&gt;
	(cd $(GPSD_DIR); rm -rf config.cache; \&lt;br /&gt;
		$(TARGET_CONFIGURE_OPTS) \&lt;br /&gt;
		CFLAGS=&amp;quot;$(TARGET_CFLAGS)&amp;quot; \&lt;br /&gt;
		LDFLAGS=&amp;quot;-lm&amp;quot; \&lt;br /&gt;
		./configure \&lt;br /&gt;
		--target=$(GNU_TARGET_NAME) \&lt;br /&gt;
		--host=$(GNU_TARGET_NAME) \&lt;br /&gt;
		--build=$(GNU_HOST_NAME) \&lt;br /&gt;
		--prefix=/usr \&lt;br /&gt;
		--exec-prefix=/usr \&lt;br /&gt;
		--bindir=/usr/bin \&lt;br /&gt;
		--sbindir=/usr/sbin \&lt;br /&gt;
		--libexecdir=/usr/lib \&lt;br /&gt;
		--sysconfdir=/etc \&lt;br /&gt;
		--datadir=/usr/share \&lt;br /&gt;
		--localstatedir=/var \&lt;br /&gt;
		--mandir=/usr/man \&lt;br /&gt;
		--infodir=/usr/info \&lt;br /&gt;
		--disable-fv18 \&lt;br /&gt;
		--disable-tripmate \&lt;br /&gt;
		--disable-earthmate \&lt;br /&gt;
		--disable-shared \&lt;br /&gt;
		--enable-static \&lt;br /&gt;
		$(DISABLE_NLS) \&lt;br /&gt;
	);&lt;br /&gt;
&lt;br /&gt;
$(GPSD_DIR)/$(GPSD_BINARY): $(GPSD_DIR)/Makefile&lt;br /&gt;
	$(MAKE) CC=$(TARGET_CC) -C $(GPSD_DIR)&lt;br /&gt;
&lt;br /&gt;
$(TARGET_DIR)/$(GPSD_TARGET_BINARY): $(GPSD_DIR)/$(GPSD_BINARY)&lt;br /&gt;
	$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(GPSD_DIR) install&lt;br /&gt;
	rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \&lt;br /&gt;
		$(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc&lt;br /&gt;
&lt;br /&gt;
gpsd: uclibc $(TARGET_DIR)/$(GPSD_TARGET_BINARY)&lt;br /&gt;
&lt;br /&gt;
gpsd-clean:&lt;br /&gt;
	$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(GPSD_DIR) uninstall&lt;br /&gt;
	-$(MAKE) -C $(GPSD_DIR) clean&lt;br /&gt;
&lt;br /&gt;
gpsd-dirclean:&lt;br /&gt;
	rm -rf $(GPSD_DIR)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Type &amp;quot;make gpsd&amp;quot;; that&amp;#039;s all.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
* madwifi.stripped driver ( http://pdos.csail.mit.edu/~jbicket/madwifi.stripped/ )&lt;br /&gt;
* openwrt ( http://openwrt.org ) &lt;br /&gt;
* General information about the router ( http://pdos.csail.mit.edu/roofnet/doku.php?id=wgt634u )&lt;br /&gt;
* MIT Roof Net ( http://pdos.csail.mit.edu/roofnet/ )&lt;br /&gt;
* Berlin Roof Net ( http://sarwiki.informatik.hu-berlin.de/wiki/BerlinRoofNet )&lt;br /&gt;
&lt;br /&gt;
==Packages==&lt;br /&gt;
* OpenWRT ( http://downloads.openwrt.org/people/wbx/netgear/packages/ )&lt;/div&gt;</summary>
		<author><name>Jeschke</name></author>
	</entry>
	<entry>
		<id>https://sarwiki.informatik.hu-berlin.de/index.php?title=Hacking_the_Netgear_wgt634u&amp;diff=3300&amp;oldid=prev</id>
		<title>Cakruege: /* Introduction */</title>
		<link rel="alternate" type="text/html" href="https://sarwiki.informatik.hu-berlin.de/index.php?title=Hacking_the_Netgear_wgt634u&amp;diff=3300&amp;oldid=prev"/>
		<updated>2006-01-03T16:11:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Introduction&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:11, 3 January 2006&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 17:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 17:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The Netgear wgt634u Wireless Router has a Broadcom (type 0x29007) CPU, running at 200MHz. This CPU is not compatible with the Pentium (or similar) on your desktop computer, i.e. you can not simply take a binary program file from your desktop and execute it on the Netgear router - the Broadcom CPU encodes instructions and data in a completely different way and would therefore not &quot;understand&quot; your Pentium-based program at all. &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The Netgear wgt634u Wireless Router has a Broadcom (type 0x29007) CPU, running at 200MHz. This CPU is not compatible with the Pentium (or similar) on your desktop computer, i.e. you can not simply take a binary program file from your desktop and execute it on the Netgear router - the Broadcom CPU encodes instructions and data in a completely different way and would therefore not &quot;understand&quot; your Pentium-based program at all. &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;alternate devices can be found at: http://wiki.openwrt.org/OpenWrtDocs/Hardware/&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The operating system on the Router router is Linux - again, not the same Linux that you might run on your desktop, but a Linux that was specifically compiled for the Broadcom CPU. The operating system along with all other programs is stored in a regular Linux file system which physically resides on the Netgear router&#039;s 8MB of flash memory. Flash memory is nonvolatile RAM which does not lose its data when the device is powered-off. But it is RAM, i.e. it can be modified in much the same way as regular RAM - just at a slower speed. In addition to the 8MB of non-volatile flash memory for the file system, the Netgear router has 16MB of regular volatile RAM. &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The operating system on the Router router is Linux - again, not the same Linux that you might run on your desktop, but a Linux that was specifically compiled for the Broadcom CPU. The operating system along with all other programs is stored in a regular Linux file system which physically resides on the Netgear router&#039;s 8MB of flash memory. Flash memory is nonvolatile RAM which does not lose its data when the device is powered-off. But it is RAM, i.e. it can be modified in much the same way as regular RAM - just at a slower speed. In addition to the 8MB of non-volatile flash memory for the file system, the Netgear router has 16MB of regular volatile RAM. &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Cakruege</name></author>
	</entry>
	<entry>
		<id>https://sarwiki.informatik.hu-berlin.de/index.php?title=Hacking_the_Netgear_wgt634u&amp;diff=2153&amp;oldid=prev</id>
		<title>Cakruege at 10:21, 3 January 2006</title>
		<link rel="alternate" type="text/html" href="https://sarwiki.informatik.hu-berlin.de/index.php?title=Hacking_the_Netgear_wgt634u&amp;diff=2153&amp;oldid=prev"/>
		<updated>2006-01-03T10:21:32Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:21, 3 January 2006&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 89:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 89:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==CFE==&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==CFE==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Once you&#039;ve got a serial console attached you can access the CFE which is a bit like the bios of the WGT634U. Start up minicom and apply power to the router while holding Control C. You should see something like the following:&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Once you&#039;ve got a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;serial console&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/ins&gt; attached you can access the CFE which is a bit like the bios of the WGT634U. Start up minicom and apply power to the router while holding Control C. You should see something like the following:&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Cakruege</name></author>
	</entry>
	<entry>
		<id>https://sarwiki.informatik.hu-berlin.de/index.php?title=Hacking_the_Netgear_wgt634u&amp;diff=2141&amp;oldid=prev</id>
		<title>Zubow: /* OpenWRT Toolchain */</title>
		<link rel="alternate" type="text/html" href="https://sarwiki.informatik.hu-berlin.de/index.php?title=Hacking_the_Netgear_wgt634u&amp;diff=2141&amp;oldid=prev"/>
		<updated>2005-11-28T15:32:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;OpenWRT Toolchain&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:32, 28 November 2005&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 195:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 195:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  svn co svn://sarsvn.informatik.hu-berlin.de/platform/wgt634u/openwrt/ make/&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  svn co svn://sarsvn.informatik.hu-berlin.de/platform/wgt634u/openwrt/ make/&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Packages===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://nthill.free.fr/openwrt/ipkg/]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Compiling Click==&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Compiling Click==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Zubow</name></author>
	</entry>
	<entry>
		<id>https://sarwiki.informatik.hu-berlin.de/index.php?title=Hacking_the_Netgear_wgt634u&amp;diff=1989&amp;oldid=prev</id>
		<title>Zubow: /* Compiling Madwifi.stripped */</title>
		<link rel="alternate" type="text/html" href="https://sarwiki.informatik.hu-berlin.de/index.php?title=Hacking_the_Netgear_wgt634u&amp;diff=1989&amp;oldid=prev"/>
		<updated>2005-11-22T11:07:38Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Compiling Madwifi.stripped&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:07, 22 November 2005&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 396:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 396:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;That&#039;s all: run &#039;&#039;make madwifi&#039;&#039; to build the driver.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;That&#039;s all: run &#039;&#039;make madwifi&#039;&#039; to build the driver.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Madwifi-API (xDoclet): [http://www/research/projects/BerlinRoofNet/software/html/index.html]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Compiling New Kernel==&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Compiling New Kernel==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Zubow</name></author>
	</entry>
	<entry>
		<id>https://sarwiki.informatik.hu-berlin.de/index.php?title=Hacking_the_Netgear_wgt634u&amp;diff=1986&amp;oldid=prev</id>
		<title>Zubow: /* Quick Startup */</title>
		<link rel="alternate" type="text/html" href="https://sarwiki.informatik.hu-berlin.de/index.php?title=Hacking_the_Netgear_wgt634u&amp;diff=1986&amp;oldid=prev"/>
		<updated>2005-11-08T13:19:05Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Quick Startup&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:19, 8 November 2005&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 164:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 164:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Quick Startup===&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Quick Startup===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;svn co svn://merkur/brn/platform/wgt634u/do_dev_env.sh&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*&lt;/ins&gt;svn co svn://merkur/brn/platform/wgt634u/do_dev_env.sh&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;sh do_dev_env.sh&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*&lt;/ins&gt;sh do_dev_env.sh&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Downloading the OpenWRT toolchain sources===&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Downloading the OpenWRT toolchain sources===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Zubow</name></author>
	</entry>
	<entry>
		<id>https://sarwiki.informatik.hu-berlin.de/index.php?title=Hacking_the_Netgear_wgt634u&amp;diff=1937&amp;oldid=prev</id>
		<title>Zubow: /* OpenWRT Toolchain */</title>
		<link rel="alternate" type="text/html" href="https://sarwiki.informatik.hu-berlin.de/index.php?title=Hacking_the_Netgear_wgt634u&amp;diff=1937&amp;oldid=prev"/>
		<updated>2005-11-08T13:18:45Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;OpenWRT Toolchain&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:18, 8 November 2005&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 162:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 162:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===What is a toolchain?===&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===What is a toolchain?===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To build a Linux system for the Broadcom CPU, you need several tools that are not part of your normal Linux distribution. To obtain those tools, you have to download their source code and compile them on your Linux system. All these tools together make up the toolchain. Note, that the toolchain programs run on your local (Pentium-based) computer; they are only needed to build the OpenWRT firmware, but they will not be included in the firmware itself! &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To build a Linux system for the Broadcom CPU, you need several tools that are not part of your normal Linux distribution. To obtain those tools, you have to download their source code and compile them on your Linux system. All these tools together make up the toolchain. Note, that the toolchain programs run on your local (Pentium-based) computer; they are only needed to build the OpenWRT firmware, but they will not be included in the firmware itself! &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Quick Startup===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;svn co svn://merkur/brn/platform/wgt634u/do_dev_env.sh&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;sh do_dev_env.sh&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Downloading the OpenWRT toolchain sources===&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Downloading the OpenWRT toolchain sources===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Zubow</name></author>
	</entry>
	<entry>
		<id>https://sarwiki.informatik.hu-berlin.de/index.php?title=Hacking_the_Netgear_wgt634u&amp;diff=1936&amp;oldid=prev</id>
		<title>Zubow: /* References */</title>
		<link rel="alternate" type="text/html" href="https://sarwiki.informatik.hu-berlin.de/index.php?title=Hacking_the_Netgear_wgt634u&amp;diff=1936&amp;oldid=prev"/>
		<updated>2005-10-12T17:53:44Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;References&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:53, 12 October 2005&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 684:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 684:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* MIT Roof Net ( http://pdos.csail.mit.edu/roofnet/ )&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* MIT Roof Net ( http://pdos.csail.mit.edu/roofnet/ )&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Berlin Roof Net ( http://sarwiki.informatik.hu-berlin.de/wiki/BerlinRoofNet )&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Berlin Roof Net ( http://sarwiki.informatik.hu-berlin.de/wiki/BerlinRoofNet )&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Packages==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* OpenWRT ( http://downloads.openwrt.org/people/wbx/netgear/packages/ )&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Zubow</name></author>
	</entry>
	<entry>
		<id>https://sarwiki.informatik.hu-berlin.de/index.php?title=Hacking_the_Netgear_wgt634u&amp;diff=1852&amp;oldid=prev</id>
		<title>Zubow at 15:22, 24 August 2005</title>
		<link rel="alternate" type="text/html" href="https://sarwiki.informatik.hu-berlin.de/index.php?title=Hacking_the_Netgear_wgt634u&amp;diff=1852&amp;oldid=prev"/>
		<updated>2005-08-24T15:22:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:22, 24 August 2005&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 299:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 299:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;That&#039;s all: run make brn&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;That&#039;s all: run make brn&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Compiling Services for Brn==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Address Resolution Protocol (ARP) for Brn===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Dynamic Host Configuration Protocol (DHCP) for Brn===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#############################################################&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# DHCP module for Berlin RoofNet Project (BRN)&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#############################################################&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;DHCP_DIR:=$(BUILD_DIR)/dhcp&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CLICK_PREFIX:=$(BUILD_DIR)/staging_dir/bin&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;$(DHCP_DIR)/.unpacked:&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	(cd $(BUILD_DIR); \&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	svn co svn://sarsvn.sardmn.informatik.hu-berlin.de/brn/platform/wgt634u/dhcp/)&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	touch $(DHCP_DIR)/.unpacked&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;$(DHCP_DIR)/.configured: $(DHCP_DIR)/.unpacked&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	(cd $(DHCP_DIR); rm -rf config.cache; \&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		autoconf; \&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		$(TARGET_CONFIGURE_OPTS) \&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		CFLAGS=&quot;$(TARGET_CFLAGS)&quot; \&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		AR_CREATEFLAGS=&quot;cru&quot; \&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		./configure \&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		--prefix=$(CLICK_PREFIX) \&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	);&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	touch  $(DHCP_DIR)/.configured&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;$(DHCP_DIR)/dhcp: $(DHCP_DIR)/.configured&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	$(MAKE) CC=$(TARGET_CC) -C $(DHCP_DIR)&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	install -m 644 $(DHCP_DIR)/dhcp.uo $(CLICK_PREFIX)/lib&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;dhcp: $(DHCP_DIR)/dhcp&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;dhcp-clean: &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	$(MAKE) -C $(DHCP_DIR) clean&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;dhcp-dirclean: &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	rm -rf $(DHCP_DIR)&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Compiling Madwifi.stripped==&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Compiling Madwifi.stripped==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Zubow</name></author>
	</entry>
</feed>