aboutsummaryrefslogtreecommitdiff
path: root/doc/class-assignment
diff options
context:
space:
mode:
Diffstat (limited to 'doc/class-assignment')
-rw-r--r--doc/class-assignment/fsverify.pdfbin102513 -> 138267 bytes
-rw-r--r--doc/class-assignment/fsverify.tex2
-rw-r--r--doc/class-assignment/idee/implementierungen.tex1
-rw-r--r--doc/class-assignment/realisierung/fbwarn.tex0
-rw-r--r--doc/class-assignment/realisierung/fsverify.tex32
-rw-r--r--doc/class-assignment/realisierung/realisierung.tex5
-rw-r--r--doc/class-assignment/realisierung/verifysetup.tex0
7 files changed, 40 insertions, 0 deletions
diff --git a/doc/class-assignment/fsverify.pdf b/doc/class-assignment/fsverify.pdf
index 7ec78d9..a666f6d 100644
--- a/doc/class-assignment/fsverify.pdf
+++ b/doc/class-assignment/fsverify.pdf
Binary files differ
diff --git a/doc/class-assignment/fsverify.tex b/doc/class-assignment/fsverify.tex
index a82425c..ad8ebf2 100644
--- a/doc/class-assignment/fsverify.tex
+++ b/doc/class-assignment/fsverify.tex
@@ -32,6 +32,8 @@
\newpage
\section{Idee}
\input{idee/idee}
+\section{Realisierung}
+\input{realisierung/realisierung}
\end{document}
%%% Local Variables:
diff --git a/doc/class-assignment/idee/implementierungen.tex b/doc/class-assignment/idee/implementierungen.tex
index af3b652..cbecba8 100644
--- a/doc/class-assignment/idee/implementierungen.tex
+++ b/doc/class-assignment/idee/implementierungen.tex
@@ -11,6 +11,7 @@ Für die Verifizierung eines Dateisystems gibt es verschiedene Methoden:
\\
Alle drei arten der Verifizierung haben eine Sache gemeinsam, sie brauchen eine vertraute quelle von der sie den korrekten Hash für eine Datei/Partition/Block lesen können.
+
%%% Local Variables:
%%% mode: LaTeX
%%% TeX-master: "../fsverify.tex"
diff --git a/doc/class-assignment/realisierung/fbwarn.tex b/doc/class-assignment/realisierung/fbwarn.tex
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/doc/class-assignment/realisierung/fbwarn.tex
diff --git a/doc/class-assignment/realisierung/fsverify.tex b/doc/class-assignment/realisierung/fsverify.tex
new file mode 100644
index 0000000..cc32dd1
--- /dev/null
+++ b/doc/class-assignment/realisierung/fsverify.tex
@@ -0,0 +1,32 @@
+\subsection{fsverify}
+Da das Konzept der Festplattenverifizierung nichts neues ist, habe ich mir erstmals bereits existierende Projekte angeschaut, um zu sehen, wie es in anderen Betriebssystemen realisiert ist.
+Hierbei war google's dm-verity, welches in Android und ChromeOS geräten genutzt wird, die beste Hilfe, da es am besten dokumentiert und ausgetestet ist.
+
+\subsubsection{Partitionslayout}
+Inspiriert an dm-verity, entschied ich mich dafür, die Datenbank auf eine eigene Partition zu speichern, also war das erste Ziel ein gutes Partitionslayout zu Entwickeln, in der die Datenbank und Metadata so gut wie möglich gespiechert werden kann.
+\\
+Die erste Version des Layouts war recht simpel, es hatte alles was wirklich wichtig war, eine magic number, die signatur, größe des Dateisystems und größe der Datenbank:
+\begin{verbatim}
+<magic number> <signature> <filesystem size> <table size>
+\end{verbatim}
+
+\begin{center}
+ \begin{tabular}{|c | c | c | c|}
+ \hline
+ Feld & Größe & Nutzen & Wert \\ [0.5ex]
+ \hline
+ magic number & 2 bytes & Sanity check & 0xACAB \\
+ \hline
+ signature & 302 bytes & minisign signatur & - \\
+ \hline
+ filesystem size & 4 bytes & größe des originalen Dateisystems in GB & - \\
+ \hline
+ table size & 4 bytes & größe der Datenbank in MB & - \\
+ \hline
+ \end{tabular}
+\end{center}
+
+%%% Local Variables:
+%%% mode: LaTeX
+%%% TeX-master: "../fsverify"
+%%% End:
diff --git a/doc/class-assignment/realisierung/realisierung.tex b/doc/class-assignment/realisierung/realisierung.tex
new file mode 100644
index 0000000..64e00f1
--- /dev/null
+++ b/doc/class-assignment/realisierung/realisierung.tex
@@ -0,0 +1,5 @@
+Das Projekt kann in drei Unterprojekte eingeteilt werden. Fsverify, also die verifizierung selber, verifysetup, ein Program um das system richtig zu Konfigurieren um die nutzung von fsverify möglich zu machen und fbwarn, ein program welches den Nutzer graphisch über eine fehlgeschlagene Verifizierung informiert.
+
+\input{realisierung/fsverify.tex}
+\input{realisierung/verifysetup.tex}
+\input{realisierung/fbwarn.tex}
diff --git a/doc/class-assignment/realisierung/verifysetup.tex b/doc/class-assignment/realisierung/verifysetup.tex
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/doc/class-assignment/realisierung/verifysetup.tex