diff options
author | Minijackson <minijackson@riseup.net> | 2020-08-06 09:14:54 +0200 |
---|---|---|
committer | Minijackson <minijackson@riseup.net> | 2020-08-06 09:14:54 +0200 |
commit | 7b350491d4d60eab3dccc4257e519a8de545b771 (patch) | |
tree | 22d422e59abd1375094a421547956bdecfd77bd8 /index.md | |
parent | 82836d3c3655861a2a3ce260beb6009cc4dc47b3 (diff) | |
download | wtf-is-linux-website-7b350491d4d60eab3dccc4257e519a8de545b771.tar.gz wtf-is-linux-website-7b350491d4d60eab3dccc4257e519a8de545b771.zip |
index: add goal and presentation of cli
Diffstat (limited to 'index.md')
-rw-r--r-- | index.md | 61 |
1 files changed, 49 insertions, 12 deletions
@@ -1,11 +1,10 @@ | |||
1 | % WTF is Linux | 1 | % WTF is Linux |
2 | 2 | ||
3 | |||
3 | > What I cannot create, I do not understand. | 4 | > What I cannot create, I do not understand. |
4 | > | 5 | > |
5 | > --- <cite>Richard Feynman, 1988</cite> | 6 | > --- <cite>Richard Feynman, 1988</cite> |
6 | 7 | ||
7 | TODO: add the LM fonts referenced in the CSS | ||
8 | |||
9 | TODO: reference a mono font in the CSS | 8 | TODO: reference a mono font in the CSS |
10 | 9 | ||
11 | TODO: fix TOC CSS | 10 | TODO: fix TOC CSS |
@@ -18,12 +17,58 @@ TODO: specify dependencies | |||
18 | 17 | ||
19 | TODO: Add a plan checklist? | 18 | TODO: Add a plan checklist? |
20 | 19 | ||
21 | TODO: fix pandoc\'s vimwiki (syntax highlighting, quotes) | ||
22 | |||
23 | TODO: Link manpages | 20 | TODO: Link manpages |
24 | 21 | ||
25 | TODO: Add pretty pictures | 22 | TODO: Add pretty pictures |
26 | 23 | ||
24 | Goal of this course and this document | ||
25 | ------------------------------------- | ||
26 | |||
27 | In this course, we will attempt to create a GNU/Linux file system from scratch. | ||
28 | |||
29 | The objective is to deeply understand the Linux ecosystem: how it boots, what | ||
30 | are the different pieces, how do they integrate with one-another, what are the | ||
31 | different choices available to us when building such a system, etc. | ||
32 | |||
33 | Even though it is very rare to build these kinds of things "manually", I do | ||
34 | think it is better to do it this way for educative purposes. | ||
35 | |||
36 | However, in the practical work part, we will build a Linux system in an | ||
37 | automated fashion, using [Buildroot](https://buildroot.org/), an well-known | ||
38 | software in the industry for building embedded Linux systems. | ||
39 | |||
40 | This document is intended to serve several functions: | ||
41 | |||
42 | - As notes, if I talk too fast, or if you don't like to take | ||
43 | notes[^take-notes], or miss classes | ||
44 | - It's likely that this website is going to be more detailed than the course, | ||
45 | so it's useful you want to go further. You can also follow the links to go | ||
46 | even further | ||
47 | - Should I miss some things while talking, this website should fix it | ||
48 | |||
49 | [^take-notes]: | ||
50 | {-} You really should be taking notes, it does help remembering | ||
51 | |||
52 | The Linux command-line | ||
53 | ---------------------- | ||
54 | |||
55 | Main article: [CLI](cli.md) | ||
56 | |||
57 | When we say "command-line interface", we usually mean the text-based program | ||
58 | whose main purpose is to execute other commands. You input a program name, enter | ||
59 | its arguments, press enter, and it will execute the said program with said | ||
60 | arguments. | ||
61 | |||
62 | In reality, the UNIX command-line is more complicated than that, but that also | ||
63 | makes it much more powerful. See the main article if you want to unlocking this | ||
64 | power. | ||
65 | |||
66 | <!-- | ||
67 | A shell is a programming language whose main goal is to launch other | ||
68 | programs. It also usually provides a command-line interpreter: a text-based | ||
69 | program that executes (interprets) the shell code you input. | ||
70 | --> | ||
71 | |||
27 | The Linux Kernel | 72 | The Linux Kernel |
28 | ---------------- | 73 | ---------------- |
29 | 74 | ||
@@ -62,14 +107,6 @@ first program launched it always has a PID of 1. | |||
62 | 107 | ||
63 | TODO: link to first steps to "user-space booting" | 108 | TODO: link to first steps to "user-space booting" |
64 | 109 | ||
65 | The Shell | ||
66 | --------- | ||
67 | |||
68 | TODO: link to main article | ||
69 | |||
70 | A shell is a programming language whose main goal is to launch other | ||
71 | programs. | ||
72 | |||
73 | Special filesystems | 110 | Special filesystems |
74 | ------------------- | 111 | ------------------- |
75 | 112 | ||