Hi all, I want to run Android using Genode foc on Pandaboard referencing to "http://sourceforge.net/p/genode/mailman/message/30642833/"
Now, I compile and get a image. When I run the image, I only get a black window with a penguin on it. This my operation: 1) Format my SD card to 3 partitions. 2) Copy the system-ginger.img via "dd" to the second partition: sudo dd if=system-ginger of=/dev/sdb2 bs=1M 3) Build the image using the run script blew 4) Copy the image to the first partition of the SD card This is my run script: # # 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/gpio server/nitpicker server/nit_fb server/nic_bridge server/part_blk server/terminal server/terminal_log l4android } build $build_components create_boot_directory # # Config # set config { <config prio_levels="2"> <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"> <binary name="fb_drv"/> <resource name="RAM" quantum="4M"/> <provides><service name="Framebuffer"/></provides> </start> <start name="sd_card_drv"> <resource name="RAM" quantum="4M"/> <provides><service name="Block"/></provides> </start> <start name="gpio_drv"> <resource name="RAM" quantum="4M"/> <provides><service name="Gpio"/></provides> <config/> </start> <start name="usb_drv"> <resource name="RAM" quantum="12M"/> <provides> <service name="Input"/> <service name="Nic"/> </provides> <config ehci="yes"> <hid/> <nic mac="2e:60:90:0c:4e:01" /> </config> </start> <start name="part_blk"> <resource name="RAM" quantum="2M"/> <provides><service name="Block"/></provides> <config> <policy label="l4android -> sda" partition="3" /> </config> <route> <service name="Block"> <child name="sd_card_drv"/> </service> <any-service> <parent/> <any-child/> </any-service> </route> </start> <start name="nic_bridge" priority="-1"> <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="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"/> </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="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 nitpicker nit_fb nic_bridge terminal terminal_log fb_drv part_blk sd_card_drv gpio_drv usb_drv l4android root-ginger.gz ld.lib.so } lappend_if [have_spec x86] boot_modules nic_drv lappend_if [have_spec x86] boot_modules atapi_drv lappend_if [have_spec pci] boot_modules pci_drv lappend_if [have_spec ps2] boot_modules ps2_drv lappend_if [have_spec pl11x] boot_modules pl11x_drv lappend_if [have_spec lan9118] boot_modules nic_drv lappend_if [have_spec pl180] boot_modules sd_card_drv lappend_if [have_spec vesa] boot_modules vesa_drv if {[have_spec x86]} { set initrd_uri "http://genode.org/files/release-11.11/l4lx/root-ia32-ginger.gz" set system_uri "http://genode.org/files/release-11.11/l4lx/system-ia32-ginger.img" } elseif {[have_spec arm]} { set initrd_uri "http://genode.org/files/release-11.11/l4lx/root-arm-ginger.gz" set system_uri "http://genode.org/files/release-11.11/l4lx/system-arm-ginger.img" } if {![file exists bin/root-ginger.gz]} { puts "Download initramfs ..." exec curl $initrd_uri > bin/root-ginger.gz 2> /dev/null } if {![file exists bin/system-ginger.img]} { puts "Download system image ..." exec curl $system_uri > bin/system-ginger.img 2> /dev/null } 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 --------------------------------------------------------------------- This is the log: ... Genode 14.11 int main(): --- create local services --- int main(): --- start init --- int main(): transferred 997 MB to init int main(): --- init created, waiting for exit condition --- Quota exceeded! amount=28672, size=4096, consumed=28672 [init] upgrading quota donation for Env::CPU (8192 bytes) [init -> gpio_drv] --- omap4 gpio driver --- Insufficient quota for transfer: init -> part_blk have 1564672, need 4206592 [init] not enough quota for a donation of 4206592 bytes [init -> part_blk] resource_request: ram_quota=4206592 [init -> part_blk] virtual void Genode::Platform_env::release(): used before freeing emergency=290816 [init -> part_blk] virtual void Genode::Platform_env::release(): used after freeing emergency=286720 [init] child "part_blk" requests resources: ram_quota=4206592 [init -> fb_drv] Could not open file "config" [init -> fb_drv] Could not obtain config file [init -> sd_card_drv] --- OMAP4 SD card driver --- [init -> fb_drv] int main(int, char**): using default configuration: HDMI@1024x768 [init -> gpio_drv] No GPIO config [init -> l4android] Booting L4Linux ... [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 -> l4android] ======> L4Linux starting... <======== [init -> l4android] Linux version 3.5.0-l4-gcea6e7a (czzcz@czzcz-H55M-S2V) (gcc version 4.7.4 (GCC) ) #18 SMP Thu Mar 12 10:52:16 CST 2015 [init -> l4android] Binary name: vmlinux [init -> l4android] This is an AEABI build. [init -> l4android] Linux kernel command line (3 args): mem=128M console=ttyS0 l4x_rd=root-ginger.gz [init -> l4android] CPU mapping (l:p)[0]: Image: 01000000 - 01400000 [4096 KiB] [init -> l4android] Areas: Text: 01000000 - 0135e000 [3448kB] [init -> l4android] Data: 0135e000 - 0138b1b8 [180kB] [init -> l4android] Initdata: 01337000 - 0135c4c0 [149kB] [init -> l4android] BSS: 0138c000 - 013c96e8 [245kB] [init -> usb_drv] Using configured mac: 2e:60:90:0c:4e:01 [init -> l4android] l4io_get_root_device: Not implemented yet! [init -> l4android] Device scan: [init -> sd_card_drv] CID: 0x97009861 0x38caa862 0x44303847 0x02544d53 [init -> l4android] l4io_iterate_devices: Not implemented yet! [init -> sd_card_drv] RCA: 0x895a [init -> l4android] Device scan done. [init -> usb_drv] void platform_hcd_init(Services*): register platform device [init -> sd_card_drv] SD card detected [init -> sd_card_drv] capacity: 7600 MiB [init -> usb_drv] dev_info: EHCI Host Controller [init -> usb_drv] dev_info: new USB bus registered, assigned bus number 1 [init -> part_blk] Partition 1: LBA 63 (144522 blocks) type: c [init -> part_blk] Partition 2: LBA 144585 (15149295 blocks) type: c [init -> part_blk] Partition 3: LBA 15293880 (257040 blocks) type: c [init -> usb_drv] dev_info: irq 109, io mem 0x4a064c00 [init -> l4android] main thread will be c [init -> l4android] l4x_register_pointer_section: addr = 01000000 size = 4194304 [init -> l4android] section-with-init: virt: 1000000 to 13fffff [4096 KiB] [init -> l4android] Cannot determine physical address for dataspace Binary! [init -> l4android] error: failed to get physical address for 1000000. [init -> l4android] Main thread running, waiting... [init -> l4android] thread=c000 cpu=0 [init -> l4android] l4x_setup_memory: Forcing superpages for main memory [init -> l4android] l4re_global_env: 0 [init -> l4android] Main memory size: 128MB unmapping of managed dataspaces not yet supported [init -> l4android] Main memory: virt: 8000000 to fffffff [131072 KiB] [init -> l4android] Main memory: Phys: 0x00000000 to 0x08000000, Size: 134217728 [init -> l4android] Filling lower ptabs... [init -> l4android] Done (0 entries). [init -> l4android] l4x_register_pointer_section: addr = 01000000 size = 4194304 [init -> l4android] text: virt: 1000000 to 13fffff [4096 KiB] [init -> l4android] Cannot determine physical address for dataspace Binary! [init -> l4android] error: failed to get physical address for 1000000. [init -> usb_drv] dev_info: USB 2.0 started, EHCI 1.00 [init -> l4android] l4x_virt_to_phys: Could not translate virt. address 1000000 [init -> l4android] l4x_virt_to_phys: Could not translate virt. address 1336fcb [init -> l4android] l4x_virt_to_phys: Could not translate virt. address 135e000 [init -> l4android] l4x_virt_to_phys: Could not translate virt. address 13c96e7 [init -> usb_drv] dev_info: USB hub found [init -> l4android] l4x_virt_to_phys: Could not translate virt. address 1000000 [init -> l4android] l4x_virt_to_phys: Could not translate virt. address 13fffff [init -> l4android] l4x_rd_path: root-ginger.gz [init -> usb_drv] dev_info: 3 ports detected [init -> l4android] Loading: root-ginger.gz [init -> l4android] INITRD: Size of RAMdisk is 224KiB [init -> l4android] RAMdisk from 00005000 to 0003d000 [224KiB] [init -> l4android] l4timer: Using IRQ210 [init -> nitpicker] Could not open file "config" [init -> nitpicker] Could not obtain config file [init] l4android: no route to service "Terminal" [init -> nitpicker] create session with args: label="android_fb", ram_quota=28672 [init -> l4android] l4x_virt_to_phys: Could not translate virt. address 12359a0 [init -> l4android] l4x_virt_to_phys: Could not translate virt. address 12359a0 [init -> l4android] l4io_get_root_device: Not implemented yet! [init -> l4android] l4io_iterate_devices: Not implemented yet! [init -> usb_drv] dev_info: new high-speed USB device number 2 using ehci-omap [init -> android_fb] using xywh=(0,0,640,480) [init -> nic_bridge] Could not open file "config" [init -> nic_bridge] Could not obtain config file Insufficient quota for transfer: init -> nic_bridge have 1564672, need 3301376 [init] not enough quota for a donation of 3301376 bytes [init -> nic_bridge] resource_request: ram_quota=3301376 [init -> nic_bridge] virtual void Genode::Platform_env::release(): used before freeing emergency=278528 [init -> nic_bridge] virtual void Genode::Platform_env::release(): used after freeing emergency=274432 [init] child "nic_bridge" requests resources: ram_quota=3301376 [init -> usb_drv] dev_info: USB hub found [init -> usb_drv] dev_info: 5 ports detected [init -> nic_bridge] Invalid session request, no matching policy [init -> usb_drv] dev_info: new high-speed USB device number 3 using ehci-omap [init -> usb_drv] Using configured mac: 2e:60:90:0c:4e:01 [init -> usb_drv] netif_info: open: enable queueing (rx 4, tx 60) mtu 1500 simple framing [init -> usb_drv] nedev_info: hardware isn't capable of remote wakeup [init -> usb_drv] netif_info: register 'smsc95xx' at usb-ehci-omap-1.1, smsc95xx USB 2.0 Ethernet, 10c4e04M ------------------------------------------------------------------ so, 1)Is there anything wrong with my run script? What should I do to make Android run perfectly on pandaboard? 2)Is "ld.lib.so" necessary? The run script of longjks include the component, but I can't compile it successfully using this script. Best, Zachary ------------------------------------------------------------------------------ Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main