bootloader


 

bootloader

bootloader is the very first program executed at startup.The problem is that the stock bootloader does not come with source code. As it has a number of missing features (netcat, ata/atapi boot, auto tftp-boot, variable startup delay, auto-reflash), binary patches just won't do it. John started to rewrite it, including basic HW hooks for X86 testing. C coders/contributions welcome.

Version: 2.0.0

Status: 50% complete

 



 

Description

 

This is the first piece of code which gets executed at startup, since it is located at 0x00000000. It will:

 

Just some ideas:

The cramfs is at 0xE2809 (as reported by the kernel boot) This suggests that the maximum size of the cramfs is 0x31D7F7, or just over 3MBytes. Loads of room!

The compressed kernel is in the ROM at 0x40004 and is 0xA27FD long

The flash-kernel loader is at 0x6000 (execute this with "boot flash")

The kernel is loaded to 0x01008000 to be executed.

 

There are commands to download code and jump to an address - we could try new kernels by using "download serial 0x01008000" and then "boot kernel".

 

Download

Format Location
.bin SourceForge - utility binaries
.bin SourceForge - test binaries
.ipk SourceForge - packages
.ipk PigsInSpace - standard packages

If you do not have ipkg already installed, put the .bin format tool command (above) into your /usr/bin directory .

 

License

 

 

Proprietary

 

Todo

 

 

History

Version 2.0.0 - [John, 2008-01]

 

Version 1.0.0 - [Flyduck, 2004]

 

Comments

 

VB: replacing bootloader seems to me a little dangerous :-) especially if one is going back and forth between stock and our firmware.