Booting L4Linux on Raspberry Pi 2

Antoine DEBUT adebut at pactenovation.fr
Mon Mar 14 15:45:27 CET 2016


On Fri, 11 Mar 2016 00:13:35 +0100
Adam Lackorzynski <adam at 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 at 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
-- 
Antoine Debut 
EPITA 2016 - GISTRE
-------------- next part --------------
A non-text attachment was scrubbed...
Name: globalconfig.out
Type: application/octet-stream
Size: 1962 bytes
Desc: not available
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20160314/b0df7c9c/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config
Type: application/octet-stream
Size: 5177 bytes
Desc: not available
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20160314/b0df7c9c/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config
Type: application/octet-stream
Size: 40273 bytes
Desc: not available
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20160314/b0df7c9c/attachment-0002.obj>


More information about the l4-hackers mailing list