Info on how I've build the firmware.
First read the http://www.seattlewireless.net/index.cgi/LinksysWrt54g it contains the info about one of the Broadcom based Linksys router. Most of the things applies to wl-500g. But wl-500g is the best one.
For building the firmware you will need the linux box. I'm using RH8 for the purpose. Second, you will need the tools availbale from the linksys site. See the seattlewireless for the details. I've used WRT54G 1.42.3 supplies sources.
I've sent the 1.6.5.4.tar.gz file to the forum@chupa.nl. Hope Antiloop will post it.
The first thing you will need to do is to install broadcom tools. The next one is to extract files from the Asus 1.6.5.3 firmware. The simplest way for this is using the extract script I've supplied:
dd if=wg01060503_WL500g_en.trx of=1.6.5.3.vmlinuz skip=28 ibs=1 count=705256
dd if=wg01060503_WL500g_en.trx of=1.6.5.3.cramfs skip=705284 ibs=1
dd if=wg01060503_WL500g_en.trx of=1.6.5.3.trailer skip=3769092 ibs=1
This will produce 3 files, containing compressed linux kenel, rootfs & asus firmware trailer.
The next thing you will need to to is to extract rootfs from the 1.6.5.3.cramfs file. You may want tou use uncramfs available on the net, or just mount this file using something like this
mount -o loop 1.6.5.3.cramfs /mnt/cramfs
and then just copy the files to the build dir.
The next thing is customizing the firmware. I've examined it and found 2 busybox executables - /bin/busybox & /sbin/busybox. The second are just used by insmod, so I've decided to alter it. I've used used busybox-1.0pre5 (www.busybox.net) for the purpose, but have patched, to make insmod & passwd --stdin working (the patch named 1.6.5.3-busybox.diff, it's also contains the config I've used). You will need to make the busybox, and install it over the extracted rootfs using
make PREFIX=/path/to/roofs install
The next thing to do is the altering of the init scripts of the wl500g. The patch is named 1.6.5.3-patch.diff.
Finally you will need to pack the firmware using the trx tool from broadcom. I've supplied the pack script for the purpose:
mkcramfs cramfs pack.cramfs
cat pack.cramfs 1.6.5.3.trailer > pack-trailer.cramfs
./trx -o pack.trx 1.6.5.3.vmlinuz pack-trailer.cramfs
At this point you've got the pack.trx file which can be uploaded to wl500g. For other details see http://wl500g.info/showthread.php?s=&threadid=65
Regards,
Oleg.