Hi Adam,

Here is what I notice now: it seems to be related to memory settings somehow. Even though my ramdisk is indeed smaller than half the ram size I assign to the linux instance loading it, the presence of other L4Re executables (that take their share of the global memory...) has an impact, as illustrated in the tests below:

Test 1:
- I am running two instances of L4Linux simultaneously. The first instance gets 16Mb RAM and has a ramdisk of ~3Mb, while the second instance gets 40Mb RAM and has a ramdisk of 16Mb => in this case the boot fails in the second linux instance, with the symptoms I mentionned earlier, when loading the 16Mb ramdisk (full log attached)

Test 2:
- same setup, but I comment out the creation of the first linux instance in the boot script => in this case the 16Mb ramdisk is properly loaded in the "second" linux and boot is OK (full log attached)

Test 3:
- similar setup as test 1, running two linux instances, but this time reducing the ramdisk in the second instance to 8Mb instead of 16Mb: boot is OK in this case too (full log attached)

Do the logs and/or my test descriptions above allow to understand the reason for the failed case ?
As a side question, I see at boot time that Fiasco uses a total of only 128 Mb of RAM, whereas the Beagleboard xM I am using has 512 Mb RAM. Is this amount predefined somewhere in Fiasco, or does it autodetect available RAM at boot time ? (and in this case why doesn't it see the full 512 Mb ?)

Thanks,
Julien

On Thu, Mar 31, 2011 at 10:40 PM, Julien HEYMAN <bidsomail@gmail.com> wrote:
Thank you for the prompt reply. I don't have access to my Beagleboard right now, but I'll redo the test and capture the full boot log as soon as I can.

Julien

On Mar 31, 2011, at 6:55 PM, Adam Lackorzynski wrote:

> Hi,
>
> On Thu Mar 31, 2011 at 12:16:05 +0200, Julien Heyman wrote:
>> I am using Fiasco.OC/L4Re/L4Linux on a Beagleboard. After having
>> successfully used/customized the L4Linux ramdisk provided as part of the
>> snapshot, I created a larger ramdisk (8Mb instead of ~3Mb) from scratch and
>> adjusted the "ramdisk_size" option on the linux boot args line in my LUA
>> script, and rebuilt my u-boot image. I then get plenty of errors during
>> linux boot, starting with:
>>
>> RAMDISK: ext2 filesystem found at block 0
>> RAMDISK: Loading 8000KiB [1 disk] into ram disk... l4linux1| Non-resolvable
>> page fault at e0d1619, ip 170384.
>> l4linux1| Page fault (non-resolved): pfa=e0d1619 pc=170384
>> l4linux1| Non-resolvable page fault at e0d161a, ip 170384.
>>
>> Internal error: Boom!: 410005 [#1]
>> etc...
>>
>> My questions:
>> - is there a specific way to create a ramdisk file for l4linux, and/or
>> specific constraints on the ramdisk size ?
>
> No specific way. Ramdisk size should not exceed half of the memory given
> to L4Linux itself. This should not happen to you as there's a check
> preventing this pitfall.
>
>> - am I missing other configuration parameters than ramdisk_size that should
>> be adjusted to reflect the larger ramdisk size ?
>
> No, ramdisk_size is enough. There's something different happening here.
> Can you tell me where 0x170384 is in the binary? Probably the backtrace
> was printed. Is there anything strange in the bootup log?
>
>
>
> Adam
> --
> Adam                 adam@os.inf.tu-dresden.de
>  Lackorzynski         http://os.inf.tu-dresden.de/~adam/
>
> _______________________________________________
> l4-hackers mailing list
> l4-hackers@os.inf.tu-dresden.de
> http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers