[Soekris] Changing net4801 BIOS settings from Linux (boot order)
Eric Lammerts
soekris-tech at lists.lammerts.org
Fri Aug 11 14:13:21 UTC 2006
Derrik Pates wrote:
> Andrej Ota wrote:
>
>>Is there a way of changing boot order of devices from within Linux
>>(kernel 2.6.18)?
>>
>>The idea is to preset boot order to "F0 80 81 FF" for automatic install
>>from the network. As the last step the setup should modify the boot
>>order to ordinary "80 81 F0 ..." so the boxes won't wait for DHCP
>>timeout every time they reboot.
>
>
> Not really a way supported by Soekris; however, you should be able to
> use the 'nvram' kernel driver, read the NVRAM data, and write out the
> changes
I don't think the changes are stored in NVRAM, I think they're stored in flash.
If you look at the 0xf0000-0xfffff BIOS area (dd bs=64k skip=15 count=1
if=/dev/mem of=bios.bin), you can see changes if you alter BIOS settings (search
for "BCP"; you should be able to recognize the "boot order" setting). But the
location of the settings is not fixed: it seems there are multiple slots that
can be used (probably to reduce the number of erase operations on the flash).
So you would need to figure out how to write to the flash (and write a Linux MTD
driver for it). Then you could also update the BIOS from Linux...
Eric
More information about the Soekris-tech
mailing list