RedBoot "hacking" page

RedBoot is default configured for an ep80219 board with a e100 nic. This redboot will crash when you try to do network stuff with it. A secondary redboot is available on flash for rammode, and this one does have e1000 support, but it uses the same bootscript and settings as the ROM mode ep80219 redboot. So I am not sure if I can discriminate the bootp flag for rom and ram mode. (rom mode crashes, and ram mode works). But redboot can discriminate between rom and ram mode in the bootscript. So if you want to do network stuff: put this in your bootscript:

{ROM}fis load rammode
{ROM}g
{RAM}ip_address -l 192.168.0.101 -h 192.168.0.148

So: Prefix everything with {RAM} and let the {ROM} part as is. The ROM mode will run the {ROM} lines, and RAM mode will run the {RAM} lines. Next part of course is the load command. Well, see elsewhere for that.


Some RedBoot ROM-mode stuff:

+No network interfaces found

EM-7210 ver.T04 2005-12-12 (For ver.AA)
== Executing boot script in 10.000 seconds - enter ^C to abort
^C
RedBoot> fis list
Name              FLASH addr  Mem addr    Length      Entry point
RedBoot           0xF0000000  0xF0000000  0x00040000  0x00000000
RedBoot config    0xF1FC0000  0xF1FC0000  0x00001000  0x00000000
FIS directory     0xF1FE0000  0xF1FE0000  0x00020000  0x00000000
rammode           0xF0060000  0x00200000  0x00040000  0x00200000
log               0xF0040000  0xF0040000  0x00020000  0x00000000
naskey            0xF00A0000  0xF00A0000  0x00020000  0x01008000
zImage            0xF00C0000  0x01008000  0x00200000  0x01008000
ramdisk.gz        0xF02C0000  0x01800000  0x00400000  0x01800000
vendor            0xF06C0000  0xF06C0000  0x01880000  0x01800000
wmdata            0xF1F40000  0xF1F40000  0x00080000  0x01800000
RedBoot> help
Manage aliases kept in FLASH memory
   alias name [value]
Set/Query the system console baud rate
   baudrate [-b <rate>]
Execute a BSD boot image
   bexec [-w timeout] [-c "kernel command line"] [<entry_point>]
Manage machine caches
   cache [ON | OFF]
Manage compact flash devices
   cf {cmds}
Display/switch console channel
   channel [-1|<channel number>]
Compute a 32bit checksum [POSIX algorithm] for a range of memory
   cksum -b <location> -l <length>
Display (hex dump) a range of memory
   dump -b <location> [-l <length>] [-s] [-1|2|4]
Execute an image - with MMU off
   exec [-w timeout] [-b <load addr> [-l <length>]]
        [-r <ramdisk addr> [-s <ramdisk length>]]
        [-c "kernel command line"] [<entry_point>]
Manage FLASH images
   fis {cmds}
Manage configuration kept in FLASH memory
   fconfig [-i] [-l] [-n] [-f] [-d] | [-d] nickname [value]
Execute code at a location
   go [-w <timeout>] [entry]
Run board diagnostics
   diag 
Help about help?
   help [<topic>]
Display command history
   history 
Set/change IP addresses
   ip_address [-l <local_ip_address>] [-h <server_address>]
Load a file
   load [-r] [-v] [-d] [-h <host>] [-m <varies>] [-c <channel_number>] 
        [-b <base_address>] <file_name>
Compare two blocks of memory
   mcmp -s <location> -d <location> -l <length> [-1|-2|-4]
Copy memory from one address to another
   mcopy -s <location> -d <location> -l <length> [-1|-2|-4]
Fill a block of memory with a pattern
   mfill -b <location> -l <length> -p <pattern> [-1|-2|-4]
Network connectivity test
   ping [-v] [-n <count>] [-l <length>] [-t <timeout>] [-r <rate>]
        [-i <IP_addr>] -h <IP_addr>
Reset the system
   reset 
Read RTC timer
   rtc 
Display RedBoot version information
   version 
Display (hex dump) a range of memory
   x -b <location> [-l <length>] [-s] [-1|2|4]
RedBoot> fconfig -l -n
boot_script: true
boot_script_data: 
.. fis load ramdisk.gz
.. fis load zImage
.. exec

boot_script_timeout: 10
bootp: false
bootp_my_gateway_ip: 10.9.9.1
bootp_my_ip: 10.9.9.1
bootp_my_ip_mask: 255.255.255.0
bootp_server_ip: 10.9.9.10
console_baud_rate: 115200
dns_ip: 0.0.0.0
gdb_port: 9000
info_console_force: false
net_debug: false
RedBoot> diag
Entering Hardware Diagnostics - Disabling Data Cache!


  Lanner Hardware Tests

 1 - Memory Tests
 2 - Repeating Memory Tests
 3 - Repeat-On-Fail Memory Test
 4 - Timer Test
 5 - CPU Cache Loop (No return)
 6 - Basic Sanity Test
 7 - GPIO0 (Shutdown) Test
 8 - GPIO1 (System statu LED) Test
 9 - GPIO2 (Global disk LED) Test
10 - GPIO4&5 (Reset button, Power button, loop) Test
 0 - quit
Enter the menu item number (0 to quit): 6


Timer test. Dots should appear at 1 second intervals:
....................
Testing memory from 0x0002cd40 to 0x0ffd1000.

Walking 1's test:  passed
32-bit address test: passed
32-bit address bar test: passed
8-bit address test: passed
Byte address bar test: passed
Walking 1's test:  passed
32-bit address test: passed
32-bit address bar test: passed
8-bit address test: passed
Byte address bar test: passed
Walking 1's test:  passed
32-bit address test: passed
32-bit address bar test: passed
8-bit address test: passed
Byte address bar test: passed
Walking 1's test:  passed
Byte address bar test: passed... Unlock from 0xf0040000-0xf0060000: .
... Erase from 0xf0040000-0xf0060000: .
... Program from 0x0000afe6-0x0000b04a at 0xf0040000: .

Memory test done.

(GPIO1) System status LED is blinking...

(GPIO2) Global disk LED is blinking...


  Lanner Hardware Tests

 1 - Memory Tests
 2 - Repeating Memory Tests
 3 - Repeat-On-Fail Memory Test
 4 - Timer Test
 5 - CPU Cache Loop (No return)
 6 - Basic Sanity Test
 7 - GPIO0 (Shutdown) Test
 8 - GPIO1 (System statu LED) Test
 9 - GPIO2 (Global disk LED) Test
10 - GPIO4&5 (Reset button, Power button, loop) Test
 0 - quit
Enter the menu item number (0 to quit): ^C

Exiting Hardware Diagnostics!

RedBoot> fis load rammode
RedBoot> g
+Ethernet eth0: MAC address 00:0e:0c:b0:68:36
IP: 10.9.9.1/255.255.255.0, Gateway: 10.9.9.1
Default server: 10.9.9.10, DNS server IP: 0.0.0.0

EM-7210 (RAM mode) 2005-12-22