Hallo L4-Hackers,
ich kämpfe nunmehr seit drei Tagen mit dem Versuch, Fiasco+L4Linux auf echter Hardware (Pentium 4, 512MB RAM) ans Laufen zu bekommen. Was sich ursprünglich als leichtes Unterfangen anbahnte, entpuppte sich hinlänglich als 'Fiasco' und ich bin mit meinem Latein am Ende :-)
Folgende (hoffentlich einfache) Frage:
Welche Einstellungen muss man im Fiasco-Kern treffen (mit welchen Experimental- Optionen), und welche im L4Linux, um es gemeinsam ans Laufen zu bekommen? Gibt es zu den einzelnen Optionen irgendwo detailliertere Dokumentationen außer der ein- bis zweizeiligen Onlinehilfe im "make menuconfig"?
Ursprüngliche Kompilierungsschwierigkeiten ließen sich durch zwei CVS-Updates an zwei aufeinanderfolgenden Tagen beheben, aber der fiasco bleibt jedesmal beim booten von L4Linux stehen und friert ein, _bevor_ das eigentliche Linux-Fenster in Dope geöffnet wird. Im dmon steht als letzte Zeile: =====> L4Linux 2.6 starting <=======
Hoffnungsvolle Grüße,
Marcel Selhorst
Marcel Selhorst(selhorst@crypto.rub.de)@2005.08.07 16:01:46 +0000:
Hallo L4-Hackers,
ich kämpfe nunmehr seit drei Tagen mit dem Versuch, Fiasco+L4Linux auf echter Hardware (Pentium 4, 512MB RAM) ans Laufen zu bekommen. Was sich ursprünglich als leichtes Unterfangen anbahnte, entpuppte sich hinlänglich als 'Fiasco' und ich bin mit meinem Latein am Ende :-)
Folgende (hoffentlich einfache) Frage:
Welche Einstellungen muss man im Fiasco-Kern treffen (mit welchen Experimental- Optionen), und welche im L4Linux, um es gemeinsam ans Laufen zu bekommen? Gibt es zu den einzelnen Optionen irgendwo detailliertere Dokumentationen außer der ein- bis zweizeiligen Onlinehilfe im "make menuconfig"?
Ursprüngliche Kompilierungsschwierigkeiten ließen sich durch zwei CVS-Updates an zwei aufeinanderfolgenden Tagen beheben, aber der fiasco bleibt jedesmal beim booten von L4Linux stehen und friert ein, _bevor_ das eigentliche Linux-Fenster in Dope geöffnet wird. Im dmon steht als letzte Zeile: =====> L4Linux 2.6 starting <=======
Build the Fiasco kernel with following features:
[Y] Exception IPC (EXPERIMENTAL) [Y] Inter-task ex-regs syscall (EXPERIMENTAL) [Y] Handle and preserve segments (EXPERIMENTAL)
To get these options, enable [Y] Prompt for experimental features
If this doesnt work, ask again, in english, because this is an english list afaik. And update your fiasco and L4Linux, because in the last 1-2 weeks there were a lot of changes (the alien stuff).
rené
Hi,
On Sun Aug 07, 2005 at 16:01:46 +0200, Marcel Selhorst wrote:
Folgende (hoffentlich einfache) Frage:
Welche Einstellungen muss man im Fiasco-Kern treffen (mit welchen Experimental- Optionen), und welche im L4Linux, um es gemeinsam ans Laufen zu bekommen?
Which experimental options need to be enabled in Fiasco and L4Linux?
In Fiasco: Exception IPC, Inter task exregs and segment handling.
L4Linux will check if the options are enable and refuse to run otherwise.
Gibt es zu den einzelnen Optionen irgendwo detailliertere Dokumentationen außer der ein- bis zweizeiligen Onlinehilfe im "make menuconfig"?
Are there some docs for the options except to twoliners in the menu?
Not really. We're trying to write something together but that's not done yet.
Ursprüngliche Kompilierungsschwierigkeiten ließen sich durch zwei CVS-Updates an zwei aufeinanderfolgenden Tagen beheben, aber der fiasco bleibt jedesmal beim booten von L4Linux stehen und friert ein, _bevor_ das eigentliche Linux-Fenster in Dope geöffnet wird. Im dmon steht als letzte Zeile: =====> L4Linux 2.6 starting <=======
L4Linux freezes and nothing happens:
L4Linux could complain about some missing features and goes into the kernel debugger for that, that's why the 'freeze'. To find out either start without dope so that you see what's going on or attach a serial cable to see the output there.
Adam
Hi Adam,
sorry for disobeying the English-only on your mailing list and thanks for your reply!
Which experimental options need to be enabled in Fiasco and L4Linux? In Fiasco: Exception IPC, Inter task exregs and segment handling.
OK, I had these already in my kernel, and it still doesn't work. I already tested out almost every combination possible within Fiasco, incl. PIC, APIC, RTC and compiled it for 586, 686 and P4...
L4Linux will check if the options are enable and refuse to run otherwise.
I have attached a serial cable and logged what the kernel debugger says. There is an unhandled pagefault. Below you'll find some output of the log.
Best regards,
Marcel Selhorst
LOG: exec | vmlinux: Loading exec | vmlinux: Interpreter section found, contains "/usr/lib/libc.so.1" exec | vmlinux: Saved 819249 bytes of symbols exec | libloader.s.so: Loading exec | libloader.s.so: Saved 21552 bytes of symbols exec | libloader.s.so: Relocating to 00010000 exec | libloader.s.so: Linking exec | libloader.s.so: Relocating entry 000055b0 => 000155b0 exec | libloader.s.so: Setting section flag 0800 exec | vmlinux: Setting section flag 0800 loader | vmlinux: Starting l4env-style application loader | vmlinux,#c: Starting at l4loader_init (00015e10) exec | vmlinux: Linking exec | vmlinux: Relocating entry 003ff000 => 003ff000 exec | vmlinux: Packed 657131 bytes of symbols --PANIC-------------------------------------------------EIP: 00022432 (c.00) jdb: exec | vmlinux: Packed 1819681 bytes of lines loader | vmlinux,#c: Continue at l4env_init (00015e20, libloader.s.so) l4lx | crt0_construction called. l4lx | ======> L4Linux 2.6 starting... <======== l4lx | Binary name: vmlinux l4lx | Kernel command line (1 args): root=/dev/hda2 l4lx | My DMphys is at 07.00 l4lx | My region mapper is at 0c.00 l4lx | My code starts at 0x003ff000 and ends at 0x007111b8 [3144 KiB]. l4lx | Semaphore thread ID: 0c.01 l4lx | Areas: l4lx | Text: 003ff000 - 00622000 [2188kB] (a bit longer) l4lx | Data: 00622000 - 0066b300 [292kB] l4lx | Initdata: 0066e000 - 0069a000 [176kB] l4lx | BSS: 0069a008 - 007111b8 [476kB] l4lx | l4lx_thread_create: Created thread 0c.03 (server) l4lx | main thread will be 0c.03 l4lx | l4env_register_pointer_section: addr = 3ff000 size = 2736128 l4lx | with-init: virt: 0x003ff000 to 0x0069afff [2672 KiB] l4lx | Noncontinuous region for with-init l4lx | l4env_linux_startup thread 3. l4lx | with-init: Number of physical regions: 2, 2736128 Bytes l4lx | with-init: 1: Phys: 0x00bd7000 to 0x00dce000, Size: 6149036 l4lx | with-init: 2: Phys: 0x0075b000 to 0x00800000, Size: 6149036 l4lx | main thread: received startup message. l4lx | L4RM: [PF] read at 0x00000000, eip 004f00ae, src C.03 l4lx | [C.0] l4rm/lib/src/pagefault.c:78:__unknown_pf(): l4lx | unhandled page fault
On Mon Aug 08, 2005 at 17:20:44 +0200, Marcel Selhorst wrote:
Which experimental options need to be enabled in Fiasco and L4Linux? In Fiasco: Exception IPC, Inter task exregs and segment handling.
OK, I had these already in my kernel, and it still doesn't work. I already tested out almost every combination possible within Fiasco, incl. PIC, APIC, RTC and compiled it for 586, 686 and P4...
That should not play any role.
L4Linux will check if the options are enable and refuse to run otherwise.
I have attached a serial cable and logged what the kernel debugger says. There is an unhandled pagefault. Below you'll find some output of the log.
l4lx | Kernel command line (1 args): root=/dev/hda2 l4lx | My DMphys is at 07.00 l4lx | My region mapper is at 0c.00 l4lx | My code starts at 0x003ff000 and ends at 0x007111b8 [3144 KiB]. l4lx | Semaphore thread ID: 0c.01 l4lx | Areas: l4lx | Text: 003ff000 - 00622000 [2188kB] (a bit longer) l4lx | Data: 00622000 - 0066b300 [292kB] l4lx | Initdata: 0066e000 - 0069a000 [176kB] l4lx | BSS: 0069a008 - 007111b8 [476kB] l4lx | l4lx_thread_create: Created thread 0c.03 (server) l4lx | main thread will be 0c.03 l4lx | l4env_register_pointer_section: addr = 3ff000 size = 2736128 l4lx | with-init: virt: 0x003ff000 to 0x0069afff [2672 KiB] l4lx | Noncontinuous region for with-init l4lx | l4env_linux_startup thread 3. l4lx | with-init: Number of physical regions: 2, 2736128 Bytes l4lx | with-init: 1: Phys: 0x00bd7000 to 0x00dce000, Size: 6149036 l4lx | with-init: 2: Phys: 0x0075b000 to 0x00800000, Size: 6149036 l4lx | main thread: received startup message. l4lx | L4RM: [PF] read at 0x00000000, eip 004f00ae, src C.03 l4lx | [C.0] l4rm/lib/src/pagefault.c:78:__unknown_pf(): l4lx | unhandled page fault
Just guessing but try adding a 'noreplacement' argument to the kernel command line.
Adam
Hi Adam,
Just guessing but try adding a 'noreplacement' argument to the kernel command line.
Hmm, no, that didn't work, _but_ I found the solution: By adding "mem=128M", the pagefault is gone and L4Linux is booting :) Why is the option inside the L4Linux-kernel ignored? I have set under "Advanced Options": (128) Kernel default memory size. You might want to catch this pagefault for L4Linux...
Best regards and thanks again!
Marcel Selhorst
On Mon Aug 08, 2005 at 17:49:39 +0200, Marcel Selhorst wrote:
Hmm, no, that didn't work, _but_ I found the solution: By adding "mem=128M", the pagefault is gone and L4Linux is booting :) Why is the option inside the L4Linux-kernel ignored? I have set under "Advanced Options": (128) Kernel default memory size. You might want to catch this pagefault for L4Linux...
Indeed, done. Available in a couple of hours. This should also fix the above issue.
Adam
l4-hackers@os.inf.tu-dresden.de