/boot auf IDE, / auf USB Festplatte
Gex 12.08.2008 - 13:57 868 9
Gex
Oralapostel
|
Ich habe einen alten ThinClient, den ich gerne mit einem Debian bestücken würde. Das Teil hat so einen 32MB großen IDE-Flash-Speicher als Festplattenersatz. Und mehrere USB-Anschlüsse - leider nur USB 1.1. Meine Idee wäre folgende: Auf die Flash-Disk den Kernel und alles legen, Bootloader installieren usw., so dass davon gebootet wird. Dann eine Partition auf einer USB-Platte als / verwenden... Wie fange ich das nun am cleversten an? Beherrscht der Debian-Installer sowas vielleicht schon von Haus aus? Oder muss ich da manuell mit debootstrap dabei? Wenn ja, unterstützt der Kernel (2.6.x) standardmäßig schon USB Mass Storage oder muss ich da auch erst einen neuen backen? Und wie bringe ich dem System, wenn der Kernel erstmal von der Flash-Disk gestartet ist, bei, dass die USB-Platte als / gemountet wird? Einfach /etc/fstab entsprechend editieren und fertig ist der Lack? Oder gibt's dann Probleme mit der USB-Platte? Dass ich mit USB 1.1 keine Geschwindigkeitsrekorde aufstellen werde ist schon klar, aber darum geht's auch nicht  Also für Tips jeglicher Art bin ich dankbar
Bearbeitet von Gex am 12.08.2008, 19:29
|
othan
Layer 8 Problem
|
sollte von haus aus funktionieren, am besten einfach probieren
|
t3mp
I Love Gasoline
|
Jeder Installer der was auf sich hält sollte das beherrschen. Allerdings begehst du einen kleinen Denkfehler. / ist gemeinsam mit /boot und /lib (bin mir nicht sicher was zum Booten noch zwingend benötigt wird) dann auf der Flash-Disk obwohl das sehr knapp werden wird, und alle Partitionen die sich auslagern lassen (/usr, /var, /opt, /home usw.) kommen auf die USB-Disk und werden von dort eingehängt. Welche die root-Partition ist, gibt man im Bootmanager als Kernel-Argument an. Zu dem Zeitpunkt ist noch nichts mit /etc/fstab.  EDIT: Solchermaßen kann man dann natürlich auch / auf der USB-Platte angeben, das war jetzt mein Denkfehler. Allerdings musst du dann unbedingt das USB-Subsystem in den Kernel compilieren, damit er überhaupt erst auf die USB-Platte zugreifen kann.
Bearbeitet von t3mp am 12.08.2008, 14:13
|
issue
Rock and Stone, brother!
|
Jeder Installer der was auf sich hält sollte das beherrschen. Allerdings begehst du einen kleinen Denkfehler.
/ ist gemeinsam mit /boot und /lib (bin mir nicht sicher was zum Booten noch zwingend benötigt wird) dann auf der Flash-Disk obwohl das sehr knapp werden wird, und alle Partitionen die sich auslagern lassen (/usr, /var, /opt, /home usw.) kommen auf die USB-Disk und werden von dort eingehängt.
Welche die root-Partition ist, gibt man im Bootmanager als Kernel-Argument an. Zu dem Zeitpunkt ist noch nichts mit /etc/fstab.  wird das zeug aus /lib nicht erst nach der initrd geladen? ich mein es tuts wenn er sich nur /boot auf das ide LW legt.
|
t3mp
I Love Gasoline
|
Ja, war mein Denkfehler, habe mich schon verbessert. /lib muss in den meisten Fällen fix auf / sein, hat aber nichts mit /boot zu tun. Habe das mit meinen eigenen Flash-beschleunigt-System-Phantasien durcheinander gebracht.
|
Gex
Oralapostel
|
Oha, vielen Dank schonmal! D.h. wenn ich dem Kernel das USB-Subsystem fest einkompiliere kann ich dem Bootloader einerseits das root-Verzeichnis (in diesem Fall eben die USB-Platte, z.B. bei grub als hd(1,0) oder so) und gleichzeitig den Speicherort des Kernels auf der IDE-Platte (z.B. hd(0,0)/vmlinuz) mitgeben?
|
t3mp
I Love Gasoline
|
Für den Speicherort des Kernels ist es sogar unerheblich was du hineinkompiliert hast, der wird ja noch vom Grub/Lilo geladen. Wichtig ist natürlich noch, dass auch das entsprechende Filesystem der USB-Platte fix im Kernelimage sitzt.
Ob man bei anderen Linux-Distributionen mit solch Grundsätzlichem überhaupt in Berührung kommt weiß ich aber nicht. ^^
Bearbeitet von t3mp am 12.08.2008, 16:37
|
Gex
Oralapostel
|
Ok ich werd dann heut Abend einfach mal ein bisschen herumprobieren  Da es bestimmt nicht auf Anhieb funktioniert, melde ich mich wieder
|
Marcellus
OC Addicted
|
Sodala, da wurde ja schon viel verzapft in diesem Thread. Wegen dem kernel: Du musst sowohl den usb treiber, als auch den filesystemtreiber dem kernel bereitstellen, du kannst entweder die module fix in den kernel kompilieren, oder in ein initrd image legen. Wegen bootloader: Du musst "/" beim booten angeben ich würd dir raten die root partition per UUID anzugeben, weil du dann keine Probleme mit usb sticks oä hast. Und noch allgemein usb 1.1 ist SEHR langsam, deswegen würde ich das ganze schon mal bleiben lassen. Alternativ kannst du dir überlegen, obs nicht eine option wäre das root filesystem einfach über nfs zu mounten. Oder wenn dus ganz ganz ganz flippig haben willst schau dir coreboot an.
|
Gex
Oralapostel
|
Ich hab's jetzt mit dem aktuellen Debian netinst-iso gemacht und was soll ich sagen - es hat absolut problemlos funktioniert  Aber ich werde das System noch etwas abspecken, damit's wenigstens ein klein wenig flotter geht  Also euch allen vielen Dank!
|