From b7a9f2cdec6712fd894959fbeea37cf2f85c3ec8 Mon Sep 17 00:00:00 2001
From: Dimitri Lizzi <dimitri.lizzi@etu.hesge.ch>
Date: Sat, 16 May 2020 22:37:53 +0200
Subject: [PATCH] preprocessing system for rapport

---
 doc/Makefile                         |   29 +-
 doc/includes/gitlab-markdown.gpp     |    1 +
 doc/includes/markdown.gpp            |   11 +
 doc/includes/pandoc-pdf-markdown.gpp |    1 +
 doc/logbook.gpp.md                   | 1195 ++++++++++++++++++++++++++
 doc/logbook.md                       |   18 +-
 doc/rapport.gpp.md                   |   75 ++
 doc/rapport.md                       |   40 +-
 doc/rapport.pdf                      |  Bin 382019 -> 0 bytes
 doc/trimstart.py                     |   10 +
 10 files changed, 1359 insertions(+), 21 deletions(-)
 create mode 100644 doc/includes/gitlab-markdown.gpp
 create mode 100644 doc/includes/markdown.gpp
 create mode 100644 doc/includes/pandoc-pdf-markdown.gpp
 create mode 100644 doc/logbook.gpp.md
 create mode 100644 doc/rapport.gpp.md
 delete mode 100644 doc/rapport.pdf
 create mode 100755 doc/trimstart.py

diff --git a/doc/Makefile b/doc/Makefile
index e02c99e..2c8c84e 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -1,30 +1,35 @@
+GPP = gpp -x -U '!!' "" "{" "}{" "}" "{" "}" "\#" "@"
+GPPMD_SRC := $(wildcard *.gpp.md)
+MD_SRC := $(addsuffix .md, $(basename $(basename $(GPPMD_SRC))))
 PLANTUML_DIAGRAMS_SRC := $(addprefix diagrams/, $(wildcard diagrams/*.puml))
 PLANTUML_DIAGRAMS_SVG := $(addprefix images/diagram_, $(addsuffix .svg, $(notdir $(basename $(PLANTUML_DIAGRAMS_SRC)))))
 PLANTUML_DIAGRAMS_PNG := $(addprefix images/diagram_, $(addsuffix .png, $(notdir $(basename $(PLANTUML_DIAGRAMS_SRC)))))
 
-all: diagrams rapport.pdf
+all: diagrams markdown rapport.pdf
 
-rapport.pdf: rapport.md diagrams
-	pandoc rapport.md -o rapport.pdf --pdf-engine=xelatex
+markdown: $(MD_SRC)
 
-rapport.tex: rapport.md diagrams
+%.md: %.gpp.md
+	$(GPP) -DGITLAB_MARKDOWN $^ | ./trimstart.py > $@
+
+rapport.pdf: rapport.gpp.md diagrams
+	$(GPP) -DPANDOC_PDF $< | ./trimstart.py | pandoc --pdf-engine=xelatex -o $@
+
+rapport.tex: rapport.gpp.md diagrams
 	pandoc rapport.md -o rapport.tex
 
 diagrams: $(PLANTUML_DIAGRAMS_SVG) $(PLANTUML_DIAGRAMS_PNG)
 
 images/diagram_%.svg: diagrams/%.puml
-	for diagram in $^ ; do \
-		cat $$diagram | plantuml -tsvg -pipe > images/diagram_`basename -s .puml $$diagram`.svg ; \
-	done
+	cat $^ | plantuml -tsvg -pipe > images/diagram_`basename -s .puml $^`.svg ; \
 
 images/diagram_%.png: diagrams/%.puml
-	for diagram in $^ ; do \
-		cat $$diagram | plantuml -tpng -pipe > images/diagram_`basename -s .puml $$diagram`.png ; \
-	done
+	cat $^ | plantuml -tpng -pipe > images/diagram_`basename -s .puml $^`.png ; \
 
 clean:
 	rm -rf rapport.pdf; \
 	rm -rf $(PLANTUML_DIAGRAMS_SVG); \
-	rm -rf $(PLANTUML_DIAGRAMS_PNG);
+	rm -rf $(PLANTUML_DIAGRAMS_PNG); \
+	rm -rf $(MD_SRC)
 
-.PHONY: all diagrams clean
\ No newline at end of file
+.PHONY: all diagrams markdown clean
\ No newline at end of file
diff --git a/doc/includes/gitlab-markdown.gpp b/doc/includes/gitlab-markdown.gpp
new file mode 100644
index 0000000..2e74899
--- /dev/null
+++ b/doc/includes/gitlab-markdown.gpp
@@ -0,0 +1 @@
+!!define{!!svg{name}{description}}{![[!!name.svg](!!description)](!!name.png)}
\ No newline at end of file
diff --git a/doc/includes/markdown.gpp b/doc/includes/markdown.gpp
new file mode 100644
index 0000000..6379e5a
--- /dev/null
+++ b/doc/includes/markdown.gpp
@@ -0,0 +1,11 @@
+!!define{!!includemd{file}}{
+    !!exec{cat !!file}
+}
+
+!!ifdef{PANDOC_PDF}
+    !!include{pandoc-pdf-markdown.gpp}
+!!endif
+
+!!ifdef{GITLAB_MARKDOWN}
+    !!include{gitlab-markdown.gpp}
+!!endif
diff --git a/doc/includes/pandoc-pdf-markdown.gpp b/doc/includes/pandoc-pdf-markdown.gpp
new file mode 100644
index 0000000..d145c5c
--- /dev/null
+++ b/doc/includes/pandoc-pdf-markdown.gpp
@@ -0,0 +1 @@
+!!define{!!svg{name}{description}}{![description](name.svg)}
\ No newline at end of file
diff --git a/doc/logbook.gpp.md b/doc/logbook.gpp.md
new file mode 100644
index 0000000..fae3b9d
--- /dev/null
+++ b/doc/logbook.gpp.md
@@ -0,0 +1,1195 @@
+# Log book
+
+## 2020-04-22
+
+Created the git repository on
+<https://githepia.hesge.ch/dimitri.lizzi/bootiful>.
+
+Start to study the previous project made by Abilash Venkatesh on
+<https://githepia.hesge.ch/abhilash.venkates/remote-imaging>. The first
+step will be to reproduce the infrastructure and make it work.
+
+I will set up the following infrastructure:
+- A DHCP server
+- A TFTP server
+- A NFS server
+- A client
+
+I will try to use Vagrant to set-up a reproducible VM based on debian
+buster that contains all the servers. It will be created in
+[`remote_imaging/pxe_server`](../remote_imaging/pxe_server).
+
+A [Vagrantfile](../remote_imaging/pxe_server/Vagrantfile) has been
+created using the following command:
+
+```bash
+vagrant init debian/buster64
+```
+
+I defined a basic configuration inspired by a similar project on GitHub:
+<https://github.com/eoli3n/vagrant-pxe>. For the moment, I just try to
+install the packages `isc-dhcp-server`, `tftpd-hpa` and
+`nfs-kernel-server`. I will do a script that copies the configuration
+files later.
+
+The virtual machine can be created and started by running the following
+command:
+
+```bash
+vagrant up
+```
+
+It's then possible to SSH into the VM using:
+
+```bash
+vagrant ssh
+```
+
+The VM can be removed using:
+
+```bash
+vagrant destroy
+```
+
+Now let's configure the different services. I'll start by copying the
+[configuration files from the remote-imaging repository](https://githepia.hesge.ch/abhilash.venkates/remote-imaging/tree/master/server-config)
+into the [`config`](../remote_imaging/pxe_server/config) folder.
+
+These files should be copied after the installation of the packages, but
+before, let's modify them to match our server configuration.
+
+- `/etc/defaults/isc-dhcp-server`
+  - use interface `eth1` instead of `vboxnet0`
+- `/etc/dhcp/dhcpd.conf`
+  - subnet 192.168.56.0/24
+  - use same address as the dhcp server for tftp server: 192.168.56.254
+  - comment options for domain name servers and routers for now as we
+    will not use a network open to the outside right now
+- `/etc/default/tftpd-hda`
+  - remove comment not useful
+
+It look like it works!
+
+I have created manually a VM with VirtualBox that connects to the same
+network as the server, but unfortunately, the PXE boot fails with the
+following error messages:
+
+```
+Intel UNDI, PXE-2.1
+PXE Software Copyright (C) 1997-2000 Intel Corporation
+Copyright (C) 2010-2017 Oracle Corporation
+
+CLIENT MAC ADDR: 08 00 27 CE 6D 4A GUID: 077C2310-C4DC-DC49-A6C5-2AAC35FDO22D
+CLIENT IP: 192.168.56.10 MASK: 255.255.255.0 DHCP IP: 192.168.56.254
+TFTP.
+PXE-TO1: File not found
+PXE-E3B: TFTP Error - File Not found
+PXE-MOF : Exiting Intel PXE ROM
+FATAL: No bootable medium found! System halted.
+```
+
+
+### Meeting with F. Gluck
+- Faire un planning d'ici la semaine prochaine
+- Reproduire le projet et automatiser
+- Investiguer les sparse files
+- Investiguer sur le multicast, l'optimisation du traffic réseau
+- Cache de l'image sur le disque: étudier le mécanisme mis en place
+- Vérifier que le boot fonctionne sur des OS différents
+- Système d'extension d'une image _template_, scripts de démarrage
+- Integration à un LDAP de manière "élégante", gestion des comptes
+- Faciliter la création d'images
+- Système de gestion simple à utiliser pour la gestion du serveur et des
+  images
+- Système d'overlay/différenciation d'images
+- Rapport:
+  - montrer les différences entre Bootiful, Tivoli, CloneZilla
+  - documenter les besoins de l'école
+- Prochain RDV: mercredi 10h
+
+Projet rainbow: racheté par IBM et intégré à Tivoli
+
+## 2020-04-25
+
+Let's find out why the tftp server doesn't work. [This guide guide from
+Oracle](https://docs.oracle.com/cd/E19045-01/b100x.blade/817-5625-10/Linux_Troubleshooting.html)
+explains some steps for troubleshooting that I'm going to follow.
+
+First, let's check on the server if the TFTP server is running.
+
+On the server, the package `net-tools`, which provides, among others,
+the `netstat` program, has been installed.
+
+```bash
+sudo apt install net-tools
+```
+
+The service seems to be running on port 67:
+
+```
+$ netstat -an | grep -w 67
+udp        0      0 0.0.0.0:67              0.0.0.0:*
+```
+
+From the error message seen previously, `PXE-TO1: File not found`, it
+seems that the connection to the server is successful but that a file is
+missing.
+
+We can see that the folder `tftpboot` exists and seems to be readable
+for all users:
+```
+$ ls -als /tftpboot/
+total 12
+4 drwxr-xr-x  3 vagrant vagrant 4096 Apr 22 06:35 .
+4 drwxr-xr-x 21 root    root    4096 Apr 25 18:55 ..
+4 drwxr-xr-x  6 vagrant vagrant 4096 Apr 22 06:35 boot
+```
+
+The boot file specified in `dhcpd.conf` seems to exist as well:
+
+```bash
+$ ls
+-l /tftpboot/boot/grub/i386-pc/core.0 -rw-r--r-- 1 vagrant vagrant 54394
+Apr 22 06:35 /tftpboot/boot/grub/i386-pc/core.0
+```
+
+Let's install tftp on the server.
+
+```bash
+sudo apt install tftp
+```
+
+Now, let's check if we can access to the file on localhost.
+
+```bash
+$ tftp 127.0.0.1
+tftp> get /boot/grub/i386-pc/core.0
+Error code 1: File not found
+```
+
+We can reproduce the error. There is probably something wrong in `tftpd`
+configuration. Let's check:
+
+```bash
+$ cat /etc/default/tftpd-hpa
+# /etc/default/tftpd-hpa
+
+TFTP_USERNAME="tftp"
+TFTP_DIRECTORY="/srv/tftp"
+TFTP_ADDRESS="0.0.0.0:69"
+TFTP_OPTIONS="--secure"
+```
+
+The configuration is not the correct one and seems to be the default.
+After a quick check in the `Vagrantfile`, I found the error on this
+line:
+
+```bash
+cp /vagrant/config/tftp/tftpd-hpa /etc/default/tftpd-hda
+```
+
+There is a typo, the target file should be:
+
+```bash
+cp /vagrant/config/tftp/tftpd-hpa /etc/default/tftpd-hpa
+```
+
+After fixing the `Vagrantfile`, let's rebuild the server:
+
+```
+vagrant destroy -f && vagrant up
+```
+
+Now it works!.. Kind of. The client gets the grub image but there's an
+error after GRUB has started:
+
+```
+Welcome to GRUB!
+
+error: no server is specified.
+Entering rescue mode...
+grub rescue> 
+```
+
+I think this happens because the server address is hard-coded somewhere,
+or something like that.
+
+In the `grub.cfg` file, there are some lines that catch my attention:
+
+```
+#GRUB_ISIGN_MATCH 101
+#GRUB_ISIGN_MISMATCH 100
+#GRUB_ISIGN_WRITE 102
+
+isign -c hepia2015 (hd0)
+set check1=$?
+if [ $check1 == 101 ]; then
+isign -w 000000000 (hd0)
+```
+
+It looks like `isign` is a custom module for GRUB. I have to find out
+what it does and what is the correct configuration to make it work. The
+parameter `hepia2015` looks suspicious: is it as password? A host name?
+A partition name?
+
+## 2020-04-26
+
+Let's find out what is this `isign` module and how it works. I started
+by adding some indentation to the grub.cfg file. It looks like the the
+`isign` is checking something on hd0, and the menu that appears changes
+depending on this check.
+
+My guess is that it checks if an OS is already deployed with the image
+deployment OS. If so, the image can be booted. Otherwise, only the
+deployment OS is available in the menu.
+
+The behavior of this command is defined in the
+[`isign.c` file](https://githepia.hesge.ch/abhilash.venkates/remote-imaging/blob/master/grub_build/grub-2.02/grub-core/commands/isign.c).
+
+After playing a bit in the `grub rescue>` prompt on the client, I have
+been able to manually set the server ip and show the boot menu with the
+following commands:
+
+```
+grub rescue> set net_default_server=192.168.56.254
+grub rescue> insmod normal
+grub rescue> normal
+```
+
+Now, the menu shows up with only the `IDOS-Image Deployment OS` option.
+It seems that the OS is hard-coded to connect to an NFS server on
+192.168.56.100 and it fails. I will try to change my server IP to this
+address and maybe even GRUB will work. If it does, I have to find a way
+to make this IP address easily configurable.
+
+After recreating the server with the new address, GRUB still does not
+connect to the server as expected. The NFS mount still does not work as
+well but for another reason: `Permission denied`.
+
+After checking the server configuration, I found out that the issue was
+that the nfs server did not load the configuration file after copying
+it. It was fixed by adding the following line in the server
+configuration script:
+
+```bash
+systemctl restart nfs-server
+```
+
+Now, the `IDOS-Image Deployment OS` starts without error. The GRUB
+default server should still be entered manually but at least the OS
+boots afterwards. Once the OS has booted, nothing happens. I am root in
+a command-line prompt. I expected to see a menu or something.
+
+This a menu script exists, though, and can be launched with:
+
+```bash
+/root/menu.sh
+```
+
+It shows a `ncurses` menu where all options are items of the root file
+system. When I chose an item, a string `chosen image is <CHOSEN_ITEM>`
+is echoed to stdout and nothing happens.
+
+After reading the _readme_ files, it seems that the correct _main_
+script is:
+
+ ```bash
+ /root/ideploy.sh
+ ```
+
+Running this script shows a menu with only one option: `os1`. When this
+option is chosen, an error message appears:
+
+```
+chosen image is os1
+total_size of image=2147483648 bytes
+Isufficient disk space for imaging, need size of 2147483648 B but has -4096 bytes
+umount: cant unmount /mnt: Invalid argument
+
+######################################Sun Apr 26 17:19:32 UTC 2020######################################
+
+#
+```
+
+This is maybe because of a wrong configuration on the client virtual
+machine. `2147483648 B = 2,147483648 GB` but the machine has 10 GB
+available. However, the scripts says that `-4096 bytes` are available.
+This is a sign that the script does not try to use the correct disk.
+
+The script determines the size of the `sda` disk by using this command:
+
+```
+fdisk -l | grep "Disk /dev/sda" | head -n 1 | cut -d ',' -f 2 | cut -d ' ' -f 2
+```
+
+However, on my virtual machine where the disk is has no partition, this
+command returns this:
+
+```
+$ fdisk -l | grep "Disk /dev/sda" | head -n 1 | cut -d ',' -f 2 | cut -d ' ' -f 2
+10737418240
+/dev/sda
+```
+
+The second line happens because `fdisk -l` outputs this line at the end
+when there is no partition table:
+
+```
+Disk /dev/sda1 doesn't contain a valid partition table
+```
+
+I believe the miscalculation of the disk size happens because of this
+line. I will modify the script to use only the first matching line of
+fdisk using `head -n 1` after `grep`. The modified command looks like
+this:
+
+```
+fdisk -l | grep "Disk /dev/sda" | head -n 1 | cut -d ',' -f 2 | cut -d ' ' -f 2
+```
+
+Now it seems to go further. There is still a warning but it seems to
+continue copying the image after it:
+
+```
+ls : /mnt/*.md5: No such file or directory
+```
+
+At the end, the script says `rebooting` but the VM does not reboot. I
+rebooted manually and can now see a `local hdd` option in GRUB, after
+setting the remote server manually. However, booting on `local hdd` does
+nothing. The screen stays black with a blinking cursor.
+
+On another subject: I have fixed the GRUB problem by adding the
+following line to `dhcpd.conf`:
+
+```
+next-server 192.168.56.100;
+```
+
+Now it's not necessary to enter the server by hand in GRUB.
+
+## 2020-04-28
+
+I discovered that the `grub.cfg` is configured to boot on `manual_os`.
+This explains why the deployment is not automatic.
+
+I've added an entry in the menu for the `auto_os`. I have also corrected
+a typo `vimlinuz` that should be `vmlinuz`, simplified the `if`
+condition and improved the strings.
+
+When running the auto OS, the only thing I see is a blinking cursor...
+It does not seem to do anything.
+
+I found out that the deploy log is saved on the server if I use
+`/root/deploy_log.sh` for the deployment.
+
+Here is the log:
+
+```
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/deploy_log.sh: line 32: .: ideploy.sh: file not found
+/root/ideploy.sh: line 12: l: command not found
+
+######################################Tue Apr 28 16:53:20 UTC 2020##############################################
+
+Total size of disk=10737418240 bytes
+size of hidden partition=2147483648 bytes
+size of disk for imaging=8589930496 bytes
+End byte=10737414144 bytes
+512+0 records in
+512+0 records out
+262144 bytes (256.0KB) copied, 0.043130 seconds, 5.8MB/s
+Warning: The resulting partition is not properly aligned for best performance.
+partition created
+dd: can't open '/root/boot/mbr/08:00:27:ce:6d:4a.img': No such file or directory
+mke2fs 1.44.5 (15-Dec-2018)
+Creating filesystem with 524288 4k blocks and 131072 inodes
+Filesystem UUID: ab3cf206-1689-4155-9c18-6ef31c2796db
+Superblock backups stored on blocks: 
+        32768, 98304, 163840, 229376, 294912
+
+Allocating group tables: done                            
+Writing inode tables: done                            
+Creating journal (16384 blocks): done
+Writing superblocks and filesystem accounting information: done 
+
+hidden partition created and available
+mounted
+chosen image is os1 
+total_size of image=2147483648 bytes
+sufficient space for imaging
+ls: /mnt/*.md5: No such file or directory
+not cached, so caching 
+size cache available=1871288 KB
+size of image to download=259720 KB
+8+65425 records in
+8+65425 records out
+2147483648 bytes (2.0GB) copied, 15.177776 seconds, 134.9MB/s
+Caching and deployment  of 259720 KB done in 16 s 
+md5sum checked
+location of signature at  10737418040 B
+ signature is hepia2015
+9+0 records in
+9+0 records out
+9 bytes (9B) copied, 0.005788 seconds, 1.5KB/s
+rebooting..
+
+######################################Tue Apr 28 16:53:45 UTC 2020##############################################
+```
+
+It looks like there is an error in the last line of the script:
+
+```
+. ideploy.sh &>> $log_file
+```
+
+I will change it to:
+
+```
+/root/ideploy.sh 2>&1 | tee output
+```
+
+Also, it looks like the `reboot` command has been commented out in
+`ideploy.sh`. I will uncomment it. It seem to install the image and
+reboot as expected.
+
+I tried to boot manually from grub:
+
+```
+set root=(hd0,1)
+linux /boot/vmlinuz-vanilla root=/dev/sda3
+initrd /boot/initramfs-vanilla
+boot
+```
+
+But it seems there is a problem with `initramfs`.
+
+## 2020-04-29
+
+Creation of [a planning](planning.fods).
+
+Meeting with F. Gluck and S. Chassot. We discussed the current stage of
+the reproduction of the infrastructure and the planning. We agreed that
+I should investigate how the OS images are created and maybe create a
+new one.
+
+F. Gluck mentioned some ways of investigating why the `initrd` does not
+work. This is a `cpio` archive, so it can be extracted with a command
+like this:
+
+```
+cpio -idv < /boot/initrd.img-4.15.0-91-generic
+```
+
+F. Gluck also said that I should modify the planning to start working
+earlier on the creation and customization of images, and that the
+network optimization can be moved to the end of the work, if there's
+some time left.
+
+I cleaned up the `ideploy.sh` script (removed some whitespace, removed
+command `l` at the start of the file).
+
+I removed the logs and added a readme file so git doesn't delete the
+folder.
+
+## 2020-05-03
+
+After reading Abhilash's report, I found out that he created some docker
+images published on dockerhub:
+
+- [osimaging/dhcp-nfs](https://hub.docker.com/r/osimaging/dhcp-nfs)
+- [osimaging/grub-tftp](https://hub.docker.com/r/osimaging/grub-tftp)
+- [osimaging/buildroot](https://hub.docker.com/r/osimaging/buildroot)
+
+Unfortunately, there are no sources for these images. I will try to
+dissect the second image to find out if the grub configuration is the
+same, as I suspect there is something wrong in the one I got from the
+repository.
+
+First, lets download the dcocker image:
+
+```bash
+docker pull osimaging/grub-tftp
+```
+
+Now that I have the image, I can inspect see the commands that have been
+used to create its layers:
+
+```bash
+$ docker history osimaging/grub-tftp --no-trunc
+IMAGE                                                                     CREATED             CREATED BY                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 SIZE                COMMENT
+sha256:48023277a40cf403b0cfafecc453f16f94856eed7a8b64e2d7e8c5e44f5f3ab4   6 months ago                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   925B                
+<missing>                                                                 7 months ago                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   5.49kB              
+<missing>                                                                 7 months ago        /bin/sh -c #(nop)  ENTRYPOINT ["/bin/sh" "-c" "service tftpd-hpa start && /bin/bash"]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      0B                  
+<missing>                                                                 7 months ago        /bin/bash                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  8.54MB              
+<missing>                                                                 7 months ago        /bin/bash                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  571MB               grub with tftp server
+<missing>                                                                 7 months ago        /bin/bash                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  962MB               
+<missing>                                                                 7 months ago        /bin/sh -c #(nop)  CMD ["/bin/bash"]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       0B                  
+<missing>                                                                 7 months ago        /bin/sh -c mkdir -p /run/systemd && echo 'docker' > /run/systemd/container                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 7B                  
+<missing>                                                                 7 months ago        /bin/sh -c set -xe   && echo '#!/bin/sh' > /usr/sbin/policy-rc.d  && echo 'exit 101' >> /usr/sbin/policy-rc.d  && chmod +x /usr/sbin/policy-rc.d   && dpkg-divert --local --rename --add /sbin/initctl  && cp -a /usr/sbin/policy-rc.d /sbin/initctl  && sed -i 's/^exit.*/exit 0/' /sbin/initctl   && echo 'force-unsafe-io' > /etc/dpkg/dpkg.cfg.d/docker-apt-speedup   && echo 'DPkg::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };' > /etc/apt/apt.conf.d/docker-clean  && echo 'APT::Update::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };' >> /etc/apt/apt.conf.d/docker-clean  && echo 'Dir::Cache::pkgcache ""; Dir::Cache::srcpkgcache "";' >> /etc/apt/apt.conf.d/docker-clean   && echo 'Acquire::Languages "none";' > /etc/apt/apt.conf.d/docker-no-languages   && echo 'Acquire::GzipIndexes "true"; Acquire::CompressionTypes::Order:: "gz";' > /etc/apt/apt.conf.d/docker-gzip-indexes   && echo 'Apt::AutoRemove::SuggestsImportant "false";' > /etc/apt/apt.conf.d/docker-autoremove-suggests   745B                
+<missing>                                                                 7 months ago        /bin/sh -c [ -z "$(apt-get indextargets)" ]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                987kB               
+<missing>                                                                 7 months ago        /bin/sh -c #(nop) ADD file:288ac0434f65264f3c50cf3e2766c5dbf3fa953c89995dd9445063fd565aac81 in /                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           63.2MB              
+```
+
+It looks like files have been added in the last layer. I don't know how
+to find the id for this layer so I used `find` to search for `grub.cfg`
+in the docker images. As this is the only docker image installed on my
+computer, there is no risk that it's from another image.
+
+```
+$ sudo find /var/lib/docker/overlay2 -name grub.cfg
+/var/lib/docker/overlay2/2ee611d9b284dbac637be7f08b778d00f20af9c48610e2f7e7ab9e8de536fe01/diff/tftpboot/boot/grub/grub.cfg
+/var/lib/docker/overlay2/22b272204d56ddbf324fdaacded0883a7026c424e6fe89ac35d112db2a1ed6ac/diff/tftpboot/boot/grub/grub.cfg
+/var/lib/docker/overlay2/22b272204d56ddbf324fdaacded0883a7026c424e6fe89ac35d112db2a1ed6ac/diff/tftpboot/boot/grub/i386-pc/grub.cfg
+/var/lib/docker/overlay2/22b272204d56ddbf324fdaacded0883a7026c424e6fe89ac35d112db2a1ed6ac/diff/home/grub_build/grub-2.02/docs/grub.cfg
+/var/lib/docker/overlay2/22b272204d56ddbf324fdaacded0883a7026c424e6fe89ac35d112db2a1ed6ac/diff/home/grub_build/grub-2.02_source/docs/grub.cfg
+/var/lib/docker/overlay2/22b272204d56ddbf324fdaacded0883a7026c424e6fe89ac35d112db2a1ed6ac/diff/home/grub_build/server-config/tftp/tftpboot/boot/grub/i386-efi/grub.cfg
+/var/lib/docker/overlay2/22b272204d56ddbf324fdaacded0883a7026c424e6fe89ac35d112db2a1ed6ac/diff/home/grub_build/server-config/tftp/tftpboot/boot/grub/i386-pc/grub.cfg
+```
+
+It looks like it should be the first or the second image. Let's inspect
+them:
+
+```
+$ sudo cat /var/lib/docker/overlay2/2ee611d9b284dbac637be7f08b778d00f20af9c48610e2f7e7ab9e8de536fe01/diff/tftpboot/boot/grub/grub.cfg
+
+#tr --set=MAC ":" "-" "${net_default_mac}"
+#configfile /boot/grub/${MAC}
+
+#GRUB_ISIGN_MATCH 101
+#GRUB_ISIGN_MISMATCH 100
+#GRUB_ISIGN_WRITE 102
+
+isign -c hepia2015 (hd0)
+set check1=$?
+if [ $check1 == 101 ]; then
+isign -w 000000000 (hd0)
+
+menuentry local_hdd { 
+linux16 //boot/ipxe/ipxe.lkrn 
+initrd16 //boot/ipxe/boot_hdd.ipxe 
+}    
+
+menuentry IDOS-Image\ Deployment\ OS {
+echo "loading vimlinuz"
+
+        linux   boot/manual_os/bzImage    ro ip=dhcp  splash quiet 
+
+        
+}
+
+
+
+else
+menuentry IDOS-Image\ Deployment\ OS {
+echo "loading vimlinuz"
+
+        linux   boot/manual_os/bzImage    ro ip=dhcp  splash quiet 
+        
+        
+}
+
+       
+fi
+
+
+$ sudo cat /var/lib/docker/overlay2/22b272204d56ddbf324fdaacded0883a7026c424e6fe89ac35d112db2a1ed6ac/diff/tftpboot/boot/grub/grub.cfg
+
+#tr --set=MAC ":" "-" "${net_default_mac}"
+#configfile /boot/grub/${MAC}
+
+#GRUB_ISIGN_MATCH 101
+#GRUB_ISIGN_MISMATCH 100
+#GRUB_ISIGN_WRITE 102
+
+isign -c hepia2015 (hd0)
+set check1=$?
+if [ $check1 == 101 ]; then
+isign -w 000000000 (hd0)
+
+menuentry local_hdd { 
+linux16 //boot/ipxe/ipxe.lkrn 
+initrd16 //boot/ipxe/boot_hdd.ipxe 
+}    
+
+menuentry tiny_OS {
+echo "loading vimlinuz"
+
+        linux   boot/manual_os/bzImage    ro ip=dhcp  splash quiet 
+
+        
+}
+
+
+
+else
+menuentry tiny_OS {
+echo "loading vimlinuz"
+
+        linux   boot/manual_os/bzImage    ro ip=dhcp  splash quiet 
+        
+        
+}
+
+       
+fi
+
+
+```
+
+Both look very similar. Let's look at the differences between them:
+
+```
+$ sudo diff /var/lib/docker/overlay2/2ee611d9b284dbac637be7f08b778d00f20af9c48610e2f7e7ab9e8de536fe01/diff/tftpboot/boot/grub/grub.cfg /var/lib/docker/overlay2/22b272204d56ddbf324fdaacded0883a7026c424e6fe89ac35d112db2a1ed6ac/diff/tftpboot/boot/grub/grub.cfg 
+19c19
+< menuentry IDOS-Image\ Deployment\ OS {
+---
+> menuentry tiny_OS {
+30c30
+< menuentry IDOS-Image\ Deployment\ OS {
+---
+> menuentry tiny_OS {
+
+```
+
+It looks like the only difference between them is the name of the menu
+entry. Apart from that, we can (unfortunately) see that the local hdd
+boot is similar to what I have:
+
+```
+menuentry local_hdd { 
+linux16 //boot/ipxe/ipxe.lkrn 
+initrd16 //boot/ipxe/boot_hdd.ipxe 
+}    
+```
+
+This has taught me nothing apart from the fact that the entry `tiny_OS`
+has been renamed to `IDOS-Image Deployment OS`.
+
+I need to find out why this `ipxe.kern` does nothing when booted. Let's
+inspect the `initrd` file named `boot_hdd.ipxe`.
+
+```
+$ cpio -idv < config/nfs/nfsroot/boot/ipxe/boot_hdd.ipxe 
+cpio: premature end of archive
+```
+
+It looks like the file is truncated. Let's look at its size:
+
+```
+$ ls -lh config/nfs/nfsroot/boot/ipxe/boot_hdd.ipxe 
+-rwxr-xr-x 1 araxor araxor 17 22 avr 08:35 config/nfs/nfsroot/boot/ipxe/boot_hdd.ipxe
+```
+
+Only 17 bytes: it's suspicious. Let's look at the content of the file:
+
+```
+$ cat config/nfs/nfsroot/boot/ipxe/boot_hdd.ipxe
+#!ipxe
+
+sanboot
+```
+
+Some documentation on the `sanboot` exists
+[on ipxe documentation](https://ipxe.org/cmd/sanboot). It looks like it
+will boot on the default disk if no argument is provided. I don't
+understand why the grub command `chainloader (hd0)+1` has not been used
+for this purpose, which seems to do the same thing without involving
+`ipxe`.
+
+When I try to run the command manually, the same thing happens: the
+cursor is blinking and nothing happens.
+
+I will create a new image with alpine linux to see if this works. I will
+just transform the `iso` file to a disk image and see if it boots. It's
+not a _real_ image, because it will boot the installer and not the real
+os, but this is ok to just see if booting on it works.
+
+```bash
+mkdir remote_imaging/pxe_server/config/nfs/nfsroot/images/alpine
+cd remote_imaging/pxe_server/config/nfs/nfsroot/images/alpine
+wget http://dl-cdn.alpinelinux.org/alpine/v3.11/releases/x86_64/alpine-standard-3.11.6-x86_64.iso
+fdisk -l alpine-standard-3.11.6-x86_64.iso > alpine.partition
+gzip alpine-standard-3.11.6-x86_64.iso > alpine.img.gz
+md5sum alpine.img.gz > alpine.md5
+du alpine.img.gz > alpine.size
+rm alpine-standard-3.11.6-x86_64.iso
+```
+
+Now lets recreate the server with the new image:
+
+```bash
+vagrant destroy -f && vagrant up
+```
+
+Unfortunately, it does not work:
+
+![Unsucessful Alpine boot](videos/unsuccessful_alpine_boot.webm)
+
+Something catches my attention during the deployment (at 0:21 in the
+video above):
+
+```
+size of image to download=0 KB
+gunzip: invalid magic
+```
+
+It looks like something goes wrong. Let's look at the image size:
+
+```
+$ ls -lh alpine.img.gz 
+-rw-r--r-- 1 araxor araxor 0  3 mai 03:38 alpine.img.gz
+```
+
+In fact, the image is empty. Something must have gone wrong when
+creating the archive.
+
+```
+gzip alpine-standard-3.11.6-x86_64.iso > alpine.img.gz
+```
+
+It looks like this command is wrong. I have fixed it and placed the
+image creation process
+[in a shell script](../remote_imaging/pxe_server/config/nfs/nfsroot/images/alpine/create_image.sh).
+
+I tried to boot on this image... It does not work either, although the
+gunzip error has disappeared.
+
+## 2020-05-04
+
+I will inspect the file system of the client virtual machine by booting
+on a gparted live cd iso. In the GParted GUI, the file system is
+`iso9660`:
+
+![GParted showing the partition in iso9660](images/pxe_client_alpine_gparted_iso9660.png)
+
+This is maybe a problem. I will create a _real_ alpine linux image to
+confirm this and also have a real image to play with. Here is how I plan
+to do it:
+
+1. Install alpine on the `vdi` disk image file
+   - Change the VM network to `NAT` because the installer requires an
+     internet connection to retrieve packages
+   - Login with username `root` and no password
+   - Disable swap to make the image smaller
+     ```
+     export SWAP_SIZE=0
+     ```
+   - Start the installer
+     ```bash
+     export SWAP_SIZE=0
+     setup-alpine
+     ```
+   - Install with default options except:
+     - hostname: `alpine`
+     - root password: `alpine`
+     - disk: `sda`
+     - how to use the drive: `sys` (traditional disk install with
+       `/boot`, `/` and `swap` partitions)
+   - Reboot the machine with `reboot`
+   - Boot on hard drive to check that the install is successful: it
+     works!
+   - Shut down the virtual machine
+2. Convert the `vdi` image to a `raw` image
+   ```bash
+   VBoxManage clonehd pxe_client.vdi alpine.img --format raw
+   ```
+3. Shrink the second partition of the disk image to a smaller size. A
+   procedure described in a
+   [Stack overflow answer](https://superuser.com/a/1373296) has been
+   used to do this step. Another way to do this would be to use
+   `gparted` but I wanted to do it from the command line so it can be
+   automated later.
+   - Set up loopback devices for the partitions in the image:
+
+     ```bash
+     sudo losetup --find --partscan alpine.img
+     ```
+
+     The image is now accessible as a disk on `/dev/loop0` and the
+     second partition is accessible on `/dev/loop0p2`
+   - Find out the estimated minimum size (in blocks) for the second
+     partition:
+
+     ```
+     $ sudo resize2fs -P /dev/loop0p2
+     resize2fs 1.45.6 (20-Mar-2020)
+     Estimated minimum size of the filesystem: 397098
+     ```
+   - Resize the file system to a size of 400000 blocks for safety. The
+     minimum size of the filesystem is just an estimation and we also
+     need some space to do some tests.
+
+     ```
+     $ sudo e2fsck -f /dev/loop0p2
+     e2fsck 1.45.6 (20-Mar-2020)
+     Pass 1: Checking inodes, blocks, and sizes
+     Pass 2: Checking directory structure
+     Pass 3: Checking directory connectivity
+     Pass 4: Checking reference counts
+     Pass 5: Checking group summary information
+     /dev/loop0p2: 7478/648960 files (0.1% non-contiguous), 262974/2595584 blocks
+     
+     $ sudo resize2fs -p /dev/loop0p2 400000
+     resize2fs 1.45.6 (20-Mar-2020)
+     Resizing the filesystem on /dev/loop0p2 to 400000 (4k) blocks.
+     Begin pass 2 (max = 28340)
+     Relocating blocks             XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+     Begin pass 3 (max = 80)
+     Scanning inode table          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+     Begin pass 4 (max = 1148)
+     Updating inode references     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+     The filesystem on /dev/loop0p2 is now 400000 (4k) blocks long.
+     ```
+
+     - TODO: Resize the partition to 400000 blocks.
+4. TODO: Shrink the raw disk image file to the size of the partition
+5. TODO: Add the raw image to the nfs root folder in the server
+   configuration folder
+6. TODO: Check that the disk image works
+7. TODO: Push the image in the repository using
+   [git LFS](https://githepia.hesge.ch/help/workflow/lfs/manage_large_binaries_with_git_lfs)
+
+
+## 2020-05-06
+
+I will shrink the partition later but first I'll recreate a smaller
+image with the same procedure but on a smaller disk of 2GB.
+
+Let's create the image files for the tiny os:
+
+```bash
+fdisk -l alpine.img > alpine.partition
+gzip alpine.img
+md5sum alpine.img.gz > alpine.md5
+du alpine.img.gz > alpine.size
+```
+
+Unfortunately, the boot still does not work with this image... However,
+I can boot from command line using these commands:
+
+```
+set root=(hd0,1)
+chainloader +1
+boot
+```
+
+I have modified grub.cfg to use `chainloader +1` instead of calling
+`pxe`. Now it works!
+
+![Successful alpine boot](videos/successful_alpine_boot.webm)
+
+The other image works as well, but I'll keep the new one for testing
+purposes.
+
+Now I have large image files in the repository as well as some video
+files. I will try to convert the repository to Git LFS so the repository
+performance does not suffer from the large files.
+
+I will follow
+[a guide from GitLab's documentation](https://docs.gitlab.com/ee/topics/git/lfs/migrate_to_git_lfs.html)
+to do it.
+
+1. Backup the repository
+   - A new empty repository has been created for the backup:
+     <https://githepia.hesge.ch/dimitri.lizzi/bootiful-pre-lfs-backup>
+   - A local copy of the repository has been created
+     ```bash
+     cp -r bootiful bootiful-pre-lfs-backup
+     ```
+
+   - The unmodified logbook has been restored so the working tree is
+     clean
+     ```bash
+     $ cd bootiful-pre-lfs-backup
+     $ git restore doc/logbook.md 
+     $ git status
+     On branch master
+     Your branch is up to date with 'origin/master'.
+     
+     nothing to commit, working tree clean
+     ```
+
+   - The remote `origin` of the copied repository has been changed to
+     the url of the backup repository
+     ```bash
+     git remote rename origin old-origin
+     git remote add origin ssh://git@ssh.hesge.ch:10572/dimitri.lizzi/bootiful-pre-lfs-backup.git
+     ```
+
+   - The history and tags have been pushed to the new repository
+     ```bash
+     git push -u origin --all
+     git push -u origin --tags
+     ```
+
+
+
+2. Delete all binary files in git. This is necessary because `bfg` will
+   not remove files that are present in the HEAD commit. These files
+   will be restored after converting the repository to LFS.
+
+   ```bash
+   cd bootiful
+   find . -type f -regextype posix-extended -regex '^.*\/(bzImage|partimage|partimaged|core\.0|.*\.(ext2|mod|pf2|png|mo|img|gz|vdi|webm|cpio|lkrn|mp4))$' -delete
+   git add .
+   git commit -m "git lfs: remove binary files from HEAD"
+   git push
+   ```
+
+3. Clone the bare repository in folder `bootiful.git`
+   ```bash
+   cd ..
+   git clone --mirror ssh://git@ssh.hesge.ch:10572/dimitri.lizzi/bootiful.git
+   ```
+
+4. Convert the binary files in git history to lfs
+   ```bash
+   bfg --convert-to-git-lfs "{bzImage,partimage,partimaged,core.0,*.ext2,*.mod,*.pf2,*.png,*.mo,*.img,*.gz,*.vdi,*.webm,*.cpio,*.lkrn,*.mp4}" bootiful.git
+   ```
+
+5. Clean up the repository
+   ```bash
+   cd bootiful.git
+   git reflog expire --expire=now --all && git gc --prune=now --aggressive
+   ```
+
+6. Install git lfs on repository
+   ```bash
+   git lfs install
+   ```
+
+7. Unprotect the default branch, so that we can force-push the rewritten
+   repository:
+   - Navigate to your project’s Settings > Repository and expand
+     Protected Branches.
+   - Scroll down to locate the protected branches
+     and click Unprotect the default branch.
+
+8. Force push to the server:
+   ```bash
+   git push --force
+   git pull
+   git push --force
+   ```
+
+9. Re-clone the repository to get the new one that we have force pushed
+   ```bash
+   cd ..
+   mv bootiful bootiful.pre-lfs.backup
+   git clone ssh://git@ssh.hesge.ch:10572/dimitri.lizzi/bootiful.git
+   cd bootiful
+   ```
+
+8. Track the file patterns in LFS
+   ```bash
+   git lfs track "bzImage" "partimage" "partimaged" "core.0" "*.ext2" "*.mod" "*.pf2" "*.png" "*.mo" "*.img" "*.gz" "*.vdi" "*.webm" "*.cpio" "*.lkrn" "*.mp4"
+   git add .
+   git commit -m "add lfs patterns"
+   git push
+   ```
+9. Revert deletion of files
+   ```bash
+   git revert ecb9120676d265368bf4e628f606e94c2c2271cc
+   git push
+   ```
+
+10. Re-protect the default branch:
+   - Navigate to your project’s Settings > Repository and expand Protected Branches.
+   - Select the default branch from the Branch dropdown menu, and set up the Allowed to push and Allowed to merge rules.
+   - Click Protect.
+
+## 2020-05-09
+
+Started to make a diagram of the deployment process:
+
+[![](images/diagram_deployment_v1.png)](images/diagram_deployment_v1.svg)
+
+
+## 2020-05-11
+
+Finalize the diagram:
+
+
+[![](images/diagram_deployment.png)](images/diagram_deployment.svg)
+
+## 2020-05-12
+
+The diagram above is not ideal: there is too much information on one diagram and it's
+ hard to understand what is executed where. I will decompose it to 3 diagrams:
+
+1. A component diagram that shows the different entities
+2. An activity diagram (flow chart) that shows the different
+    possibilities for a deployment and the conditions
+3. A sequence diagram that shows how a "path" in diagram 2 (nominal case) is
+   going and what are the entities from diagram 1 involved in each step.
+
+I'll start with the first that is a modification of the previous diagram:
+
+[![](images/diagram_components.png)](images/diagram_components.svg)
+
+## 2020-05-13
+
+### Creation of activity diagram
+
+Now let's create the activity diagram. Abhilash has already created two diagrams
+that I will merge into one:
+
+
+![](images/abhilash_remote_os_deployment_flowchart.png)
+
+
+![](images/abhilash_imaging_flowchart.png)
+
+Here is the activity diagram that I have created:
+
+![[](images/diagram_activity_deployment.svg)](images/diagram_activity_deployment.png)
+
+
+### Meeting notes:
+ - add a step to recreate partition if we can't mount it.
+ - benchmark file transfer methods (ftp, sftp, stp, nfs, tftp, samba, http)
+ - benchmark compression protocols
+ - do it on real machines
+ - see what others do: partimage and clonezilla
+ - I can go to school tomorrow at 16h45 to get a computer to make some real test
+ - tool `dstat`: gives info on disk, io in real time
+ - study sparse files on android
+ - creation of images: maybe reuse clonezilla?
+ - windows: just create an image and show that it works but do not focus on how to create images
+ - pcs deployed at school: xubuntu 18.04
+
+### Creation of a windows image
+
diff --git a/doc/logbook.md b/doc/logbook.md
index 2564460..355fa37 100644
--- a/doc/logbook.md
+++ b/doc/logbook.md
@@ -1,4 +1,3 @@
-# Log book
 
 ## 2020-04-22
 
@@ -1046,7 +1045,7 @@ to do it.
      the url of the backup repository
      ```bash
      git remote rename origin old-origin
-     git remote add origin ssh://git@ssh.hesge.ch:10572/dimitri.lizzi/bootiful-pre-lfs-backup.git
+     git remote add origin ssh://gitssh.hesge.ch:10572/dimitri.lizzi/bootiful-pre-lfs-backup.git
      ```
 
    - The history and tags have been pushed to the new repository
@@ -1072,7 +1071,7 @@ to do it.
 3. Clone the bare repository in folder `bootiful.git`
    ```bash
    cd ..
-   git clone --mirror ssh://git@ssh.hesge.ch:10572/dimitri.lizzi/bootiful.git
+   git clone --mirror ssh://gitssh.hesge.ch:10572/dimitri.lizzi/bootiful.git
    ```
 
 4. Convert the binary files in git history to lfs
@@ -1109,7 +1108,7 @@ to do it.
    ```bash
    cd ..
    mv bootiful bootiful.pre-lfs.backup
-   git clone ssh://git@ssh.hesge.ch:10572/dimitri.lizzi/bootiful.git
+   git clone ssh://gitssh.hesge.ch:10572/dimitri.lizzi/bootiful.git
    cd bootiful
    ```
 
@@ -1162,6 +1161,8 @@ I'll start with the first that is a modification of the previous diagram:
 
 ## 2020-05-13
 
+### Creation of activity diagram
+
 Now let's create the activity diagram. Abhilash has already created two diagrams
 that I will merge into one:
 
@@ -1176,17 +1177,18 @@ Here is the activity diagram that I have created:
 ![[](images/diagram_activity_deployment.svg)](images/diagram_activity_deployment.png)
 
 
-Meeting:
+### Meeting notes:
  - add a step to recreate partition if we can't mount it.
  - benchmark file transfer methods (ftp, sftp, stp, nfs, tftp, samba, http)
  - benchmark compression protocols
  - do it on real machines
  - see what others do: partimage and clonezilla
-
- I can go to school tomorrow at 16h45 to get a computer to make some real tests
-
+ - I can go to school tomorrow at 16h45 to get a computer to make some real test
  - tool `dstat`: gives info on disk, io in real time
  - study sparse files on android
  - creation of images: maybe reuse clonezilla?
  - windows: just create an image and show that it works but do not focus on how to create images
  - pcs deployed at school: xubuntu 18.04
+
+### Creation of a windows image
+
diff --git a/doc/rapport.gpp.md b/doc/rapport.gpp.md
new file mode 100644
index 0000000..b410473
--- /dev/null
+++ b/doc/rapport.gpp.md
@@ -0,0 +1,75 @@
+!!include{includes/markdown.gpp}
+!!ifdef{PANDOC_PDF}
+---
+documentclass: memoir
+lang: fr-CH
+title: Travail de bachelor
+subtitle: |
+  Bootiful\
+  Déploiement d'OS à choix durant le processus de boot
+author: |
+  Haute école du paysage, d'ingénierie et d'architecture de Genève\
+  \
+  Étudiant: Dimitri Lizzi\
+  Professeur référent: Florent Gluck
+date: |
+  Mai 2020
+geometry: margin=2.7cm
+papersize: a4paper
+numbersections: true
+monofont: JetBrains Mono
+output: pdf_document
+header-includes: |
+    \usepackage{pdfpages}
+    \usepackage{fancyhdr}
+    \usepackage{graphicx}
+    \usepackage{float}
+    \usepackage{lastpage}
+
+    \pagestyle{fancy}
+    \setlength{\headheight}{14pt}
+
+    \renewcommand{\headrulewidth}{0.4pt}
+    \renewcommand{\footrulewidth}{0.4pt}
+
+    \fancyhead[LO,LE]{Bootiful}
+    \fancyhead[CO,CE]{Déploiement d'OS à choix durant le processus de boot}
+    \fancyhead[RO,RE]{Dimitri Lizzi}
+    \fancyfoot[LO,LE]{Mai 2020}
+
+    \fancyfoot[CO,CE]{}
+    \fancyfoot[RE,RO]{\thepage /\pageref{LastPage}}
+
+    \setcounter{tocdepth}{4}
+
+    \setlength{\parindent}{0pt}
+    \setlength{\parskip}{9pt}
+
+    \floatplacement{figure}{H}
+abstract: |
+    TODO: Abstract
+---
+
+
+\tableofcontents
+
+!!endif
+# Introduction
+
+# Etude des systèmes existants
+
+## Clonezilla
+
+## Fog
+
+## 
+
+# Processus de déploiement
+
+![Diagramme décrivant le processus de déploiement](images/diagram_deployment.svg)
+
+# Conclusion
+
+# Annex A: logbook
+
+!!includemd{logbook.md}
diff --git a/doc/rapport.md b/doc/rapport.md
index fb53f0c..a08aa2a 100644
--- a/doc/rapport.md
+++ b/doc/rapport.md
@@ -1,3 +1,27 @@
+
+
+
+# Introduction
+
+# Etude des systèmes existants
+
+## Clonezilla
+
+## Fog
+
+## 
+
+# Processus de déploiement
+
+![Diagramme décrivant le processus de déploiement](images/diagram_deployment.svg)
+
+# Conclusion
+
+# Annex A: logbook
+
+
+    !!include{includes/markdown.gpp}
+!!ifdef{PANDOC_PDF}
 ---
 documentclass: memoir
 lang: fr-CH
@@ -48,14 +72,28 @@ abstract: |
     TODO: Abstract
 ---
 
+
 \tableofcontents
 
+!!endif
 # Introduction
 
 # Etude des systèmes existants
 
+## Clonezilla
+
+## Fog
+
+## 
+
 # Processus de déploiement
 
 ![Diagramme décrivant le processus de déploiement](images/diagram_deployment.svg)
 
-# Conclusion
\ No newline at end of file
+# Conclusion
+
+# Annex A: logbook
+
+!!includemd{logbook.md}
+
+
diff --git a/doc/rapport.pdf b/doc/rapport.pdf
deleted file mode 100644
index a19f56afde60ecfbc73085a3a08a63cbc772c8da..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 382019
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
VQED2Ov4x?bu`!pbs;j>n7XV3Cvortz

diff --git a/doc/trimstart.py b/doc/trimstart.py
new file mode 100755
index 0000000..53dfc16
--- /dev/null
+++ b/doc/trimstart.py
@@ -0,0 +1,10 @@
+#!/usr/bin/env python
+
+import sys
+
+nonempty_line_reached = False
+for line in sys.stdin:
+    if nonempty_line_reached:
+        print(line, end='')
+    else:
+        nonempty_line_reached = line != "\n"
\ No newline at end of file
-- 
GitLab