summaryrefslogtreecommitdiffstats
path: root/2020-10-06.md
blob: 31133e4bb8bb724c7cfbb28787a6e5b00442cb32 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
---
title: WTF is Linux
author: Rémi Nicole <remi.nicole@smile.fr>
date: 2020-10-06
slide-level: 2
aspectratio: 169

theme: metropolis
colortheme: owl
beameroption: "show notes on second screen=right"

toc: true
highlightstyle: breezedark
lang: en-US

bibliography: ../bibliography.bib
---

# Before we get started

## Practical work practicalities

- One or two group is going to have only 1 Raspberry
- SD card readers are provided

# Buildroot

## Overview

![Buildroot overview](./res/plantuml/buildroot-overview.png){ height=80% }

## Single-project process

![Buildroot single-project process](./res/plantuml/buildroot-project.png){ height=80% }

## Overall process

![Buildroot overall process](./res/plantuml/buildroot-process.png){ height=80% }

## Configuring Buildroot

- Same as the Linux kernel
- Allows you to set:
	- Target architecture
	- Target packages
	- Build options
	- ...

## Default configuration

- To list available default configurations:
	- `make list-defconfigs`
- To set the configurations as one of the default:
	- `make <configuration>_defconfig`

::: notes

We're going to use `raspberrypi2_defconfig`

:::


## Hierarchy of a Buildroot project

- package/
: All the available packages
- toolchain/
: Packages for building stuff
- linux/
: The Linux kernel package
- system/skeleton/
: The skeleton of the target Linux system
- board/
: All the board-specific files
- docs/
: The documentation of Buildroot
- And other things

::: notes

By board-specific files, we can mean: kernel config & patches, scripts, etc.

:::

## Hierarchy of a Buildroot output

Everything into `output/`

- images/
: The images to flash
- target/
: The target root filesystem
- And other things

## Demo time

- _[Raspberry PI 2's pins](https://www.electronicwings.com/public/images/user_images/images/Raspberry%20Pi/RaspberryPi_UART/Raspberry%20pi%203%20UART%20pins.png)_
- _[Serial cable's datasheet](https://docs.rs-online.com/12f1/0900766b811b9e83.pdf)_ page 7

::: notes

- Show Buildroot's download page
- Go to extracted Buildroot directory
- Show available defconfigs
- Use `raspberrypi2_defconfig`
- `make all`
- Show output directory
- Flash image on sdcard
- Put sdcard on raspberry pi
- Show
- Boot raspberry

:::

# Installing GNU/Linux



# References