Discussion:
l4android hangs up
john stokes
2016-07-02 13:52:00 UTC
Permalink
when i am running the l4android for x86 the my log stucks here and a blank
qemu screen appears please help me to resolve this.

my log is here
============================================
int main(): --- create local services ---
int main(): --- start init ---
int main(): transferred 458 MB to init
int main(): --- init created, waiting for exit condition ---
[init] parent provides
[init] service "ROM"
[init] service "RAM"
[init] service "IRQ"
[init] service "IO_MEM"
[init] service "IO_PORT"
[init] service "CAP"
[init] service "PD"
[init] service "RM"
[init] service "CPU"
[init] service "LOG"
[init] service "SIGNAL"
[init] child "timer"
[init] RAM quota: 913408
[init] ELF binary: timer
[init] priority: 0
[init] provides service Timer
[init] Could not open ROM session for module "omap4_fb_drv"
[init] Could not open ROM session for module "usb_bkock_drv"
[init] Could not open ROM session for module "sd_card_drv"
[init] child "part_blk"
[init] RAM quota: 1961984
[init] ELF binary: part_blk
[init] priority: 0
[init] provides service Block
Quota exceeded! amount=65536, size=4096, consumed=65536
[init] child "nic_bridge"
[init] RAM quota: 4059136
[init] ELF binary: nic_bridge
[init] priority: 0
[init] provides service Nic
Quota exceeded! amount=81920, size=4096, consumed=81920
[init] child "nitpicker"
[init] RAM quota: 1961984
[init] ELF binary: nitpicker
[init] priority: 0
[init] provides service Nitpicker
Quota exceeded! amount=98304, size=4096, consumed=98304
[init] child "uart_drv"
[init] RAM quota: 913408
[init] ELF binary: kdb_uart_drv
[init] priority: 0
[init] provides service Uart
[init] provides service Terminal
Quota exceeded! amount=114688, size=4096, consumed=114688
[init] child "android_fb"
[init] RAM quota: 33419264
[init] ELF binary: nit_fb
[init] priority: 0
[init] provides service Framebuffer
[init] provides service Input
[init] Warning: Specified quota exceeds available quota.
[init] Proceeding with a quota of 435384524.
Quota exceeded! amount=131072, size=4096, consumed=131072
[init] child "l4android"
[init] RAM quota: 435249356
[init] ELF binary: l4android
[init] priority: 0
[init -> l4android] Booting L4Linux ...
Insufficient quota for transfer: init -> part_blk
have 1540096, need 4206592
[init] not enough quota for a donation of 4206592 bytes
[init -> uart_drv] --- Fiasco(.OC) KDB UART driver started ---
[init] child "timer" announces service "Timer"
[init -> part_blk] resource_request: ram_quota=4206592
[init] nitpicker: invalid route to non-existing server "fb_drv"
[init -> part_blk] virtual void Genode::Platform_env::release(): used
before freeing emergency=417792
[init -> part_blk] virtual void Genode::Platform_env::release(): used after
freeing emergency=401408
[init] child "uart_drv" announces service "Uart"
[init -> l4android] ======> L4Linux starting... <========
[init] child "uart_drv" announces service "Terminal"
[init -> l4android] Linux version 3.5.0-l4-gcea6e7a (***@rishabh-HP)
(gcc version 4.9.2 (GCC) ) #45 SMP Sat Jul 2 19:16:27 IST 2016
[init] child "part_blk" requests resources: ram_quota=4206592
[init -> l4android] Binary name: vmlinux
[init -> nitpicker] Uncaught exception of type
'Genode::Parent::Service_denied'
[init] nic_bridge: invalid route to non-existing server "usb_block_drv"
[init -> l4android] Linux kernel command line (3 args): mem=768M
console=ttyS0 l4x_rd=root-ginger.gz
[init -> nitpicker] Warning: abort called - thread: ep
[init -> l4android] CPU mapping (l:p)[0]: Image: 00401000 - 00865000 [4496
KiB].
[init] Cannot respond to resource request - out of memory
[init -> l4android] Areas: Text: 00401000 - 00795000 [3664kB] (a bit
longer)
[init -> l4android] Data: 00795000 - 007b8820 [142kB]
[init -> l4android] Initdata: 007cc000 - 007f3000 [156kB]
[init -> l4android] BSS: 007f4000 - 00855000 [388kB]
[init -> l4android] l4util_cpu_capabilities: Not implemented yet!
[init -> l4android] gs=43 fs=43
[init -> l4android] l4io_get_root_device: Not implemented yet!
[init -> l4android] Device scan:
[init -> l4android] l4io_iterate_devices: Not implemented yet!
[init -> l4android] Device scan done.
[init -> l4android] l4x_fiasco_gdt_entry_offset = 9
[init] virtual void Genode::Child_policy::exit(int): child "nitpicker"
exited with exit value 1
[init -> nic_bridge] Uncaught exception of type
'Genode::Parent::Service_denied'
[init -> nic_bridge] Warning: abort called - thread: ep
[init] virtual void Genode::Child_policy::exit(int): child "nic_bridge"
exited with exit value 1
[init -> l4android] main thread will be 12
[init -> l4android] l4x_register_pointer_section: addr = 00400000 size =
4608000
[init -> l4android] section-with-init: virt: 400000 to 864fff [4500 KiB]
[init -> l4android] Cannot determine physical address for dataspace Binary!
[init -> l4android] error: failed to get physical address for 400000.
[init -> l4android] Main thread running, waiting...
[init -> l4android] thread=12000 cpu=0
[init -> l4android] WARNING: Unknown wrmsr: 0000008b at 668141
[init -> l4android] l4x_setup_memory: Forcing superpages for main memory
[init -> l4android] l4re_global_env: 0
[init -> l4android] Main memory size: 768MB
unmapping of managed dataspaces not yet supported
[init -> l4android] Main memory: virt: 60000000 to 8fffffff [786432 KiB]
[init -> l4android] Main memory: Phys: 0x00000000 to 0x30000000, Size:
805306368
[init -> l4android] Filling lower ptabs...
[init -> l4android] Done (0 entries).
[init -> l4android] l4x_register_pointer_section: addr = 00400000 size =
4608000
[init -> l4android] text: virt: 400000 to 864fff [4500 KiB]
[init -> l4android] Cannot determine physical address for dataspace Binary!
[init -> l4android] error: failed to get physical address for 400000.
[init -> l4android] l4x_rd_path: root-ginger.gz
[init -> l4android] Loading: root-ginger.gz
[init -> l4android] INITRD: Size of RAMdisk is 596KiB
[init -> l4android] RAMdisk from 000a3000 to 00138000 [596KiB]


---------------------------------------------------------------------
CPU 0 [f0039463]: SERIAL_ESC
uart_ep] jdb:
==========================================================
the l4android is attached with the message
john stokes
2016-07-03 05:42:57 UTC
Permalink
while running l4android it hangs up and the log of the run is given below
please help me to resolve the above problem
the l4android.run is attached with the post
===========================================================

th exit value 1
Insufficient quota for transfer: init -> part_blk
have 1540096, need 4206592
[init] not enough quota for a donation of 4206592 bytes
[init -> l4android] Booting L4Linux ...
[init] child "timer" announces service "Timer"
[init] nic_bridge: invalid route to non-existing server "usb_block_drv"
[init -> uart_drv] --- Fiasco(.OC) KDB UART driver started ---
[init -> part_blk] resource_request: ram_quota=4206592
[init -> part_blk] virtual void Genode::Platform_env::release(): used
before freeing emergency=417792
[init -> nic_bridge] Uncaught exception of type
'Genode::Parent::Service_denied'
[init -> part_blk] virtual void Genode::Platform_env::release(): used after
freeing emergency=401408
[init -> nic_bridge] Warning: abort called - thread: ep
[init] child "uart_drv" announces service "Uart"
[init] virtual void Genode::Child_policy::exit(int): child "nic_bridge"
exited with exit value 1
[init] child "part_blk" requests resources: ram_quota=4206592
[init] Cannot respond to resource request - out of memory
[init] child "uart_drv" announces service "Terminal"
[init -> l4android] ======> L4Linux starting... <========
[init -> l4android] Linux version 3.5.0-l4-gcea6e7a (***@rishabh-HP)
(gcc version 4.9.2 (GCC) ) #53 SMP Sun Jul 3 11:06:58 IST 2016
[init -> l4android] Binary name: vmlinux
[init -> l4android] Linux kernel command line (3 args): mem=768M
console=ttyS0 l4x_rd=root-ginger.gz
[init -> l4android] CPU mapping (l:p)[0]: Image: 00401000 - 00865000 [4496
KiB].
[init -> l4android] Areas: Text: 00401000 - 00795000 [3664kB] (a bit
longer)
[init -> l4android] Data: 00795000 - 007b8820 [142kB]
[init -> l4android] Initdata: 007cc000 - 007f3000 [156kB]
[init -> l4android] BSS: 007f4000 - 00855000 [388kB]
[init -> l4android] l4util_cpu_capabilities: Not implemented yet!
[init -> l4android] gs=43 fs=43
[init -> l4android] l4io_get_root_device: Not implemented yet!
[init -> l4android] Device scan:
[init -> l4android] l4io_iterate_devices: Not implemented yet!
[init -> l4android] Device scan done.
[init -> l4android] l4x_fiasco_gdt_entry_offset = 9
[init -> l4android] main thread will be 12
[init -> l4android] l4x_register_pointer_section: addr = 00400000 size =
4608000
[init -> l4android] section-with-init: virt: 400000 to 864fff [4500 KiB]
[init -> l4android] Cannot determine physical address for dataspace Binary!
[init -> l4android] error: failed to get physical address for 400000.
[init -> l4android] Main thread running, waiting...
[init -> l4android] thread=12000 cpu=0
[init -> l4android] WARNING: Unknown wrmsr: 0000008b at 668141
[init -> l4android] l4x_setup_memory: Forcing superpages for main memory
[init -> l4android] l4re_global_env: 0
[init -> l4android] Main memory size: 768MB
unmapping of managed dataspaces not yet supported
[init -> l4android] Main memory: virt: 60000000 to 8fffffff [786432 KiB]
[init -> l4android] Main memory: Phys: 0x00000000 to 0x30000000, Size:
805306368
[init -> l4android] Filling lower ptabs...
[init -> l4android] Done (0 entries).
[init -> l4android] l4x_register_pointer_section: addr = 00400000 size =
4608000
[init -> l4android] text: virt: 400000 to 864fff [4500 KiB]
[init -> l4android] Cannot determine physical address for dataspace Binary!
[init -> l4android] error: failed to get physical address for 400000.
[init -> l4android] l4x_rd_path: root-ginger.gz
[init -> l4android] Loading: root-ginger.gz
[init -> l4android] INITRD: Size of RAMdisk is 596KiB
[init -> l4android] RAMdisk from 000a3000 to 00138000 [596KiB]


---------------------------------------------------------------------
CPU 0 [f0039463]: SERIAL_ESC
[ uart_ep] jdb: R [l]ist/[a]ttach:
Norman Feske
2016-07-05 15:18:08 UTC
Permalink
Hi John,

we removed this run script from the Genode tree two years ago because we
did not use L4Android for a long time even prior to that date. So I am
afraid that you are walking on untested grounds now. Anyway, the error
Post by john stokes
[init -> l4android] Booting L4Linux ...
Insufficient quota for transfer: init -> part_blk
have 1540096, need 4206592
In the run script, part_blk is equipped with too little RAM. Today, we
let part_blk allocate a much larger communication buffer. You may try to
increase its quota to 6 MiB.
Post by john stokes
[init] nitpicker: invalid route to non-existing server "fb_drv"
...
Post by john stokes
[init -> nitpicker] Uncaught exception of type
'Genode::Parent::Service_denied'
The run script lacks a proper framebuffer driver. The corresponding
'fb_drv' start entry refers to a binary called "omap4_fb_drv", which
obviously does not exist on x86 (it is a driver for the Pandaboard). I
recommend you to use the VESA driver - this is the one used by the
demo.run script.
Post by john stokes
[init] nic_bridge: invalid route to non-existing server "usb_block_drv"
This message hints at a configuration error. Actually two errors. First,
you route session requests issued by the nic_bridge to (presumably) some
kind of block driver. The nic_bridge tries to open a "Nic" session for
the uplink. Normally, this is provided by a NIC driver, not a block
driver. Second, the "usb_block_drv" component actually does not exist.
You named the USB driver "usb_bkock_drv".

To me, this looks like you took a very old run script, modified it at
various places without a good understanding about the interplay of the
involved components, and expect to make it work on the current version
of Genode. I'm afraid that this approach will yield frustration on your
side.

Let me instead recommend you to build a new scenario and develop a
profound understanding of its architecture. Start simple (like a
scenario that uses only a few basic drivers needed to run the nitpicker
GUI server and a GUI client), then add components one step after the
other. Learn about the individual components you found in the l4android
run script (like the role of nit_fb). When adding the individual
components, take a look at their accompanying "README" and the example
run scripts provided.

Cheers
Norman
--
Dr.-Ing. Norman Feske
Genode Labs

http://www.genode-labs.com · http://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
john stokes
2016-07-05 15:47:53 UTC
Permalink
thanks for helping me , actually i followed your advice and i created a run
script from the basic.
but after running it in qemu two penguins appear then
a long lines of message are shown in which last two lines are
"init:critical process 'ueventd' exited 4 times in 4 minutes : rebooting
into recovery mode"
"restarting system with command recovery"
and my new l4android.run is attached here


in my opinion the system-ginger.img image is not being loading so please
provide me a way resolve this
Post by Norman Feske
Hi John,
we removed this run script from the Genode tree two years ago because we
did not use L4Android for a long time even prior to that date. So I am
afraid that you are walking on untested grounds now. Anyway, the error
Post by john stokes
[init -> l4android] Booting L4Linux ...
Insufficient quota for transfer: init -> part_blk
have 1540096, need 4206592
In the run script, part_blk is equipped with too little RAM. Today, we
let part_blk allocate a much larger communication buffer. You may try to
increase its quota to 6 MiB.
Post by john stokes
[init] nitpicker: invalid route to non-existing server "fb_drv"
...
Post by john stokes
[init -> nitpicker] Uncaught exception of type
'Genode::Parent::Service_denied'
The run script lacks a proper framebuffer driver. The corresponding
'fb_drv' start entry refers to a binary called "omap4_fb_drv", which
obviously does not exist on x86 (it is a driver for the Pandaboard). I
recommend you to use the VESA driver - this is the one used by the
demo.run script.
Post by john stokes
[init] nic_bridge: invalid route to non-existing server "usb_block_drv"
This message hints at a configuration error. Actually two errors. First,
you route session requests issued by the nic_bridge to (presumably) some
kind of block driver. The nic_bridge tries to open a "Nic" session for
the uplink. Normally, this is provided by a NIC driver, not a block
driver. Second, the "usb_block_drv" component actually does not exist.
You named the USB driver "usb_bkock_drv".
To me, this looks like you took a very old run script, modified it at
various places without a good understanding about the interplay of the
involved components, and expect to make it work on the current version
of Genode. I'm afraid that this approach will yield frustration on your
side.
Let me instead recommend you to build a new scenario and develop a
profound understanding of its architecture. Start simple (like a
scenario that uses only a few basic drivers needed to run the nitpicker
GUI server and a GUI client), then add components one step after the
other. Learn about the individual components you found in the l4android
run script (like the role of nit_fb). When adding the individual
components, take a look at their accompanying "README" and the example
run scripts provided.
Cheers
Norman
--
Dr.-Ing. Norman Feske
Genode Labs
http://www.genode-labs.com · http://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
GeschÀftsfÌhrer: Dr.-Ing. Norman Feske, Christian Helmuth
------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
genode-main mailing list
https://lists.sourceforge.net/lists/listinfo/genode-main
Norman Feske
2016-07-06 06:22:58 UTC
Permalink
Hello John,
Post by john stokes
in my opinion the system-ginger.img image is not being loading so please
provide me a way resolve this
that is plausible. Your run script attaches the system-ginger.img as
harddisk to Qemu (via the -hda argument) but your scenario lacks a
harddisk driver. To let L4Android access the image as virtual harddisk,
you may use the ahci_drv as block-device driver. Take a look at
os/run/ahci_blk.run as reference. The old IDE driver that we used in the
original run script does not exist anymore. Note that the AHCI driver
accesses a virtual SATA disk, not an IDE disk as in your run script. You
will need to adjust the Qemu arguments accordingly. As intermediate
step, I would create a simple run script that uses the AHCI driver to
access your system-ginger.img image but does nothing else. I.e., you
will also need to integrate and configure the platform driver to assign
the AHCI controller to the AHCI driver.

Once you have validated that the AHCI driver is doing the right thing,
you can route the "Block" session of L4Android to the driver. Note that
you will need to adjust the driver's config (define a <policy>) to hand
out the correct device to L4Android.

Good luck!
Norman
--
Dr.-Ing. Norman Feske
Genode Labs

http://www.genode-labs.com · http://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
john stokes
2016-07-07 16:11:01 UTC
Permalink
i have applied whatever you said but i think i am missing something
regarding part_blk which uses ahci i have read some previous mails on
mailing list but i am not getting right thing i have routed block session
og l4android to the part_blk then ahci but it is not working please give me
some hint so that i can solve this my run script is being attached with
email my terminal log is given below: :
[init -> nic_drv] --- iPXE NIC driver started ---
[init -> l4android] Booting L4Linux ...
[init -> nic_drv] --- init iPXE NIC
[init -> ahci_drv] --- Starting AHCI driver -> done right .-) --
[init -> kdb_uart_drv] --- Fiasco(.OC) KDB UART driver started ---
[init] child "kdb_uart_drv" announces service "Uart"
[init] child "kdb_uart_drv" announces service "Terminal"
[init -> l4android] ======> L4Linux starting... <========
[init -> l4android] Linux version 3.5.0-l4-gcea6e7a (***@rishabh-HP)
(gcc version 4.9.2 (GCC) ) #188 SMP Thu Jul 7 15:25:54 IST 2016
[init -> l4android] Binary name: vmlinux
[init -> l4android] Linux kernel command line (4 args): mem=512M
l4x_rd=root-ginger.gz l4x_cpus=2 l4x_cpus_map=0,1
[init -> l4android] CPU mapping (l:p)[2]: 0:0, 1:1
[init -> l4android] Image: 00401000 - 00865000 [4496 KiB].
[init -> l4android] Areas: Text: 00401000 - 00795000 [3664kB] (a bit
longer)
[init -> l4android] Data: 00795000 - 007b8820 [142kB]
[init -> l4android] Initdata: 007cc000 - 007f3000 [156kB]
[init -> l4android] BSS: 007f4000 - 00855000 [388kB]
[init -> l4android] l4util_cpu_capabilities: Not implemented yet!
[init -> l4android] gs=43 fs=43
[init -> l4android] l4io_get_root_device: Not implemented yet!
[init -> l4android] Device scan:
[init -> l4android] l4io_iterate_devices: Not implemented yet!
[init -> l4android] Device scan done.
[init -> l4android] l4x_fiasco_gdt_entry_offset = 9
[init -> usb_drv] Services::Services(): Could not read screen resolution in
config node
[init -> usb_drv] Services::Services(): No <storage> config node found -
not starting the USB Storage (Block) service
[init -> usb_drv] Services::Services(): No <raw> config node found - not
starting external USB service
[init -> usb_drv] Enabled EHCI (USB 2.0) support
[init] child "usb_drv" announces service "Input"
[init -> l4android] main thread will be 12
[init -> l4android] l4x_register_pointer_section: addr = 00400000 size =
4608000
[init -> l4android] section-with-init: virt: 400000 to 864fff [4500 KiB]
[init -> l4android] Cannot determine physical address for dataspace Binary!
[init -> l4android] error: failed to get physical address for 400000.
[init -> l4android] Main thread running, waiting...
[init -> l4android] thread=12000 cpu=0
[init -> l4android] WARNING: Unknown wrmsr: 0000008b at 668141
[init -> l4android] l4x_setup_memory: Forcing superpages for main memory
[init -> l4android] l4re_global_env: 0
[init -> acpi_drv] void Acpi_table::_parse_tables(T*, Genode::uint32_t)
[with T = unsigned int; Genode::uint32_t = unsigned int]: Found MADT
[init -> acpi_drv] MADT IRQ 0 -> GSI 2 flags: 0
[init -> acpi_drv] MADT IRQ 5 -> GSI 5 flags: d
[init -> acpi_drv] MADT IRQ 9 -> GSI 9 flags: d
[init -> acpi_drv] MADT IRQ 10 -> GSI 10 flags: d
[init -> acpi_drv] MADT IRQ 11 -> GSI 11 flags: d
[init -> l4android] Main memory size: 512MB
unmapping of managed dataspaces not yet supported
[init -> l4android] Main memory: virt: 20000000 to 3fffffff [524288 KiB]
[init -> l4android] Main memory: Phys: 0x00000000 to 0x20000000, Size:
536870912
[init -> usb_drv] Using configured mac: 54:35:30:58:a5:27
[init] child "platform_drv" announces service "Platform"
[init -> l4android] Filling lower ptabs...
[init -> l4android] Done (0 entries).
[init -> l4android] l4x_register_pointer_section: addr = 00400000 size =
4608000
[init -> l4android] text: virt: 400000 to 864fff [4500 KiB]
[init -> l4android] Cannot determine physical address for dataspace Binary!
[init -> l4android] error: failed to get physical address for 400000.
[init -> l4android] l4x_rd_path: root-ginger.gz
[init -> l4android] Loading: root-ginger.gz
[init -> fb_drv] int Framebuffer_drv::map_io_mem(Genode::addr_t,
Genode::size_t, bool, void**, Genode::addr_t,
Genode::Dataspace_capability*): fb mapped to 1000
[init -> l4android] INITRD: Size of RAMdisk is 596KiB
[init -> l4android] RAMdisk from 000a3000 to 00138000 [596KiB]
Quota exceeded! amount=65536, size=4096, consumed=65536
[init] child "fb_drv" announces service "Framebuffer"
[init -> fb_drv] Could not open ROM session for module "config"
[init -> fb_drv] Could not obtain config file
[init -> ahci_drv] AHCI found (vendor: 8086 device: 2922 class: 00010601)
[init -> ahci_drv] X86_hba::X86_hba(): base: febf1000 size: 1000
[init -> platform_drv] IRQ override 11->11 trigger mode=LEVEL polarity=HIGH
[init -> ps2_drv] Could not open ROM session for module "config"
[init -> ps2_drv] Could not obtain config file
[init -> ps2_drv] Using keyboard with scan code set 1 (xlate).
[init -> platform_drv] 0:4.0 uses IRQ, vector 0xb, MSI 64bit capable,
non-maskable
[init -> ps2_drv] Detected ExPS/2 mouse - activating scroll-wheel and
5-button support.
[init -> platform_drv] PS2 uses IRQ, vector 0x1
[init -> ahci_drv] version: 1.0000
[init -> ahci_drv] command slots: 32
[init -> ahci_drv] native command queuing: yes
[init -> ahci_drv] 64 bit support: no
[init -> ahci_drv] number of ports: 6 pi: 3f
[init -> platform_drv] PS2 uses IRQ, vector 0xc
[init -> nic_drv] Found: 00:03.0 8086:100e (rev 03) IRQ 0b
[init] child "ps2_drv" announces service "Input"
[init -> nic_drv] using driver 82540em
[init -> nic_drv] PCI BIOS has not enabled device 00:03.0! Updating PCI
command 0103->0107
[init -> nic_drv] PCI device 00:03.0 latency timer is unreasonably low at
0. Setting to 32.
[init -> nic_drv] bus_addr = febc0000 len = 20000
[init -> nic_drv] snprintf not implemented
[init -> platform_drv] Could not open ROM session for module "device_pd"
[init -> platform_drv] PCI device protection domain for IOMMU support is
not available
[init -> platform_drv] IRQ override 11->11 trigger mode=LEVEL polarity=HIGH
[init -> platform_drv] 0:3.0 uses IRQ, vector 0xb, non-maskable
[init -> nic_drv] number of devices: 1
[init] child "nic_drv" announces service "Nic"
[init -> fb_drv] Found: VESA BIOS version 3.0
[init -> fb_drv] OEM: SeaBIOS VBE(C) 2011
[init -> l4android] l4timer: Using IRQ65
[init -> l4android] WARNING: Unknown wrmsr: 0000008b at 668141
[init -> l4android] WARNING: Unknown rdmsr: 00000186 at 7d23de
[init -> l4android] WARNING: Unknown rdmsr: 00000187 at 7d23de
[init -> l4android] WARNING: Unknown wrmsr: 000000c1 at 7d2468
[init -> l4android] Launching cpu1 on pcpu 1 at 66656c
[init -> l4android] l4x_cpu_threads[1] = 48000c00
[init -> l4android] thread=1b000 cpu=1
[init -> l4android] WARNING: Unknown wrmsr: 0000008b at 668141
[init -> fb_drv] Found: physical frame buffer at 0xfc000000 size: 0x00400000
[init -> fb_drv] int Framebuffer_drv::map_io_mem(Genode::addr_t,
Genode::size_t, bool, void**, Genode::addr_t,
Genode::Dataspace_capability*): fb mapped to 400000
[init -> fb_drv] Using video mode: 1280 x 1024 x 16
Quota exceeded! amount=65536, size=4096, consumed=65536
[init -> nitpicker] Could not open ROM session for module "config"
[init -> nitpicker] Could not obtain config file
[init] child "nitpicker" announces service "Nitpicker"
[init -> nitpicker] create session with args: label="android_fb",
ram_quota=28672
[init -> nitpicker] no policy matching label "android_fb"
[init] child "android_fb" announces service "Framebuffer"
[init] child "android_fb" announces service "Input"
[init -> android_fb] using xywh=(0,0,640,480)
[init -> ahci_drv] failed to stop command list processing
[init -> ahci_drv] CMD.ST bit set during device reset --> unknown behavior
[init -> ahci_drv] #0: ATA
[init -> platform_drv] Quota exceeded! amount=741376, size=8192,
consumed=741376
[init -> platform_drv] Quota exceeded! amount=1482752, size=8192,
consumed=1478656
[init -> platform_drv] Could not open ROM session for module "device_pd"
[init -> platform_drv] PCI device protection domain for IOMMU support is
not available
[init -> ahci_drv] #1: off
[init -> ahci_drv] #2: off
[init -> ahci_drv] #3: off
[init -> ahci_drv] #4: off
[init -> ahci_drv] #5: off
[init -> ahci_drv] virtual void Ata_driver::handle_irq(): irq: 5 state: 3
[init -> ahci_drv] model number: QEMU HARDDISK
[init -> ahci_drv] serial number: QM00005
[init -> ahci_drv] queue depth: 32 ncq: 1
[init -> ahci_drv] numer of sectors: 162696
[init -> ahci_drv] multiple logical blocks per physical: yes
[init -> ahci_drv] logical blocks per physical: 1
[init -> ahci_drv] logical block size is above 512 byte: no
[init -> ahci_drv] words (16bit) per logical block: 0
[init -> ahci_drv] offset of first logical block within physical: 0
[init] child "ahci_drv" announces service "Block"
[init -> ahci_drv] Uncaught exception of type
'Genode::Xml_node::Nonexistent_sub_node'
[init -> ahci_drv] Warning: abort called - thread: ep
[init] virtual void Genode::Child_policy::exit(int): child "ahci_drv"
exited with exit value 1
[init -> nic_drv] --- init callbacks
[init -> nic_drv] --- get MAC address 52:54:00:12:34:56
[init -> l4android] Terminating L4Linux.
[init -> l4android] Still alive, going zombie???
Post by Norman Feske
Hello John,
Post by john stokes
in my opinion the system-ginger.img image is not being loading so please
provide me a way resolve this
that is plausible. Your run script attaches the system-ginger.img as
harddisk to Qemu (via the -hda argument) but your scenario lacks a
harddisk driver. To let L4Android access the image as virtual harddisk,
you may use the ahci_drv as block-device driver. Take a look at
os/run/ahci_blk.run as reference. The old IDE driver that we used in the
original run script does not exist anymore. Note that the AHCI driver
accesses a virtual SATA disk, not an IDE disk as in your run script. You
will need to adjust the Qemu arguments accordingly. As intermediate
step, I would create a simple run script that uses the AHCI driver to
access your system-ginger.img image but does nothing else. I.e., you
will also need to integrate and configure the platform driver to assign
the AHCI controller to the AHCI driver.
Once you have validated that the AHCI driver is doing the right thing,
you can route the "Block" session of L4Android to the driver. Note that
you will need to adjust the driver's config (define a <policy>) to hand
out the correct device to L4Android.
Good luck!
Norman
--
Dr.-Ing. Norman Feske
Genode Labs
http://www.genode-labs.com · http://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
GeschÀftsfÌhrer: Dr.-Ing. Norman Feske, Christian Helmuth
------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
genode-main mailing list
https://lists.sourceforge.net/lists/listinfo/genode-main
Josef Söntgen
2016-07-08 11:31:19 UTC
Permalink
Hallo John,
Post by john stokes
[…]
[init] child "ahci_drv" announces service "Block"
[init -> ahci_drv] Uncaught exception of type
'Genode::Xml_node::Nonexistent_sub_node'
[init -> ahci_drv] Warning: abort called - thread: ep
[init] virtual void Genode::Child_policy::exit(int): child "ahci_drv"
exited with exit value 1
[…]
The ahci_drv has no matching policy and because of a bug in its policy
handling code (fixed on the current staging branch) aborts.

Your problem, however, is the missing policy for part_blk, e.g.:

<policy label="part_blk" device="0"/>

in the ahci_drv config. With the policy in place, part_blk should
get access to the block device and your l4android component in return
should get access to the partition.


Regards,
Josef
--
Josef Söntgen
Genode Labs

http://www.genode-labs.com/ · http://genode.org/
john stokes
2016-07-08 18:24:13 UTC
Permalink
thanks john for your help and explanation now i am getting block session
from part_blk but still i am not able to access android system image from
my disk.

On Fri, Jul 8, 2016 at 5:01 PM, Josef Söntgen <
Post by Josef Söntgen
Hallo John,
Post by john stokes
[
]
[init] child "ahci_drv" announces service "Block"
[init -> ahci_drv] Uncaught exception of type
'Genode::Xml_node::Nonexistent_sub_node'
[init -> ahci_drv] Warning: abort called - thread: ep
[init] virtual void Genode::Child_policy::exit(int): child "ahci_drv"
exited with exit value 1
[
]
The ahci_drv has no matching policy and because of a bug in its policy
handling code (fixed on the current staging branch) aborts.
<policy label="part_blk" device="0"/>
in the ahci_drv config. With the policy in place, part_blk should
get access to the block device and your l4android component in return
should get access to the partition.
Regards,
Josef
--
Josef Söntgen
Genode Labs
http://www.genode-labs.com/ · http://genode.org/
------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
genode-main mailing list
https://lists.sourceforge.net/lists/listinfo/genode-main
Loading...