L4Linux/configurations: Difference between revisions

From TUDOS-Wiki
Jump to navigationJump to search
No edit summary
 
(5 intermediate revisions by 2 users not shown)
Line 6: Line 6:
* Direct access
* Direct access
**  In this mode L4Linux will drive the keyboard and mouse controller and will control the screen (e.g. VGA). And only L4Linux will do that, no one else. For the configuration of L4Linux this means that one needs to enable the keyboard and mouse controller driver and the VGA driver.
**  In this mode L4Linux will drive the keyboard and mouse controller and will control the screen (e.g. VGA). And only L4Linux will do that, no one else. For the configuration of L4Linux this means that one needs to enable the keyboard and mouse controller driver and the VGA driver.
* l4con/DOpe consoles
* mag/l4con/DOpe consoles
** For console use, the l4con or DOpE is controlling the keyboard and mouse controller and the screen. And only l4con/DOpE is controlling the keyboard/mouse/screen. No one else. For the configuration of L4Linux this means that L4Linux does not need any keyboard/mouse driver nor any VGA driver. It _just_ needs the l4fb driver (which also does input handling).
** For console use, the mag, l4con or DOpE is controlling the keyboard and mouse controller and the screen. And only mag/l4con/DOpE is controlling the keyboard/mouse/screen. No one else. For the configuration of L4Linux this means that L4Linux does not need any keyboard/mouse driver nor any VGA driver. It _just_ needs the l4fb driver (which also does input handling).
 
=== Device Access ===
 
Device access requires that ''io'' allows L4Linux to access those devices. For more information on ''io'' please read on [http://os.inf.tu-dresden.de/L4Re/doc/io.html here].
 
Using the x86 architecture, ''io'' uses ACPI and PCI scans the system to find available devices. Legacy components are described in the x86-legacy.devs configuration file found in l4/pkg/io/configs/x86-legacy.devs. A client configuration for L4Linux could look like this:
 
l4lx => new System_bus()
{
    # add every found network, storage and multimedia (e.g. sound-card) device
    pci_l4x[] => wrap(hw-root.match("PCI/CC_02,PCI/CC_01,PCI/04"));
}
 
Make sure to enable the 'L4 virtual PCI bus' in the L4Linux configuration.
 
If you like to give Linux access to VGA and PS2, add the following the above ''l4lx'' block:
vgadev => wrap(hw-root.VGA);
ps2dev => wrap(hw-root.PS2);
 
Launch ''io'' with both files as arguments:
rom/io rom/x86-legacy.devs rom/l4lx.io


=== UX ===
=== UX ===
Line 21: Line 42:
When you start it and it crashes (Ooops), look at the backtrace to see the driver that is trying to access some hardware. Then disable this driver and try again.
When you start it and it crashes (Ooops), look at the backtrace to see the driver that is trying to access some hardware. Then disable this driver and try again.


==== PCI access within L4Linux ====
There's a default config 'x86-ux_defconfig' which is a configuration without hardware drivers.
* To use PCI devices within L4Linux one has to grant the right privligies to L4Linux, otherwise all functions will pagefault while accessing the hardware
* Add the ioport parameter to your l4linux.cfg file.
  task "vmlinuz" "mem=64M root=/dev/hda1 console=ttyLv0"
    all_sects_writable
    allow_vga
    ioport [0, 0xfffe] # all granted
* Adjust allow_cli parameter to loader task in menu.lst
  module (nd)/modules/roottask task modname "loader" allow_cli

Latest revision as of 14:26, 15 June 2011

Possible configurations for L4Linux

Consoles

Basically two modes are possible:

  • Direct access
    • In this mode L4Linux will drive the keyboard and mouse controller and will control the screen (e.g. VGA). And only L4Linux will do that, no one else. For the configuration of L4Linux this means that one needs to enable the keyboard and mouse controller driver and the VGA driver.
  • mag/l4con/DOpe consoles
    • For console use, the mag, l4con or DOpE is controlling the keyboard and mouse controller and the screen. And only mag/l4con/DOpE is controlling the keyboard/mouse/screen. No one else. For the configuration of L4Linux this means that L4Linux does not need any keyboard/mouse driver nor any VGA driver. It _just_ needs the l4fb driver (which also does input handling).

Device Access

Device access requires that io allows L4Linux to access those devices. For more information on io please read on here.

Using the x86 architecture, io uses ACPI and PCI scans the system to find available devices. Legacy components are described in the x86-legacy.devs configuration file found in l4/pkg/io/configs/x86-legacy.devs. A client configuration for L4Linux could look like this:

l4lx => new System_bus()
{
   # add every found network, storage and multimedia (e.g. sound-card) device
   pci_l4x[] => wrap(hw-root.match("PCI/CC_02,PCI/CC_01,PCI/04"));
}

Make sure to enable the 'L4 virtual PCI bus' in the L4Linux configuration.

If you like to give Linux access to VGA and PS2, add the following the above l4lx block:

vgadev => wrap(hw-root.VGA);
ps2dev => wrap(hw-root.PS2);

Launch io with both files as arguments:

rom/io rom/x86-legacy.devs rom/l4lx.io

UX

To run L4Linux under Fiasco-UX, the L4Linux does not have any access to any hardware. This basically means the following:

  • Disable PCI
  • Disable Keyboard/Mouse (PS2) input
  • Disable VGA/VESA/etc.
  • Do not use serial drivers or similar

For Input/Output you need to use a console setup, see above.

When you start it and it crashes (Ooops), look at the backtrace to see the driver that is trying to access some hardware. Then disable this driver and try again.

There's a default config 'x86-ux_defconfig' which is a configuration without hardware drivers.