TechInfoDepot:DD-WRT/Compiling DD-WRT Sources

New Instructions
More streamlined, up-to-date instructions with automated scripts can be found here Building From Source.

Old Instructions
Install a LINUX-System like KNOPPIX and open a root shell (or become "root" by issuing "su" and type your root password), then issue the following commands (the example uses the "0528-2006-svn2242.snapshot.tar.bz2" source distribution) cd / mkdir /home/dd-wrt cd /home/dd-wrt wget http://www.dd-wrt.com/dd-wrtv2/downloads/sourcecode/toolchains.x86.debian.sp1.tar.bz2 tar -xjvf toolchains.x86.debian.sp1.tar.bz2 mv /home/dd-wrt/toolchains/3.4.6-uclibc-0.9.28 /home/dd-wrt/toolchains/3.4.6 mv /home/dd-wrt/toolchains/4.1.0-uclibc-0.9.28 /home/dd-wrt/toolchains/4.1.0 cd /home/dd-wrt mkdir /home/dd-wrt/snapshot cd /home/dd-wrt/snapshot wget http://www.dd-wrt.com/dd-wrtv2/downloads/sourcecode/0528-2006-svn2242.snapshot.tar.bz2 tar -xjvf 0528-2006-svn2242.snapshot.tar.bz2 cd /home/dd-wrt/snapshot/DD-WRT/opt rm libgcc_s.so ln -s libgcc/libgcc_s.so.1 libgcc_s.so cd /home/dd-wrt/snapshot/DD-WRT/src/linux ln -s brcm/linux.v23 ln -s brcm/linux.v24 ln -s brcm/linux.v23 linux cd /home/dd-wrt mkdir /home/dd-wrt/image ln -s /home/dd-wrt/image /GruppenLW cd /home/dd-wrt/snapshot/DD-WRT/opt then start compiling with ./install.sh your images should be in /home/dd-wrt/image

32bit operating system Howto compile dd-wrt on a 32bit operating system.

Problem: Compilation stops, because mksquashfs-lzma is a 64bit file. Can't execute file....

Solution: BrainSlayer added the source code for mksquashfs-lzma to the current svn. So it only needs to be compiled on your 32bit OS. Please install toolchain 3.4.6 on your system.

step 1: mkdir /home/dd-wrt/tools cd /home/dd-wrt/tools

step 2: svn co svn://svn.dd-wrt.com/DD-WRT/src/squashfs-tools

or

take a look at ./DD-WRT/src/squashfs-tools (included in new snapshots)

step 3: source code of mksquashfs-lzma should be in /home/dd-wrt/tools/squashfs-tools

step 4: cd /home/dd-wrt/tools/squashfs-tools

step 5: create a shell script -> vi install.sh

[code]
 * 1) !/bin/sh

export PATH=/home/dd-wrt/toolchains/3.4.6/bin:$PATH make [/code]

save -> ESC ; wq!

step 6: start compiling "./install.sh

step 7: copy mksquashfs-lzma to the right directory

cp mksquashfs-lzma /home/dd-wrt/snapshot/DD-WRT/src/linux/linux.v23/scripts/squashfs/