Code Monkey home page Code Monkey logo

Comments (5)

kent-mcleod avatar kent-mcleod commented on June 14, 2024 1

The ELF loader supports passing the device tree that was passed to it from a previous boot loader instead of the device tree from the CPIO archive.

x86 isn't loaded by the elfloader and doesn't use device trees. I think passing multiboot modules and command line to rootserver is a lot more achievable now that the seL4_BootInfo_t has the extra region support. This is already used to pass through other multiboot info such as the mmap and VESA frame buffer information but using it for multiple user binaries would be interesting to try. It'd be similar to the existing approach of a CPIO archive in the root but would mean more flexibility in being able to change the user apps without relinking the root.

from sel4.

pingerino avatar pingerino commented on June 14, 2024

Hi @Oficerx, could you please provide more context?

from sel4.

arturkow2000 avatar arturkow2000 commented on June 14, 2024

Hi @Oficerx, could you please provide more context?

Hi,
I mean passing data from bootloader to userland, like executable images, command line, which later could be accessed by rootserver, through BootInfo structure.
Kernel currently supports only one monolithic executable making entire userland, which is constructed during build process. This makes it difficult to add/remove components or alter system behaviour later, as it requires recompiling.

from sel4.

jdub avatar jdub commented on June 14, 2024

It would certainly be neater than "attach a cpio blob to the root server". 😃

There was some discussion about this on the mailing list last month.

from sel4.

axel-h avatar axel-h commented on June 14, 2024

The ELF loader supports passing the device tree that was passed to it from a previous boot loader instead of the device tree from the CPIO archive. Ideally, we would simply pass both device trees here to userland in the boot info, then it could choose what to do with this.
For a command line we could simply use the same was it is done one Linux. Take this from the device tree.

chosen {
        bootargs = "console=ttyO0,115200 root=/dev/mmcblk0p2 rootfstype=ext3 rw rootwait";
        stdout-path = &uart0;
    };

To avoid conflicts with LInux, another name besides bootargs could also be used here - in the end this is up to the userland root task to pick something here and process this.

Can we close this?

from sel4.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.