"Gregg C Levine" <[EMAIL PROTECTED]> writes:
> Hello from Gregg C Levine normally with Jedi Knight Computers
> I am curious, for the, say, the 2.4.0 kernel, which patch for that
> version should I apply? I am asking that question, because in that
> compressed tar file describing the patches, I see several. I am
> downloading the compressed tar file from a mirror for the major
> distributions site for kernels, right now, and thought I'd ask. I shall
> be building it on a machine which also runs the same distribution of
> Slackware, that I run here. Also another question, what exactly is elf
> boot? I saw it mentioned in the thread on a ramdisk, as part of the
> booting process. I understand what a DoC is, and a DoM is, so that part
> made sense. Thought I'd stick that question, and those there, so people
> would know that this lurker would know what is going on, and post two
> questions.
I'll start with the question what is elfboot.
Ages ago in the mists of time I wanted to come up with an interface
to booting that would not change with every kernel. Would be very
powerful, in what you could do with it. Yet very simple to implement.
In particular I wanted something like etherboot has with it's tagged
images but cross platform.
So I started looking for an existing file format that supported
multiple architectures, and had a simple structure saying this chunk
of file goes into this chunk of memory. I was quite suprised when I
found that the standard unix executable format ELF met my criterion.
With ELF actually being a simple enough format that meant we could use
standard tools to build kernel images, for use with linuxBIOS.
So I have been porting programs to boot with ELF every since.
- The patch for etherboot has been incoporated into the standard
tree.
- The a patch for memtest86 that has received initial approval
though there has not yet been a release.
- And there is mkelfImage similiar to the mknbi from etherboot that
converts a stock linux kernel into the format we need.
For bootloaders there are:
- elfboot.c in the linuxBIOS tree. It can boot a kernel but
that isn't required. But it can also boot etherboot or memtest86.
Actually any valid ELF executable that can run without an OS.
- kexec is a patch for the linux kernel that implements the same
interface.
- Etherboot also an implimentation of an ELF bootloader.
When this was designed I left off two very important pieces.
1) Documentation. The there is a header that comes pretty close.
2) How to pass information on what the onboard devices are,
and how they are connected.
And I left out how to return to bootloaders that support it.
-----
The current state of affairs is you should be able to start out
with a stock linux kernel. But for some small improvements you will
need kernel patches.
These improvements include:
- Booting linux from linux (see kexec)
- Waiting until your harddrive spins up.
- Rebooting linux.
Distributions should not matter.
Eric