Re: Fiasco-OC.UX, ux_con and the framebuffer examples
Adam Lackorzynski <[email protected]>
| Newsgroups | gmane.comp.micro-kernel.l4.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi, On Thu Jan 14, 2016 at 23:07:43 +0100, Paul Boddie wrote: > Another year, another look at Fiasco-OC! ;-) > > I've been looking again at Fiasco-OC.UX and trying to make sense of the > documentation. In particular, I'd like to be able to get the framebuffer > examples working with the UX graphical console, but it isn't clear to me what > I need to do. > > One thing I discovered straight away was that I needed to provide the -F > option as part of the UX_OPTIONS variable when running UX via make. For > example: > > cd src/l4 > make O=mybuild ux E=hello MODULE_SEARCH_PATH=../kernel/fiasco/mybuild \ > UX_OPTIONS='-G 800x600@24 -F ../kernel/fiasco/mybuild/ux_con' > > I suspect that to run a framebuffer example, such as the one in > src/l4/conf/examples/x86-fb.list, I need to specify E=x86-fb-example and > specify the list file using MODULES_LIST: > > make O=mybuild ux E=x86-fb-example \ > MODULES_LIST=conf/examples/x86-fb.list \ > MODULE_SEARCH_PATH=../kernel/fiasco/mybuild \ > UX_OPTIONS='-G 800x600@24 -F ../kernel/fiasco/mybuild/ux_con' > > But this naive attempt gives me the following: > > Could not find 'x86-fb.cfg' with path > '../kernel/fiasco/mybuild:/home/paulb/L4/src/l4/mybuild/bin/x86_prescott:... > > I imagine that I need to more effectively specify paths to various things and > to check that they even make sense in the context of the UX environment. > Should I even be using this x86-related stuff? That's ok this way. And yes, when doing all step by step you'll also need to specify all search paths. > Copying the different x86-fb files into one of my existing MODULE_SEARCH_PATH > directories did seem to resolve the above immediate error, however, but I then > appear to need to build various drivers. This seems to require chasing > dependencies as they are reported as missing by the build system, and that > makes me wonder whether I've overlooked a command that recursively checks out > all dependencies for a given component. As of now there's no such tool that downloads components as required by other components. However, there are subset definitions defined in repomgr but they're coarse. > Anyway, running the above command with all dependencies compiled and with x86- > fb (and x86-legacy.devs) files in the path gives an error like this... > > Ned: loading file: 'rom/x86-fb.cfg' > IO | Io service > IO | Find root Pointer > IO | ACPI Error: Could not map memory at 0x000E0000 for length 131072 > (20121018/tbxfroot-286) > IO | Find root Pointer: 0 > IO | Ready. Waiting for request. > mag | Hello from MAG > fbdrv | Trying execution of ``set VBE mode'' using x86emu > fbdrv | L4Re[rm]: unhandled read page fault at 0xfd0 pc=0x1007d49 > fbdrv | L4Re: unhandled exception: pc=0x1007d49 (pfa=fd4) > fbdrv | L4Re: Global::l4re_aux->ldr_flags=0 > > ...which probably suggests that I really should be using something other than > this x86-related stuff. Does anyone have any suggestions, or am I doing > something that no-one thought sensible? The x86-fb.cfg file is missing some bit for ux here. Please change local fbdrv_fb = l:new_channel(); to local fbdrv_fb = L4.Env.vesa; I'll fix that accordingly. > (As mentioned last year on this list, I'm running everything under Debian on > x86, and UX does work with the "hello" example.) More generally, there's also some automatism. Add a l4/conf/Makeconf.boot file (from l4/conf/Makeconf.boot.example) and add a UX_GFX=800x600@24 statement, plus add the path to your kernel build to MODULE_SEARCH_PATH. Then a "make ux E=.." should suffice. > P.S. I've also found that various links on l4re.org to things like the > "getting started" details are broken. For example: Thanks! I've fixed the 2 locations I've found to be wrong. Adam -- Adam [email protected] Lackorzynski http://os.inf.tu-dresden.de/~adam/