diff --git a/14.html b/14.html
index dd54a84..7332963 100644
--- a/14.html
+++ b/14.html
@@ -49,6 +49,125 @@
+
+
+
+
+ Boot Ablauf
+
+ - efi ( bios ) lädt bootloader ( grub2 )
+ - bootloader lädt kernel
+ - Kernel ist modularisiert -> Keine Dateisystemtreiber!!
+ - Lösung: Kernel bindet initrd als RAM-Disk ein
+ - initrd -> enthält zum Systemstart notwendige Module ( zB Dateisystemtreiber, damit Kernel root Partition einbinden kann )
+ - System startet.
+
+
+
+
+ ~$ lsblk
+
+NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
+sda 8:0 0 223,6G 0 disk
+├─sda1 8:1 0 245M 0 part /boot/efi
+├─sda2 8:2 0 511M 0 part /boot
+└─sda3 8:3 0 222,9G 0 part
+ └─sda3_crypt 253:0 0 222,8G 0 crypt
+ ├─xubuntu--vg-root 253:1 0 215,1G 0 lvm /
+ └─xubuntu--vg-swap_1 253:2 0 7,7G 0 lvm
+
+
+ Der Bootloader wohnt in /boot/efi
+
+
+
+ Inhalt von /boot
+
+root@workhorse:/boot# ls
+config-4.9.0-7-amd64 initrd.img-4.9.0-7-amd64 System.map-4.9.0-8-amd64
+config-4.9.0-8-amd64 initrd.img-4.9.0-8-amd64 vmlinuz-4.9.0-7-amd64
+grub System.map-4.9.0-7-amd64 vmlinuz-4.9.0-8-amd64
+
+
+ initrd angucken:
~$ lsinitramfs /boot/initrd.img-$(uname -r)
+
+
+
+ grub - Grand Unified Boot Loader
+ - Liest verschiedene Dateisysteme:
+
- GRUB Legacy (bis GRUB 0.9x): ext2, ext3, UFS, UFS2, ReiserFS, FAT, JFS, Minix, FFS, XFS, mit distributionsspezifischen Erweiterungen auch weitere;
+ - GRUB2 (ab GRUB 1.9x) zusätzlich ext4, ZFS und btrfs.
+ - Bootet verschiedene Betriebssysteme per Auswahlmenü und automatischem Zeitablauf (Linux und Windows als Multi-Boot-System).
+ - Bootet Betriebssysteme von Festplatten, Disketten, CD- und DVD-Laufwerken sowie Flash-Disks.
+ - Verfügt über einen eingebauten Kommandozeileninterpreter (Shell).
+ - Ist relativ einfach konfigurierbar (Farben, Hintergrundbild, Struktur usw.).
+ - Kann mit einem Passwort gesichert werden.
+ - Kann über TFTP bereitgestellte Linux-Kernel booten.
+
+
+
+
+ Interessante Dateien:
+ /etc/default/grub -> Anpassungen
+
/etc/grub.d/ -> scripts die boot.cfg generieren
+
00_header*
+05_debian_theme*
+10_linux*
+20_linux_xen*
+20_memtest86+*
+30_os-prober*
+30_uefi-firmware*
+40_custom*
+41_custom*
+
+ /boot/grub/grub.cfg -> nicht bearbeiten!
+
+
+
+
+ /etc/default/grub
+
+GRUB_DEFAULT=0
+GRUB_HIDDEN_TIMEOUT=0
+GRUB_HIDDEN_TIMEOUT_QUIET=true
+GRUB_TIMEOUT=10
+GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
+GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
+GRUB_CMDLINE_LINUX=""
+
+GRUB_BACKGROUND="/usr/share/images/grub/050817-N-3488C-028.tga"
+
+
+ Aussehen verändern
+ nach Änderung:
sudo update-grub
+
+
+
+
+
+
+ Quelle: https://www.makeuseof.com/tag/bootkit-nemesis-genuine-threat/
+
+
+
+ Secure Boot
+
+ - bootet ausschliesslich Signierte Kernel. Einzige mögliche Signatur: kommt von Microsoft......
+
- Microsoft stellt Linux-Distributoren Key zur Verfügung -> ein paar Distrib. unterstützen Secure Boot.
+
- Debian zur Zeit nicht.
+
- Secure Boot verhindert Starten von selbst kompilierten Kerneln
+
- Microsoft kontrolliert also auf ALLEN Mainboards welche Betriebssysteme bei aktiviertem Secure Boot starten können. Auf ALLEN.
+
+
+
@@ -115,7 +234,7 @@ int main() {
-
+
Befehle
@@ -124,9 +243,12 @@ int main() {
- lspci
- lsmem
- lshw
- Kernelmodule
- - lsmod
- - modprobe
+ Kernelmodule
+ - lsmod - listet geladene KM
+ - modprobe - laden und löschen v. KM
+ - insmod - lädt KM ohne Abhängigkeiten
+ - rmmod - löscht KM ohne Abhängigkeiten
+
@@ -143,12 +265,25 @@ int main() {
- - Die meisten Hardwarekomponenten in Ihrem Computer haben einen zugehörigen Treiber.
+ - Die meisten Hardwarekomponenten in eurem Computer haben einen zugehörigen Treiber.
- Ein großer Teil eines laufenden Kernels ist Treibercode.
- Ein Treiber kann statisch in die Kerneldatei auf der Festplatte eingebaut werden.
+
+
+ Moderne Linuxe bieten umfangreichen Treiber-Support, manuelles Laden von KM ist praktisch nie nötig.
+ Gegenbeispiel:
NVIDIA Treiber f. Gaming GraKas
manche Drucker ( jaaa, immer noch... )
+
+
+
+ Manuelle Konfiguration von KM
+ /etc/modprobe.d/*.conf
+ Liste der Kernelmodule
~$ basename -s ".ko" $(find /lib/modules/$(uname -r) \
+ -type f -name "*.ko")
+
+
Wir bauen ein Kernel-Modul
@@ -202,97 +337,11 @@ $ make menuconfig
~$ sudo dpkg -i ../linux-*.deb
# reboot -> neuen Kernel wählen
-
+
+
+ Debian Handbbok - Installing a kernel
-
- grub - Grand Unified Boot Loader
- - Liest verschiedene Dateisysteme:
-
- GRUB Legacy (bis GRUB 0.9x): ext2, ext3, UFS, UFS2, ReiserFS, FAT, JFS, Minix, FFS, XFS, mit distributionsspezifischen Erweiterungen auch weitere;
-- GRUB2 (ab GRUB 1.9x) zusätzlich ext4, ZFS und btrfs.
-- Bootet verschiedene Betriebssysteme per Auswahlmenü und automatischem Zeitablauf (Linux und Windows als Multi-Boot-System).
-- Bootet Betriebssysteme von Festplatten, Disketten, CD- und DVD-Laufwerken sowie Flash-Disks.
-- Verfügt über einen eingebauten Kommandozeileninterpreter (Shell).
-- Ist relativ einfach konfigurierbar (Farben, Hintergrundbild, Struktur usw.).
-- Kann mit einem Passwort gesichert werden.
-- Kann über TFTP bereitgestellte Linux-Kernel booten.
-
-
-
- ~$ lsblk
-
-NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
-sda 8:0 0 223,6G 0 disk
-├─sda1 8:1 0 245M 0 part /boot/efi
-├─sda2 8:2 0 511M 0 part /boot
-└─sda3 8:3 0 222,9G 0 part
- └─sda3_crypt 253:0 0 222,8G 0 crypt
- ├─xubuntu--vg-root 253:1 0 215,1G 0 lvm /
- └─xubuntu--vg-swap_1 253:2 0 7,7G 0 lvm
-
-
-
-
-
- Interessante Dateien:
- /etc/default/grub -> Anpassungen
-
/etc/grub.d/ -> scripts die boot.cfg generieren
-
00_header*
-05_debian_theme*
-10_linux*
-20_linux_xen*
-20_memtest86+*
-30_os-prober*
-30_uefi-firmware*
-40_custom*
-41_custom*
-
- /boot/grub/grub.cfg -> nicht bearbeiten!
-
-
-
-
- /etc/default/grub
-
-GRUB_DEFAULT=0
-GRUB_HIDDEN_TIMEOUT=0
-GRUB_HIDDEN_TIMEOUT_QUIET=true
-GRUB_TIMEOUT=10
-GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
-GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
-GRUB_CMDLINE_LINUX=""
-
-GRUB_BACKGROUND="/usr/share/images/grub/050817-N-3488C-028.tga"
-
-
- Aussehen verändern
- nach Änderung:
sudo update-grub
-
-
-
-
-
-
-
-
-
- Secure Boot
-
- - bootet ausschliesslich Signierte Kernel. Einzige mögliche Signatur: kommt von Microsoft......
-
- Microsoft stellt Linux-Distributoren Key zur Verfügung -> ein paar Distrib. unterstützen Secure Boot.
-
- Debian zur Zeit nicht.
-
- Secure Boot verhindert Starten von selbst kompilierten Kerneln
-
- Microsoft kontrolliert also auf ALLEN Mainboards welche Betriebssysteme bei aktiviertem Secure Boot starten können. Auf ALLEN.
-
-