Micro Redboot

From DD-WRT Wiki

Jump to: navigation, search


[edit] About

DD-WRT Micro Redboot is a modified ECOS Redboot by Sebastian Gottschall and puplishd unter the terms of GPL.
The target systems are right now Atheros AP48/51/61 (eg Fon Fonera, UBNT NS/PS. Dlink DIR300 rev.A, Senao EOC-2610), AR5312/5/6/7/8 and AR7100 (in progress). Support for more reference designs to come.

[edit] Details

The benefits of Micro Redboot are its small size (Its about half the size of a standard Redboot for these targets), a built in TFTP-Server (like in UBNT devices) for easy flashing with dd-wrt webflash images and a very fast boot in about 5 to 6 sec.. Micro Redboot supports many varys of HW combinations so that its very likly that your Platform is supported.

  • *.rom = redboot for installing into flash
  • *.elf = *.ram = redboot for executing out of ram

[edit] Supported hardware

The following HW is supported at the time of writing

[edit] Switch HW

  • admtek
  • icplus
  • kendin (realtek phy)
  • marvel

[edit] Flash sizes

  • 4mb
  • 8mb

Most NOR flash chips should be supported, but no guarantee on this. If not Micro Redboot will display the required ID's for implementation and you have to contact the devĀ“s.

[edit] RAM sizes

  • 16mb
  • 32mb

[edit] Micro Redboot access

[edit] "Virgin" Redboot

The first time Micro Redboot is installed and not configured or if you use Micro Redboot.ram and can reach the Redboot directly on 9000 cause it doesnt try to boot and will be in waiting state.

[edit] Redboot already installed and configured

Many settings in Micro Redboot are hardcoded to prevent changes by mistake.
At powercyle press and hold the reset button for 2 sec after the switch led's are lit to enable redboot access. After a few seconds you can access it with Telnet at port 9000 for the time set in "Boot script timeout".
If you press the reset button for >= 5 sec the device will be reseted to defaults (reset nvram) as known.
And if pressed for more than 10 sec redboot and the tftp server for recovery will be enabled at Use Tftp_flash for flashing.

[edit] How to flash

Be sure that you know your HW specs (ramsize, flashsize, cpu and switch if one is there) and get the correct MicroRedboot rom/ram for your device. Telnet in (typically port 9000) or use a serial connection to access the existing redboot. Setup a tftp server and place the Redboot file(s) into its root folder.

[edit] Redboot.ram

In some chases its needed to outsmart the existing redboot cause its cusomized from the vendor and settings are hardcoded or some features are removed (e.g. oswave/osbridge redboot). So we need to use the redboot.ram files, load them into flash, execute them and erase the flash so the we can install DD-WRT Micro-Redboot.

Get the correct Micro Redboot ram file. Access redboot and set the tftp server ip address

ip_address -h "your servers ip"
load redboot.ram

Micro Redboot is started and requests a dhcp address. If there is no DHCP Server it will fall back to 9000. Go on flashing Micro Redboot rom.

[edit] Redboot.rom

Get the correct Micro Redboot rom file. Access redboot and get the currect fis list

fis list

It will show something like this

OsWave> fis list
Name              FLASH addr  Mem addr    Length      Entry point
RedBoot           0xA8000000  0xA8000000  0x00030000  0x00000000
FIS directory     0xA8030000  0xA8030000  0x00010000  0x00000000
zImage            0xA8050000  0xA8050000  0x002D0000  0x80800000

Locate the redboot base address (here 0xA8000000).

Now set the tftp server ip address

ip_address -h "your servers ip"
fis init -f
load -r -b %{FREEMEMLO} redboot.bin
fis create -l 0x30000 -e "your redboot base address from above" RedBoot

"-l 0x30000" is the length of the redboot partition any typicaly 30000 hex long. But be sure its correct for your device. Else it wont flash.

Reset your unit and access redboot again. Then do another

fis init -f

Now you can (re)flash DD-WRT.