Hi,


I cannot think of any reasons why Linux3.10 wouldn't also work other than making similar modifications that we made to Linux4.3.  The list of modifications that we made can be seen here: https://github.com/SEL4PROJ/linux-tegra/commits/sel4


If you wanted to try and add support for that version yourself, I would start by trying to build the current supported Linux version from source as described here: https://github.com/SEL4PROJ/camkes-arm-vm/blob/master/README.md 

Once you have that working, then change out the source version of Linux with the version you would like to use.  Then update the buildroot config to use the correct toolchains, kernel headers and source for the version you want.  ​

You will then need to make changes to the Linux source so that it can run in the different hardware environment the vmm presents to it.  This mostly relates to changes in the device tree layout file and anywhere in the sources where hardware values are hard coded.  I would start trying to get the primary debug uart working first which will then make it easier to debug what is happening as you try and get Linux to initialise.  


Hope this helps,


Kind regards,

Kent McLeod


From: li94575 <li94575@163.com>
Sent: Thursday, July 6, 2017 12:39 AM
To: Mcleod, Kent (Data61, Kensington NSW)
Cc: devel
Subject: Re: [seL4] Can I run Android on camkes-arm-vm with tk1 board?
 
Haha, I can be sure that error is due to the lack of FPU supporting. I have updated to the latest version of camkes-arm-vm, and that error is has gone.
But this version of Linux doesn't seem to be able to start Android. The Android 5.0 provided by Nvidia's official community for tk1 board is based on Linux3.10,
which is very different from the current Linux4.3. If I want to use that version of Linux to run on the VM, what do I need to do?
Thanks in advance!

At 2017-06-29 10:17:17, Kent.Mcleod@data61.csiro.au wrote:

Hi,

I can't tell from your output if the kernel had started the init task yet or not.  If the init task has been started, this error usually indicates a toolchain that is trying to use FPU, which is not currently supported.  FPU support that enables floating point toolchains on arm should be released soon.  There will likely be an announcement on the mailing list when this happens.


Kind regards,

Kent McLeod


From: Devel <devel-bounces@sel4.systems> on behalf of li94575 <li94575@163.com>
Sent: Thursday, June 29, 2017 11:19 AM
To: devel
Subject: [seL4] Can I run Android on camkes-arm-vm with tk1 board?
 
Hi,
Now, Linux4.3 kernel can work well on camkes-arm-vm, does that mean we can run an Android system based on this kernel?
I have tried to replace the roofs with an Android ramdisk, but Linux can not excute  the Init program. The error is showing below:

[   10.598871] Freeing unused kernel memory: 4168K (c0a74000 - c0e86000)
[   10.761443] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004
[   10.761443]
[   10.770568] CPU: 0 PID: 1 Comm: init Tainted: G        W       4.3.0-rc5-00024-gec4c02c-dirty #122
[   10.779510] Hardware name: NVIDIA Tegra SoC (Flattened Device Tree)
[   10.785795] [<c00167ec>] (unwind_backtrace) from [<c0012958>] (show_stack+0x10/0x14)
[   10.793537] [<c0012958>] (show_stack) from [<c008f054>] (panic+0x94/0x220)
[   10.800407] [<c008f054>] (panic) from [<c0025b9c>] (do_exit+0x7fc/0x8f4)
[   10.807101] [<c0025b9c>] (do_exit) from [<c0025d70>] (do_group_exit+0x3c/0xf0)
[   10.814318] [<c0025d70>] (do_group_exit) from [<c002f3ec>] (get_signal+0x1a4/0x754)
[   10.821971] [<c002f3ec>] (get_signal) from [<c001a748>] (do_signal+0x84/0x61c)
[   10.829188] [<c001a748>] (do_signal) from [<c0012604>] (do_work_pending+0xa4/0xb4)
[   10.836750] [<c0012604>] (do_work_pending) from [<c000f6b4>] (slow_work_pending+0xc/0x20)
[   10.844919] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004

Is this a problem that current VMM does not support FPU? or other reasons caused the problem?