Linux von Google Drive booten
Aber wie?
- Das sollte ohne Hilfsgerät eigenständig gelöst werden
- Mit FUSE wurde es so eingerichtet, dass es als Dateisystemtreiber im Userspace arbeitet
- Das FUSE-Programm musste in das Linux-Kernel-
initramfs installiert und die Netzwerkkonfiguration eingerichtet werden
Linux-Bootprozess
- Die Firmware (BIOS/UEFI) startet und lädt den Bootloader
- Der Bootloader lädt den Kernel
- Der Kernel entpackt ein temporäres Dateisystem in den RAM, das Werkzeuge zum Mounten des eigentlichen Dateisystems bereitstellt
- Der Kernel mountet das eigentliche Dateisystem und wechselt den Prozess auf das
init-System, das auf dem neuen Dateisystem läuft
Proof of Concept
- Erforderlich war ein
initramfs mit Netzwerkunterstützung und einer passenden FUSE-Binärdatei
- Mit Dracut ließ sich ein benutzerdefiniertes
initramfs einfach bauen
- Es fiel die Entscheidung, auf Basis von Arch Linux zu bauen
Google greift ein
- Das Projekt
google-drive-ocamlfuse wurde verwendet, um Google Drive per FUSE zu mounten
- Es traten mehrere Probleme auf: symbolische Links, Hardlinks, Geschwindigkeit, Berechtigungen usw.
- Zur Behebung der Probleme wurden symbolische Links manuell erstellt und weitere Einstellungen angepasst
Auf echter Hardware ausführen
- Verwendung des richtigen Ethernet-Treibers und Anpassung der Netzwerkkonfiguration
- Eine integrierte EFI-Datei wurde auf einem USB-Laufwerk gebaut, um sie auf echter Hardware zu testen
Fazit
- Dieses Projekt zeigt die Möglichkeiten von Cloud-native Computing
- Es gibt verschiedene Anwendungsmöglichkeiten, etwa Linux von SSH oder einem Git-Repository zu booten
Meinung von GN⁺
- Dieses Projekt ist ein interessanter Versuch, die Möglichkeiten von Cloud-native Computing auszuloten
- Man kann lernen, wie sich die verschiedenen Probleme lösen lassen, die beim Booten von Linux von Google Drive mit FUSE auftreten
- Leistungs- und Zuverlässigkeitsprobleme Cloud-basierter Dateisysteme sollten berücksichtigt werden
- Andere Projekte mit ähnlicher Funktionalität sind unter anderem
gitfs
- Bei der Einführung neuer Technologien sollten Aspekte wie Leistung, Zuverlässigkeit und Sicherheit sorgfältig berücksichtigt werden
1 Kommentare
Hacker-News-Kommentar
Diese Technik als „Booten“ zu bezeichnen, ist fragwürdig, da der Kernel bereits gebootet ist
Früher konnte man Sun Solaris über HTTP booten
Wie wäre es damit, Linux über BitTorrent zu booten?
Kann man wirklich von Remote-Boot sprechen, wenn man ein paar Megabyte rootfs aus einem lokalen initramfs bootet?
Was die Leute wirklich wollen, sind Bootzeiten im Sekundenbereich, besonders bei Embedded-Systemen
Es wird erwähnt, von S3 zu booten
Als ich zu Hause zum ersten Mal ein Kabelmodem installiert habe, konnte ich mit einer Boot-Diskette BSD über das Netzwerk installieren
Ich habe einmal etwas Ähnliches gemacht: vom RPM-Repository der Tumbleweed-Installations-DVD gebootet
Unter Windows macht man so etwas oft mit Citrix
„Mir wird schwindelig, und inmitten von Tausenden Jahren Programmiererzeit und den Schreien des Wahnsinns finde ich mein Meisterwerk“