You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jun 1, 2023. It is now read-only.
Copy file name to clipboardExpand all lines: README.md
+18-5Lines changed: 18 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,28 +17,41 @@ Oali is an installer written in OCaml which sets up a Arch Linux installation wi
17
17
- Optional full disk encryption
18
18
- Optional `linux-hardened` kernel installation
19
19
20
-
Oali aims to be smart and hassle free, so following features are included as a result
21
-
- Automatic adjustment of dialogues and settings based on whether the live CD is running in UEFI or BIOS mode
20
+
Overall oali aims to be snappy, minimal, smart, and hassle free. See **Specifics** section below for more information.
22
21
23
-
## Prerequisites
22
+
## Getting started
23
+
#### Prerequisites
24
24
- Working internet connection
25
25
- Partitioning done for system partition
26
26
- USB key (data will be lost)
27
27
28
-
## Space requirement
28
+
####Space requirement
29
29
- USB key (if you intend to use disk layout that utilises a USB key)
30
30
- 1 GiB USB drive will be very sufficient
31
31
- System drive
32
32
- Current salt states download/install around 10 GiB of data
33
33
34
-
## Instructions
34
+
####Instructions
35
35
The OCaml code is not self contained, thus if you choose to compile it yourself, you will need to install various dependencies.
36
36
37
37
For deployment purposes, it is recommended that you use the static binaries provided, which you can download via [GitHub releases](https://github.com/darrenldl/ocaml-linux-installer/releases)
38
38
39
39
The static binaries of the installer are built via Travis CI using `ocaml/opam2:alpine` Docker image, and should be able to run on Arch Linux live CD without any further setup
40
40
41
+
## Answers to some "Why?" questions
42
+
- Why make an installer to begin with?
43
+
- Mildly complex FDE setups are really laborious and error prone to set up, and unfortunately you can't really afford human errors during these set ups depending on the nature of installation
44
+
- A lot of decisions are based on information processing and very mechanical - no point in having a human devoted to repeating deterministic steps
45
+
- Why not bash?
46
+
- The previous iteration of this installer was written in bash actually (see `scripts/setup.sh`), but it only supported one disk layout and always have encryption
47
+
- Adding a lot of decision making code and information handling code to bash code was really tedious and difficult
48
+
- Why OCaml?
49
+
- I know I can do OCaml/Rust reasonably fast, but slow to a crawl with dynamically typed langs
50
+
- Here is mostly a lot of handling of immutable information (e.g. processing of system information), where Rust doesn't carry a significant advantage over OCaml, and the overhead didn't seem worth it to me
51
+
41
52
## Specifics
53
+
#### EFI/BIOS
54
+
Oali automatically adjusts dialogues and settings based on whether the live CD is running in UEFI or BIOS mode
42
55
43
56
#### Disk layout choices
44
57
**Single system disk** - Oali slices the disks into ESP (if in EFI mode), boot and root partitions automatically
0 commit comments