WlanBooten
Version 11 (dvs, 01/14/2009 12:42 am)
| 1 | 8 | dsuchod | h2. Booten aus dem WLAN |
|---|---|---|---|
| 2 | 8 | dsuchod | |
| 3 | 8 | dsuchod | |
| 4 | 1 | dsuchod | Das Booten über Ethernet/LAN gehört inzwischen zum Standard. Meistens kommt dafür PXE zum Einsatz eine freie Alternative ist Etherboot. Im Bereich Wireless LAN hat sich noch kein Standard herausgebildet bzw. es gibt anscheinend auch wenige Überlegungen dazu. Erste (erfolgreiche) Versuche hat es mit bestimmten WLAN-Karten (PrismII Chip) im Zusammenhang mit Etherboot gegeben. |
| 5 | 9 | dvs | Das Etherboot-Projekt wird derzeit recht aktiv weitergeführt und die neue Version firmiert nun unter dem Namen gPXE. Die WLAN-Unterstützung soll ausgebaut werden ... |
| 6 | 2 | dsuchod | |
| 7 | 1 | dsuchod | Es gibt aber eine Reihe von Schwierigkeiten, die in Überlegungen einbezogen werden müssen. Hierzu gehört die "Unterbringung" des Bootcodes (das Analogon zu PXE oder Etherboot). Dieser benötigt ein umfangreicheres Setup als für Ethernet (ESSID, ...) |
| 8 | 1 | dsuchod | |
| 9 | 8 | dsuchod | * Ein Ansatz wären sogenannte Mini-PCI-Karten (WLAN-Karten wie sie in Notebooks verbaut sind), die mit einem EEPROM von min. 128kByte Grösse (besser mehr für spätere Erweiterungen bzw. Firmware. Je nach Firmware-Größe kann auch erheblich mehr benötigt werden) ausgestattet werden können. Hier kann dann Bootcode untergebracht werden, der sich zum einen aus den Treibern des Hardware-Herstellers der WLAN-Karte und zum anderen bspw. aus einem freien Boot-Framework (Etherboot o.ä.) zusammensetzt. Das wäre das Analogon zum Boot-ROM klassischer PCI-Netzwerkkarten. Es könnte jedoch das Problem auftreten, dass die WLAN-Chips das Feature der Anbindung von EEPROMS von sich aus unterstuetzen müssen, da anders als bei ISA das Ansprechen über den Chip läuft. Mini-PCI ist kein Problem und der neuen Card-Bus-Nachfolger nutzt auch PCIe, so dass alle Karten, die daran angeschlossen werden, direkt am PCI-Bus "sichtbar" sind. Das spart den Stress vorher erst den Cardbus, USB oder sonstwas zu aktivieren. |
| 10 | 1 | dsuchod | |
| 11 | 8 | dsuchod | * BIOS-Modifikation (Standard bei Ethernet): Erlaubt ein Hardware-unabhängiges Vorgehen: Ein spezielles EERPOM/Flash auf der NW-Karte ist nicht notw. Das Notebook ist für die Modifikation nicht zu öffnen, da es nur um Software-Updates geht. Jedoch ist für jede WLAN-Karte eine eigene Modifikation erforderlich, die nach dem Wechsel der Karte erneut erfolgen müsste. Zudem braucht man von jedem Hersteller die passenden BIOS-Basteltools. |
| 12 | 8 | dsuchod | |
| 13 | 1 | dsuchod | * Problematischer sind Ansätze mittels USB oder Cardbus zu booten, da hier erst weitere Hardware-Layer zu einem sehr frühen Zeitpunkt initialisiert werden müssten. |
| 14 | 8 | dsuchod | |
| 15 | 11 | dvs | * Boot-Partition auf Platte mit Grundsoftware ([[PreBoot]]-Umgebung mit passendem Bootloader: Syslinux als spezieller Kernel mit passender InitRamFS). Problem hier: Lässt sich u.U. schwer schützen (ungewollte, böswillige Manipulation) und wenn dann schwer updaten (zumindest für Kernel und [[InitramfsTools]] zwangsläufig irgendwann notwendig). Platte könnte auch gegen Flash-Device ausgetauscht werden. |
| 16 | 1 | dsuchod | |
| 17 | 9 | dvs | Generell sieht es so aus, als hätte die letzte Lösung die größten Chancen auf Verwirklichung, insbesondere wenn man die verfügbare Hardware in Betracht zieht. Diese Variante nutzt *kexec*, das seit Kernel 2.6.10 oder so existiert: Dabei kann ein anderer Linux-Kernel direkt aus einem laufenden heraus gebootet werden. |
| 18 | 8 | dsuchod | |
| 19 | 10 | dvs | h2. Kexec-Ansatz (PreBoot-Umgebung) |
| 20 | 8 | dsuchod | |
| 21 | 9 | dvs | Dieses Verfahren wird deshalb für WLAN-Umgebungen mit Boot-Festplatte (beispielsweise entsprechend ausgestattete Laptops) entwickelt, da es vermeidet immer wieder den aktuellen Kernel auf das jeweilige Gerät kopieren zu müssen: |
| 22 | 11 | dvs | * Es ein Kernel mit einem Minimalsystem ([[PreBoot]]) eingesetzt, welcher nur vom Boot-Server den eigentlichen Ziel-Kernel und das Ziel-InitRamFS lädt und diese dann anstartet. Dieses Mini-System könnte wiederum die Busybox plus WLAN-Tools enthalten und aus dieser drei Dateien laden: Kernel, InitRamFS und eine Datei mit der Kernel-Commandline. |
| 23 | 9 | dvs | * Das erspart einem einen vollen Boot-Zyklus und erlaubt recht frei die Kernel/InitRamFS, die man eigentlich booten will auszutauschen. Ein Auswahlmenü lässt sich so jedoch noch nicht realisieren. |
| 24 | 8 | dsuchod | * Man muss nicht den Bootloader dynamisch umschreiben. |
| 25 | 1 | dsuchod | |
| 26 | 8 | dsuchod | Siehe dazu: "LWN Artikel":http://lwn.net/Articles/15468 oder auch "Präsentation von 2007":http://www.vergenet.net/linux/kexec/lca/2007/kexec.pdf ... |