Navigate L3 Section:
(* = offsite link)
Questions answered in this FAQ
Questions and Answers
I'm really interested in L4, not L3. When will L4 become
- A preliminary (and somewhat tested) version of L4 has
been made available by GMD at ftp://borneo.gmd.de/pub/rs/L4/.
We've also made available a source/binary distribution of the
version of the L4 microkernel we're using locally. Please see the
L4 Developer's page for instructions on how to get it.
Which of the cross development tools you have developed will be
possible to use for L4, too, when it becomes available?
- Please see the
L4 Developer's Resources page.
I can make very little out of the L3 shell instructions in
- I understand that this must be difficult to you... It's
difficult for me, too. Part of the problem is that we don't have a
language reference manual for L3's embedded ELAN interpreter/compiler
(i.e., the shell you're seeing), not even a German one. (Well, the
L3 User's manual contains an
introduction to ELAN.)
L3 reference handbook might be kind of a help to you as
lists all existing ELAN procedures alphabetically.
I also find the help command useful. For instance,
lists all ELAN procedures that contain "copy". (Leave the editor
that's being popped up with ESC Q.) This helps you to find the
correct syntax for a command once you've guessed its name. :-)
When I try to link a program using `i386-l3-gcc -g' I get an
"-lg not found", if I
remove the -g flag I get a "-lc not found". Do I need a libc.a?
- No, you don't need libc.a (there is no libc.a). Either specify
"-nostartfiles -nostdlib" on the gcc command line, or link using `i386-l3-ld'
I've set up the cross compiler, and I've compiled/linked a binary,
now what are the steps that I need to take to get this to run
under L3 (on the PC)?
- Try this:
- Make sure the l3/l3_env/elan/runx ELAN program (from the libl3
snapshot) has DOS line endings (CR LF)... (The
snapshot's version comes with Unix line endings...) Otherwise, L3's
ELAN compiler will get confused.
- Put `runx' and the program binary, say `hello', on a DOS floppy.
- Create a task on the L3 system in the PUBLIC branch. If you have
configured your L3 console using `configurator.new', this can be
done by moving the cursor to "PUBLIC" and then typing "ESC e"; you
will be prompted for the new task's name, and after you've entered
it (e.g., "user"), the new task will be started. You should see
the new task's ELAN prompt. (To return back to the console's task
list, you may type "ALT-PrtScr" at any time.)
- Insert the floppy. At the ELAN prompt, type:
This will bind the floppy manager to your task. (You may later
release the binding using "release(archive)".)
fetch all (archive)
This should copy the floppy's contents into the task.
This will define some new ELAN procedures required to run a.out
will launch your `hello' program in a new task "hello".
to bind your terminal to the "hello" task. (You may also do
this using the terminal manager's task list.)
For more information, read the corresponding
section of the L3 documentation.
Are the L3 sources available anywhere (kernel or OS)?
- Currently, most of the OS' ELAN environment's sources are
freely available. They're part of the
L3Frei distribution, and they're also available (in .tar.gz
format) from the
ACI (the commercial L3 distributor) plans to release both kernel
and (full) OS sources publicly, but hasn't done that yet; you may want to
ask Werner Metterhausen
of ACI about that.
However, the kernel sources should be
available on request from
A word of warning, however: The compilers/assembler to build the
kernel and some of the OS subsystems are not freely available. Work
has been planned to port the kernel to another assembler, but this
hasn't been done yet, either. (96/03/22)
Last modified: Thu Aug 12 19:08:45 1999