In this attachment you can find our config files for start l4linux'
usb on omap3 board.
We use a Overo Gumstix for examples.
Our boot log looks as:
OMAP3530-GP ES3.1
Board revision: 1
Reading boot sector
Loading u-boot.bin from mmc
U-Boot 2010.12 (Aug 15 2011 - 19:34:31)
OMAP3530-GP ES3.1, CPU-OPP2, L3-165MHz, Max CPU Clock 720 mHz
Gumstix Overo board + LPDDR/NAND
I2C: ready
DRAM: 512 MiB
NAND: 512 MiB
MMC: OMAP SD/MMC: 0
In: serial
Out: serial
Err: serial
Board revision: 1
Direct connection on mmc2
No EEPROM on expansion board
Die ID #1aa60004000000000403951c07002013
Net: smc911x: Invalid chip endian 0xa765e321
No ethernet found.
Hit any key to stop autoboot: 0
reading l4img
22999248 bytes read
## Booting kernel from Legacy Image at 80000000 ...
Image Name: L4 Image #7
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 22999184 Bytes = 21.9 MiB
Load Address: 81000000
Entry Point: 81000000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
L4 Bootstrapper
Build: #7 Fri Oct 21 08:21:47 CEST 2011, 4.4.1
Scanning up to 128 MB RAM
Memory size is 128MB (80000000 - 88000000)
RAM: 0000000080000000 - 0000000087ffffff: 131072kB
Total RAM: 128MB
mod10: 814ef000-825ef000: vHSM.rd
mod09: 8120c000-814ee0a0: vmlinuz.arm
mod08: 81126000-8120b0f8: io
mod07: 81125000-8112597f: gumstix-fb-l4l.io
mod06: 81124000-81124103: arm-omap3.devs
mod05: 81123000-81123302: l4l_1.cfg
mod04: 810c5000-811220a8: ned
mod03: 810aa000-810c439c: l4re
mod02: 8106f000-810a9b50: moe
mod01: 81065000-8106e70c: sigma0
mod00: 81015000-81064cf4: fiasco
Moving 11 modules to 81100000 with offset eb000
moving module 11 { 814ef000-825ef000 } -> { 815da000-826da000 }
moving module 10 { 8120c000-814ee0a0 } -> { 812f7000-815d90a0 }
moving module 09 { 81126000-8120b0f8 } -> { 81211000-812f60f8 }
moving module 08 { 81125000-8112597f } -> { 81210000-8121097f }
moving module 07 { 81124000-81124103 } -> { 8120f000-8120f103 }
moving module 06 { 81123000-81123302 } -> { 8120e000-8120e302 }
moving module 05 { 810c5000-811220a8 } -> { 811b0000-8120d0a8 }
moving module 04 { 810aa000-810c439c } -> { 81195000-811af39c }
moving module 03 { 8106f000-810a9b50 } -> { 8115a000-81194b50 }
moving module 02 { 81065000-8106e70c } -> { 81150000-8115970c }
moving module 01 { 81015000-81064cf4 } -> { 81100000-8114fcf4 }
Scanning fiasco -serial_esc
Scanning sigma0
Scanning moe rom/l4l_1.cfg
Relocated mbi to [0x8100f000-0x8100f17f]
Loading fiasco
Loading sigma0
Loading moe
find kernel info page...
found kernel info page at 0x80002000
Regions of list regions
[ 80001000, 800019ff] { a00} Kern fiasco
[ 80002000, 80061fff] { 60000} Kern fiasco
[ 80090000, 800969bf] { 69c0} Sigma0 sigma0
[ 80098000, 8009e17b] { 617c} Sigma0 sigma0
[ 80140000, 801761bb] { 361bc} Root moe
[ 80178000, 8018ed0f] { 16d10} Root moe
[ 81000000, 810143eb] { 143ec} Boot bootstrap
[ 8100f000, 8100f27c] { 27d} Root Multiboot info
[ 81195000, 826d9fff] { 1545000} Root Modules Memory
API Version: (87) experimental
Sigma0 config ip:800900e0 sp:81013704
Roottask config ip:801401c0 sp:00000000
Starting kernel fiasco at 80001000
Hello from Startup::stage2
Initialize page table
Vmem_alloc::init()
Cache config: ON
ID_PFR0: 00001031
ID_PFR1: 00000011
ID_DFR0: 00010400
ID_AFR0: 00000000
ID_MMFR0: 31100003
ID_MMFR1: 20000000
ID_MMFR2: 01202000
ID_MMFR3: 00000011
FPU0: Arch: VFPv3(3), Part: VFPv3(30), r: 1, v: c, i: 41, t: hard, p: dbl/sngl
SERIAL ESC: allocated IRQ 74 for serial uart
Not using serial hack in slow timer handler.
Welcome to Fiasco.OC (arm)!
L4/Fiasco.OC arm microkernel (C) 1998-2011 TU Dresden
Rev: rUNKNOWN compiled with gcc 4.4.1 for Beagleboard []
Build: #2 Fri Oct 21 07:39:05 CEST 2011
Calibrating timer loop... done.
SIGMA0: Hello!
KIP @ 80002000
allocated 4KB for maintenance structures
SIGMA0: Dump of all resource maps
RAM:------------------------
[0:80000000;80000fff]
[0:80062000;8008ffff]
[0:80097000;80097fff]
[0:8009f000;8013ffff]
[4:80140000;80176fff]
[0:80177000;80177fff]
[4:80178000;8018efff]
[0:8018f000;8100efff]
[4:8100f000;8100ffff]
[0:81010000;81194fff]
[4:81195000;826d9fff]
[0:826da000;86ffffff]
IOMEM:----------------------
[0:0;7fffffff]
[0:88000000;ffffffff]
MOE: Hello world
MOE: found 92148 KByte free memory
MOE: found RAM from 80000000 to 87000000
MOE: allocated 112 KByte for the page array @0x80062000
MOE: virtual user address space [0-bfffffff]
MOE: rom name space cap -> [C:501000]
BOOTFS: [81195000-811af39c] [C:503000] l4re
BOOTFS: [811b0000-8120d0a8] [C:504000] ned
BOOTFS: [8120e000-8120e302] [C:505000] l4l_1.cfg
BOOTFS: [8120f000-8120f103] [C:506000] arm-omap3.devs
BOOTFS: [81210000-8121097f] [C:507000] gumstix-fb-l4l.io
BOOTFS: [81211000-812f60f8] [C:508000] io
BOOTFS: [812f7000-815d90a0] [C:509000] vmlinuz.arm
BOOTFS: [815da000-826da000] [C:50a000] vHSM.rd
MOE: cmdline: moe rom/l4l_1.cfg
MOE: Starting: rom/ned rom/l4l_1.cfg
MOE: loading 'rom/ned'
Ned says: Hi World!
Ned: loading file: 'rom/l4l_1.cfg'
IO | Io service
IO | WARNING: device 'plat' already assigned to an other virtual bus.
IO | WARNING: device 'prcm3' already assigned to an other virtual bus.
IO | WARNING: device 'prcm2' already assigned to an other virtual bus.
IO | WARNING: device 'sys' already assigned to an other virtual bus.
IO | WARNING: device 'i2c1' already assigned to an other virtual bus.
IO | WARNING: device 'gpio' already assigned to an other virtual bus.
IO | Ready. Waiting for request.
l4linux | PH 0 (t: 1) offs=00008000 vaddr=00100000 vend=004472ec
l4linux | phys=00100000 ephys=004472ec
l4linux | f_sz=002c63cc memsz=003472ec flgs=rwx
l4linux | PH 1 (t: 4) offs=002ce3a8 vaddr=003c63a8 vend=003c63cc
l4linux | phys=003c63a8 ephys=003c63cc
l4linux | f_sz=00000024 memsz=00000024 flgs=r-x
l4linux | PH 2 (t: 1685382481) offs=00000000 vaddr=00000000 vend=00000000
l4linux | phys=00000000 ephys=00000000
l4linux | f_sz=00000000 memsz=00000000 flgs=rwx
l4linux | Starting binary at 0x11e2f8, argc=9 argv=0x80007f84
*argv=0xb1007ff0 argv0=rom/vmlinuz.arm
l4linux | External resolver is at 0xa80006a0
l4linux | ======> L4Linux 2.6 starting... <========
l4linux | Linux version 3.0.0-l4-svn23 (jdoe@ubuntu) (gcc version
4.4.1 (Sourcery G++ Lite 2009q3-67) ) #7 Fri Oct 21 08:21:19 CEST 2011
l4linux | Binary name: rom/vmlinuz.arm
l4linux | This is an AEABI build.
l4linux | Linux kernel command line (8 args): mem=64M console=ttyLv0
l4x_rd=rom/vHSM.rd root=1:0 rw ramdisk_size=20480 init=/linuxrc debug
l4linux | CPU mapping (l:p)[1]: 0:0
l4linux | Image: 00100000 - 00500000 [4096 KiB].
l4linux | Areas: Text: 00100000 - 003a6000 [2712kB] (a bit longer)
l4linux | Data: 003a6000 - 003c18a0 [110kB]
l4linux | Initdata: 00100000 - 0011d000 [116kB]
l4linux | BSS: 003c63cc - 004472ec [515kB]
l4linux | l4lx_thread_create: Created thread 415 (tamer0) (u:b3000400,
sp:003ca288)
l4linux | Tamer0 is 415
l4linux | Using tamed mode.
l4linux | Device scan:
l4linux | Device: System Control
l4linux | MEM: 48002000 - 480047ff
l4linux | MEM: 48004800 - 4800ffff
l4linux | Device: i2c
l4linux | MEM: 48070000 - 48070fff
l4linux | Device: prcm2
l4linux | MEM: 48060000 - 4806007f
l4linux | MEM: 48072000 - 4807207f
l4linux | MEM: 480ab000 - 480acfff
l4linux | MEM: 48200000 - 4820ffff
l4linux | MEM: 48306800 - 48309fff
l4linux | MEM: 4830a000 - 4830ffff
l4linux | MEM: 6c000000 - 6cffffff
l4linux | MEM: 6d000000 - 6dffffff
l4linux | IRQ: 00000038 - 00000038
l4linux | IRQ: 0000003d - 0000003d
l4linux | IRQ: 00000039 - 00000039
l4linux | IRQ: 00000007 - 00000007
l4linux | IRQ: 0000005c - 0000005c
l4linux | Device: plat
l4linux | IRQ: 0000004d - 0000004d
l4linux | l4lx_thread_create: Created thread 417 (cpu0) (u:b3000600,
sp:003a7ff0)
l4linux | main thread will be 417
l4linux | l4x_register_pointer_section: addr = 00100000 size = 3440640
l4linux | section-with-init: virt: 0x100000 to 0x4472eb [3356 KiB]
l4linux | section-with-init: Phys: 0x8034f000 to 0x806962ec, Size: 3437292
l4linux | l4x_linux_startup: thread 417.
l4linux | Main thread running, waiting...
l4linux | main thread: received startup message.
l4linux | l4x_setup_memory: Forcing superpages for main memory
l4linux | l4re_global_env: 0xb1007ef4
l4linux | Main memory size: 64MB
l4linux | Main memory: virt: 0x500000 to 0x44fffff [65536 KiB]
l4linux | Main memory: Phys: 0x82700000 to 0x86700000, Size: 67108864
l4linux | Filling lower ptabs...
l4linux | Done (438 entries).
l4linux | l4x_register_pointer_section: addr = 004ff000 size = 4096
l4linux | end: virt: 0x4ff000 to 0x4fffff [4 KiB]
l4linux | end: Phys: 0x80698000 to 0x80699000, Size: 4096
l4linux | l4x_rd_path: rom/vHSM.rd
l4linux | Loading: rom/vHSM.rd
l4linux | INITRD: Size of RAMdisk is 17408KiB
l4linux | RAMdisk from 0c600000 to 0d700000 [17408KiB]
l4linux | l4lx_thread_create: Created thread 41c (IRQ CPU0)
(u:b3000800, sp:003e1ff0)
Linux version 3.0.0-l4-svn23 (jdoe@ubuntu) (gcc version 4.4.1
(Sourcery G++ Lite 2009q3-67) ) #7 Fri Oct 21 08:21:19 CEST 2011
CPU: Fiasco [860f0001] revision 1 (ARMvundefined/unknown), cr=00000000
CPU: unknown data cache, unknown instruction cache
cpu_v6_proc_init
Machine: L4
Memory policy: ECC disabled, Data cache writeback
_CACHE_flush_kern_cache_all()
On node 0 totalpages: 17409
free_area_init_node: node 0, pgdat 003c0f44, node_mem_map 00500000
DMA zone: 138 pages used for memmap
DMA zone: 0 pages reserved
DMA zone: 17271 pages, LIFO batch:3
INITRD: 0c600000 - 0d700000
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: [0] 0
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 17271
Kernel command line: mem=64M console=ttyLv0 l4x_rd=rom/vHSM.rd
root=1:0 rw ramdisk_size=20480 init=/linuxrc debug
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 0MB 68MB = 68MB total
Memory: 64808k/64808k available, 4828k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xbffff000 - 0xc0000000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xffc00000 - 0xffe00000 ( 2 MB)
vmalloc : 0x04600000 - 0x0c600000 ( 128 MB)
lowmem : 0x00000000 - 0x04500000 ( 69 MB)
modules : 0xff100000 - 0x00100000 ( 16 MB)
.init : 0x00100000 - 0x0011d000 ( 116 kB)
.text : 0x0011e000 - 0x003a5e5c (2592 kB)
.data : 0x003a6000 - 0x003c18a0 ( 111 kB)
.bss : 0x003c63cc - 0x004472ec ( 516 kB)
NR_IRQS:395 nr_irqs:395 395
l4lx_irq_init: creating IRQ thread on cpu 0
Console: colour dummy device 80x30
console [ttyLv0] enabled
Calibrating delay loop... irq_thread: Starting IRQ thread on CPU 0
496.43 BogoMIPS (lpj=2482176)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
print_constraints: dummy:
NET: Registered protocol family 16
__l4x_ioremap: Mapping physaddr 48002000 [0x1000 Bytes,
48002000+001000] to 04500000+000000
__l4x_ioremap: Mapping physaddr 48306800 [0x2000 Bytes,
48306000+003000] to 04501000+000800
__l4x_ioremap: Mapping physaddr 48004800 [0x2000 Bytes,
48004000+003000] to 04504000+000800
_CACHE_flush_kern_cache_all()
__l4x_ioremap: Mapping physaddr 48200000 [0x1000 Bytes,
48200000+001000] to 04507000+000000
IRQ: Found an INTC at 0x04507000 (revision 4.0) with 96 interrupts
Total of 96 interrupts on 1 active controller
omap3xxx_powerdomains_init
recalculate_root_clocks
Clocking rate (Crystal/Core/MPU): 26.0/332/500 MHz
ERROR: IO-memory (68000000+ffff) not available
omap_hwmod: l3_main: Could not ioremap
omap_hwmod: _populate_mpu_rt_base found no _mpu_rt_va for l3_main
omap_hwmod: _populate_mpu_rt_base found no _mpu_rt_va for l4_core
omap_hwmod: _populate_mpu_rt_base found no _mpu_rt_va for l4_per
omap_hwmod: _populate_mpu_rt_base found no _mpu_rt_va for l4_wkup
__l4x_ioremap: Mapping physaddr 48070000 [0x7f Bytes, 48070000+001000]
to 04508000+000000
__l4x_ioremap: Mapping physaddr 48072000 [0x7f Bytes, 48072000+001000]
to 04509000+000000
__l4x_ioremap: Mapping physaddr 48060000 [0x7f Bytes, 48060000+001000]
to 0450a000+000000
__l4x_ioremap: Mapping physaddr 480ab000 [0xfff Bytes,
480ab000+001000] to 0450b000+000000
omap_hwmod: i2c1: softreset failed (waited 10000 usec)
omap_hwmod: i2c2: softreset failed (waited 10000 usec)
omap_hwmod: i2c3: softreset failed (waited 10000 usec)
omap2_common_pm_init
Added static device 'System Control' with 2 resources.
Added static device 'i2c' with 1 resources.
Added static device 'prcm2' with 13 resources.
omap_register_i2c_bus bus_id=1 nr_ports=3
omap2_i2c_add_bus
omap_register_i2c_bus bus_id=3 nr_ports=3
omap2_i2c_add_bus
omap_init_opp_table: no hwmod or odev for iva, [9] cannot add OPPs.
overo_opp_init: opp default init failed
============
ICLKEN_CORE 7ffffedb
ICLKEN_CORE 7ffffedb
FCLKEN_CORE 43fffe01
FCLKEN_CORE c3fffe01
CTRL i2c 1 11c0118
CTRL i2c 2 118011c
CTRL i2c 3 1c0118
bio: create slab <bio-0> at 0
Failed to create "l4x" debugfs directory: 1
omap_i2c omap_i2c.1: bus 1 rev3.12 at 2600 kHz
l4linux | cpu0: utcb=0xb3000600 417
l4linux | l4lx_thread_create: Created thread 41f (idler0) (u:b3000a00,
sp:003e3ff4)
twl4030: PIH (irq 7) chaining IRQs 368..375
twl4030: power (irq 373) chaining IRQs 376..383
print_constraints: VUSB1V5: 1500 mV normal standby
print_constraints: VUSB1V8: 1800 mV normal standby
print_constraints: VUSB3V1: 3100 mV normal standby
twl4030_usb twl4030_usb: HW_CONDITIONS 0x90/144; link 1
twl4030_usb twl4030_usb: Initialized TWL4030 USB module
omap_i2c omap_i2c.3: bus 3 rev3.12 at 400 kHz
Switching to clocksource kip
musb-hdrc: version 6.0, pio, peripheral
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk
split, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 1.400
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
musb-hdrc musb-hdrc: USB Peripheral mode controller at 0450b000 using
PIO, IRQ 92
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 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.
NetWinder Floating Point Emulator V0.97 (double precision)
msgmni has been set to 126
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
L4 serial driver
ttyLv0 at MMIO 0x1 (irq = 385) is a L4
L4 shared mem serial driver
l4cdds: No name given, not starting.
brd: module loaded
l4bdds: No name given, not starting.
g_ether gadget: using random self ethernet address
g_ether gadget: using random host ethernet address
usb0: MAC be:e4:f9:c0:9d:96
usb0: HOST MAC f6:b1:7f:e8:97:68
g_ether gadget: adding config #2 'RNDIS'/003bd038
g_ether gadget: adding 'rndis'/02e4dd60 to config 'RNDIS'/003bd038
rndis_register: configNr = 0
rndis_set_param_medium: 0 0
g_ether gadget: RNDIS: dual speed IN/ep1in OUT/ep1out NOTIFY/ep2in
g_ether gadget: cfg 2/003bd038 speeds: high full
g_ether gadget: interface 0 = rndis/02e4dd60
g_ether gadget: interface 1 = rndis/02e4dd60
g_ether gadget: adding config #1 'CDC Ethernet (ECM)'/003bcf9c
g_ether gadget: adding 'cdc_ethernet'/02e4dca0 to config 'CDC Ethernet
(ECM)'/003bcf9c
g_ether gadget: CDC Ethernet: dual speed IN/ep1in OUT/ep1out NOTIFY/ep2in
g_ether gadget: cfg 1/003bcf9c speeds: high full
g_ether gadget: interface 0 = cdc_ethernet/02e4dca0
g_ether gadget: interface 1 = cdc_ethernet/02e4dca0
g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
g_ether gadget: g_ether ready
mousedev: PS/2 mouse device common for all mice
i2c /dev entries driver
TCP cubic registered
NET: Registered protocol family 17
omap2_common_pm_late_init
omap_voltage_late_init: Unable to create voltage debugfs main dir
vdd_debugfs_init: Unable to create debugfs directory for vdd_mpu
vdd_debugfs_init: Unable to create debugfs directory for vdd_core
RAMDISK: ext2 filesystem found at block 0
RAMDISK: Loading 17408KiB [1 disk] into ram disk... done.
VFS: Mounted root (ext2 filesystem) on device 1:0.
Freeing init memory: 116K
Initializing random number generator... done.
Configuring network interfaces... done.
Setting up IP spoofing protection: rp_filter.
OpenEmbedded Linux ##-l4 ttyLv0
##-micro-eglibc 0.1-20111007 ##-l4 ttyLv0
##-l4 login:root
Password:
root@##-l4:~# ifconfig usb0 192.168.0.5
usb0: eth_open
usb0: eth_start
g_ether gadget: ecm_open
g_ether gadget: notify connect true
g_ether gadget: notify speed 425984000
root@##-l4:~# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
usb0 Link encap:Ethernet HWaddr 2E:5B:FA:2A:AC:B8
inet addr:192.168.0.5 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5 errors:0 dropped:5 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:336 (336.0 B) TX bytes:0 (0.0 B)
root@##-l4:~# ping 192.168.0.2
PING 192.168.0.2 (192.168.0.2): 56 data bytes
64 bytes from 192.168.0.2: seq=13 ttl=64 time=2.000 ms
64 bytes from 192.168.0.2: seq=14 ttl=64 time=3.000 ms
64 bytes from 192.168.0.2: seq=15 ttl=64 time=2.000 ms
64 bytes from 192.168.0.2: seq=16 ttl=64 time=2.000 ms
64 bytes from 192.168.0.2: seq=17 ttl=64 time=2.000 ms
64 bytes from 192.168.0.2: seq=18 ttl=64 time=2.000 ms
64 bytes from 192.168.0.2: seq=19 ttl=64 time=2.000 ms
64 bytes from 192.168.0.2: seq=20 ttl=64 time=2.000 ms
64 bytes from 192.168.0.2: seq=21 ttl=64 time=2.000 ms
64 bytes from 192.168.0.2: seq=22 ttl=64 time=2.000 ms
64 bytes from 192.168.0.2: seq=23 ttl=64 time=2.000 ms
64 bytes from 192.168.0.2: seq=24 ttl=64 time=2.000 ms
64 bytes from 192.168.0.2: seq=25 ttl=64 time=2.000 ms
64 bytes from 192.168.0.2: seq=26 ttl=64 time=2.000 ms
--
Sartakov A. Vasily