TechInfoDepot:DD-WRT/X86

From TechInfoDepot
Jump to navigationJump to search
Source

X86 @ dd-wrt

x86

Regular PC computers can run DD-WRT by using an x86 build of DD-WRT. But there are also existing very small low power industrial embedded PC plattforms e.g. the very pupular PC-Engines Alix or WRAP or Soekris boards

Applications

You can, in theory at least, escape many of the limitations of small platforms.

Limitations

The x86 version of DD-WRT does not support the following features:

  1. Ipkg - Itsy Package Management System
  2. jffs - Journaling Flash File System
  3. Project:DD-WRT/USB on the public image. Only the professional licenced version has USB support!
    1. USB Storage

Commands

More Storage on your Boot Device

There is free space on the installation image in partition 3.

Partition 3 is mounted Read-Only at boot by default.
You can see this with the mount command:

    > mount
    ...
    /dev/discs/disc1/part3 on /usr/local type ext2 (ro)

The "(ro)" means that the partition is mounted read-only.

To mount it read/write, the command is:

    > mount -o remount /dev/discs/disc0/part3 /usr/local
    > mount
    ...
    /dev/discs/disc1/part3 on /usr/local type ext2 (rw)

Note that the "(ro)" has changed to a "(rw)", indicating that you can now write to it.

This works for a machine that is booting off a Compact Flash(CF) device.
You might have to change it a little, if you're booting off something else.

When you reboot, partition 3 will be mounted read-only again. If you like, you can make the file system read-only again with the command:

    > mount -o ro,remount /dev/discs/disc0/part3 /usr/local

Resize Partition to get more space

not moved to the wiki up to now http://www.dd-wrt.com/phpBB2/viewtopic.php?t=11167&highlight=resize+x86


More Storage on another IDE Device

If you have another disc drive or storage device attached to your IDE bus, you can mount it.

Create a mount point

    > mkdir /tmp/mydisc

Find a mountable partition on the device. It will be somewhere under the /dev/ide tree.
For example, we'll use:

    > ls -la /dev/discs/
disc0 -> ../ide/host0/bus0/target0/lun0

Now that we know the device it is on, /dev/discs/disc0, we can list the partitions:

    > ls -la /dev/discs/disc0/*
    brw-------    1 root     root       3,   0 Jan  1  1970 /dev/discs/disc0/disc
    brw-------    1 root     root       3,   1 Jan  1  1970 /dev/discs/disc0/part1

Now we can mount the partition on the mount point:

    > mount -o rw /dev/discs/disc0/part1 /tmp/mydisc

Installation

Prerequisites

  • An PATA/SATA device (Compact Flash, Hard Disc, etc...)
  • For Builds <= 2010/08/12 at least 32MB and >= 2010/08/13 at least 64 MB space is needed
  • Drive in IDE mode must be master.
  • The adequade *.image from below fitting your plattform and needs
  • Physdiskwrite or an other utility that can write the image sectors directly to your IDE device. Linux/Unix has the "dd" command for this. You can find the latest physdiskwrite here.

Defaults

eth0 is the wan interface.
Remote management on port 8080 is enabled on eth0.
All other ethernet interfaces are used as lan interfaces.
Default IP is 192.168.1.1

username: root
password: admin

Current "serial" images have a console port setting of 115200,8,n,1.

image types

"*" is either VGA (with VGA card) or serial (serial console output only).

image name usage
dd-wrt_full_*.image full dd-wrt x86 version for registered users (raw image for cf or hdd) this version does support atheros wifi as well as up to 65536 connections, future versions may support more depending on the available memory
dd-wrt_full_smp_*.image full dd-wrt x86 version for registered users (raw image for cf or hdd) this version does support atheros wifi as well as up to 65536 connections, future versions may support more depending on the available memory, additionally this version is capable of using multiple cpu's
dd-wrt_public_*.image free dd-wrt x86 version (raw image for cf or hdd) this version is limited to 4096 connections and wifi support is missing
dd-wrt-webupgrade_full_*.bin full dd-wrt x86 version for registered users (for webupgrades after DD-WRT installation)
dd-wrt-webupgrade_full_smp_*.bin full dd-wrt x86 version for registered users (for webupgrades after DD-WRT installation)
dd-wrt-webupgrade_public_*.bin free dd-wrt x86 version (for webupgrades after DD-WRT installation)

Linux/OSX Instructions

Step 1 - Mount the IDE device on a running computer

Step 2 - Open a console or terminal session

Step 3 - You will have to issue the following commands as SuperUser. Depending on the environment, you could login as root, use su or sudo.

Step 4 - Navigate to the folder where the image file is located.

Step 5 - Use the "dd" command to write the image to your IDE device. WARNING: A mistake in the "of" target of the command could wipe out other discs on your system.

Example: Your new IDE device is the master device on the secondary IDE channel:
dd if=dd-wrt_public_vga.image of=/dev/hdc

Step 6 - Move this IDE device to the machine where you want to run dd-wrt, and boot it.

Step 7 - Assuming you have 2 network cards in the machine, plug the *second* card into your network, and it will take the IP address 192.168.1.1.

Step 8 - Go to another computer and open a web browser to 192.168.1.1 and configure your new dd-wrt machine.

Partitions on the Image

Here is what the partitions on the x86 image look like:

    > ls -la /dev/discs/disc1/*
    brw-------    1 root     root      22,   0 Jan  1  1970 /dev/discs/disc1/disc
    brw-------    1 root     root      22,   1 Jan  1  1970 /dev/discs/disc1/part1
    brw-------    1 root     root      22,   2 Jan  1  1970 /dev/discs/disc1/part2
    brw-------    1 root     root      22,   3 Jan  1  1970 /dev/discs/disc1/part3
    brw-------    1 root     root      22,   4 Jan  1  1970 /dev/discs/disc1/part4

Windows Instructions

This is the easiest way to get up and running using hard drive.
1. Connect the hard drive that will be used for dd-wrt to a windows machine either with usb or internal.
2. Put both physdiskwrite and dd-wrt image file in drive c: or whatever your main drive is.
3. Click Start and then Run, type "command" in the open box and click open to bring up a command prompt.
4. At command prompt navigate to where physdiskwrite is located. "cd.." will go to next higher directory. Use command "dir" to list directory contents and verify that both files are there.
5. type "physdiskwrite -u dd-wrt.image" dd-wrt.image is the actual name of the image file so replace it with what you downloaded from dd-wrt.com. The -u tag is used for large drives.
6. BE VERY CAREFUL WITH NEXT STEP!!!!!!!! Next you will select drive to apply the image to. This will overwrite all contents on drive!! ususally your main drive is drive "0" and if you do not have another drive other than the dd-wrt drive then it should be drive "1".
7. Install drive into dd-wrt machine, connect NIC to another computer or to LAN.
8. Boot dd-wrt computer and after it says that eth0 is up then use other computer to configure remotely. Default ip is 192.168.1.1 so make sure you set your computer to the same subnet i.e 192.168.1.5. Open browser and type 192.168.1.1 into the location bar and the control panel for dd-wrt x86 should come up.
9. If this is a registered install then you will then take the System Key displayed and enter it into the activations center at dd-wrt.com.

Reset to defaults

is you expect problems, need to reset to defaults and you are not able to do it via GUI or CLI, you will have to overwrite the whole HDD/CF-card with ZEROS/random 1st. Do not just reflash DD-WRT! This wont get you any further.