Hi, I'm working on building L4linux for my imx.6 arm-board. But the booting stopped before the l4linux console coming out.
The logs is as follows:
U-Boot 2015.04-imx_v2015.04_3.14.52_1.1.0_ga+g6cf684a (Sep 01 2018 - 05:09:24)
CPU: Freescale i.MX6Q rev1.5 at 792 MHz CPU: Temperature 33 C Reset cause: POR Board: MX6-SabreSD I2C: ready DRAM: 1 GiB MMC: FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2 *** Warning - bad CRC, using default environment
No panel detected: default to Hannstar-XGA Display: Hannstar-XGA (1024x768) In: serial Out: serial Err: serial switch to partitions #0, OK mmc2(part 0) is current device Net: FEC [PRIME] Error: FEC address not set.
Normal Boot Hit any key to stop autoboot: 1 0
reading l4linux.uimage 10982764 bytes read in 291 ms (36 MiB/s) ## Booting kernel from Legacy Image at 11000000 ... Image Name: L4 Image #51 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 10982700 Bytes = 10.5 MiB Load Address: 11000000 Entry Point: 11000000 Verifying Checksum ... OK Loading Kernel Image ... OK
Starting kernel ...
L4 Bootstrapper Build: #51 Mon Sep 3 02:20:50 CST 2018, 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701] Scanning up to 1024 MB RAM, starting at offset 32MB Memory size is 1024MB (10000000 - 4fffffff) RAM: 0000000010000000 - 000000004fffffff: 1048576kB Total RAM: 1024MB Scanning fiasco Scanning sigma0 Scanning moe Moving up to 12 modules behind 11100000 moving module 02 { 11a45000-11a7952b } -> { 11b36000-11b6a52b } [214316] moving module 01 { 11a3a000-11a443b7 } -> { 11b2b000-11b353b7 } [41912] moving module 00 { 1197f000-11a399d7 } -> { 11a70000-11b2a9d7 } [764376] moving module 11 { 1167f000-1197efff } -> { 11770000-11a6ffff } [3145728] moving module 10 { 11673000-1167e766 } -> { 11764000-1176f766 } [46951] moving module 09 { 1124b000-116724cf } -> { 1133c000-117634cf } [4355280] moving module 08 { 1124a000-1124a0ee } -> { 1133b000-1133b0ee } [239] moving module 07 { 11248000-1124992f } -> { 11339000-1133a92f } [6448] moving module 06 { 11247000-112473b3 } -> { 11338000-113383b3 } [948] moving module 05 { 11087000-11246a87 } -> { 11178000-11337a87 } [1833608] moving module 04 { 11025000-1108676b } -> { 11116000-1117776b } [399212] moving module 03 { 1100f000-110244ef } -> { 11100000-111154ef } [87280] Loading fiasco Loading sigma0 Loading moe find kernel info page... found kernel info page (via ELF) at 10002000 Regions of list 'regions' [ 10000000, 100001bf] { 1c0} Root mbi_rt [ 10001000, 10001a3f] { a40} Kern fiasco [ 10002000, 100cbfff] { ca000} Kern fiasco [ 10100000, 10109c5f] { 9c60} Sigma0 sigma0 [ 10119fcc, 1011e177] { 41ac} Sigma0 sigma0 [ 10140000, 10173d0b] { 33d0c} Root moe [ 10183f70, 1018f4b3] { b544} Root moe [ 11000000, 1100e5bb] { e5bc} Boot bootstrap [ 11100000, 11a6ffff] { 970000} Root Module found kernel options (via ELF) at 10003000 Sigma0 config ip:101003f4 sp:00000000 Roottask config ip:10141590 sp:00000000 Starting kernel fiasco at 10001230 Hello from Startup::stage2 Number of IRQs available at this GIC: 160 FPU: Initialize FPU0: Subarch: 3, Part: 30, Rev: 4, Var: 9, Impl: 41 L2: ID=410000c7 Type=9e340340 Aux=32070000 WMask=ffff S=0 L2: Type L2C-310 Size = 1024kB Ways=16 Waysize=64 SERIAL ESC: allocated IRQ 61 for serial uart Not using serial hack in slow timer handler. Welcome to L4/Fiasco.OC! L4/Fiasco.OC microkernel on arm Rev: unknown compiled with gcc 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701] for i.MX6 [] Build: #1 Sat Sep 1 02:19:56 CST 2018
Calibrating timer loop... done. MDB: use page size: 20 MDB: use page size: 12 SIGMA0: Hello! KIP @ 10002000 allocated 4KB for maintenance structures SIGMA0: Dump of all resource maps RAM:------------------------ [4:10000000;10000fff] [0:100cc000;100fffff] [0:1010a000;10118fff] [0:1011f000;1013ffff] [4:10140000;10173fff] [0:10174000;10182fff] [4:10183000;1018ffff] [0:10190000;110fffff] [4:11100000;11a6ffff] [0:11a70000;4effffff] IOMEM:---------------------- [0FPU1: Subarch: 3, Part: 30, Rev: 4, Var: 9, Impl: 41 :Cache config: ON 0ID_PFR[01]: 00001231 00000011; ID_[DA]FR0: 00010444 00000000 fID_MMFR[04]: 00100103 20000000 01230000 00102111 ffffff] [0:50000000;ffffffff] MOE: Hello world MOE: found 1021396 KByte free memory MOE: found RAM from 10000000 to 4f000000 MOE: allocated 1008 KByte for the page array @0x10190000 MOE: virtual user address space [0-bfffffff] MOE: rom name space cap -> [C:103000] MOE: rwfs name space cap -> [C:105000] BOOTFS: [11100000-111154fFPU2: Subarch: 3, Part: 30, Rev: 4, Var: 9, Impl: 41 0Cache config: ON ]ID_PFR[01]: 00001231 00000011 ID_[DA]FR0: 00010444 00000000 [ID_MMFR[04]: 00100103 20000000 01230000 00102111 C:107000] l4re BOOTFS: [11116000-1117776c] [C:109000] ned BOOTFS: [11178000-11337a88] [C:10b000] io BOOTFS: [11338000-113383b4] [C:10d000] l4lx_imx6.cfg BOOTFS: [11339000-1133a930] [C:10f000] imx6_hw_devices.devs BOOTFS: [1133b000-1133b0ef] [C:111000] l4lx-imx6.io BOOTFS: [1133c000-117634d0] [C:113000] vmlinuz BOOTFS: [11764000-1176f767] [C:115000] imx6FPU3: Subarch: 3, Part: 30, Rev: 4, Var: 9, Impl: 41 qCache config: ON _ID_PFR[01]: 00001231 00000011s ID_[DA]FR0: 00010444 00000000 aID_MMFR[04]: 00100103 20000000 01230000 00102111 bresd.dtb BOOTFS: [11770000-11a70000] [C:117000] ramdisk-arm.rd MOE: cmdline: moe rom/l4lx_imx6.cfg MOE: Starting: rom/ned rom/l4lx_imx6.cfg MOE: loading 'rom/ned' Ned says: Hi World! Ned: loading file: 'rom/l4lx_imx6.cfg' l4linux-IO| Io service l4linux-IO| Verboseness level: 4 l4linux-IO| unused physical memory space: l4linux-IO| [00000000000000-0000000fffffff] l4linux-IO| [00000050000000-000000ffffffff] l4linux-IO| no 'iommu' capability found, using CPU-phys for DMA l4linux-IO| Loading: config 'rom/imx6_hw_devices.devs' l4linux-IO| warning: inconsistent fixed resource @ device: /System Bus/ l4linux-IO| : hid= l4linux-IO| compatible= { "fsl,imx6q-fec" } l4linux-IO| DMADOM [00000000000000-00000000000000 1] non-pref (32bit) (align=0 flags=6) l4linux-IO| Loading: config 'rom/l4lx-imx6.io' l4linux-IO| Real Hardware ----------------------------------- l4linux-IO| System Bus: hid= l4linux-IO| Resources: ==== start ==== l4linux-IO| DMADOM [00000000000000-00000000000000 1] non-pref (32bit) (align=0 flags=6) l4linux-IO| Resources: ===== end ===== l4linux-IO| ethernet: hid= l4linux-IO| compatible= { "fsl,imx6q-fec" } l4linux-IO| Clients: ===== start ==== l4linux-IO| ethernet: [N2Vi9Proxy_devE] l4linux-IO| Clients: ===== end ==== l4linux-IO| Resources: ==== start ==== l4linux-IO| IOMEM [00000002188000-0000000218bfff 4000] non-pref (32bit) (align=3fff flags=2) l4linux-IO| IRQ [00000000000096-00000000000096 1] level high (32bit) (align=0 flags=300001) l4linux-IO| IRQ [00000000000097-00000000000097 1] level high (32bit) (align=0 flags=300001) l4linux-IO| DMADOM [00000000000000-00000000000000 1] non-pref (32bit) (align=0 flags=6) l4linux-IO| Resources: ===== end ===== l4linux-IO| warning: could not register control interface at cap 'platform_ctl' l4linux-IO| Ready. Waiting for request. l4linux | PH 0 offs=00010000 flags=rwx PH-type=0x1 l4linux | virt=03000000 evirt=0348e000 l4linux | phys=03000000 ephys=0348e000 l4linux | f_sz=004071fc memsz=0048e000 l4linux | PH 1 offs=003c099c flags=r-- PH-type=0x4 l4linux | virt=033b099c evirt=033b09c0 l4linux | phys=033b099c ephys=033b09c0 l4linux | f_sz=00000024 memsz=00000024 l4linux | PH 2 offs=00000000 flags=rwx PH-type=0x6474e551 l4linux | virt=00000000 evirt=00000000 l4linux | phys=00000000 ephys=00000000 l4linux | f_sz=00000000 memsz=00000000 l4linux | Starting binary at 0x3000260, argc=5 argv=0xafff4f94 *argv=0xb1007ff4 argv0=rom/vmlinuz l4linux | External resolver is at 0xa8000b48 l4linux | ======> L4Linux starting... <======== l4linux | Linux version 4.17.0-l4 (zhangdiming@ubuntu) (gcc version 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701] (Linaro GCC 7.3-2018.05)) #7 Mon Sep 3 02:20:06 CST 2018 l4linux | Binary name: rom/vmlinuz l4linux | This is an AEABI build. l4linux | Linux kernel command line (4 args): mem=64M console=ttyLv0l4x_rd=rom/ramdisk-arm.rd root=1:0 ramdisk_size=4000 l4linux | CPU mapping (l:p)[1]: 0:0 l4linux | Image: 03000000 - 03600000 [6144 KiB]. l4linux | Areas: Text: 03000000 - 032f5000 [3028kB] l4linux | RO-Data: 032f5000 - 0339b000 [664kB] l4linux | Data: 033d6000 - 034071fc [196kB] l4linux | Init: 033b1000 - 033d6000 [148kB] l4linux | BSS: 034071fc - 0348e000 [539kB] l4linux | Device scan: l4linux | Device: L4ICU l4linux | Device: ethernet l4linux | MEM: 02188000 - 0218bfff l4linux | IRQ: 00000096 - 00000096 l4linux | IRQ: 00000097 - 00000097 l4linux | DMAD: 00000000 - 00000000 l4linux | Device scan done. l4linux | l4lx_thread_create: Created thread 41d (cpu0) (u:b3000e00, v:b3000c00, sp:033d7fa4) l4linux | main thread will be 41d l4linux | L4x: section-with-init(-data): Virt: 0x3000000 to 0x348dfff [4664 KiB] l4linux | section-with-init(-data): Phys: 0x10719fff00000000 to 0x123800000000, [8 KiB] l4linux | L4x: section-with-init-text: Virt: 0x3000000 to 0x348dfff [4664 KiB] l4linux | error: failed to get physical address for 3000000. l4linux | L4x: data: Virt: 0x3000000 to 0x348dfff [4664 KiB] l4linux | error: failed to get physical address for 3000000. l4linux | L4x: Main thread running, waiting... l4linux | L4x: Memory size: 64MB l4linux | L4x: Setting superpages for main memory l4linux | L4x: Adjusted memory start: 03000000 l4linux | L4x: Main memory: Virt: 0x3600000 to 0x75fffff [65536 KiB] l4linux | Main memory: Phys: 0x11c00000 to 0x15bfffff, [65536 KiB] l4linux | L4x: vmalloc area: 07600000 - 0f600000 l4linux | L4x: text: Virt: 0x3000000 to 0x348dfff [4664 KiB] l4linux | error: failed to get physical address for 3000000. l4linux | Loading: rom/ramdisk-arm.rd l4linux | INITRD: Size of RAMdisk is 3072KiB l4linux | RAMdisk from 00002000 to 00302000 [3072KiB] l4linux | l4lx_thread_create: Created thread 422 (timer0) (u:b3000a00, v:00000000, sp:0342ffa0) l4linux | Booting Linux on physical CPU 0x0 l4linux | Linux version 4.17.0-l4 (zhangdiming@ubuntu) (gcc version 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701] (Linaro GCC 7.3-2018.05)) #7 Mon Sep 3 02:20:06 CST 2018 l4linux | CPU: Fiasco [412fc09a] revision 10 (ARMv7), cr=00400000 l4linux | CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache l4linux | Machine: L4 l4linux | Ignoring unrecognised tag 0x00000000 l4linux | Memory policy: Data cache writealloc l4linux | CPU: All CPU(s) started in SVC mode. l4linux | INITRD: 00002000 - 00302000 l4linux | random: get_random_bytes called from start_kernel+0x9c/0x3c0 with crng_init=0 l4linux | Built 1 zonelists, mobility grouping on. Total pages: 17685 l4linux | Kernel command line: mem=64M console=ttyLv0l4x_rd=rom/ramdisk-arm.rd root=1:0 ramdisk_size=4000 l4linux | Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) l4linux | Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) l4linux | Memory: 64776K/71684K available (3028K kernel code, 196K rwdata, 664K rodata, 148K init, 539K bss, 6908K reserved, 0K cma-reserved) l4linux | Virtual kernel memory layout: l4linux | vector : 0xffff0000 - 0xffff1000 ( 4 kB) l4linux | fixmap : 0xffc00000 - 0xfff00000 (3072 kB) l4linux | vmalloc : 0x07600000 - 0x0f600000 ( 128 MB) l4linux | lowmem : 0x00000000 - 0x07600000 ( 118 MB) l4linux | modules : 0x02010000 - 0x03000000 ( 15 MB) l4linux | .text : 0x(ptrval) - 0x(ptrval) (3028 kB) l4linux | .init : 0x(ptrval) - 0x(ptrval) ( 148 kB) l4linux | .data : 0x(ptrval) - 0x(ptrval) ( 197 kB) l4linux | .bss : 0x(ptrval) - 0x(ptrval) ( 540 kB) l4linux | NR_IRQS: 282 l4linux | clocksource: l4kipclk: mask: 0xffffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 3526361616960 ns l4linux | l4timer: Using IRQ210 l4linux | sched_clock: 64 bits at 1000kHz, resolution 1000ns, wraps every 2199023255500ns l4linux | Console: colour dummy device 80x30 l4linux | console [ttyLv0] enabled l4linux | Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280) l4linux | pid_max: default: 32768 minimum: 301 l4linux | Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) l4linux | Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) l4linux | CPU: Testing write buffer coherency: ok l4linux | Setting up static identity map for 0x3000000 - 0x3000000 l4linux | VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4 l4linux | clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns l4linux | futex hash table entries: 256 (order: -1, 3072 bytes) l4linux | NET: Registered protocol family 16 l4linux | DMA: preallocated 256 KiB pool for atomic coherent allocations l4linux | Failed to create "l4x" debugfs directory: -19 l4linux | clocksource: Switched to clocksource l4kipclk l4linux | NET: Registered protocol family 2 l4linux | tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes) l4linux | TCP established hash table entries: 1024 (order: 0, 4096 bytes) l4linux | TCP bind hash table entries: 1024 (order: 0, 4096 bytes) l4linux | TCP: Hash tables configured (established 1024 bind 1024) l4linux | UDP hash table entries: 256 (order: 0, 4096 bytes) l4linux | UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) l4linux | NET: Registered protocol family 1 l4linux | Trying to unpack rootfs image as initramfs... l4linux | rootfs image is not initramfs (junk in compressed archive); looks like an initrd l4linux | INITRD: Freeing memory. l4linux | l4x: Checks passed. l4linux | NetWinder Floating Point Emulator V0.97 (double precision) l4linux | workingset: timestamp_bits=30 max_order=14 bucket_order=0 l4linux | io scheduler noop registered l4linux | io scheduler deadline registered l4linux | io scheduler cfq registered (default) l4linux | io scheduler mq-deadline registered l4linux | io scheduler kyber registered l4linux | L4 serial driver l4linux | serial-ttyLv.0: ttyLv0 at MMIO 0x1 (irq = 0, base_baud = 230400) is a L4-vcon l4linux | l4ser_shm: L4 shared mem serial driver l4linux | l4cdds: No name given, not starting. l4linux | brd: module loaded l4linux | l4bdds: No name given, not starting. l4linux | NET: Registered protocol family 17 l4linux | RAMDISK: ext2 filesystem found at block 0 l4linux | RAMDISK: Loading 3072KiB [1 disk] into ram disk... | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ done. l4linux | EXT4-fs (ram0): mounting ext2 file system using the ext4 subsystem l4linux | EXT4-fs (ram0): mounted filesystem without journal. Opts: (null) l4linux | VFS: Mounted root (ext2 filesystem) readonly on device 1:0. l4linux | Freeing unused kernel memory: 148K l4linux | This architecture does not have kernel memory protection. l4linux |
The booting stopped at here, and there is no sentance as "Please press Enter to activate this console." displayed. ============================== module.list ------------------------------------- modaddr 0x01100000
default-kernel fiasco -serial_esc default-bootstrap bootstrap
entry imx6-arm roottask moe rom/l4lx_imx6.cfg module l4re module ned module io module l4lx_imx6.cfg module imx6_hw_devices.devs module l4lx-imx6.io module vmlinuz module[perl] "ramdisk-$ENV{ARCH}.rd" ==============================
At this point I have no idea what to do any help will be much appreciated! Thank you very much!
Regards
Jason
Dear Jason,
On 09/02/2018 08:46 PM, diming.zhang@gmail.com wrote:
I'm working on building L4linux for my imx.6 arm-board. But the booting stopped before the l4linux console coming out.
I think there is a typo (missing space) in your Linux kernel command line:
l4linux | Kernel command line: mem=64M console=ttyLv0l4x_rd=rom/ramdisk-arm.rd root=1:0 ramdisk_size=4000
Do you get further if you properly separate the console and the l4x_rd arguments?
Jakub
l4-hackers@os.inf.tu-dresden.de