Ansichten eines Informatikers

Ubuntu-Linux auf einem Notebook ohne CDROM installieren

Hadmut
23.8.2008 20:51

Hat mich heute einige Zeit an Sucherei und Bastelei gekostet, bis ich ein Linux auf meinem neuen MSI Wind “Netbook” hatte, denn die Ubuntu-Installation beruht sehr stark auf dem Booten einer CDROM. Was bei einem Notebook ohne CDROM-Laufwerk etwas alternatives Handeln benötigt.

Im Prinzip bleiben ohne CDROM-Laufwerk nur zwei Methoden, ein neues Betriebssystem zu booten, über USB-Speicher (Stick oder Platte) oder über Netzwerk. Netzwerk-Boot ist fein, hatte ich jetzt hier aber nicht griffbereit, mein Server steht gerade woanders.

Unter Pendrivelinux.com gibt es famose Anleitungen und Softwareergänzungen um eine normale Ubuntu-LiveCD von USB-Stick zu booten und dabei sogar persistenten Speicher auf dem Stick zu haben. Geht wunderbar, hat aber einen Haken: Die LiveCD hat nur rudimentäre Installationsroutinen. Sobald man etwas anspruchsvolleres haben will (eigene Partitionierung, LVM, Plattenverschlüsselung,…) muß man die Alternate CD nehmen, die kein Live-System, sondern nur ein Mini-Konsolen-Linux und dafür einen regulären Auszug aus dem Package Repository hat. Dumm nur, daß es dafür noch keine Anleitung gibt, wie man das auf den USB-Stick bekommt, dafür einige böse Stolperfallen. Das Zeugs bootfähig auf einen Stick zu bringen ist nicht schwierig, aber die Installationsroutinen kommen dann damit nicht klar. Also hab ich ne Weile rumprobiert und muß es mir nun notieren, damit ich beim nächsten Mal nicht wieder von vorne suche. Dann kann ich es auch gleich ins Blog schreiben, vielleicht hilft’s ja jemandem.

Man braucht:

  • Natürlich den Rechner, auf dem das installiert werden soll.
  • Einen zweiten (Linux-)Rechner, mit dem man den Stick vorbereitet.
  • Einen USB-Stick mit mindestens 1GB.
  • Die passende Ubuntu Alternate CD. Es genügt, die als ISO-Image runterzuladen und per loop zu mounten, man muß sie nicht brennen. Ich habe hier die 8.04.01 verwendet.

Und das hab ich mir jetzt als Quintessenz längeren Herumprobierens und Code-Lesens notiert:

  1. Der Stick muß in zwei Partitionen geteilt werden. Die erste Partition ist ein vfat mit FAT-Size 16. Braucht man zum Booten. Dummerweise kann man die Daten von der CDROM nicht einfach alle draufkopieren, weil verschiedene Teile der Installationsprozedur mit einem vfat nicht klarkommen (z. B. müssen symlinks da sein).

    Die zweite Partition muß mindestens so groß sein wie das ISO-Image, also >= 720 MB. Das ISO-Image wird dann blockweise (mit dd…) da reinkopiert. Dummerweise hat das Installationsystem zu dem Zeitpunkt, zu dem dieses Image gemountet werden muß, nämlich noch keine anderen filesystem-Treiber, weshalb man ein ext3 o.ä. nicht mounten könnte. Auch führt ein manuelles Mounten zu dem Problem, daß das System den codename der release nicht erkennt und debootstrap dann nachher mit fehlermeldung abbricht.

  2. Die erste Partition mit syslinux -sf /dev/sdx1 bootfähig machen (sdx natürlich durch den richtigen Pfad ersetzen)
  3. die Verzeichnisse install, isolinux, preseed auf die erste Partition (vfat) kopieren. Im Prinzip kann man auch alles ohne die dists kopieren. install/isolinux.cfg nach syslinux.cfg kopieren. (vorher natürlich mounten und danach unmounten…)
  4. Nun sollte der neue Rechner von dem Stick booten können und die Installationsprozedur wie normal ablaufen.
  5. Es wird dann eine Fehlermeldung kommen, daß das CDROM-Laufwerk nicht erkannt wurde. Überspringen. Auch die Frage, welche CDROM-Treiber zu installieren wären mit “none” beantworten. Dann kommt die Frage, ob man ein CDROM-Laufwerk manuell angeben will. Dort gibt man dann den Device-Namen der zweiten Partition auf dem USB-Stick ein (muß man mit der zweiten Text-Konsole bestimmen).

Das war’s eigentlich. Dann läuft es normal weiter.

2 Kommentare (RSS-Feed)

yasar
24.8.2008 18:46
Kommentarlink

Wenn ich “ungewöhnliche” Installationen machen muß nehme ich meist kanotix (von USB oder übers Netz) um das System vorzubereiten und installiere dann den Rest über debootstrap. Das hat sich für mich bisher am effektivsten herausgestellt.

Daher hätte ich es so gemacht:

Fall 1: Zweiter Rechner und Netzwerk vorhanden

– Kanotix oder Knoppix booten und den Terminal-Server starten.

– Über netzwerk vom ternminal-server booten

– Partitionieren nach wunsch und mit debootstrap ubuntu oder debian installieren.

Fall 2: Kein zweiter Rechner vorhanden, aber funktionierendes System

– kanotix oder knoppix auf USB-Stick: Entweder fertig aus dem Netz ziehen und auf stick übertragen oder einfach alle dateien von der CD/CD-Image auf den Stick kopieren und mit grub (kanotix, grub gibt es auch für Windows) oder syslinux (knoppix) bootfähig machen.

– danach mit debootstrap weitermachen.

Man könnte natürlich auch das hardy-Installationsimage auf den USB-Stick darufkopieren und beim installieren entsprechend als Quelle angeben.


Hadmut
24.8.2008 19:00
Kommentarlink

Damit muß man aber noch sehr viel von Hand nacharbeiten und sehr viel über die Interna von Ubuntu wissen, da die Ubuntu-Installation sehr viel mehr treibt als nur ein debootstrap anzustoßen.

Vor Jahren hatte ich für sowas mal die Angewohnheit, mir alle halbe Jahr ein aktuelles System mit debootstrap und chroot zu bauen, als tar.tgz bereitzulegen und bei Bedarf nur noch auszupacken und hinzulegen. Hab ich aber längst aufgegeben, ist auf die Dauer zuviel Anpassungskram.

Wenn man das erstmal herausbekommen hat, daß man die normale Ubuntu-Installation treiben kann, wenn man das ISO-Image direkt in eine Partition kopiert, geht alles schnell und leicht. Man muß es halt nur wissen. Deshalb hab ich es auch ins Blog geschrieben. (So finde ich es wenigstens selbst wieder…)