Es gibt zwar Massen von HOWTOS die z.B. Knoppix u.a. Live-Systeme auf
USB-Stick beschreiben, aber alle gehen davon aus, dass man "direkt"
bootet. Irgendwie komme ich mit der Realisierung meines Vorhabens
nicht weiter:
Bis jetzt habe ich folgendes beisammen:
raimund@scylla:> ls -l myisolinux/isolinux/
total 4076
-rw-rw-rw- 1 root wheel 2048 Dec 24 03:16 boot.cat
-rw-rw-rw- 1 root wheel 842 Mar 5 2005 f1.txt
-rw-rw-rw- 1 root wheel 3016584 Dec 24 03:16 initrd.gz
-r--r--r-- 1 root wheel 9396 Feb 21 23:33 isolinux.bin
-rw-rw-rw- 1 raimund wheel 276 Feb 21 23:24 isolinux.cfg
-rw-rw-rw- 1 root wheel 67 Mar 5 2005 isolinux.txt
-rw-rw-rw- 1 root wheel 9519 Mar 5 2005 splash.rle
-rw-rw-rw- 1 root wheel 1096740 Dec 24 03:16 vmlinuz
Damit kann ich grundsätzlich mit
$> mkisofs -o output.iso -r -b
isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4
-boot-info-table myisolinux
eine bootbare CD basteln. Was ich nicht auf die Reihe bringe, ist das
rechtzeitige Einbinden der USB-Module und das Mounten des root-filesystems
(/dev/sda1) des USB-Sticks.
Kann mir jemand ein Beispiel geben, wie isolinux.cfg und /linuxrc in
der initrd genau auszuschauen hat?
Danke im Voraus.
Gruss
Raimund
--
Life's too short to read boring signatures
Raimund Huemmer schrieb:
> Ich habe auf einem USB-Stick Debian mit Kernel 2.6.8.2
> installiert. Nun möchte ich dieses System nutzen, kann es
> aber mangels Hardware mit entsprechender BIOS-Unterstützung
> nirgends direkt booten. Deshalb möchte ich mit einer CDROM
> booten, eine initrd starten und da aus ins System auf
> dem USB-Stick zu gelangen.
OK, sowas habe ich mal für eine Sun gebastelt (also Debian auf
SPARC-Hardware), da deren OpenFirmware auch nicht von USB booten kann.
Nach einigem Rumprobieren hatte ich das System dann tatsächlich soweit.
Für Details müsste ich aber nachsehen, das könnte ein paar Tage dauern,
bis ich wieder an die Maschine rankomme.
> Bis jetzt habe ich folgendes beisammen: [...]
> eine bootbare CD basteln. Was ich nicht auf die Reihe bringe, ist das
> rechtzeitige Einbinden der USB-Module und das Mounten des root-filesystems
> (/dev/sda1) des USB-Sticks.
>
> Kann mir jemand ein Beispiel geben, wie isolinux.cfg und /linuxrc in
> der initrd genau auszuschauen hat?
Hmm, bei meinen Versuchen hatte ich das mit "linuxrc" aufgegeben; dafür
war ich irgendwie auch zu doof. Auf Hinweis eines Bekannten habe ich in
der initrd einfach ein Skript /sbin/init angelegt und darin die nötigen
Dinge erledigt - Nach Stunden erfolgloser Versuche mit linuxrc lief es
damit innerhalb kurzer Zeit.
So grob skizziert müsste folgendes in das Skript:
# modprobe ist in der "vorhandenen" initrd nicht drin,
# insmod tut's aber auch
insmod <USB-Modul1>
insmod <...>
# u.a. auch usb-storage etc.
# USB braucht zum Probing etc. 'ne Weile, also geben
# wir dem Kernel Zeit; sonst kriegt der nur 'ne panic()
sleep 5
mount /dev/sda1 /newroot
# so, das hier weiß ich auch nimmer genau,
# aber grob könnte es noch ungefähr hinkommen:
cd newroot
pivot_root . oldroot
exec chroot . command
Bei der letzten Zeile bin ich mir sehr sicher, dass ich da auch noch
ordentlich dran rumgebastelt hatte; das dürfte so evtl. noch nicht
gehen. Trotzdem konnte ich evtl. ja weiterhelfen. -> Bei Problemen kann
ich auch nochmal nachschauen, wie ich das genau gemacht hatte.
HTH
Gruß
Matthias Merz
OK, zugegeben, die Sig hab ich per Hand rausgesucht, aber da ich an dem
Problem selbst tagelang gebastelt hatte, darf ich das ;-)
--
Problemlösungen:
Du kannst es einrichten, aber Windows kann es nicht ausführen.
Linux kann es ausführen, aber du kannst es nicht einrichten.