Hello l4-hackers,
Since I was able to correctly set up my l4re for the Raspberry Pi 2 thanks to Adam, I did a bunch of tests on the board with custom programs and following the examples on the l4/pkg/examples directory.
Therefore, I am now struggling with the ultimate test: booting and using L4Linux.
I am trying to boot a vanilla L4Linux, using the entry 'L4Linux-basic' given in the default modules.list.
Upon booting, L4Linux delivers this error :
[...] l4linux | List of all partitions: l4linux | 0100 4000 ram0 (driver?) l4linux | 0101 4000 ram1 (driver?) l4linux | 0102 4000 ram2 (driver?) l4linux | 0103 4000 ram3 (driver?) l4linux | 0104 4000 ram4 (driver?) l4linux | 0105 4000 ram5 (driver?) l4linux | 0106 4000 ram6 (driver?) l4linux | 0107 4000 ram7 (driver?) l4linux | 0108 4000 ram8 (driver?) l4linux | 0109 4000 ram9 (driver?) l4linux | 010a 4000 ram10 (driver?) l4linux | 010b 4000 ram11 (driver?) l4linux | 010c 4000 ram12 (driver?) l4linux | 010d 4000 ram13 (driver?) l4linux | 010e 4000 ram14 (driver?) l4linux | 010f 4000 ram15 (driver?) l4linux | No filesystem could mount root, tried: ext3 ext2 ext4 cramfs l4linux | Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0) l4linux | CPU: 0 PID: 1 Comm: swapper Not tainted 4.3.0-l4 #2 l4linux | Hardware name: L4 l4linux | [<0200cb88>] (unwind_backtrace) from [<0200583c>] (show_stack+0x10/0x14) l4linux | [<0200583c>] (show_stack) from [<020627a4>] (panic+0x7c/0x1cc) l4linux | [<020627a4>] (panic) from [<02354df0>] (mount_block_root+0x25c/0x29c) l4linux | [<02354df0>] (mount_block_root) from [<023550f4>] (prepare_namespace+0x160/0x1b4) l4linux | [<023550f4>] (prepare_namespace) from [<02354a40>] (kernel_init_freeable+0x178/0x1c0) l4linux | [<02354a40>] (kernel_init_freeable) from [<0227409c>] (kernel_init+0x8/0xec) l4linux | [<0227409c>] (kernel_init) from [<02007e34>] (ret_from_fork+0x14/0x20) l4linux | [<02007e34>] (ret_from_fork) from [<00000000>] ( (null)) l4linux | ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0) l4linux | ------------[ cut here ]------------ l4linux | WARNING: CPU: 0 PID: 1 at /home/adebut/Documents/L4Hyperviseur-LBNV/l4re-snapshot-2015123115/src/l4linux/arch/l4/kernel/main.c:2148 l4x_blink+0x10/0x50() l4linux | Modules linked in: l4linux | CPU: 0 PID: 1 Comm: swapper Not tainted 4.3.0-l4 #2 l4linux | Hardware name: L4 l4linux | [<0200cb88>] (unwind_backtrace) from [<0200583c>] (show_stack+0x10/0x14) l4linux | [<0200583c>] (show_stack) from [<0201dee4>] (warn_slowpath_common+0x78/0xb0) l4linux | [<0201dee4>] (warn_slowpath_common) from [<0201dfb8>] (warn_slowpath_null+0x1c/0x24) l4linux | [<0201dfb8>] (warn_slowpath_null) from [<02001af0>] (l4x_blink+0x10/0x50) l4linux | [<02001af0>] (l4x_blink) from [<0206289c>] (panic+0x174/0x1cc) l4linux | [<0206289c>] (panic) from [<02354df0>] (mount_block_root+0x25c/0x29c) l4linux | [<02354df0>] (mount_block_root) from [<023550f4>] (prepare_namespace+0x160/0x1b4) l4linux | [<023550f4>] (prepare_namespace) from [<02354a40>] (kernel_init_freeable+0x178/0x1c0) l4linux | [<02354a40>] (kernel_init_freeable) from [<0227409c>] (kernel_init+0x8/0xec) l4linux | [<0227409c>] (kernel_init) from [<02007e34>] (ret_from_fork+0x14/0x20) l4linux | [<02007e34>] (ret_from_fork) from [<00000000>] ( (null)) l4linux | ---[ end trace 5ed140c2c802ee32 ]--- l4linux | panic: going to sleep forever, bye l4linux | panic: going to sleep forever, bye
I cannot find any related mail on this mailing list, and therefore must ask you for some help. Could this be a partition misconfiguration ? Or is it related to the '(driver?)' warning on the partition list ?
I have attached my globalconfig.out for Fiasco and the l4lx.cfg file that I am using, built l4linux for Arm architecture and ARMv7, and is using the l4re-snapshot-2015123115 with its ramdisk associated and U-boot.
Thanks in advance for your help,
On Wed Mar 09, 2016 at 17:25:25 +0100, Antoine DEBUT wrote:
Since I was able to correctly set up my l4re for the Raspberry Pi 2 thanks to Adam, I did a bunch of tests on the board with custom programs and following the examples on the l4/pkg/examples directory.
Therefore, I am now struggling with the ultimate test: booting and using L4Linux.
I am trying to boot a vanilla L4Linux, using the entry 'L4Linux-basic' given in the default modules.list.
But you configured L4Linux yourself? Because that just looks like a Linux config issue.
Upon booting, L4Linux delivers this error :
You snipped a few too many lines here, the lines above that would also be useful.
[...] l4linux | List of all partitions: l4linux | 0100 4000 ram0 (driver?) l4linux | 0101 4000 ram1 (driver?) l4linux | 0102 4000 ram2 (driver?) l4linux | 0103 4000 ram3 (driver?) l4linux | 0104 4000 ram4 (driver?) l4linux | 0105 4000 ram5 (driver?) l4linux | 0106 4000 ram6 (driver?) l4linux | 0107 4000 ram7 (driver?) l4linux | 0108 4000 ram8 (driver?) l4linux | 0109 4000 ram9 (driver?) l4linux | 010a 4000 ram10 (driver?) l4linux | 010b 4000 ram11 (driver?) l4linux | 010c 4000 ram12 (driver?) l4linux | 010d 4000 ram13 (driver?) l4linux | 010e 4000 ram14 (driver?) l4linux | 010f 4000 ram15 (driver?) l4linux | No filesystem could mount root, tried: ext3 ext2 ext4 cramfs l4linux | Kernel panic - not syncing: VFS: Unable to mount root fs on
I cannot find any related mail on this mailing list, and therefore must ask you for some help. Could this be a partition misconfiguration ? Or is it related to the '(driver?)' warning on the partition list ?
I have attached my globalconfig.out for Fiasco and the l4lx.cfg file that I am using, built l4linux for Arm architecture and ARMv7, and is using the l4re-snapshot-2015123115 with its ramdisk associated and U-boot.
The Linux config would be more valuable here. :) Is CONFIG_BLK_DEV_RAM enabled?
Adam
Hello Adam,
Thank you for your quick answer!
But you configured L4Linux yourself? Because that just looks like a Linux config issue.
I did run the 'arm_defconfig' for L4Linux build process, and modified the System Type to Armv7. That is the only configuration modification I did, besides the .cfg file.
You snipped a few too many lines here, the lines above that would also be useful.
Sorry, I didn't want to overcharge the mail in a first place. Here are the lines above, starting from Ned loading the .cfg:
Ned: loading file: 'rom/l4lx.cfg' l4linux | libio: Warning: Query of 'vbus' failed! l4linux | PH 0 (t: 1) offs=00008000 vaddr=02000000 vend=02423814 l4linux | phys=02000000 ephys=02423814 l4linux | f_sz=0039d394 memsz=00423814 flgs=rwx l4linux | PH 1 (t: 4) offs=0035b080 vaddr=02353080 vend=023530a4 l4linux | phys=02353080 ephys=023530a4 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 0x20002f0, argc=7 argv=0xafff4f8c *argv=0xb1007ff4 argv0=rom/vmlinuz l4linux | External resolver is at 0xa8000764 l4linux | ======> L4Linux starting... <======== l4linux | Linux version 4.3.0-l4 (adebut@PC-MARGAERY) (gcc version 4.8.3 20140303 (prerelease) (crosstool6 l4linux | Binary name: rom/vmlinuz l4linux | This is an AEABI build. l4linux | Linux kernel command line (6 args): mem=64M earlyprintk=1 console=ttyLv0 l4x_rd=rom/ramdisk-arm0 l4linux | CPU mapping (l:p)[1]: 0:0 l4linux | Image: 02000000 - 02600000 [6144 KiB]. l4linux | Areas: Text: 02000000 - 023530a4 [3404kB] l4linux | RO-Data: 0227b000 - 0233d000 [776kB] l4linux | Data: 02378000 - 02398020 [128kB] l4linux | Init: 02354000 - 02378000 [144kB] l4linux | BSS: 0239d394 - 02423814 [537kB] l4linux | Device scan: l4linux | Device scan done. l4linux | l4lx_thread_create: Created thread 41a (cpu0) (u:b3000e00, v:b3000c00, sp:02379fa4) l4linux | main thread will be 41a l4linux | section-with-init(-data): Virt: 0x2000000 to 0x2423813 [4238 KiB] l4linux | section-with-init(-data): Phys: 0x00886000 to 0x00ca9813, [4238 KiB] l4linux | section-with-init-text: Virt: 0x2000000 to 0x2423813 [4238 KiB] l4linux | section-with-init-text: Phys: 0x00886000 to 0x00ca9813, [4238 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: 0x2600000 to 0x65fffff [65536 KiB] l4linux | Main memory: Phys: 0x00e00000 to 0x04dfffff, [65536 KiB] l4linux | l4x: vmalloc area: 06600000 - 0e600000 l4linux | text: Virt: 0x2000000 to 0x2423813 [4238 KiB] l4linux | text: Phys: 0x00886000 to 0x00ca9813, [4238 KiB] l4linux | Loading: rom/ramdisk-arm.rd l4linux | INITRD: Size of RAMdisk is 0KiB l4linux | RAMdisk from 00000000 to 00000000 [0KiB] l4linux | l4lx_thread_create: Created thread 41e (timer0) (u:b3000a00, v:00000000, sp:023bbfa0) l4linux | Booting Linux on physical CPU 0x0 l4linux | Linux version 4.3.0-l4 (adebut@PC-MARGAERY) (gcc version 4.8.3 20140303 (prerelease) (crosstool6 l4linux | CPU: Fiasco [410fc075] revision 5 (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: 00000000 - 00000000 l4linux | Built 1 zonelists in Zone order, mobility grouping on. Total pages: 17717 l4linux | Kernel command line: mem=64M earlyprintk=1 console=ttyLv0 l4x_rd=rom/ramdisk-arm.rd root=0100 r0 l4linux | PID hash table entries: 512 (order: -1, 2048 bytes) l4linux | Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) l4linux | Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) l4linux | Memory: 64768K/71684K available (2628K kernel code, 128K rwdata, 776K rodata, 144K init, 537K b) l4linux | Virtual kernel memory layout: l4linux | vector : 0xbffff000 - 0xc0000000 ( 4 kB) l4linux | fixmap : 0xffc00000 - 0xfff00000 (3072 kB) l4linux | vmalloc : 0x06600000 - 0x0e600000 ( 128 MB) l4linux | lowmem : 0x00000000 - 0x06600000 ( 102 MB) l4linux | modules : Virtual kernel memory layout: l4linux | vector : 0xbffff000 - 0xc0000000 ( 4 kB) l4linux | fixmap : 0xffc00000 - 0xfff00000 (3072 kB) l4linux | vmalloc : 0x06600000 - 0x0e600000 ( 128 MB) l4linux | lowmem : 0x00000000 - 0x06600000 ( 102 MB) l4linux | moNR_IRQS:282 l4linux | l4x: Cannot query L4ICU: -2004 l4linux | clocksource: l4kipclk: mask: 0xffffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 352636161s 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... 1191.11 BogoMIPS (lpj=5955584) 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 0x2000000 - 0x2000000 l4linux | VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5 l4linux | clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns l4linux | NET: Registered protocol family 16 l4linux | DMA: preallocated 256 KiB pool for atomic coherent allocations l4linux | Failed to create "l4x" debugfs directory: 1 l4linux | clocksource: Switched to clocksource l4kipclk l4linux | NET: Registered protocol family 2 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 | l4x: Checks passed. l4linux | NetWinder Floating Point Emulator V0.97 (double precision) l4linux | futex hash table entries: 256 (order: -1, 3072 bytes) l4linux | io scheduler noop registered l4linux | io scheduler deadline registered l4linux | io scheduler cfq registered (default) 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 | mousedev: PS/2 mouse device common for all mice l4linux | NET: Registered protocol family 17
l4linux | List of all partitions: l4linux | 0100 4000 ram0 (driver?) l4linux | 0101 4000 ram1 (driver?) l4linux | 0102 4000 ram2 (driver?) l4linux | 0103 4000 ram3 (driver?) l4linux | 0104 4000 ram4 (driver?) l4linux | 0105 4000 ram5 (driver?) l4linux | 0106 4000 ram6 (driver?) l4linux | 0107 4000 ram7 (driver?) l4linux | 0108 4000 ram8 (driver?) l4linux | 0109 4000 ram9 (driver?) l4linux | 010a 4000 ram10 (driver?) l4linux | 010b 4000 ram11 (driver?) l4linux | 010c 4000 ram12 (driver?) l4linux | 010d 4000 ram13 (driver?) l4linux | 010e 4000 ram14 (driver?) l4linux | 010f 4000 ram15 (driver?) l4linux | No filesystem could mount root, tried: ext3 ext2 ext4 cramfs l4linux | Kernel panic - not syncing: VFS: Unable to mount root fs on
The Linux config would be more valuable here. :)
Yes, sure ! Forgot this one ! I gave it in attachment. :)
Is CONFIG_BLK_DEV_RAM enabled?
It is, with the following configuration : CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=4096
Also, I found out that there are a bunch of board.defconfig files for l4linux. How are they correctly called upon building l4linux ? I don't find any rules to call them, so I suppose they are chosen upon calling the arm_defconfig rule accordingly to the board chosen in building Fiasco or L4Re?
Thank you again for your time!
Antoine
Hi,
On Thu Mar 10, 2016 at 10:22:19 +0100, Antoine DEBUT wrote:
But you configured L4Linux yourself? Because that just looks like a Linux config issue.
I did run the 'arm_defconfig' for L4Linux build process, and modified the System Type to Armv7. That is the only configuration modification I did, besides the .cfg file.
Ok, switching to v7 is fine.
You snipped a few too many lines here, the lines above that would also be useful.
Sorry, I didn't want to overcharge the mail in a first place. Here are the lines above, starting from Ned loading the .cfg:
l4linux | Loading: rom/ramdisk-arm.rd l4linux | INITRD: Size of RAMdisk is 0KiB l4linux | RAMdisk from 00000000 to 00000000 [0KiB]
This is strange. It looks like it found something but then it has a zero size. Could you investigate this?
Also, I found out that there are a bunch of board.defconfig files for l4linux. How are they correctly called upon building l4linux ? I don't find any rules to call them, so I suppose they are chosen upon calling the arm_defconfig rule accordingly to the board chosen in building Fiasco or L4Re?
I'm not sure I understand what you mean with "board.defconfig". xxx_defconfig files are used like "make ... xxx_defconfig" for an initial configuration. None of the defconfig files is chosen according to any setting, that needs to be done by hand.
Adam
On Fri, 11 Mar 2016 00:13:35 +0100 Adam Lackorzynski adam@os.inf.tu-dresden.de wrote:
Hello Adam,
l4linux | Loading: rom/ramdisk-arm.rd l4linux | INITRD: Size of RAMdisk is 0KiB l4linux | RAMdisk from 00000000 to 00000000 [0KiB]
This is strange. It looks like it found something but then it has a zero size. Could you investigate this?
Yes, it was indeed from the file that the error went. In fact, I found out that my ramdisk-arm.rd was corrupted, but I still don't know how. A download fixed the issue.
I now encounter a new error, which is the following :
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 41f (timer0) (u:b3000a00, v:00000000, sp:023bbfa0) l4linux | Booting Linux on physical CPU 0x0 l4linux | Linux version 4.3.0-l4 (adebut@PC-MARGAERY) (gcc version 4.8.3 20140303 (prerelease) (crosstool6 l4linux | CPU: Fiasco [410fc075] revision 5 (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 | Built 1 zonelists in Zone order, mobility grouping on. Total pages: 17717 l4linux | Kernel command line: mem=64M console=ttyLv0 l4x_rd=rom/ramdisk-arm.rd root=1:0 ramdisk_size=400h l4linux | PID hash table entries: 512 (order: -1, 2048 bytes) l4linux | Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) l4linux | Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) l4linux | Memory: 64768K/71684K available (2628K kernel code, 128K rwdata, 776K rodata, 144K init, 537K b) l4linux | Virtual kernel memory layout: l4linux | vector : 0xbffff000 - 0xc0000000 ( 4 kB) l4linux | fixmap : 0xffc00000 - 0xfff00000 (3072 kB) l4linux | vmalloc : 0x06600000 - 0x0e600000 ( 128 MB) l4linux | lowmem : 0x00000000 - 0x06600000 ( 102 MB) l4linux | modules : Virtual kernel memory layout: l4linux | vector : 0xbffff000 - 0xc0000000 ( 4 kB) l4linux | fixmap : 0xffc00000 - 0xfff00000 (3072 kB) l4linux | vmalloc : 0x06600000 - 0x0e600000 ( 128 MB) l4linux | lowmem : 0x00000000 - 0x06600000 ( 102 MB) l4linux | moNR_IRQS:282 l4linux | l4x: Cannot query L4ICU: -2004 l4linux | clocksource: l4kipclk: mask: 0xffffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 352636161s 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... 1191.11 BogoMIPS (lpj=5955584) 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 0x2000000 - 0x2000000 l4linux | VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5 l4linux | clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns l4linux | NET: Registered protocol family 16 l4linux | DMA: preallocated 256 KiB pool for atomic coherent allocations l4linux | Failed to create "l4x" debugfs directory: 1 l4linux | clocksource: Switched to clocksource l4kipclk l4linux | NET: Registered protocol family 2 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 | futex hash table entries: 256 (order: -1, 3072 bytes) l4linux | io scheduler noop registered l4linux | io scheduler deadline registered l4linux | io scheduler cfq registered (default) 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 | mousedev: PS/2 mouse device common for all mice 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): couldn't mount as ext3 due to feature incompatibilities 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: 144K (02354000 - 02378000) l4linux | /bin/sh: can't access tty; job control turned off
I think it's related to the fact that my SD card contains two partitions: a vfat and an ext4, and that the system wants to mount it on the first one, giving an incorrect type.
Therefore, modifying the argument in the l4linux boot command doesn't change a thing. I would like to have a configuration like root=/dev/mmcblk0p2 so the l4linux would be mounted on the second partition, but can't figure how to configure it properly. Do you have any advices ?
Also, I found out that there are a bunch of board.defconfig files for l4linux. How are they correctly called upon building l4linux ? I don't find any rules to call them, so I suppose they are chosen upon calling the arm_defconfig rule accordingly to the board chosen in building Fiasco or L4Re?
I'm not sure I understand what you mean with "board.defconfig". xxx_defconfig files are used like "make ... xxx_defconfig" for an initial configuration. None of the defconfig files is chosen according to any setting, that needs to be done by hand.
I was talking about the configuration files given in the l4linux/arch/arm/configs/ directory, and wondered if the corresponding board was chosen, so you did answer me. :)
Thanks a lot for your time and your answers,
Antoine
Hi,
On Mon Mar 14, 2016 at 15:45:27 +0100, Antoine DEBUT wrote:
I now encounter a new error, which is the following :
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 41f (timer0) (u:b3000a00, v:00000000, sp:023bbfa0) l4linux | Booting Linux on physical CPU 0x0 l4linux | Linux version 4.3.0-l4 (adebut@PC-MARGAERY) (gcc version 4.8.3 20140303 (prerelease) (crosstool6 l4linux | CPU: Fiasco [410fc075] revision 5 (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 | Built 1 zonelists in Zone order, mobility grouping on. Total pages: 17717 l4linux | Kernel command line: mem=64M console=ttyLv0 l4x_rd=rom/ramdisk-arm.rd root=1:0 ramdisk_size=400h l4linux | PID hash table entries: 512 (order: -1, 2048 bytes) l4linux | Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) l4linux | Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) l4linux | Memory: 64768K/71684K available (2628K kernel code, 128K rwdata, 776K rodata, 144K init, 537K b) l4linux | Virtual kernel memory layout: l4linux | vector : 0xbffff000 - 0xc0000000 ( 4 kB) l4linux | fixmap : 0xffc00000 - 0xfff00000 (3072 kB) l4linux | vmalloc : 0x06600000 - 0x0e600000 ( 128 MB) l4linux | lowmem : 0x00000000 - 0x06600000 ( 102 MB) l4linux | modules : Virtual kernel memory layout: l4linux | vector : 0xbffff000 - 0xc0000000 ( 4 kB) l4linux | fixmap : 0xffc00000 - 0xfff00000 (3072 kB) l4linux | vmalloc : 0x06600000 - 0x0e600000 ( 128 MB) l4linux | lowmem : 0x00000000 - 0x06600000 ( 102 MB) l4linux | moNR_IRQS:282 l4linux | l4x: Cannot query L4ICU: -2004 l4linux | clocksource: l4kipclk: mask: 0xffffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 352636161s 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... 1191.11 BogoMIPS (lpj=5955584) 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 0x2000000 - 0x2000000 l4linux | VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5 l4linux | clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns l4linux | NET: Registered protocol family 16 l4linux | DMA: preallocated 256 KiB pool for atomic coherent allocations l4linux | Failed to create "l4x" debugfs directory: 1 l4linux | clocksource: Switched to clocksource l4kipclk l4linux | NET: Registered protocol family 2 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 | futex hash table entries: 256 (order: -1, 3072 bytes) l4linux | io scheduler noop registered l4linux | io scheduler deadline registered l4linux | io scheduler cfq registered (default) 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 | mousedev: PS/2 mouse device common for all mice 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): couldn't mount as ext3 due to feature incompatibilities 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: 144K (02354000 - 02378000) l4linux | /bin/sh: can't access tty; job control turned off
I think it's related to the fact that my SD card contains two partitions: a vfat and an ext4, and that the system wants to mount it on the first one, giving an incorrect type.
You're missing the prompt? Do you use L4.Env.log in the config as used in the examples (e.g. l4lx.cfg)?
Therefore, modifying the argument in the l4linux boot command doesn't change a thing. I would like to have a configuration like root=/dev/mmcblk0p2 so the l4linux would be mounted on the second partition, but can't figure how to configure it properly. Do you have any advices ?
That requires that L4Linux accesses the corresponding controller and all devices required for that. Roughly, you'll need to add appropriate device tree entries as well as corresponding entries in io's vbus to allow L4Linux access the hardware.
Also, I found out that there are a bunch of board.defconfig files for l4linux. How are they correctly called upon building l4linux ? I don't find any rules to call them, so I suppose they are chosen upon calling the arm_defconfig rule accordingly to the board chosen in building Fiasco or L4Re?
I'm not sure I understand what you mean with "board.defconfig". xxx_defconfig files are used like "make ... xxx_defconfig" for an initial configuration. None of the defconfig files is chosen according to any setting, that needs to be done by hand.
I was talking about the configuration files given in the l4linux/arch/arm/configs/ directory, and wondered if the corresponding board was chosen, so you did answer me. :)
Ah, files in arch/arm/configs will not be used.
Adam
l4-hackers@os.inf.tu-dresden.de