Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DOCSITE: Reorganise tutorials and add inline solutions #231

Open
wants to merge 112 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
502c045
add new structure for tutorials
bbrcknl Mar 1, 2024
3321716
add about seL4 text
bbrcknl Mar 1, 2024
ca73b83
minor update microkit page
bbrcknl Mar 1, 2024
cd889c4
rewrite tuts (incomplete)
bbrcknl Mar 4, 2024
0d7dc88
add reordered tutorial sidebar
bbrcknl Mar 4, 2024
c6e88b0
fix nav-sidebar
bbrcknl Mar 4, 2024
85b9591
rework tuts (incomplete); update navbar
bbrcknl Mar 4, 2024
f918f4a
add reworked tuts (incomplete)
bbrcknl Mar 6, 2024
fa1c85d
add reworked tuts (incomplete)
bbrcknl Mar 8, 2024
a311549
add how-to page
bbrcknl Mar 11, 2024
cb2fc67
add camkes 1 and 2 (incomplete)
bbrcknl Mar 11, 2024
9007734
update camkes 1 and 2 (incomplete)
bbrcknl Mar 11, 2024
8f11ebd
add and update camkes 2 & 3 tuts
bbrcknl Mar 13, 2024
a18f827
update camkes tuts
bbrcknl Mar 15, 2024
d63b96f
add tutorials overview page
bbrcknl Mar 15, 2024
6e8dbed
add resources
bbrcknl Mar 15, 2024
e293afc
add more resources
bbrcknl Mar 15, 2024
84168b0
replace old tut files with new
bbrcknl Mar 15, 2024
c9aaf62
change Getting Started to Working with seL4
bbrcknl Mar 15, 2024
442aacb
work on redirect for tutorial landing page
bbrcknl Mar 15, 2024
ce25b3f
organise front page, navbar and how-to page
bbrcknl Mar 18, 2024
dae73c8
fix trailing whitespace
bbrcknl Mar 18, 2024
4bfd6d9
fix broken links
bbrcknl Mar 22, 2024
1769b62
add layout for tutorial pages
bbrcknl Mar 22, 2024
98b162c
update setting up instructions
bbrcknl Apr 19, 2024
7071759
rename tutorials to match tutorials repo
bbrcknl Apr 24, 2024
438d54a
add tests for including tutorial.md
bbrcknl May 10, 2024
5fbdc58
revert docsite tutorial files to include tutes from tutorials repo
bbrcknl May 13, 2024
94045ff
fix links in nav sidebar
bbrcknl May 13, 2024
5e86114
Makefile testing code
bbrcknl May 27, 2024
104f7d0
add refs and headers to how-to page
bbrcknl May 17, 2024
4758f09
fix typo
bbrcknl May 17, 2024
c22a3e6
fix href target blank
bbrcknl May 17, 2024
61f321c
fix link
bbrcknl May 17, 2024
cd34825
expand solutions if using how-to page
bbrcknl May 20, 2024
74e0413
add css space after solution boxes
bbrcknl May 20, 2024
f159026
separate instructions for getting tutes manifest
bbrcknl May 20, 2024
afc4010
fix fault handlers link
bbrcknl May 24, 2024
8af55ad
update mcs link in fault handlers tut
bbrcknl May 24, 2024
264bdc4
add item to how-to page
bbrcknl May 27, 2024
3ecb6fa
fix whitespace error
bbrcknl May 27, 2024
43542f4
remove testing code from Makefile
bbrcknl May 27, 2024
94fe1fc
add licence to toggle-markdown.js
bbrcknl May 27, 2024
ba70bbe
remove old tutorial files
bbrcknl May 27, 2024
d3ba4f8
Update Tutorials/seL4Kernel/setting-up.md
bbrcknl Jul 10, 2024
0556ae4
Update Tutorials/seL4Kernel/setting-up.md
bbrcknl Jul 10, 2024
d28d363
Update Tutorials/seL4Kernel/setting-up.md
bbrcknl Jul 10, 2024
68c00ea
address Gerwin's high level comments (incomplete)
bbrcknl Jul 12, 2024
28d8d6d
work (incomplete) on tutorial pathways
bbrcknl Jul 12, 2024
51ad641
finish adding tutorial pathways
bbrcknl Jul 14, 2024
9b3284c
finish addressing Gerwin high-level issues
bbrcknl Jul 14, 2024
5e641fb
move toggle markdown to tutorial layout
bbrcknl Jul 14, 2024
cd0344e
fix trailing whitespace
bbrcknl Jul 14, 2024
e8ff93d
fix mattermost link
bbrcknl Jul 14, 2024
42b9c6c
address Gerwin's comments on setting-up page
bbrcknl Jul 15, 2024
6502de9
put dependencies in one line of code
bbrcknl Jul 15, 2024
c6d7a3a
fix links
bbrcknl Jul 15, 2024
3e2f994
revert to old tutorials structure
bbrcknl Jul 17, 2024
aa1e4d1
move how-to to tutorials dir
bbrcknl Jul 18, 2024
127113e
change old GettingStarted links to Resources
bbrcknl Jul 18, 2024
a134caf
add how-to to tutorials in makefile
bbrcknl Jul 18, 2024
9dd38d1
fix code in capabilities tut
bbrcknl Jul 19, 2024
0bb322a
fix path in toggle-markdown for tutes
bbrcknl Jul 19, 2024
6ff3c1a
fix typo
bbrcknl Jul 26, 2024
eb0932b
remove trace from Makefile
bbrcknl Jul 31, 2024
da53f84
fix typo Resources.md
bbrcknl Jul 31, 2024
4655aad
fix copyright year - capabilities
bbrcknl Jul 31, 2024
4791ced
remove empty lines - dynamic-1
bbrcknl Jul 31, 2024
203a9f8
fix typos in how-to
bbrcknl Jul 31, 2024
9eafb8a
fix mcs description
bbrcknl Jul 31, 2024
aefbaab
fix copyright year pathways and overview
bbrcknl Jul 31, 2024
4fd520d
minor fixes navbar
bbrcknl Jul 31, 2024
02f9734
replace dynamic-libraries with libraries
bbrcknl Jul 31, 2024
2debab4
replace dynamic libraries with libraries
bbrcknl Jul 31, 2024
fc11969
nav: fix project links
lsf37 Jul 31, 2024
ce0ef6d
nav: tweak sections in tutorial nav
lsf37 Jul 31, 2024
7a0599d
[drop] temporarily revert library rename
lsf37 Aug 1, 2024
f635bf1
tutorials: remove unused front matter description
lsf37 Aug 1, 2024
b787447
tutorial nav: factor out tutorial navigation
lsf37 Aug 1, 2024
35dd737
layouts/tutorial: remove unused code
lsf37 Aug 1, 2024
9aa4207
layout/tutorials: tweak js link
lsf37 Aug 1, 2024
a50cf29
debugging-guide: use tutorial layout
lsf37 Aug 1, 2024
1e2e4b1
tutorials: remove unused tutorial-order field
lsf37 Aug 1, 2024
09108e1
tutorials: redirect /projects/sel4-tutorials/
lsf37 Aug 1, 2024
34f5313
tutorial nav: automate "next" link
lsf37 Aug 1, 2024
48dbb59
tutorial nav: move "included from" to layout
lsf37 Aug 1, 2024
99ae7a4
Update Tutorials/get-the-tutorials.md
bbrcknl Aug 9, 2024
5578b97
Update Tutorials/get-the-tutorials.md
bbrcknl Aug 9, 2024
c4e61e4
Update Tutorials/get-the-tutorials.md
bbrcknl Aug 9, 2024
ba83f25
Update Tutorials/get-the-tutorials.md
bbrcknl Aug 9, 2024
448e41c
rename dynamic to libraries
bbrcknl Aug 9, 2024
1903f1c
fix accidental renaming in IA32.md
bbrcknl Aug 9, 2024
04c005a
change name dynamic -> libraries
bbrcknl Aug 9, 2024
8a3bc44
change dir tutorials -> Tutorials
bbrcknl Aug 9, 2024
5336a78
change libraries->dynamic in old release notes
bbrcknl Aug 11, 2024
06e6c24
consolidate two tutorials overview pages
bbrcknl Aug 12, 2024
07952f1
remove next link for external tutes
bbrcknl Aug 23, 2024
ad85e98
remove duplicate next links
bbrcknl Aug 23, 2024
6505987
fix solutions css styling and pointer
bbrcknl Aug 23, 2024
fd00916
fix pointer for expanded solutions box
bbrcknl Aug 23, 2024
fa69841
Merge branch 'master' into birg-tutorials-rework
bbrcknl Aug 23, 2024
6e5059f
remove accidental commit of camkes-vm
bbrcknl Aug 23, 2024
7620007
remove breadcrumb naming hack
bbrcknl Aug 26, 2024
bcbc394
update camkes and library headers
bbrcknl Aug 26, 2024
238fb77
remove duplicated next link
bbrcknl Sep 27, 2024
c6adfe6
add comment about filtered tut pages
bbrcknl Oct 4, 2024
6258219
revert copyright year
bbrcknl Oct 4, 2024
e20dd47
add relative_url for github preview
bbrcknl Oct 4, 2024
a2a59cd
fix js code for markdown expansions
bbrcknl Oct 4, 2024
0bc8c02
Fix Tutorial How To Links
Indanz Oct 4, 2024
5fc2d96
fix typo
bbrcknl Nov 3, 2024
1eb12d5
add descriptions to tutorial files
bbrcknl Nov 4, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Hardware/Beaglebone.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ a community-supported port.

### Requirements
We suggest using the `arm-linux-gnueabi-` cross-compilers. Use
[the instructions on getting a toolchain](/GettingStarted#getting-cross-compilers).
[the instructions on getting a toolchain](/Resources#getting-cross-compilers).

### Building

Expand Down
12 changes: 6 additions & 6 deletions Hardware/HiKey/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC.
- One HiKey Board. See
[Hikey 96Board](http://www.96boards.org/products/ce/hikey/)
- Fully working development environment. See
[Getting started](/GettingStarted)
[Resources](/Resources)

### Getting Started
The Hikey board is based around the
Expand Down Expand Up @@ -87,12 +87,12 @@ gedit LinaroPkg/platforms.config
BUILDFLAGS=-DSERIAL_BASE=0xF8015000
ATF_BUILDFLAGS=CONSOLE_BASE=PL011_UART0_BASE CRASH_CONSOLE_BASE=PL011_UART0_BASE
```
## 5. Patching the UEFI for the Hikey
## 5. Patching the UEFI for the Hikey
Obtain the patch from [edk2.patch](edk2.patch) and follow the below steps.

```bash
cd linaro-edk2
patch -p1 < ~/Downloads/edk2.patch
cd linaro-edk2
patch -p1 < ~/Downloads/edk2.patch
# Then return to the main directory hikey-flash
```

Expand Down Expand Up @@ -206,8 +206,8 @@ sudo minicom -s
7. Three terminals are then required for the following commands

```bash
# In the first terminal
ls
# In the first terminal
ls
# Note the next ttyUSBY that is observed, in addition to the current ttyUSBX

# In the third terminal
Expand Down
4 changes: 2 additions & 2 deletions Hardware/VMware/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ and for a Linux host machine. May work on Mac host machine, won't work
for Windows host (although general idea should be similar).

This guide assumes that your project is all set up and configured to
build for x86. Read [Getting started](/GettingStarted) otherwise.
build for x86. Read [Resources](/Resources) otherwise.

## Setting up a VM

Expand Down Expand Up @@ -55,7 +55,7 @@ There are three options for the serial port
set up). You'll want to apt-get install socat and then run something
like:
```bash
#!/bin/bash
#!/bin/bash
while true; do
socat -d -d UNIX-CONNECT:/tmp/vsock,forever PTY:link=/dev/tty99
done
Expand Down
6 changes: 3 additions & 3 deletions Hardware/jetsontk1.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC.

The [Jetson TK1](http://www.nvidia.com/object/jetson-tk1-embedded-dev-kit.html) is a affordable embedded system developed by NVIDIA. It runs
seL4. We will explain how to run seL4 on the Tegra.

### Pre-Requisites
* One Tegra Board. See [Jetson TK1](http://www.nvidia.com/object/jetson-tk1-embedded-dev-kit.html)
* The development environment fully working. See [Getting started](/GettingStarted)
* The development environment fully working. See [Resources](/Resources)

## Getting Started
To get started, check out the
Expand Down Expand Up @@ -94,7 +94,7 @@ to boot in nonsecure (HYP)
mode. This also enables kvm if you boot Linux.

To go back to secure mode booting do
```
```
setenv bootm_boot_mode sec
saveenv
```
Expand Down
5 changes: 4 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,10 @@ _repos/tutes:
_repos/tutes/%.md: _repos/sel4proj/sel4-tutorials/tutorials/% _repos/tutes
PYTHONPATH=_repos/sel4/capdl/python-capdl-tool _repos/sel4proj/sel4-tutorials/template.py --docsite --out-dir _repos/tutes --tut-file $</$(@F)

TUTORIALS:= $(filter-out index.md,$(notdir $(wildcard Tutorials/*.md)))
# Make tutorials
# Filter out index.md; get-the-tutorials.md; how-to.md pathways.md; setting-up.md
# which are docsite pages, and not in the tutorials repo
TUTORIALS:= $(filter-out index.md get-the-tutorials.md how-to.md pathways.md setting-up.md,$(notdir $(wildcard Tutorials/*.md)))
tutorials: ${TUTORIALS:%=_repos/tutes/%}

_generate_api_pages: $(REPOSITORIES)
Expand Down
11 changes: 8 additions & 3 deletions GettingStarted.md → Resources.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ SPDX-License-Identifier: CC-BY-SA-4.0
SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC.
---

# Getting Started
# Resources

This page is a quick start for working with seL4 and its ecosystem.
This page provides an overview of working with seL4 and its ecosystem.

## Background and terminology

Expand Down Expand Up @@ -168,7 +168,12 @@ You can find a long list of seL4 publications here:
- [seL4 is free: What does this mean for you? (2015)](https://www.youtube.com/watch?v=lRndE7rSXiI).
- [From L3 to seL4: What have we learned in 20 years of L4 microkernels? (2014)](https://www.youtube.com/watch?v=RdoaFc5-1Rk).

## Get Help
## Contact

### Forums

- [Discourse forum](https://sel4.discourse.group/)
- [Mattermost channel](https://mattermost.trustworthy.systems/sel4-external/)

### Mailing lists

Expand Down
2 changes: 1 addition & 1 deletion SuggestedProjects.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC.
# Suggested Projects


After trying the existing projects (especially those listed on [Getting started](GettingStarted))
After trying the existing projects (e.g. the [Tutorials](Tutorials))
a good way to learn the intricacies of programming on
top of seL4 is to do the exercises in the
[UNSW Advanced
Expand Down
8 changes: 4 additions & 4 deletions Tutorials/camkes-vm-crossvm.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
toc: true
title: Camkes Cross-VM communication
title: Camkes cross-VM connectors
tutorial: camkes-vm-crossvm
description: walkthrough of adding communication between Linux guests in separate VMs
tutorial-order: vm-2
description: walkthrough of adding communication between Linux guests in separate VMs.
layout: tutorial
SPDX-License-Identifier: CC-BY-SA-4.0
SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC.
---
{% include tutorial.md %}

{% include tutorial.md %}
4 changes: 2 additions & 2 deletions Tutorials/camkes-vm-linux.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ toc: true
title: Camkes VM Linux
tutorial: camkes-vm-linux
tutorial-order: vm-1
description: using Linux as a guest in the Camkes VM.
layout: tutorial
description: using Linux as a guest in the Camkes VM
SPDX-License-Identifier: CC-BY-SA-4.0
SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC.
---
{% include tutorial.md %}

5 changes: 3 additions & 2 deletions Tutorials/capabilities.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@
toc: true
title: Capabilities
tutorial: capabilities
tutorial-order: mechanisms-1
description: an introduction to capabilities in the seL4 kernel API.
layout: tutorial
description: an introduction to capabilities in the seL4 kernel API
SPDX-License-Identifier: CC-BY-SA-4.0
SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC.
---

{% include tutorial.md %}
4 changes: 2 additions & 2 deletions Tutorials/fault-handlers.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
toc: true
title: Faults
tutorial: fault-handlers
tutorial-order: mechanisms-8
description: fault (e.g virtual memory fault) handling and fault endpoints.
layout: tutorial
description: fault (e.g virtual memory fault) handling and fault endpoints
SPDX-License-Identifier: CC-BY-SA-4.0
SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC.
---
Expand Down
33 changes: 33 additions & 0 deletions Tutorials/get-the-tutorials.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
toc: true
title: Getting the tutorials
layout: tutorial
description: steps and code for getting tutorials
SPDX-License-Identifier: CC-BY-SA-4.0
SPDX-FileCopyrightText: 2024 seL4 Project a Series of LF Projects, LLC.
---

# Getting the tutorials
## Python Dependencies
The CAmkES python dependencies are required to build the [tutorials](ReworkedTutorials). To install you can run:
```
pip3 install --user camkes-deps
```
*Hint:* This step only needs to be done once, i.e. before doing your first tutorial.

## Get the code
All code for the tutorials is described in the <a href="https://github.com/seL4/sel4-tutorials-manifest">sel4-tutorials-manifest</a>. Get the code with:
```
mkdir sel4-tutorials-manifest
cd sel4-tutorials-manifest
repo init -u https://github.com/seL4/sel4-tutorials-manifest
repo sync
```

`repo sync` may take a few moments to run

*Hint:* The **Get the code** step only needs to be done once, i.e. before doing your first tutorial.

<p>
Next: <a href="hello-world">Hello world</a>
</p>
7 changes: 3 additions & 4 deletions Tutorials/hello-camkes-0.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
---
toc: true
title: Camkes
title: Hello CAmkES
tutorial: hello-camkes-0
tutorial-order: camkes-0
description: an introduction to Camkes concepts.
layout: tutorial
description: an introduction to CAmkES concepts
SPDX-License-Identifier: CC-BY-SA-4.0
SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC.
---
{% include tutorial.md %}

7 changes: 3 additions & 4 deletions Tutorials/hello-camkes-1.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
---
toc: true
title: Camkes 1
title: Introduction to CAmkES
tutorial: hello-camkes-1
tutorial-order: camkes-1
description: an introduction to Camkes concepts.
layout: tutorial
description: an introduction to CAmkES concepts
SPDX-License-Identifier: CC-BY-SA-4.0
SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC.
---
{% include tutorial.md %}

7 changes: 3 additions & 4 deletions Tutorials/hello-camkes-2.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
---
toc: true
title: Camkes 2
title: Events in CAmkES
tutorial: hello-camkes-2
tutorial-order: camkes-2
description: an introduction to Camkes concepts.
layout: tutorial
description: an introduction to CAmkES concepts
SPDX-License-Identifier: CC-BY-SA-4.0
SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC.
---
{% include tutorial.md %}

7 changes: 3 additions & 4 deletions Tutorials/hello-camkes-timer.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
---
toc: true
title: Camkes 3
title: CAmkES timer tutorial
tutorial: hello-camkes-timer
tutorial-order: camkes-3
description: introduce Camkes hardware components.
layout: tutorial
description: introduce CAmkES hardware components
SPDX-License-Identifier: CC-BY-SA-4.0
SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC.
---
{% include tutorial.md %}

5 changes: 3 additions & 2 deletions Tutorials/hello-world.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@
toc: true
title: Hello, World!
tutorial: hello-world
tutorial-order: 0-hello
description: an introduction to seL4 projects and tutorials.
layout: tutorial
description: an introduction to seL4 projects and tutorials
SPDX-License-Identifier: CC-BY-SA-4.0
SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC.
---

{% include tutorial.md %}
Loading