DD-WRT's Micro RedBoot and OpenWRT firmware possible

General discussion about Gargoyle, OpenWrt or anything else even remotely related to the project

Moderator: Moderators

Post Reply
User avatar
braveheartleo
Posts: 47
Joined: Sun Dec 13, 2009 9:50 am

DD-WRT's Micro RedBoot and OpenWRT firmware possible

Post by braveheartleo »

hello all,

i'm happy to share with you my experience with making micro redboot (svn13984) work with openwrt. this has been tested on dir-300 (ap61).

the micro redboot still depends on some persistent data saved in the redboot config, like boot script timeout. but the script is hardcoded as

Code: Select all

fis load -l linux
exec
.
so what i did was to change vmlinux.bin.l7 to linux when flashing the kernel part of openwrt. rootfs remained the same. this booted the openwrt image without a glitch.

using micro redboot has several advantages:
a.) saves another 128k because it is only under 64k, the normal dd-wrt redboot for dir-300 is under 161k, which is rounded to 192k because of 64k blocks in fis,
b.) boots the linux kernel directly, skipping redboot, reducing boot times to 5-6 secs, although with the way openwrt initializes its system, it may be just a couple of sec slower than compared to dd-wrt init,
c.) has tftp facility built-in for flashing, although i haven't tested this facility yet, and i'm not sure if it will still work without the nvram,
d.) writes to flash quickly when using special fis commands, in this case 'fis createaccton' for dir-300.

of important note is that the reset button now behaves differently depending upon how long it is held pressed from the moment the unit is powered on:
* 1-2 secs enables access to redboot, else redboot doesn't start,
* 5-6 secs clears nvram, although this does nothing because nvram is nonexistent nor does it try to recreate it, at least that's what i gather from reading the changelog,
* any longer and it will start the tftp service.

also, because of the size reduction of micro redboot, several commands and options from commands have been omitted from the normal bootloader, which may be checked by using the help command.

i find that setting boot script timeout to 3 or greater assists in catching the redboot prompt, as i had it set to 1 and it took me some retries to get into the redboot prompt. under the normal redboot i had no problems with it set to 1.

for some final notes, eventhough openwrt still loads if vmlinux.bin.l7 is changed into linux, this might have unintended consequences when upgrading within x-wrt, luci, or even gargoyle webifs. since i do firmware upgrades within redboot, i don't mind changing the kernel label into linux, and then keeping the boot script the same, so that changing between bootloaders and openwrt and dd-wrt is a breeze.

hope that helps. :D

Post Reply