Fiasco-OC.UX, ux_con and the framebuffer examples

Paul Boddie paul at boddie.org.uk
Mon Jan 18 16:45:58 CET 2016


On Monday 18. January 2016 00.33.57 Adam Lackorzynski wrote:
> 
> On Thu Jan 14, 2016 at 23:07:43 +0100, Paul Boddie wrote:
> > 
> > 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.

OK. I actually encountered a related situation when trying to build the MIPS32 
port of Fiasco.OC that has been made available here:

https://github.com/MIPS/fiasco-l4re

In that case, I wanted to prevent a package from being automatically built 
(the intervm package that seems to be part of the virtualisation emphasis of 
that work), and ultimately chose to just delete it from the pkg directory. 
Maybe there's a cleaner way of managing this, though.

> > 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.

Again, looking at that MIPS32 port was somewhat informative, since there 
appears to be a special mips-fb.cfg file and related definitions, so I was 
expecting something like ux-fb.cfg. I guess I don't really have a sufficient 
overview of the relationships between the different components, however.

> > (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 at 24 statement, plus add the path to your kernel build to
> MODULE_SEARCH_PATH.
> Then a "make ux E=.." should suffice.

I did discover the Makeconf.boot file after the MIPS32 port documentation 
mentioned it, and it occurred to me afterwards that this would offer a 
shortcut or two.

> > 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.

Great! Thanks for your help!

Paul



More information about the l4-hackers mailing list