Hello Kent,

Thanks for the reply :) The moving/copying was to demonstrate the differences between the tutorial and the solution. Creating and completing a new copy of the tutorial doesn't give the expected results either.

My understanding is, when we run "./init --tut hello-camkes-1", the build directory is immediately built off the incomplete tutorial, hence it's missing client.instance.bin.dir etc. This isn't fixed when we complete the tutorial and ninja. Hence when someone goes through the tutorial, it doesn't give the expected "Starting the client". If this is the case, could you point me to where I can rectify this?

On an separate note, I'm experiencing the same issues as https://sel4.systems/pipermail/devel/2018-October/002221.html. The simulate script exists, but qemu (at least 2.5.0+) seems to only allow "kernel-irqchip=on|off", not split. May I know which version of qemu we should be using?

Regards,
Leow Wei Xiang

On Tue, Dec 18, 2018 at 2:10 PM <Kent.Mcleod@data61.csiro.au> wrote:

Hi,


Renaming the source directory and the build directories aren't supported as CMake and Ninja rely on the absolute and relative paths remaining consistent.  You are still able to copy the contents of the source directory from the solution into the source directory of the non solution and use the same build directory.  The reason why you only see ...Booting all finished is because when the tutorial starts, there are no components defined in the camkes assembly, so no components will be loaded by the initial task.  This is why you don't see any output.


I don't believe there is an issue, but let me know if I have misunderstood what you meant.


Kind regards,

Kent.




From: Devel <devel-bounces@sel4.systems> on behalf of Wei Xiang Leow <leowweixiang1991@gmail.com>
Sent: Tuesday, December 18, 2018 4:42 PM
To: devel@sel4.systems
Subject: [seL4] CAmkES tutorial build system
 
Hello, there seem to be issues with the tutorial build system, at least for CAmkES tutorial 1. After adding the necessary details and running, I get "...Booting all finished", no further messages. The solution runs fine, I get "Starting the client" etc.

Made fresh copies of the tutorial and solution, and overwrote the tutorial's files with the solution's. Diff shows that only .tute_config (--solution) and the .md files differ. Diff on the "_build" folders shows multiple differences. I assume there is an issue there?

mkdir tutorial; mkdir solution
./init --tut hello-camkes-1
mv hello-camkes-1 tutorial
mv hello-camkes-1_build tutorial
./init --tut hello-camkes-1 --solution
mv hello-camkes-1 solution
mv hello-camkes-1_build solution
cp solution/hello-camkes-1/hello-1.camkes tutorial/hello-camkes-1/hello-1.camkes
diff -rq tutorial/hello-camkes-1 solution/hello-camkes-1
############################
Files tutorial/hello-camkes-1/hello-camkes-1.md and solution/hello-camkes-1/hello-camkes-1.md differ
Files tutorial/hello-camkes-1/.tute_config and solution/hello-camkes-1/.tute_config differ
############################

diff -rq tutorial/hello-camkes-1_build solution/hello-camkes-1_build
############################
Files tutorial/hello-camkes-1_build/build.ninja and solution/hello-camkes-1_build/build.ninja differ
Files tutorial/hello-camkes-1_build/CMakeFiles/CMakeOutput.log and solution/hello-camkes-1_build/CMakeFiles/CMakeOutput.log differ
Files tutorial/hello-camkes-1_build/CMakeFiles/TargetDirectories.txt and solution/hello-camkes-1_build/CMakeFiles/TargetDirectories.txt differ
Files tutorial/hello-camkes-1_build/hello-camkes-1/ast.pickle and solution/hello-camkes-1_build/hello-camkes-1/ast.pickle differ
Files tutorial/hello-camkes-1_build/hello-camkes-1/camkes-gen.cmake and solution/hello-camkes-1_build/hello-camkes-1/camkes-gen.cmake differ
Only in solution/hello-camkes-1_build/hello-camkes-1/CMakeFiles: client.instance.bin.dir
Only in solution/hello-camkes-1_build/hello-camkes-1/CMakeFiles: echo.instance.bin.dir
Files tutorial/hello-camkes-1_build/projects/sel4-tutorials/hello-camkes-1/old/hello-1.camkes and solution/hello-camkes-1_build/projects/sel4-tutorials/hello-camkes-1/old/hello-1.camkes differ
Files tutorial/hello-camkes-1_build/projects/sel4-tutorials/hello-camkes-1/old/hello-camkes-1.md and solution/hello-camkes-1_build/projects/sel4-tutorials/hello-camkes-1/old/hello-camkes-1.md differ
Files tutorial/hello-camkes-1_build/rules.ninja and solution/hello-camkes-1_build/rules.ninja differ
############################

cp -r tutorial/hello-camkes-1 hello-camkes-1
cp -r tutorial/hello-camkes-1_build hello-camkes-1_build
cd hello-camkes-1_build
ninja
./simulate
############################
...
Booting all finished, dropped to user space
############################

<another terminal>
rm -r hello-camkes-1
rm -r hello-camkes-1_build
cp -r solution/hello-camkes-1 hello-camkes-1
cp -r solution/hello-camkes-1_build hello-camkes-1_build
cd hello-camkes-1_build
ninja
./simulate
############################
...
Booting all finished, dropped to user space
Starting the client
-------------------
Component echo saying: hello world
After the client
############################

Regards,
Leow Wei Xiang