Hello Peter,

I totally agree. We are developing a unikernel 
(https://github.com/hermitcore/rusty-hermit). On x86, we are using the 
multiboot specification. I thought that this specification is only available on 
x86.

In principle, a unikernel is a single application, which runs directly on the 
hardware/VM. Our ELF loader parse the ELF application to determine the thread 
local storage. On x86, Qemu loads the unikernel as initrd into the memory. The 
loader just initialize the system. I miss a similar feature on ARM. Maybe I 
oversee something.

Cheers 

Stefan 

> Am 14.04.2023 um 11:03 schrieb Peter Maydell <peter.mayd...@linaro.org>:
> 
> On Fri, 14 Apr 2023 at 08:35, Stefan Lankes
> <slan...@eonerc.rwth-aachen.de> wrote:
>> Currently, the flag `--initrd` is only support for Linux ARM kernels.
>> However, also other ELF kernels could depend on an initial ramdisk.
>> This PR loads also the initrd for ELF kernels and announce the
>> location by the nodes "/chosen/initrd-start" and
>> "/chosen/initrd-end" within the device tree.
> 
> What are these "other ELF kernels" ? Is there some defined
> specification of bootloader you're trying to implement here?
> 
> Currently QEMU for Arm supports two things:
> (1) I am a Linux kernel, load me like the Linux kernel defines
> (2) I'm just a bare-metal image (ELF file or raw)
> 
> Adding support for some third type of loading would need a
> pretty solid justification, eg that this is a very common kind
> of image to load, that there is a well defined specification,
> that it's supported by lots of other bootloaders, etc.
> The bootloading code is too complicated already and I am
> very reluctant to add more to it.
> 
> thanks
> -- PMM

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to