How to use console line on linux? and l4android?

Stefan Kalkowski stefan.kalkowski at ...1...
Wed May 22 11:50:49 CEST 2013


Hi,

it's me again.

I've found the problem related to the current master branch. It was just
a missing config entry for the usb driver. One has to define in the
configuration of the driver, which USB host controller will be used, and
enabled. After tweaking the configuration like that, I could use your
script draft, and boot L4android. The double quoting is no issue for me.

Possibly, you can update to Genode's current master branch, do a 'make
prepare' at least in base-foc, and ports-foc, and try the attached run
script in a fresh build directory?

Regards
Stefan

On 05/22/2013 11:02 AM, Stefan Kalkowski wrote:
> Hi,
> 
> On 05/16/2013 02:27 PM, longjks wrote:
>> hi
>> At 2013-05-15 17:48:26,"Stefan Kalkowski" <stefan.kalkowski at ...1...> wrote:
>>
>>> Without having your complete run-script, it's just guessing: One problem
>>> to me seems your configuration of the KDB uart driver. Why do you define
>>> two different clients, and why do they use uart device #1?
>>> Would you please change the configuration to something like this:
>>>
>>>  <start name="uart_drv">
>>>    <binary name="kdb_uart_drv"/>
>>>    <resource name="RAM" quantum="1M"/>
>>>    <provides>
>>>      <service name="Uart"/>
>>>      <service name="Terminal"/>
>>>    </provides>
>>>    <config>
>>>      <policy label="terminal_mux" uart="0" detect_size="yes"/>
>>>    </config>
>>>    <route> <any-service> <parent/> </any-service> </route>
>>>  </start>
>>>
>>> If the double quoting of letters remain, please post your complete
>>> run-script, so that one can reproduce your problem.
>>
>> Sorry for the run script error. I have put the right complete run-script in the attachment.
>>
>> With this run-script in the attachment, the double quoting of letters remain.
> 
> ok, thank you for providing the script. I fear there are some general
> problems with running L4Linux on the Pandaboard with Genode's current
> master branch. When trying to use your script it hangs after reading the
> first blocks from sd-card. I'll investigate that problem.
> Nevertheless, I assume the double quoting problem might be related to a
> slightly outdated version of the Fiasco.OC kernel. For the KDB uart
> driver to work properly, the kernel was tweaked a bit to omit echoing
> characters given to serial line:
> 
> 
> https://github.com/ssumpf/foc/commit/1d8bc40fd966f794c4ff3017265f80cb0032b433
> 
> To have the right Fiasco.OC version in place, please do a 'make prepare'
> in the 'base-foc' directory. After that, better do a 'make cleanall' in
> your build directory
> 
>>
>>> Well, this is something related to the shell you're using (I assume the
>>> Android debug shell) only. Would you please be appreciative of us not
>>> discussing such items on the mailing list, first and foremost related to
>>> Genode issues?
>> Sorry for that, I will check the shell and only discuss issues related to Genode....
> 
> No problem.
> 
>>
>> Have a nice day
> 
> Have a nice day too
> 
>>
>>
>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>> AlienVault Unified Security Management (USM) platform delivers complete
>> security visibility with the essential security capabilities. Easily and
>> efficiently configure, manage, and operate all of your security controls
>> from a single console and one unified framework. Download a free trial.
>> http://p.sf.net/sfu/alienvault_d2d
>>
>>
>>
>> _______________________________________________
>> Genode-main mailing list
>> Genode-main at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/genode-main
>>
> 

-- 
Stefan Kalkowski
Genode Labs

http://www.genode-labs.com/ ยท http://genode.org/
-------------- next part --------------
#
# Build
#

if {[have_spec foc] == 0} {
   puts "Runs on Fiasco.OC only"
   exit 0
}

# generic components
set build_components {
	core
	init
	drivers/timer
	drivers/framebuffer
	drivers/sd_card
	drivers/usb
	drivers/uart
	server/nitpicker
	server/nit_fb
	server/part_blk
	server/terminal
	server/terminal_log
	server/nic_bridge
	l4android
}

lappend_if [have_spec   x86]   build_components drivers/nic
lappend_if [have_spec   x86]   build_components drivers/atapi
lappend_if [have_spec pl180]   build_components drivers/sd_card
lappend_if [have_spec lan9118] build_components drivers/nic/lan9118
lappend_if [have_spec   pci]   build_components drivers/pci
lappend_if [have_spec   ps2]   build_components drivers/input/ps2

build $build_components
create_boot_directory

#
# Config
#

set config  {
<config prio_levels="2" verbose="yes">
	<parent-provides>
		<service name="ROM"/>
		<service name="RAM"/>
		<service name="IRQ"/>
		<service name="IO_MEM"/>
		<service name="IO_PORT"/>
		<service name="CAP"/>
		<service name="PD"/>
		<service name="RM"/>
		<service name="CPU"/>
		<service name="LOG"/>
		<service name="SIGNAL"/>
	</parent-provides>
	<default-route>
		<any-service> <parent/> <any-child/> </any-service>
	</default-route>
	<start name="timer">
		<resource name="RAM" quantum="1M"/>
		<provides><service name="Timer"/></provides>
	</start>
	<start name="fb_drv">
		<resource name="RAM" quantum="4M"/>
		<provides><service name="Framebuffer"/></provides>
	</start>
	<start name="usb_drv">
		<resource name="RAM" quantum="12M"/>
		<provides>
			<service name="Input"/>
			<service name="Nic"/>
			<service name="Block"/>
		</provides>
		<config ehci="yes">
			<hid/>
			<nic mac="2e:60:90:0c:4e:02" />
		</config>
	</start>
	<start name="sd_card_drv">
		<resource name="RAM" quantum="4M"/>
		<provides><service name="Block"/></provides>
	</start>
	<start name="part_blk">
		<resource name="RAM" quantum="2M"/>
		<provides><service name="Block"/></provides>
		<config>
			<policy label="l4android -> sda" partition="2" />
		</config>
		<route>
			<service name="Block"> <child name="sd_card_drv"/> </service>
			<any-service> <parent/> <any-child/> </any-service>
		</route>
	</start>
	<start name="nic_bridge">
		<resource name="RAM" quantum="2M"/>
		<provides><service name="Nic"/></provides>
		<route>
			<service name="Nic"> <child name="usb_drv"/> </service>
			<any-service> <parent/> <any-child/> </any-service>
		</route>
	</start>
	<start name="nitpicker">
		<resource name="RAM" quantum="2M"/>
		<provides><service name="Nitpicker"/></provides>
		<route>
			<service name="Input">       <child name="usb_drv"/> </service>
			<service name="Framebuffer"> <child name="fb_drv"/> </service>
			<any-service> <parent/> <any-child/> </any-service>
		</route>
	</start>
	<start name="uart_drv">
		<binary name="kdb_uart_drv"/>
		<resource name="RAM" quantum="1M"/>
		<provides>
			<service name="Uart"/>
			<service name="Terminal"/>
		</provides>
		<config>
		     <policy label="l4android" uart="0"/>
   		</config>
	</start>
	<start name="android_fb">
		<binary name="nit_fb"/>
		<resource name="RAM" quantum="4M"/>
		<provides>
			<service name="Framebuffer"/>
			<service name="Input"/>
		</provides>
		<config xpos="0" ypos="0" width="640" height="480" refresh_rate="25"/>
	</start>
	<start name="android_term_fb">
		<binary name="nit_fb"/>
		<resource name="RAM" quantum="4M"/>
		<provides>
			<service name="Framebuffer"/>
			<service name="Input"/>
		</provides>
		<config xpos="642" ypos="0" width="380" height="480" refresh_rate="25"/>
	</start>
	<start name="log_term_fb">
		<binary name="nit_fb"/>
		<resource name="RAM" quantum="4M"/>
		<provides>
			<service name="Framebuffer"/>
			<service name="Input"/>
		</provides>
		<config xpos="0" ypos="482" width="1024" height="268" refresh_rate="25"/>
	</start>
	<start name="android_term">
		<binary name="terminal"/>
		<resource name="RAM" quantum="1M"/>
		<provides><service name="Terminal"/></provides>
		<route>
			<service name="Input">       <child name="android_term_fb"/> </service>
			<service name="Framebuffer"> <child name="android_term_fb"/> </service>
			<any-service> <parent/> <any-child/> </any-service>
		</route>
	</start>
	<start name="log_term">
		<binary name="terminal"/>
		<resource name="RAM" quantum="1M"/>
		<provides><service name="Terminal"/></provides>
		<route>
			<service name="Input">       <child name="log_term_fb"/> </service>
			<service name="Framebuffer"> <child name="log_term_fb"/> </service>
			<any-service> <parent/> <any-child/> </any-service>
		</route>
	</start>
	<start name="terminal_log">
		<resource name="RAM" quantum="1M"/>
		<provides><service name="LOG"/></provides>
		<route>
			<service name="Terminal"> <child name="log_term"/> </service>
			<any-service> <parent/> <any-child/> </any-service>
		</route>
	</start>
	<start name="l4android">
		<resource name="RAM" quantum="512M"/>
		<config args="mem=128M console=ttyS0 l4x_rd=root-ginger.gz">
			<block label="sda"/>
		</config>
		<route>
			<service name="Input">       <child name="android_fb"/> </service>
			<service name="Framebuffer"> <child name="android_fb"/> </service>
			<service name="Terminal">    <child name="uart_drv"/> </service> 
			<service name="Block">       <child name="part_blk"/> </service>
			<service name="Nic">         <child name="nic_bridge"/> </service>
			<any-service> <parent/> <any-child/> </any-service>
		</route>
	</start>
</config>
}

install_config $config


#
# Boot modules
#

set boot_modules {
	core
	init
	timer
	fb_drv
	sd_card_drv
	usb_drv
	kdb_uart_drv
	nic_bridge
	nitpicker
	nit_fb
	part_blk
	terminal
	terminal_log
	l4android
	root-ginger.gz
}

build_boot_image  [join $boot_modules " "]

append qemu_args " -m 512 "
append qemu_args " -serial mon:stdio "
append_if [have_spec     x86] qemu_args " -hda bin/system-ginger.img "
append_if [have_spec     x86] qemu_args " -net nic,model=e1000 "
append_if [have_spec   pl180] qemu_args " -drive file=bin/system-ginger.img,if=sd,cache=writeback "
append_if [have_spec lan9118] qemu_args " -net nic,model=lan9118 "
append qemu_args " -net user -redir tcp:5555::5555 "
run_genode_until forever


More information about the users mailing list