argh, once more fooled by reply-to, sorry :(

I understand that loading any elf is far more easy than building a custom
kernel image.

An option is the following: Packaging an u-boot or redboot in a kernel image
that can get loaded via bootlinux, then using the generic bootloader. But is
quite a boring way :) And I'm not sure an u-boot is totally hardware
independent.

So I'm supporting your request for a generic elf loader in haret :-)

Sebastien


On Fri, Apr 3, 2009 at 11:04 AM, Christopher Friedt
<[email protected]>wrote:

> Salut Sébastien,
>
> I believe that the kernel has it's own ld script, which explains how
> it can create a flat binary from a *-linux*- toolchain. All of that is
> stored in arch/arm/boot/*/*.S and particularly in
> arch/arm/boot/compress/vmlinux.lds.in for compressed kernels.
>
> For *-linux-* toolchains (or any non-elf toolchain) it's a bit more
> complicated, because the linker automatically uses the syscall
> conventions of the OS. However, if an elf toolchain is used, e.g.
> arm-elf, arm-softfloat-elf, then the linker script automatically
> creates a 'flat' elf binary, and the -e argument is the entry address.
> In that case, int main() is not used, but void _start(void).
>
> Of course, with some work, and a custom linker script / elf loader,
> then any arm toolchain could create the flat elf binary. For now
> though, I'm hoping to just get something to work soon. Actually, it
> might be nice to use HaRET to boot a more fully-featured bootloader,
> such as u-boot.
>
> I'm going to essentially copy the BOOTLINUX code, and remove all of
> the linux-specific parts. For now, I'll stick to the requirement for
> an elf / PIC format. Maybe I'll call the new command BOOTELF.
>
> For any other binary, particularly those in non-PIC format, the
> ENTRYADDR is absolutely necessary. That command could possibly be
> called BOOTBIN.
>
> If you feel like helping out, I would love any extra input!
>
>
> Cheers,
>
> Chris
>
> On Fri, Apr 3, 2009 at 10:24 AM, Sébastien Lorquet <[email protected]>
> wrote:
> > Just as we can create a GRUB image from an arbitrary  x86 binary, maybe
> it's
> > possible to create an arm kernel image that wraps any arm binary... the
> > kernel build process does just that :) Then you can use the bootlinux
> > command to start your binary.
> >
> > Note: If a load&run command is implemented one day in haret, the ability
> to
> > control where a PIC image is loaded should be available too.
> _______________________________________________
> Haret mailing list
> [email protected]
> https://handhelds.org/mailman/listinfo/haret
>
_______________________________________________
Haret mailing list
[email protected]
https://handhelds.org/mailman/listinfo/haret

Reply via email to