Readme improved

Szymon Karpiński 7 years ago
parent b39d43aaf8
commit 0245fac669
  1. 30
      Readme.md

@ -8,13 +8,15 @@ It allows to boot connected computers over the network and run a image distribut
### Network setup ### Network setup
This system is meant to be used in physically separated network, with all the computers (including the server) connected to a switch. The server will run DHCP server itself. This system is meant to be used in physically separated network, with all the computers (including the server) connected to a switch.
### Building ### Building
To build, just build the docker container from the `Dockerfile`, for example: To build, just build the docker container from the `Dockerfile`, for example:
```docker build . -t hugo/images``` ```
docker build . -t hugo/images
```
When run for the first time, the build might take some time because basic Debian image has to be downloaded. On subsequent builds the cache will be used making the build take much less time. When run for the first time, the build might take some time because basic Debian image has to be downloaded. On subsequent builds the cache will be used making the build take much less time.
@ -30,7 +32,9 @@ This container has some requirements to work properly:
An example run command might look like this: An example run command might look like this:
```docker run -e INETRFACE=eth42 --privileged --net host hugo/images``` ```
docker run -e INETRFACE=eth42 --privileged --net host hugo/images
```
After starting the server, all PCs connected to the network, when in network boot mode, should boot linux for cloning and present the user with a menu. After starting the server, all PCs connected to the network, when in network boot mode, should boot linux for cloning and present the user with a menu.
@ -40,7 +44,7 @@ The container runs three services: DHCP server, TFTP server and HTTP server (on
### Boot process ### Boot process
The boot process of a computer connected to the server The boot process of a computer connected to the server consists of the following steps:
1. The computer searches for DHCP server and asks for an IP address. The server responds (as configured in `src/dhcpd.conf`) with an IP address and the filename of PXE binary. 1. The computer searches for DHCP server and asks for an IP address. The server responds (as configured in `src/dhcpd.conf`) with an IP address and the filename of PXE binary.
@ -55,3 +59,21 @@ The boot process of a computer connected to the server
6. `root` is automatically logged in and it's default shell, the image distribution software (see `linux/scripts`), is started. 6. `root` is automatically logged in and it's default shell, the image distribution software (see `linux/scripts`), is started.
### Linux ### Linux
The Linux system served boots to a menu allowing to send/receive:
1. MBR of `/dev/sda` (raw copy of first 512 bytes, made by `dd`)
2. Partition table (in `sfdisk`'s format)
3. Image of `/dev/sda1` partition (in `partimage` format)
Both sending and receiving is done with UDP broadcast with `udpsender`/`udpreceiver`. Any custom action can be performed with root shell. See `linux/scripts` for more details.
### Transferring images to/from the server
You can use `udpreceiver`/`udpsender` to receive or send data to/from your server. For example:
```
udp-receiver --interface eth0 > save_it_here
```
```
udp-sender --interface eth0 < file_to_send
```

Loading…
Cancel
Save