DMP1 Replacement Kernels

From Omnifi Wiki

Jump to: navigation, search
Quick Links
Linux-Inside.jpg
Related topics
  • Find Something
    • To Put Here

edit

Quotation by from Dan Z's email to openfi_dev group on November 1, 2005

One of the major stumbling blocks to getting a replacment kernel has been the custom drivers that they are using. If we're going to use a replacement kernel, these will all need to be recreated in some fashion.

The other major stumbling block is the lack of a serial port. Not having a serial port is problematic for two reasons:

  1. Having access to the first serial port is the only known way to fix a bad flash. If you flash a bad kernel into the system, and you don't have access to the first serial port, you've just killed your system.
  2. Without a serial port, it is virtually impossible to get any debugging information out of the system, which makes it impossible to bring up a new kernel.

Ok, so how do we address these issues?

Upon Andy's suggestion, I took a look at something called Kexec. Kexec allows you to load and execute a kernel off of disk from within linux*, which means you can do it without have to write it to flash!

And, after a bit of porting, I was able to get it running on the DMP1. So, we can now load a kernel without risk of destroying the flash! This is a major step.

That solves issue #1, but we still need a way to get debugging output out of the box.

So I started thinking that maybe we could use the LCD as an output device, instead of using a serial port.

<<Section removed for another Wiki page>>

So, now we have a way to get debugging output from the DMP1. Simply unplug the front panel, wire two of the pins on the back of the DMP1 to a DB-9 serial connector, hook it up to your PC, and with a little bit of help from some magic software, voila!

And with that, and a few days of effort... Drumroll please...

I've brought up a fresh kernel!  :-)

There is still lots of work to be done. For example, none of the custom drivers are running on it yet, so it is useless for running Openfi.

But it does provide a level of flexibility that the current kernel lacks -- for example, I've been booting my system using an NFS root filesystem, which makes development a snap.

And eventually, it will do everything that the current kernel does, and more!

When I get things cleanup up a bit, I will start posting the source code. It will most likely end up in the SourceForge CVS repository.


Anyway, that's all for now...

Good night,

-Dan

See Also


External Links

Lumkichi 13:22, 9 Nov 2005 (CST)

Personal tools