
Ich laufe immer mit einem USB Stick am Schlüsselbund herum - man weiß schließlich nie, wann man mal einen braucht. Lange Zeit war das ein ziemlich kleiner Stick, und zwar nicht nur physisch sondern auch logisch - mit 128MB konnte man nicht wirklich viel anfangen. Seit neuestem hab ich aber einen neuen Stick, einen
Kingston Mini Migo mit vorzeigbaren 4GB Speicher auf etwa zwei Zentimetern Platz verteilt.
Nun konnte ich auch endlich mal die Idee vom "Linux USB Stick" ausprobieren und hab mir direkt diverse Howtos zum Thema LiveCD und LiveUSB zu Gemüte geführt. Zum größten Teil bin ich hierbei
diesem Artikel in der Gentoo Wiki gefolgt, habe am Ende aber zum Beispiel das linuxrc Skript fast komplett für meine Bedürfnisse umgeschrieben.
Das Ergebnis meiner Spielereien ist nun ein etwa 350MB großes
squashfs Image, das ein komplettes Gentoo Basissystem enthält (mit Portage, gcc und allen Tools, die man so gebrauchen kann). Der Stick bootet auf jedem Rechner, der ein USB Gerät als Bootdevice ansprechen kann, und das sogar richtig schnell - das Mounten des squashfs Images dauert gerade mal eine Sekunde.
Das read-only squashfs wird beim Boot mit Hilfe von
unionfs mit einem read-write Dateisystem überlagert. So bleibt das Basissystem unberührt und ich kann trotzdem ganz normal arbeiten. Hierbei kann ich via
grub auswählen, ob ich ein
tmpfs will (das dann natürlich bei jedem Neustart wieder weg ist) oder eine Datei auf dem Stick als Loop-Device einbinde, mit der die Änderungen dann auch persistent gespeichert werden können.
Da das unionfs nur Änderungen speichert kann ich platzsparend völlig unterschiedliche "Systeme" auf dem Stick ablegen - beim Start kann ich den jeweiligen Overlay auswählen und so verschiedene Snapshots booten.
Eine wirklich coole Spielerei :)
Der Stick ist jetzt erstmal mit allerlei Tools ausgestattet, um etwa einem havarierten Rechner wieder auf die Beine zu helfen. Einfach USB Stick anschließen und booten.