Forums Neueste Beiträge
 

openSUSE 10.3 auf externer USB-Festplatte (Boot-CD bauen)

15/10/2007 - 11:38 von Olaf Meltzer | Report spam
Ziel war eine arbeitsfàhige Kopie meiner internen openSUSE 10.3
Installation auf einer externen Festplatte, mit der ich an beliebigen
Rechnern, und seien sie noch so kaputtkonfiguriert oder sonst wie
demoliert oder "geschützt", arbeiten bzw. mich forensisch betàtigen
kann.

Diese externe Kopie darf natürlich kein identisches Abbild sein --
deren /etc/fstab muß angepaßt, und für den Betrieb an Fremdrechnern
muß eine neutrale /etc/X11/xorg.conf angelegt sowie für mir bereits
bekannte Rechner entsprechend speziell angepaßte xorg.conf.* in
Reserve gehalten werden.

Die Installation von openSUSE 10.3 auf einer externen USB-Festplatte
ist an sich kein Problem. Zu beachten ist lediglich, daß Grub auf der
root-Partition der externen Platte installiert wird.

Das externe System mit Hilfe der originalen openSUSE 10.3
Installations-DVD zu starten, ist zwar möglich, aber man hat
natürlich lieber eine bequemere Methode, den Bootvorgang sofort
automatisch auf das externe USB-Laufwerk umzulenken.

Es gibt etliche Alternativen, von einem externen USB-Laufwerk zu
booten, die R. M. Goeldner in http://R-M-Goeldner.de/Linux-Tipps
beschreibt.

1. Boot von Grub Diskette (könnte ich hier auf meinem Geràt zwar
benutzen, aber ich will auch fremde Geràten booten können, die
meistens keine Floppy-Laufwerke haben.

2. Boot von Grub-CD. Das ist heute universeller.

3. Boot von CD mit Bootmanager isolinux. Wie 2., und die CD ist
etwas einfacher zu bauen. Diesen Weg werde ich hier beschreiben.

4. Grub im Startmenü von Windows scheidet natürlich aus.

5. Grub im MBR der internen Platte, wozu diese eine eigene
Bootpartion haben muß (scheidet ebenfalls aus, weil ich das BIOS
fremder Rechner möglichst nicht antasten will)

Goeldner beruft sich in Teilen auf einen Artikel der
SUSE-Support-Database, dessen Fehler er korrigiert.

Soweit, so gut. Man bekommt also mit einer auf das USB-Laufwerk
umgelenkten, üblichen Installation bereits ein im Prinzip bootfàhiges
und lauffàhiges openSUSE 10.3 auf der externen Platte. Die
Partitionen der externen Platte, laut Yasts Partitionierungs-Tool,
betrachtet aus dem laufenden externen System, stellen sich so dar:

Geràt Größe Typ Mountpoint
/dev/sdc 232,8 GB ST325062-0A
/dev/sdc1 19,9 GB Linux native /
/dev/sdc2 80,1 GB Linux native /home
/dev/sdc3 1019,7 MB Linux swap
/dev/sdc4 131,8 GB Extended
/dev/sdc5 131,8 GB Linux native /zbv

Eine Boot-CD mit Bootmanager isolinux baut man sich lt. SUSE/Goeldner
sinngemàß folgendermaßen.

Mit Yast das Paket syslinux installieren.

Ein temporàres Verzeichnis iso einrichten.

In dieses Verzeichnis iso wird die Datei isolinux.bin kopiert, ferner
die aktuelle initrd unter dem Dateinamen initrd und der aktuelle
Kernel unter dem Namen linux.

Die mit openSUSE 10.3 normalerweise erzeugte initrd beinhaltet leider
noch nicht die für Zugriff auf USB-Geràte erforderlichen
Kernelmodule. Man muß also zunàchst eine um diese Module erweiterte
initrd bauen. Das geht sehr einfach mit Yast und dessen
sysconfig-Editor. Hier erweitert man im Abschnitt System=>Kernel die
Liste der INITRD_MODULS so, daß sie wie folgt lautet:

processor thermal pata_amd fan jbd ext3 ehci_hcd usb_storage edd

Erst die mit Beenden erzeugte, neue initrd taugt für den angestrebten
Zweck.

Alsdann legt man im o. a. Verzeichnis iso noch eine isolinux.cfg an,
mit folgendem Inhalt:

DEFAULT linux
LABEL linux
KERNEL linux
APPEND initrd=initrd root=/dev/sdc1 vgay4 splash=silent showopts

Hier zeigt /dev/sdc1 auf das externe USB-Laufwerk.

Nun ist eine Laufwerksbezeichnung in dieser Form nicht universell
genug. Bei anderer Rechnerkonfiguration, mit mehr oder weniger
Platten, bekommt die externe Platte u. U. eine andere Bezeichnung.
Deshalb ist es robuster, das Laufwerk by-id anzusprechen.

Die richtige Laufwerks-ID kann man mit 'hwinfo | grep disk/by-id'
eruieren. Die Angabe des root-Verzeichnis in obiger isolinux.cfg kann
damit so erfolgen:

root=/dev/disk/by-id/usb-ST12345...-part1

Auf diese Weise wird immer vom richtigen Laufwerk gebootet.

Mit dem Inhalt des Verzeichnis iso erzeugt man nun eine bootfàhige CD,
am bequemsten mit k3b. Zur Beschreibung des Vorgehens siehe Goeldner.

Gruß -- Olaf Meltzer
 

Lesen sie die antworten

#1 Paul-Wilhelm Hermsen
15/10/2007 - 12:23 | Warnen spam
Olaf Meltzer wrote:

Die mit openSUSE 10.3  normalerweise erzeugte initrd beinhaltet leider
noch nicht die für Zugriff auf USB-Geràte erforderlichen
Kernelmodule. Man muß also zunàchst eine um diese Module erweiterte
initrd bauen. Das geht sehr einfach mit Yast und dessen
sysconfig-Editor. Hier erweitert man im Abschnitt System=>Kernel die
Liste der INITRD_MODULS so, daß sie wie folgt lautet:

processor thermal pata_amd fan jbd ext3 ehci_hcd usb_storage edd

Erst die mit Beenden erzeugte, neue initrd taugt für den angestrebten
Zweck.



Aha, jetzt bin ich platt. So nah und doch so fern.
Deshalb habe ich bisher noch kein Linuxsystem von der Externen booten
können.
Übrigens, ein sehr schöner Artikel.
Musst Du etwa beruflich auf fremden PCs herumschnüffeln?

Ähnliche fragen