Re: [RFC] x86 ELF bootable kernels/Linux booting Linux/LinuxBIOS

Eric W. Biederman
2002-02-04T20:05:36Z

Keith Owens <kaos@ocs.com.au> writes:

> On 03 Feb 2002 11:43:08 -0700,
> ebiederm@xmission.com (Eric W. Biederman) wrote:
> >O.k. I have been thinking about this some more, and I have come up with a
> couple
>
> >alternate of solutions....
> >My final and favorite is to take an ELF image, define a couple of ELF
> >note types, and add a bunch those notes saying which pieces are
> >hardware dependent. So a smart ELF loader can prune the image as it
> >is loaded, and a stupid one will just attempt to load everything. And
> >with the setup for this not being bootloader specific it will probably
> >encourage device pruning loaders.
>
> That is not an ELF loader, it is an ELF *linker*. The vmlinux image
> has had all the relocations fixed up, you no longer have the data
> required to discard sections. To prune hardware dependent pieces means
> moving data around and adjusting relocation entries. you have to go
> back one stage, to the individual objects, and that means linking.

Not if what you are actually pruning is your cpio archive of modules
that will become your initramfs. I admit insmod then needs to run to
insert those modules.

> Seems like an awful lot of work.

It may actually be, on the setup side. But any solution that is
setup to run on all x86 platforms is a lot of work. On the bootloader
side adding a file a initramfs is the same complexity as removing one.

Eric