From TUDOS-Wiki
Jump to navigationJump to search

Building Fiasco and L4Re components

Introduction to Fiasco.OC and L4Re

Topics Material
Microkernels, Fiasco.OC, Threads Slides YouTube
IPC, Memory, L4Re Slides YouTube
Library Reuse, Device Drivers, (Para-)virtualization Slides YouTube

Running and using Fiasco and L4Re components

  • Systems to use
    • hardware requirements
    • virtual machines
      • QEmu
      • Fiasco-UX
      • VMware
      • Virtualbox
    • Boot from CD
    • Boot from TFTP server
  • serial console
  • Booting
    • GRUB
    • Images
      • Call 'make help' in the l4/ root directory to get a listing of possible image generation targets
      • See l4/conf/Makeconf.boot.example for more information on customization
      • u-boot:
        • Call 'make uimage E=entry' to generate an uImage
        • Load into u-boot (tftpboot, usb-stick, flash, ...)
        • bootm ....
      • ELF images: make elfimage E=name
        • loadable with any loader that understand ELF (including GRUB, Lauterbach, ARM RVDS, QEmu)
      • Raw images: make rawimage E=name
        • copy into RAM at the start address, set PC to start address and run
        • On ARM the images relocate itself to their linked address, i.e. they can be put anywhere in RAM (copying them to the right place will make booting faster of course).
    • Qemu
      • Go to obj-dir root
      • Call 'make qemu E=entry'
      • For Qemu customization (esp. on ARM) see l4/conf/Makeconf.boot.example and add options to your l4/conf/Makeconf.boot
    • Virtualbox
      • Go to obj-dir root
      • Call 'make vbox E=entry'
      • You need a configuration virtual machine in vbox for that to work. Check l4/conf/Makeconf.boot.example to see how to configuration vbox specifics.
    • You may omit the E=entry which will present you a menu to choose the entry to generate/start from.

Miscellaneous How-Tos

Old L4Env Components