Hi everybody,
I am actually trying to launch L4Linux on Fiasco.OC+L4RE on Xilinx Zynq using QEMU but I get an error at the end of the boot of L4Linux :
*/bin/sh: can't access tty; job control turned off*
*/ #*
Even if I have a shell prompt I can’t type anything, that’s why I am sending this email.
I am aware that my problem is very similar to this one http://os.inf.tu-dresden.de/pipermail/l4-hackers/2013/005920.html but I tried every solution you suggested.
I am working under *Ubuntu 64bits 14.04* and I am compiling with *arm-linux-gnueabi-gcc 4.7.3*.
To emulate the *Xilinx Zynq*, I’m using *QEMU emulator version 2.0.50* configured this way :
*./configure --target-list="arm-softmmu,microblazeel-softmmu" --enable-fdt --disable-kvm*
To launch QEMU, here is my command line :
*qemu-system-arm -M arm-generic-fdt -dtb ~/Documents/zynq-zc706.dtb -kernel ~/Documents/gitL4/l4-hypervisor/build/l4/images/bootstrap.elf -serial mon:stdio*
Zynq is ARM so I’m using this ramdisk :
http://os.inf.tu-dresden.de/download/ramdisk-arm.rd
You can find below my serial output, my modules.list file and my l4lx.cfg file.
Thanks in advance,
Louis.
Here is my serial output :
*SPI device 0x7f7d798ea450*
*L4 Bootstrapper*
* Build: #2 Fri Jan 30 10:04:49 CET 2015, 4.7.3*
* Scanning up to 512 MB RAM*
* Memory size is 512MB (00100000 - 200fffff)*
* RAM: 0000000000100000 - 00000000200fffff: 524288kB*
* Total RAM: 512MB*
* mod09: 0166f000-0196f000: ramdisk-arm.rd*
* mod08: 01325000-0166e47c: vmlinuz.arm*
* mod07: 01324000-013240bd: arm-rv.io http://arm-rv.io*
* mod06: 0120e000-01323704: io*
* mod05: 0120d000-0120d189: l4lx.cfg*
* mod04: 011ba000-0120cbd4: ned*
* mod03: 011a0000-011b9458: l4re*
* mod02: 0116e000-0119f624: moe*
* mod01: 01164000-0116d33c: sigma0*
* mod00: 01115000-01163828: fiasco*
* Moving up to 10 modules behind 1200000*
* moving module 00 { 1115000-1163827 } -> { 1a5a000-1aa8827 } [321576]*
* moving module 01 { 1164000-116d33b } -> { 1aa9000-1ab233b } [37692]*
* moving module 02 { 116e000-119f623 } -> { 1ab3000-1ae4623 } [202276]*
* moving module 03 { 11a0000-11b9457 } -> { 196f000-1988457 } [103512]*
* moving module 04 { 11ba000-120cbd3 } -> { 1989000-19dbbd3 } [338900]*
* moving module 05 { 120d000-120d188 } -> { 1200000-1200188 } [393]*
* moving module 06 { 120e000-1323703 } -> { 1201000-1316703 } [1136388]*
* moving module 07 { 1324000-13240bc } -> { 1317000-13170bc } [189]*
* moving module 08 { 1325000-166e47b } -> { 1318000-166147b } [3445884]*
* moving module 09 { 166f000-196efff } -> { 1662000-1961fff } [3145728]*
* moving module 03 { 196f000-1988457 } -> { 1962000-197b457 } [103512]*
* moving module 04 { 1989000-19dbbd3 } -> { 197c000-19cebd3 } [338900]*
* Scanning fiasco -serial_esc*
* Scanning sigma0*
* Scanning moe rom/l4lx.cfg*
* Relocated mbi to [0x110e000-0x110e15d]*
* Loading fiasco*
* Loading sigma0*
* Loading moe*
* find kernel info page...*
* found kernel info page at 0x102000*
*Regions of list 'regions'*
* [ 101000, 101b3f] { b40} Kern fiasco*
* [ 102000, 15efff] { 5d000} Kern fiasco*
* [ 190000, 1965fb] { 65fc} Sigma0 sigma0*
* [ 198000, 19e17b] { 617c} Sigma0 sigma0*
* [ 240000, 26cafb] { 2cafc} Root moe*
* [ 270000, 286f0f] { 16f10} Root moe*
* [ 1100000, 11143f3] { 143f4} Boot bootstrap*
* [ 110a000, 110a121] { 122} Boot mbi*
* [ 110e000, 110e25a] { 25b} Root Multiboot info*
* [ 1114048, 111409f] { 58} Boot mbi*
* [ 1200000, 19cebd3] { 7cebd4} Root Module*
*API Version: (87) experimental*
* Sigma0 config ip:00190100 sp:01113de4*
*Roottask config ip:00240260 sp:00000000*
* Starting kernel fiasco at 001012fc*
*Hello from Startup::stage2*
*Number of IRQs available at this GIC: 96*
*Cache config: ON*
*ID_PFR[01]: 00001031 00000011 ID_[DA]FR0: 00000000 00000000*
*ID_MMFR[04]: 00100103 20000000 01230000 00002111*
*-----Gpt_ticks : 1638 -----*
*L2: ID=00000000 Type=00000000 Aux=00000000 WMask=ff S=1*
*L2: Type L2C-Unknown Size = 0kB*
*SERIAL ESC: allocated IRQ 82 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: 72df873 compiled with gcc 4.7.3 for zynq [] *
*Build: #1 Fri Jan 30 09:52:25 CET 2015 *
*Calibrating timer loop... done.*
*MDB: use page size: 20*
*MDB: use page size: 12*
*SIGMA0: Hello!*
* KIP @ 102000*
* allocated 4KB for maintenance structures*
*SIGMA0: Dump of all resource maps*
*RAM:------------------------*
*[0:100000;100fff]*
*[0:15f000;18ffff]*
*[0:197000;197fff]*
*[0:19f000;23ffff]*
*[4:240000;26cfff]*
*[0:26d000;26ffff]*
*[4:270000;286fff]*
*[0:287000;110dfff]*
*[4:110e000;110efff]*
*[0:110f000;11fffff]*
*[4:1200000;19cefff]*
*[0:19cf000;1f0fffff]*
*IOMEM:----------------------*
*[0:0;fffff]*
*[0:20100000;ffffffff]*
*MOE: Hello world*
*MOE: found 499200 KByte free memory*
*MOE: found RAM from 100000 to 1f100000*
*MOE: allocated 496 KByte for the page array @0x19f000*
*MOE: virtual user address space [0-bfffffff]*
*MOE: rom name space cap -> [C:501000]*
* BOOTFS: [1962000-197b458] [C:503000] l4re*
* BOOTFS: [197c000-19cebd4] [C:504000] ned*
* BOOTFS: [1200000-1200189] [C:505000] l4lx.cfg*
* BOOTFS: [1201000-1316704] [C:506000] io*
* BOOTFS: [1317000-13170bd] [C:507000] arm-rv.io http://arm-rv.io*
* BOOTFS: [1318000-166147c] [C:508000] vmlinuz.arm*
* BOOTFS: [1662000-1962000] [C:509000] ramdisk-arm.rd*
*MOE: cmdline: moe rom/l4lx.cfg*
*MOE: Starting: rom/ned rom/l4lx.cfg*
*MOE: loading 'rom/ned'*
*Ned says: Hi World!*
*Ned: loading file: 'rom/l4lx.cfg'*
*l4linux | libio: Warning: Query of 'vbus' failed!*
*l4linux | PH 0 (t: 1) offs=00008000 vaddr=02000000 vend=023b4f8c*
*l4linux | phys=02000000 ephys=023b4f8c*
*l4linux | f_sz=003303b6 memsz=003b4f8c flgs=rwx*
*l4linux | PH 1 (t: 4) offs=002f401c vaddr=022ec01c vend=022ec040*
*l4linux | phys=022ec01c ephys=022ec040*
*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 0x20002a0, argc=7 argv=0x80007f8c *argv=0xb1007ff0 argv0=rom/vmlinuz.arm*
*l4linux | External resolver is at 0xa8000788*
*l4linux | ======> L4Linux starting... <========*
*l4linux | Linux version 3.13.0-l4 (novasys@vmxub) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1) ) #1 Fri Jan 30 10:04:39 CET 2015 *
*l4linux | Binary name: rom/vmlinuz.arm*
*l4linux | This is an AEABI build.*
*l4linux | Linux kernel command line (6 args): mem=64M console=ttyLv0 l4x_rd=rom/ramdisk-arm.rd root=1:0 ramdisk_size=4000 init=/bin/sh *
*l4linux | CPU mapping (l:p)[1]: 0:0*
*l4linux | Image: 02000000 - 02400000 [4096 KiB].*
*l4linux | Areas: Text: 02000000 - 0230a000 [3112kB] (a bit longer)*
*l4linux | Data: 0230a000 - 0232b7c0 [133kB]*
*l4linux | Initdata: 022ed000 - 02309d5c [115kB]*
*l4linux | BSS: 023303b6 - 023b4f8c [530kB]*
*l4linux | Device scan:*
*l4linux | Device scan done.*
*l4linux | l4lx_thread_create: Created thread 413 (cpu0) (u:b3000e00, v:b3000c00, sp:0230bfa4)*
*l4linux | main thread will be 413*
*l4linux | l4x_register_pointer_section: addr = 02000000 size = 3887104*
*l4linux | section-with-init: Virt: 0x2000000 to 0x23b4f8b [3795 KiB]*
*l4linux | section-with-init: Phys: 0x0038d000 to 0x00741f8b, [3795 KiB]*
*l4linux | Main thread running, waiting...*
*l4linux | L4x: Memory size: 64MB*
*l4linux | L4x: Setting superpages for main memory*
*l4linux | L4x: Adjusted memory start: 02000000*
*l4linux | Main memory: Virt: 0x2400000 to 0x63fffff [65536 KiB]*
*l4linux | Main memory: Phys: 0x01a00000 to 0x059fffff, [65536 KiB]*
*l4linux | l4x: vmalloc area: 06400000 - 0e400000*
*l4linux | l4x_register_pointer_section: addr = 02000000 size = 3887104*
*l4linux | text: Virt: 0x2000000 to 0x23b4f8b [3795 KiB]*
*l4linux | text: Phys: 0x0038d000 to 0x00741f8b, [3795 KiB]*
*l4linux | l4x_rd_path: rom/ramdisk-arm.rd*
*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 418 (timer) (u:b3000a00, v:00000000, sp:0234dfa0)*
*Booting Linux on physical CPU 0x0*
*Linux version 3.13.0-l4 (novasys@vmxub) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1) ) #1 Fri Jan 30 10:04:39 CET 2015*
*CPU: Fiasco [410fc090] revision 0 (ARMv7), cr=00000000*
*CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache*
*Machine: L4*
*Memory policy: Data cache writeback*
*INITRD: 00002000 - 00302000*
*Built 1 zonelists in Zone order, mobility grouping on. Total pages: 17209*
*Kernel command line: mem=64M console=ttyLv0 l4x_rd=rom/ramdisk-arm.rd root=1:0 ramdisk_size=4000 init=/bin/sh*
*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: 64804K/69636K available (2328K kernel code, 133K rwdata, 664K rodata, 115K init, 530K bss, 4832K reserved)*
*Virtual kernel memory layout:*
* vector : 0xbffff000 - 0xc0000000 ( 4 kB)*
* fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)*
* vmalloc : 0x06400000 - 0x0e400000 ( 128 MB)*
* lowmem : 0x00000000 - 0x06400000 ( 100 MB)*
* modules : Virtual kernel memory layout:*
* vector : 0xbffff000 - 0xc0000000 ( 4 kB)*
* fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)*
* vmalloc : 0x06400000 - 0x0e400000 ( 128 MB)*
* lowmem : 0x00000000 - 0x06400000 ( 100 MB)*
* moNR_IRQS:220*
*l4timer: Using IRQ210*
*sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps every 2147483648000ns*
*Console: colour dummy device 80x30*
*console [ttyLv0] enabled*
*Calibrating delay loop... 2636.18 BogoMIPS (lpj=13180928)*
*pid_max: default: 32768 minimum: 301*
*Mount-cache hash table entries: 512*
*CPU: Testing write buffer coherency: ok*
*Setting up static identity map for 0x222f940 - 0x222f940*
*NET: Registered protocol family 16*
*DMA: preallocated 256 KiB pool for atomic coherent allocations*
*bio: create slab <bio-0> at 0*
*Failed to create "l4x" debugfs directory: 1*
*Switched to clocksource l4kipclk*
*NET: Registered protocol family 2*
*TCP established hash table entries: 1024 (order: 0, 4096 bytes)*
*TCP bind hash table entries: 1024 (order: 0, 4096 bytes)*
*TCP: Hash tables configured (established 1024 bind 1024)*
*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.*
*l4x: Checks passed.*
*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 = 211, base_baud = 230400) is a L4*
*l4ser_shm: L4 shared mem serial driver*
*l4cdds: No name given, not starting.*
*brd: module loaded*
*l4bdds: No name given, not starting.*
*mousedev: PS/2 mouse device common for all mice*
*TCP: cubic registered*
*NET: Registered protocol family 17*
*RAMDISK: ext2 filesystem found at block 0*
*RAMDISK: Loading 3072KiB [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 (ram0): mounted filesystem without journal. Opts: (null)*
*VFS: Mounted root (ext2 filesystem) readonly on device 1:0.*
*Freeing unused kernel memory: 112K (022ed000 - 02309000)*
*/bin/sh: can't access tty; job control turned off*
*/ #*
Here is my modules.list :
*modaddr 0x01100000*
*default-kernel fiasco -serial_esc*
*default-bootstrap bootstrap*
*entry L4Linux ARM*
*roottask moe rom/l4lx.cfg*
*module l4re*
*module ned*
*module l4lx.cfg*
*module io*
*module arm-rv.io http://arm-rv.io*
*module vmlinuz.arm*
*module ramdisk-arm.rd*
Here is my l4lx.cfg :
*-- vim:set ft=lua:*
*local lxname = "vmlinuz";*
*if L4.Info.arch() == "arm" then*
* lxname = "vmlinuz.arm";*
*end*
*L4.default_loader:start(*
* { caps = {*
* log = L4.Env.log:m("rws"),*
* },*
* l4re_dbg = L4.Dbg.Warn,*
* log = { "l4linux", "yellow" },*
* },*
* "rom/" .. lxname .. " mem=64M console=ttyLv0 l4x_rd=rom/ramdisk-" .. L4.Info.arch() .. ".rd root=1:0 ramdisk_size=4000 init=/bin/sh");*
But I also tried this one :
*-- vim:set ft=lua:*
*local lxname = "vmlinuz";*
*if L4.Info.arch() == "arm" then*
* lxname = "vmlinuz.arm";*
*end*
*L4.default_loader:start(*
* { caps = {*
* },*
* l4re_dbg = L4.Dbg.Warn,*
* log = L4.Env.log,*
* },*
* "rom/" .. lxname .. " mem=64M console=ttyLv0 l4x_rd=rom/ramdisk-" .. L4.Info.arch() .. ".rd root=1:0 ramdisk_size=4000 init=/bin/sh");*
On Fri Jan 30, 2015 at 12:54:52 +0100, Piwe li wrote:
I am actually trying to launch L4Linux on Fiasco.OC+L4RE on Xilinx Zynq using QEMU but I get an error at the end of the boot of L4Linux :
*/bin/sh: can't access tty; job control turned off*
This is a standard message when launching the shell with init=/bin/sh, it's not L4Linux specific.
*/ #*
Even if I have a shell prompt I can’t type anything, that’s why I am sending this email.
Does pressing ESC get you into Fiasco's jdb?
Otherwise the configs do not show me anything obvious wrong right now.
I am aware that my problem is very similar to this one http://os.inf.tu-dresden.de/pipermail/l4-hackers/2013/005920.html but I tried every solution you suggested.
I am working under *Ubuntu 64bits 14.04* and I am compiling with *arm-linux-gnueabi-gcc 4.7.3*.
To emulate the *Xilinx Zynq*, I’m using *QEMU emulator version 2.0.50* configured this way :
*./configure --target-list="arm-softmmu,microblazeel-softmmu" --enable-fdt --disable-kvm*
To launch QEMU, here is my command line :
*qemu-system-arm -M arm-generic-fdt -dtb ~/Documents/zynq-zc706.dtb -kernel ~/Documents/gitL4/l4-hypervisor/build/l4/images/bootstrap.elf -serial mon:stdio*
Zynq is ARM so I’m using this ramdisk : http://os.inf.tu-dresden.de/download/ramdisk-arm.rd
You can find below my serial output, my modules.list file and my l4lx.cfg file.
Adam
l4-hackers@os.inf.tu-dresden.de