Left Up Right L4RE Experimente 2013

L4Linux

Ziel

L4Linux soll auf dem FiascoOC mit Netzwerk und Festplatte laufen, damit eine Bauumgebung vorhanden ist, auf der die gcc-Toolchain läuft.

Informationen

Eigene Konfiguration

mkdir -p /home/rw/l4exp/l4re-snapshot-2013060718/obj/l4linux/x86
make O=/home/rw/l4exp/l4re-snapshot-2013060718/obj/l4linux/x86  x86-ux_defconfig 
make O=/home/rw/l4exp/l4re-snapshot-2013060718/obj/l4linux/x86  menuconfig

Das L4-Builddir (CONFIG_L4_OBJ_TREE) ist auf CONFIG_L4_OBJ_TREE konfiguriert. (In diesem Verzeichnis muss der Link source sein, der mit readlink ausgelesen wird.

Meine Konfiguration ist l4linux_x86_pciide_config
Bei der Compilierung wurde die Funktion pcibios_penalize_isa_irq nicht gefunden. Sie müsste in l4/arch als dummy-Funktion implementiert sein. Der Patch löst das Problem, in dem er den Code einfach weglässt.

Informationen aus der Diskussion in der L4-Hackers-List

Hardware-Informationen

Der IDE-Controller ist ein PCI-Gerät (und muss daher nicht extra freigegeben werden) (Hinweis von Adam L. Tu-Dresden)
Ohne PCI geht es nicht (A.L.)

Consolen:

console=ttyLv0
Console serieller Anschluss wie L4
Damit erscheinen alle Ausgabe bis hin zum consolenprompt auf der Seriellen Schnittstelle (zumindest, wo bei qemu auch fiasco/l4re redet) (Tip von Adam)
console=tty0
zusammen mit der fb-Capability kommt die Linuxausgabe im Fenster

Boot mit QEmu

Moduleliste l4linux.list
die ned-lua StartKonfiguration: l4lx-gfx.cfg
Makefile
So kann man sich ausserhalb des l4re-Baumes eine Umgebung schaffen:
mkdir -p /home/rw/l4exp/l4linuxconf/
make O=/home/rw/l4exp/l4linuxconf/ config
cd /home/rw/l4exp/l4linuxconf/
  

make start generiert ein CD-Image und startet es mit qemu

modules_search_path
Diese Datei enthält je Zeile einen Pfad zu den Modulen, die gemäß der Module-liste auf das CD-Image sollen.
Damit kann die Pfadliste einfacher modifiziert werden.

Boot in einer Virtualbox

Als Netzwerkkarte ist die Intel PRO/1000 T Server als Netzwerkkarte als Hostonly-Adapter konfiguriert.

Zunächst wurde eine 32-bit-Ubuntu 13.04 -Linux-Distribution in einer VM installiert, mit einer /boot/ -Partition mit grub2 und einer /

/boot/grub/grub.cfg
Die Grub-Konfiguration für Linux wurde erheblich vereinfacht.
Den L4-Teil wurde von der L4RE erzeugtem iso-Image kopiert.
l4linux-pciide-mag.cfg
Dies ist die ned-lua-Startdatei
devices.sh
L4Linux nutzt die gute alte IDE-Platten /dev/hd*. Im Main-stream-Linux werden die IDE-Platten als Parallel-ATA unter SCSI-Treibern subsumiert, deswegen fehlen die Geräte Dateien.

Fazit: Ubuntu läst sich booten, und man kann ganz normal arbeiten.
Kleiner Schönheitsfehler: das /boot wird nicht automatisch erkannt und gemountet - Drücke 'S', nachher als root: mount /boot


Informatik- und Netzwerkverein Ravensburg e.V Rudolf Weber