Comments (5)
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.
Hi @Oficerx, could you please provide more context?
from sel4.
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.
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.
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)
- `physBase` isn't aligned properly on `ARM_HYP` HOT 1
- Should we add `-Wconversion` to compiler flags? HOT 5
- document `cmake install` target in CHANGES HOT 2
- arm64: silent asserts before mapping the kernel window HOT 3
- Generated platform descriptions (.yaml and .json) do not describe final device regions HOT 4
- Potential bug/vulnerability HOT 6
- How to build standalone kernel and simulate HOT 1
- Is it possible to port musl directly from libsel4? HOT 3
- Export value of MAX_IRQ HOT 1
- USER_TOP lower than expected on AArch64 platforms? HOT 7
- PAR_EL1 usage (at handleVMFault) in the kernel leaks info to the vCPU HOT 1
- vm fault on data at address 0 with status 0x5 HOT 4
- The inclusion is chaotic HOT 1
- some symbols in c file is not include correctly HOT 5
- aarch32: No easy way for a thread to modify its TPIDRURO register. HOT 5
- syscall_stub_gen_rs.py looks broken, is this used anywhere at all? HOT 13
- Missing faults in manual HOT 3
- Is this a bug for ctedelete() ? HOT 3
- A specific specific colorscheme is assumed HOT 2
- Reduce difference between `master` and `microkit` branches HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sel4.