]> rtime.felk.cvut.cz Git - novaboot.git/blob - README.md
nix: Update flake inputs
[novaboot.git] / README.md
1 # Novaboot
2
3 Novaboot is a tool that automates booting of operating systems on
4 target hardware (typically embedded boards) or in Qemu. Initially, it
5 was developed to boot [NOVA Microhypervisor](http://hypervisor.org/)
6 (hence the name), but nowadays is well suited for booting
7 [Linux](https://www.kernel.org/) (and perhaps other OSes) too.
8
9 ## Instalation
10
11 The simplest way to install novaboot is to install `perl` and its
12 packages `IO-Stty` and `Expect` and copy the
13 [novaboot](novaboot) script somewhere to your $PATH.
14
15 You can also install everything (including man pages) by:
16
17     make install
18
19 To install the optional server part (see below), run:
20
21     make -C server install
22
23 ## Documentation
24
25 Novaboot can be used in variety of setups. Most typical ones are
26 depicted in the figure below.
27
28 ![Possible novaboot setups](doc/typical-setups.svg?raw=true "Title")
29
30 The setups are fully described in the [documentation](./README.pod),
31 but in short: Setup A is for power users, who can configure everything
32 themselves, whereas setup C is useful for students, who just want to
33 access the target device with as little configuration on their side as
34 possible.
35
36 ### Client side
37
38 - novaboot [documentation](./README.pod)
39
40 ### Server-side (optional, needed only by server administrators for setup C)
41
42 - [novaboot-shell](server/novaboot-shell.pod)
43 - [adduser-novaboot](server/adduser-novaboot.pod)
44
45 ### Hardware guides
46
47 - [Raspberry Pi](./doc/README.rpi.md) (work-in-progress)