1.Contents: a) WMQ138_GPL.tgz: the source code directory of WMQ138 b) opt.tgz : the toolchains for compiling c) GPL_readme.txt: the document you are reading now. 2.How to make? a) The compile environment we used is X86 CPU, Fedora 4. b) Untar opt.tgz to / . You will get two directories "/opt/buildroot" and "/opt/i386-linux". c) Untar WMQ138_GPL.tgz to /tmp. d) Login as root. e) Set environment variable as following: PATH=$PATH:/opt/i386-linux/bin f) cd /tmp/WMQ138_GPL, and type "make linuxall" to bulid kernel and filesystem. g) After "make linuxall", you will get kernel image in "/tmp/WMQ138_GPL/linux_src/arch/i386/boot/bzImage" and filesystem image in "/tmp/WMQ138_GPL/rom_disk/fs.img" h) Execute makebin to produce firmware image "/tmp/WMQ138/upgrade.img". 3.How to install? a) After building the "upgrade.img", Rename it to "upgrade.bin". b) Upgrade upgrade.bin via router's Web UI. (please refer your user manual) *NOTE*, I have to say, if you modified something and cause some errors, the device may not be able to restart again. So, PLEASE MAKE SURE YOU REALLY KNOW WHAT YOU ARE DOING BEFORE YOU UPGRADE ANY UNOFFICIAL FIRMWARE. 4.Some hints The plateform we used on this project is i386, yeah, you might have known that after unpacking the cross compiler. It means, every change you want to make, could be verified in PC first. It's important, or you may need to restore the flash image much often.