aboutsummaryrefslogtreecommitdiff
path: root/doc/class-assignment/realisierung/fsverify.tex
diff options
context:
space:
mode:
authoraxtloss <axtlos@getcryst.al>2024-02-29 16:37:59 +0100
committeraxtloss <axtlos@getcryst.al>2024-02-29 16:37:59 +0100
commit2e74880a4fd81bb6569be1b27e8666cd4c448fc7 (patch)
tree4540a4adec0fc73ab1e9de72034da70cf49f9783 /doc/class-assignment/realisierung/fsverify.tex
parentfec5286ca126cf761593fbe04e56db9a89c5eb49 (diff)
downloadfsverify-2e74880a4fd81bb6569be1b27e8666cd4c448fc7.tar.gz
fsverify-2e74880a4fd81bb6569be1b27e8666cd4c448fc7.tar.bz2
Update class-assignment
Diffstat (limited to 'doc/class-assignment/realisierung/fsverify.tex')
-rw-r--r--doc/class-assignment/realisierung/fsverify.tex32
1 files changed, 32 insertions, 0 deletions
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: