Minimal requirements to run L4linux using only a serial console
Masti Ramya Jayaram
rmasti at inf.ethz.ch
Fri Aug 29 18:41:35 CEST 2014
Hi Martin,
That was a very useful tip. I simply changed the default value in kernel/fiasco/src/kern/config.cpp from SERIAL_ESC_IRQ to SERIAL_ESC_NOIRQ which leads to polling (I am guessing) and voila! It works! I even tried on the actual SCC and it works! I can break into the debugger as well as input to l4linux.
Thanks a lot for your help for your help.
Best,
Ramya
________________________________________
From: Masti Ramya Jayaram
Sent: 29 August 2014 17:48
To: Martin Schröder; l4-hackers at os.inf.tu-dresden.de
Subject: RE: Minimal requirements to run L4linux using only a serial console
Also with acpi on, it does enter the debugger in qemu.
Best,
Ramya
________________________________________
From: Masti Ramya Jayaram
Sent: 29 August 2014 17:45
To: Martin Schröder; l4-hackers at os.inf.tu-dresden.de
Subject: RE: Minimal requirements to run L4linux using only a serial console
Hey Martin,
No I just realized that ESC does not break into the debugger. But I can clearly see that the process instead of printing "Hello world" prints "ello World" :)
What could the reason be?
Thanks,
Ramya
________________________________________
From: l4-hackers [l4-hackers-bounces at os.inf.tu-dresden.de] on behalf of Martin Schröder [martin.schroeder at openlimit.com]
Sent: 29 August 2014 17:35
To: l4-hackers at os.inf.tu-dresden.de
Subject: Re: Minimal requirements to run L4linux using only a serial console
Hi Ramya,
a: No, its not a must. The UART could also be polled (by a timer) to see if something arrived.
b: At least regarding l4linux there is nothing more to it - afaik.
But let's go back to the hello word example on the SCC. What happens if you press the <ESC> key? Does it break into the JDB debugger?
Best regards,
Martin
Am 29.08.2014 um 16:56 schrieb Masti Ramya Jayaram:
> Hey Martin,
>
> I am trying to run l4linux/fiasco on the Intel SCC which does have a pic-8259. The Intel SCC does not have a BIOS and does not have any ACPI tables which I think qemu generates on the fly. It also does not use a Screen or keyboard.
>
> I obtained a patch from Markus Partheymueller which they used to boot fiasco on the SCC. With it I am able to run hello world both in qemu with no-acpi as well as on the SCC successfully.
>
> The patch to the best of my knowledge does the following:
>
> a. Makes the cmdline also parse an argument so that the frequency is an input (533Mhz)
> b. Uses the apic timer for scheduling.
> c. Disables the pic-8259 because it does not exist. Instead the core in the SCC has two interrupt lines and this patch initializes these lines as interrupts to the core.
> d. Disables keyboard and screen and enables a serial line for communication instead
> e. Disables super pages because the SCC does not support it.
>
> So, when I try the patched fiasco/L4linux on qemu, it works when I do not disable acpi. But since the SCC does not have any ACPI/IO-APIC, when I try to run the same thing on qemu with ACPI off, l4linux boots but is not responsive to input.
>
> In short:
>
> when I run with I (below) , my l4linux responds to input and with II (below) not.
>
> qemu-system-i386 -m 256 -serial stdio -kernel bootstrap_l4linux.elf -append "-arg=fiasco,,-serial_esc -freq=533000"
>
> qemu-system-i386 -no-acpi -m 256 -serial stdio -kernel bootstrap_l4linux.elf -append "-arg=fiasco,,-serial_esc -freq=533000"
>
> Now the question is:
>
> a. Is the IO-APIC a must for the serial line?
> b. Are ACPI tables just a matter of writing data at the right memory locations (e..g, qemu lets you give the acpi-table as input I noticed)? Or is there more to it?
>
> Thanks for your patience,
> ramya
>
>
> ________________________________________
> From: l4-hackers [l4-hackers-bounces at os.inf.tu-dresden.de] on behalf of Martin Schröder [martin.schroeder at openlimit.com]
> Sent: 29 August 2014 16:29
> To: l4-hackers at os.inf.tu-dresden.de
> Subject: Re: Minimal requirements to run L4linux using only a serial console
>
> Hi Ramya,
>
> Why did you disable the PIC?
> What is your aim with ACPI and why should this lead to a change in the UART driver?
> And what has the serial console to do with ACPI tables?
>
> For me the topics have at the moment very little in common or I am missing something.
>
> Best regards,
> Martin
>
>
> Am 29.08.2014 um 15:58 schrieb Masti Ramya Jayaram:
>> Also, given that the thing works with ACPI on, wouldn't it be better to include ACPI information in the boot instead of changing the driver? Or is this impossible?
>>
>> Best,
>> Ramya
>>
>>
>> ________________________________________
>> From: Masti Ramya Jayaram
>> Sent: 29 August 2014 15:55
>> To: Martin Schröder; l4-hackers at os.inf.tu-dresden.de
>> Subject: RE: Minimal requirements to run L4linux using only a serial console
>>
>> Hey Martin,
>>
>> Back on the list ;-)
>>
>> Ok, I can confirm that when I busy loop during fiasco init, I can actually see the character that I typed. So would I have to change the l4ser driver in Linux or the main driver in under pkg/l4/bootstrap or under fiasco in vkey.cpp? :)
>>
>> Thanks,
>> ramya
>> ________________________________________
>> From: Masti Ramya Jayaram
>> Sent: 29 August 2014 12:15
>> To: Martin Schröder; l4-hackers at os.inf.tu-dresden.de
>> Subject: RE: Minimal requirements to run L4linux using only a serial console
>>
>> Hey Martin,
>>
>> I cleaned up my build and it worked - the mistake was mine. I had a question regarding ACPI. The target machine I am using has no BIOS/ACPi support. So, when I boot linux on it my console input does not work.This is similar to booting in qemu with the -no-acpi option. Serial console output works (I can see the prompt of L4Linux) but input does not.
>>
>> Is there something special to do when booting with a serial console but no ACPI tables?
>>
>> Thanks,
>> ramya
>> ________________________________________
>> From: Martin Schröder [martin.schroeder at openlimit.com]
>> Sent: 27 August 2014 18:32
>> To: Masti Ramya Jayaram; l4-hackers at os.inf.tu-dresden.de
>> Subject: Re: Minimal requirements to run L4linux using only a serial console
>>
>> Hi Masti,
>>
>> you have all of them already! I did not alter any other file beside the files you already sent. I inserted them into a fresh
>> snapshot (http://l4re.org/download/snapshots-oc/l4re-snapshot-2014053111.tar.xz) and started building. Since "drops-rd.rd" was not
>> found in the snapshot, I just renamed "ramdisk-x86.rd" to "drops-rd.rd". Nothing more.
>>
>> Martin
>>
>>
>>
>> Am 27.08.2014 um 18:02 schrieb Masti Ramya Jayaram:
>>> Hey Martin,
>>>
>>> thanks for the quick response. Could you send me your configs (l4linux, fiasco, l4re) so that I can try it with that?
>>>
>>> Thanks,
>>> Ramya
>>> ________________________________________
>>> From: l4-hackers [l4-hackers-bounces at os.inf.tu-dresden.de] on behalf of Martin Schröder [martin.schroeder at openlimit.com]
>>> Sent: 27 August 2014 16:28
>>> To: l4-hackers at os.inf.tu-dresden.de
>>> Subject: Re: Minimal requirements to run L4linux using only a serial console
>>>
>>> Hi Masti,
>>>
>>> I just applied your config, replaced "drops-rd.rd" by "ramdisk-x86.rd" and everything (command prompt, debugger) runs fine as
>>> expected in Qemu. Maybe you ran into a similar problem as described in this thread:
>>>
>>> http://os.inf.tu-dresden.de/pipermail/l4-hackers/2012/thread.html#5165
>>>
>>>
>>> Best regards,
>>> Martin
>>>
>>>
>>> Am 27.08.2014 um 15:18 schrieb Masti Ramya Jayaram:
>>>> Sorry, a couple of typos in the l4linux.cfg
>>>> --vim:set ft=lua:
>>>>
>>>>
>>>> L4.default_loader:start({ caps = {
>>>> log = L4.Env.log:m("rws"),
>>>> },
>>>> l4re_dbg = L4.Dbg.Warn,
>>>> log = { "l4linux", "yellow" },
>>>> }, "rom/vmlinuz mem=64M console=ttyLv0 l4x_rd=rom/drops-rd.rd root=1:0 ramdisk_size=4000 l4ser.vkey_enable=1");
>>>>
>>>> Thanks in advance,
>>>> ramya
>>>>
>>>> ________________________________________
>>>> From: l4-hackers [l4-hackers-bounces at os.inf.tu-dresden.de] on behalf of Masti Ramya Jayaram [rmasti at inf.ethz.ch]
>>>> Sent: 27 August 2014 14:07
>>>> To: l4-hackers at os.inf.tu-dresden.de
>>>> Subject: Minimal requirements to run L4linux using only a serial console
>>>>
>>>> Dear all,
>>>>
>>>> I am trying to run L4linux on fiasco/l4re but with the keyboard and VGA disabled. I can get all the way to the command prompt (of the shell) in the initramfs but then, on pressing a key, I get a page fault and I cannot debug the system anymore using the serial_esc. I suspect it is my configuration which I have provided below. I was wondering what the minimal packages are to achieve this.
>>>>
>>>> modules.list:
>>>> entry l4linux
>>>> kernel fiasco -serial_esc -freq=533000
>>>> roottask moe rom/l4linux.cfg
>>>> module l4re
>>>> module ned
>>>> module l4linux.cfg
>>>> module io
>>>> module vmlinuz
>>>> module drops-rd.rd
>>>>
>>>> I have disabled the framebuffer and input server in the L4linux stub drivers configuration and enabled the serial console.
>>>>
>>>> l4linux.cfg:
>>>>
>>>> --vim:set ft=lua:
>>>>
>>>> L4.default_loader:start({ caps = {
>>>> log = L4.Env.log:m("rws"),
>>>> },
>>>> l4re_dbg = L4.Dbg.Warn,
>>>> log = { "l4linux", "yellow" },
>>>> }, "rom/io -vvvv rom/vmlinuz mem=64M console=ttyLv0 l4x_rd=rom/drops-rd.rd root=1:0 ramdisk$
>>>>
>>>>
>>>> I also specify a custom frequency for my board to fiasco.oc, do I have to make similar modifications to l4linux (e.g., Timer frequency)?
>>>>
>>>> Thanks,
>>>> Ramya
_______________________________________________
l4-hackers mailing list
l4-hackers at os.inf.tu-dresden.de
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
More information about the l4-hackers
mailing list