Hi, L4Hackers: I'm trying to booting L4Android in Exynos 5250 platform. I got some questions. If anyone can give me any direction or document, It will be very helpful.
1, How to edit this vbus and devs file to match my platform? For example, if I want replace the MOUSE in vbus with TOUCHSCREEN, what should I write to determine the driver of the touchscreen, and the register address of the driver? It seems the .hid can assign the driver? And the MMio can remap the address of the IO for driver? 2, As for GUI driver, what the mag and fb-drv do ? Should I write one driver in L4RE or I can reuse the driver in Linux? *For this two question I just need some guide*, I can't find details explanation of the file or tutorial in Wiki page. Thank you very much! Also I got some new error when booting. The system mount failed. Would you mind to take a look? ## Starting application at 0x41000000 ... L4 Bootstrapper Build: #4 Tue May 5 18:39:47 CST 2015, 4.6.4 Scanning up to 2047 MB RAM, starting at offset 256MB Memory size is 2047MB (40000000 - bfefffff) Limiting 'RAM' region [ 40000000, bfefffff] { 7ff00000} to [ 40000000, t RAM: 0000000040000000 - 00000000bcffffff: 2048000kB Total RAM: 2000MB Scanning fiasco Scanning sigma0 Scanning moe Moving up to 14 modules behind 41100000 moving module 02 { 4fbec000-4fc255ef } -> { 4fcdb000-4fd145ef } [234992] moving module 01 { 4fbe2000-4fbeb33b } -> { 4fcd1000-4fcda33b } [37692] moving module 00 { 4fb7e000-4fbe127f } -> { 4fc6d000-4fcd027f } [406144] moving module 13 { 41794000-4fb7df5b } -> { 41883000-4fc6cf5b } [238985052] moving module 12 { 41694000-41793fff } -> { 41783000-41882fff } [1048576] moving module 11 { 412ca000-41693487 } -> { 413b9000-41782487 } [3970184] moving module 10 { 412c9000-412c9109 } -> { 413b8000-413b8109 } [266] moving module 09 { 412c8000-412c84c0 } -> { 413b7000-413b74c0 } [1217] moving module 08 { 412c7000-412c765e } -> { 413b6000-413b665e } [1631] moving module 07 { 4129d000-412c65ef } -> { 4138c000-413b55ef } [169456] moving module 06 { 411ed000-4129cc0f } -> { 412dc000-4138bc0f } [719888] moving module 05 { 41086000-411ec44f } -> { 41175000-412db44f } [1467472] moving module 04 { 4102b000-41085bcf } -> { 4111a000-41174bcf } [371664] moving module 03 { 41011000-4102a427 } -> { 41100000-41119427 } [103464] Loading fiasco Loading sigma0 Loading moe find kernel info page... found kernel info page at 0x40002000 Regions of list 'regions' [ 40000000, 40000203] { 204} Root mbi_rt [ 40001000, 40001c3f] { c40} Kern fiasco [ 40002000, 40072fff] { 71000} Kern fiasco [ 40090000, 40096f0b] { 6f0c} Sigma0 sigma0 [ 40098000, 4009e177] { 6178} Sigma0 sigma0 [ 40140000, 40174a53] { 34a54} Root moe [ 40178000, 4018ef03] { 16f04} Root moe [ 41000000, 410105f7] { 105f8} Boot bootstrap [ 41100000, 4fc6cfff] { eb6d000} Root Module API Version: (87) experimental Sigma0 config ip:40090100 sp:00000000 Roottask config ip:40140198 sp:00000000 Starting kernel fiasco at 40001360 Hello from Startup::stage2 Per_cpu_data_alloc: (orig: 0xf005ff90-0xf0060990) Number of IRQs available at this GIC: 160 FPU0: Arch: VFPv4(4), Part: VFPv3(30), r: 0, v: f, i: 41, t: hard, p: dbl/sngl Watchdog initialized SERIAL ESC: allocated IRQ 85 for serial uart Not using serial hack in slow timer handler. Welcome to Fiasco.OC (arm)! L4/Fiasco.OC arm microkernel (C) 1998-2013 TU Dresden Rev: unknown compiled with gcc 4.6.4 for Samsung Exynos [] Build: #1 Tue May 5 16:52:03 CST 2015 Per_cpu_data_alloc: (orig: 0xf005ff90-0xf0060990) Allocate 2560 bytes (3KB) for CPU[4] local storage (offset=118b070, 0xf11eb000-) Timer for CPU0 is at IRQ 152 Number of CPUs: 1 Calibrating timer loop... done. MDB: use page size: 20 MDB: use page size: 12 SIGMA0: Hello! KIP @ 40002000 allocated 4KB for maintenance structures SIGMA0: Dump of all resource maps RAM:------------------------ [4:40000000;40000fff] [0:40073000;4008ffff] [0:40097000;40097fff] [0:4009f000;4013ffff] [4:40140000;40174fff] [0:40175000;40177fff] [4:40178000;4018efff] [0:4018f000;410fffff] [4:41100000;4fc6cfff] [0:4fc6d000;bbffffff] IOMEM:---------------------- [0:0;3fffffff] [0:bd000000;ffffffff] MOE: Hello world MOE: found 1789720 KByte free memory MOE: found RAM from 40000000 to bc000000 MOE: allocated 1984 KByte for the page array @0x4018f000 MOE: virtual user address space [0-bfffffff] MOE: rom name space cap -> [C:501000] BOOTFS: [41100000-41119428] [C:503000] l4re BOOTFS: [4111a000-41174bd0] [C:504000] ned BOOTFS: [41175000-412db450] [C:505000] io BOOTFS: [412dc000-4138bc10] [C:506000] mag BOOTFS: [4138c000-413b55f0] [C:507000] fb-drv BOOTFS: [413b6000-413b665f] [C:508000] l4_gingerbread-arm.cfg BOOTFS: [413b7000-413b74c1] [C:509000] arm-rv-eb.devs BOOTFS: [413b8000-413b810a] [C:50a000] l4_android-arm.vbus BOOTFS: [413b9000-41782488] [C:50b000] vmlinuz.android BOOTFS: [41783000-41883000] [C:50c000] root-arm-ginger.img BOOTFS: [41883000-4fc6cf5c] [C:50d000] system-arm-ginger.img MOE: cmdline: moe rom/l4_gingerbread-arm.cfg MOE: Starting: rom/ned rom/l4_gingerbread-arm.cfg MOE: loading 'rom/ned' Ned says: Hi World! Ned: loading file: 'rom/l4_gingerbread-arm.cfg' io | Io service io | Ready. Waiting for request. mag | Hello from MAG fb | Using LCD driver: ARM AMBA PrimeCell 11x fb | Unknown LCD: periphid = 00000000, cellid = 00000000 fb | Video memory is at virtual 0x5000 (size: 0x96000 Bytes) fb | Physical video memory is at 0x40654000 fb | Color mode: 10:5:0 5:5:5 fb | Detected a 'Unknown' device. fb | Configure 3.8 CLCD fb | Starting server loop mag | mapped frame buffer at 0x200000 mag | View::Info: mag | flags: 0 mag | size: 640x480 pos: 0, 0 mag | bytes_per_line: 1280 mag | buffer_offset: 0 mag | RGBA(2): 5(10):5(5):5(0):0(0) mag | memory 200000-296000 mag | Plugin: Mag_client service started mag | Plugin: Frame-buffer service started mag | L4INPUT native mode activated mag | L4INPUT: !!! W A R N I N G !!! mag | L4INPUT: Please, do not use Fiasco's "-esc" with L4INPUT. mag | L4INPUT: !!! W A R N I N G !!! android | PH 0 (t: 1) offs=00008000 vaddr=02000000 vend=0246e454 android | phys=02000000 ephys=0246e454 android | f_sz=003ab5bc memsz=0046e454 flgs=rwx android | PH 1 (t: 4) offs=0035ddb8 vaddr=02355db8 vend=02355ddc android | phys=02355db8 ephys=02355ddc android | f_sz=00000024 memsz=00000024 flgs=r-x android | PH 2 (t: 1685382481) offs=00000000 vaddr=00000000 vend=00000000 android | phys=00000000 ephys=00000000 android | f_sz=00000000 memsz=00000000 flgs=rwx android | Starting binary at 0x2000358, argc=15 argv=0xafff4f6c *argv=0xb1007fed android | External resolver is at 0xa800070c android | ======> L4Linux starting... <======== android | Linux version 3.16.0-l4 (shenyouren@Dell-Shen) (gcc version 4.6.x-goo5 android | Binary name: rom/vmlinuz.android android | This is an AEABI build. android | Linux kernel command line (14 args): console=ttyLv0 androidboot.conso1 android | CPU mapping (l:p)[1]: 0:0 android | Image: 020000a0 - 02600000 [6143 KiB]. android | Areas: Text: 020000a0 - 02380000 [3583kB] (a bit longer) android | Data: 02380000 - 023a6fa0 [155kB] android | Initdata: 02356000 - 0237f900 [166kB] android | BSS: 023ab5bc - 0246e454 [779kB] android | Device scan: android | Device: L4ICU android | Device scan done. android | l4lx_thread_create: Created thread 416 (cpu0) (u:b3000e00, v:b3000c00) android | main thread will be 416 android | l4x_register_pointer_section: addr = 02000000 size = 4648960 android | section-with-init: Virt: 0x2000000 to 0x246e453 [4537 KiB] android | section-with-init: Phys: 0x407fa000 to 0x40c68453, [4537 KiB] android | Main thread running, waiting... android | L4x: Memory size: 256MB android | L4x: Setting superpages for main memory android | L4x: Adjusted memory start: 02000000 android | Main memory: Virt: 0x2600000 to 0x125fffff [262144 KiB] android | Main memory: Phys: 0x4fe00000 to 0x5fdfffff, [262144 KiB] android | l4x: vmalloc area: 12600000 - 1a600000 android | l4x_register_pointer_section: addr = 02000000 size = 4648960 android | text: Virt: 0x2000000 to 0x246e453 [4537 KiB] android | text: Phys: 0x407fa000 to 0x40c68453, [4537 KiB] android | Loading: rom/root-arm-ginger.img android | INITRD: Size of RAMdisk is 1024KiB android | RAMdisk from 00002000 to 00102000 [1024KiB] android | l4lx_thread_create: Created thread 41c (timer0) (u:b3000a00, v:000000) Booting Linux on physical CPU 0x0 Linux version 3.16.0-l4 (shenyouren@Dell-Shen) (gcc version 4.6.x-google 2012015 CPU: Fiasco [410fc0f4] revision 4 (ARMv7), cr=00000000 CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache Machine: L4 Ignoring unrecognised tag 0x00000000 Forcing write-allocate cache policy for SMP Forcing shared mappings for SMP Memory policy: Data cache writealloc INITRD: 00002000 - 00102000 PERCPU: Embedded 7 pages/cpu @123a0000 s6400 r8192 d14080 u32768 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 66484 Kernel command line: console=ttyLv0 androidboot.console=ttyLv0 mem=256M l4bdds.) Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) Memory: 259556K/268288K available (2687K kernel code, 155K rwdata, 728K rodata,) Virtual kernel memory layout: vector : 0xbffff000 - 0xc0000000 ( 4 kB) fixmap : 0xffc00000 - 0xffe00000 (2048 kB) vmalloc : 0x12600000 - 0x1a600000 ( 128 MB) lowmem : 0x00000000 - 0x12600000 ( 294 MB) modules : Virtual kernel memory layout: vector : 0xbffff000 - 0xc0000000 ( 4 kB) fixmap : 0xffc00000 - 0xffe00000 (2048 kB) vmalloc : 0x12600000 - 0x1a600000 ( 128 MB) lowmem : 0x00000000 - 0x12600000 ( 294 MB) moHierarchical RCU implementation. RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1. RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1 NR_IRQS:220 l4timer: Using IRQ210 sched_clock: 64 bits at 1000kHz, resolution 1000ns, wraps every 2147483648000ns Console: colour dummy device 80x30 console [ttyLv0] enabled Calibrating delay loop... 1987.37 BogoMIPS (lpj=9936896) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) CPU: Testing write buffer coherency: ok CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 Setting up static identity map for 0x2287610 - 0x2287610 Brought up 1 CPUs SMP: Total of 1 processors activated. CPU: All CPU(s) started in SVC mode. VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0 NET: Registered protocol family 16 DMA: preallocated 256 KiB pool for atomic coherent allocations Added static device 'L4ICU' with 0 resources. Failed to create "l4x" debugfs directory: 1 l4vbus: is running Switched to clocksource l4kipclk NET: Registered protocol family 2 TCP established hash table entries: 4096 (order: 2, 16384 bytes) TCP bind hash table entries: 4096 (order: 3, 32768 bytes) TCP: Hash tables configured (established 4096 bind 4096) TCP: reno registered UDP hash table entries: 256 (order: 1, 8192 bytes) UDP-Lite hash table entries: 256 (order: 1, 8192 bytes) NET: Registered protocol family 1 Trying to unpack rootfs image as initramfs... rootfs image is not initramfs (junk in compressed archive); looks like an initrd INITRD: Freeing memory. l4x: Checks passed. NetWinder Floating Point Emulator V0.97 (double precision) futex hash table entries: 256 (order: 2, 16384 bytes) msgmni has been set to 506 io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) l4fb.0: looking for capability 'fb' as goos session l4fb l4fb.0: 640x480@16 2bypp, size: 614400 @ 200000 l4fb l4fb.0: 5:5:5 10:5:0 linelen=1280 visual=2 l4fb l4fb.0: l4fb L4 frame buffer device (refresh: 10jiffies) Console: switching to colour frame buffer device 80x30 L4 serial driver ttyLv0 at MMIO 0x1 (irq = 211, base_baud = 230400) is a L4 l4ser_shm: L4 shared mem serial driver l4cdds: No name given, not starting. brd: module loaded *l4bdds: Disk 'rom/system-arm-ginger.img' size = 233384 KB (227 MB) flags=101 ad0* * l4bdds0: unknown partition table * *[sched_delayed] sched: RT throttling activated * *l4bdds: Disk 'rom/system-arm-ginger.img' size = 233384 KB (227 MB) flags=101 ad4* mousedev: PS/2 mouse device common for all mice TCP: cubic registered NET: Registered protocol family 17 Registering SWP/SWPB emulation handler RAMDISK: ext2 filesystem found at block 0 RAMDISK: Loading 1024KiB [1 disk] into ram disk... done. EXT4-fs (ram0): couldn't mount as ext3 due to feature incompatibilities EXT4-fs (ram0): mounting ext2 file system using the ext4 subsystem EXT4-fs warning (device ram0): ext4_update_dynamic_rev:701: updating to rev 1 bd EXT4-fs (ram0): mounted filesystem without journal. Opts: (null) VFS: Mounted root (ext2 filesystem) on device 1:0. Freeing unused kernel memory: 164K (02356000 - 0237f000) init: cannot open '/initlogo.rle' EXT4-fs (ram0): re-mounted. Opts: (null) init: Unable to open persistent property directory /data/property errno: 2 init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_score_adj inste. init: cannot find '/system/bin/servicemanager', disabling 'servicemanager' init: cannot find '/system/bin/vold', disabling 'vold' init: cannot find '/system/bin/netd', disabling 'netd' init: cannot find '/system/bin/debuggerd', disabling 'debuggerd' init: cannot find '/system/bin/rild', disabling 'ril-daemon' init: cannot find '/system/bin/app_process', disabling 'zygote' init: cannot find '/system/bin/mediaserver', disabling 'media' init: cannot find '/system/bin/dbus-daemon', disabling 'dbus' init: cannot find '/system/bin/installd', disabling 'installd' init: cannot find '/system/etc/install-recovery.sh', disabling 'flash_recovery' init: cannot find '/system/bin/keystore', disabling 'keystore' init: cannot find '/system/bin/sh', disabling 'console' random: adbd urandom read with 6 bits of entropy available Thank you very much. -- Best Regards. Youren Shen.
_______________________________________________ l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers