From 7b350491d4d60eab3dccc4257e519a8de545b771 Mon Sep 17 00:00:00 2001 From: Minijackson Date: Thu, 6 Aug 2020 09:14:54 +0200 Subject: index: add goal and presentation of cli --- index.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 49 insertions(+), 12 deletions(-) diff --git a/index.md b/index.md index bd6fffb..c2a7141 100644 --- a/index.md +++ b/index.md @@ -1,11 +1,10 @@ % WTF is Linux + > What I cannot create, I do not understand. > > --- Richard Feynman, 1988 -TODO: add the LM fonts referenced in the CSS - TODO: reference a mono font in the CSS TODO: fix TOC CSS @@ -18,12 +17,58 @@ TODO: specify dependencies TODO: Add a plan checklist? -TODO: fix pandoc\'s vimwiki (syntax highlighting, quotes) - TODO: Link manpages TODO: Add pretty pictures +Goal of this course and this document +------------------------------------- + +In this course, we will attempt to create a GNU/Linux file system from scratch. + +The objective is to deeply understand the Linux ecosystem: how it boots, what +are the different pieces, how do they integrate with one-another, what are the +different choices available to us when building such a system, etc. + +Even though it is very rare to build these kinds of things "manually", I do +think it is better to do it this way for educative purposes. + +However, in the practical work part, we will build a Linux system in an +automated fashion, using [Buildroot](https://buildroot.org/), an well-known +software in the industry for building embedded Linux systems. + +This document is intended to serve several functions: + +- As notes, if I talk too fast, or if you don't like to take + notes[^take-notes], or miss classes +- It's likely that this website is going to be more detailed than the course, + so it's useful you want to go further. You can also follow the links to go + even further +- Should I miss some things while talking, this website should fix it + +[^take-notes]: + {-} You really should be taking notes, it does help remembering + +The Linux command-line +---------------------- + +Main article: [CLI](cli.md) + +When we say "command-line interface", we usually mean the text-based program +whose main purpose is to execute other commands. You input a program name, enter +its arguments, press enter, and it will execute the said program with said +arguments. + +In reality, the UNIX command-line is more complicated than that, but that also +makes it much more powerful. See the main article if you want to unlocking this +power. + + + The Linux Kernel ---------------- @@ -62,14 +107,6 @@ first program launched it always has a PID of 1. TODO: link to first steps to "user-space booting" -The Shell ---------- - -TODO: link to main article - -A shell is a programming language whose main goal is to launch other -programs. - Special filesystems ------------------- -- cgit v1.2.3