• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

linux iso auf Stick "brennen"

lord_icon

Newbie
Hi,

ich würde gern ein bootfähige ISO Datei nicht auf eine CD brennen sondern auf einen usb Stick "brennen".

hierzu habe ich schon einige Postings gelesen. Nur klappen diese nicht.
Ich hoffe, das jetzt nicht warwrite oder BootDisk2BootStick nennt. Die habe ich schon versucht.

Mein Rechner kann auch vom stick booten. Packe ich dort den Inhalt einer Bootdiskette drauf, kann ich vom stick starten.
Mache ich das aber mit der CD klappt dies nicht.

Was kann ich noch tun ?

Danke
 

TomcatMJ

Guru
Die Daten auf den Stick kopieren und SYSLINUX für vfat <=1 GB Sticks nutzen, EXTLINUX mit ext2/ext3 Dateisystem für Sticks egal welcher Größe und die ISOLINUX Menüs auf SYSINUX respektive EXTLINUX anpassen dürfte helfen. Danach musst du den Stick nur noch mit SYSLINUX oder EXTLINUX bootfähig machen ;)

Bis denne,
Tom (der dazu einen Blick in meine Signatur empfiehlt da Infos zur SYSLINUX-Suite im Bootmanager-Wikibook zu finden sind)
 
OP
L

lord_icon

Newbie
hi TomcatMJ

danke für deine fixe Antwort.

Leider muß ich dich hierzu nochmal zu rate ziehen.

Ich hab n 8GB Stick. Diesen mit Linux auf ext2 formatiert.
Zum testen erstmal nur den Inhalt von de OpenSuse CD draufkopiert.

Danach hab ich mich über EXTLINUX belesen. Das ist ein Tool, was den MBR neu schreibt. Die Frage, die sich da als erstes stellte, war, ob ich dann auch alle Menuepunkte, die die CD beim normalen CD-Start anbietet auch beim späteren USB-Start zur Verfügung habe.

Aber die Frage schob ich erstmal auf später und wollte mir EXTLINUX erstmal installieren. Suse selbst bringt das aber nicht mit. Nur SYSLINUX.
Ergo = hab ich mal gesucht, wo ich denn das Paket herbekomme. Bei RPMSeek hab ich ein solches rpm Pkaet gefunden. AltLinux und nicht für OpenSuse.

Hier stellt sich dann gleich die nächste Frage, woher ich ein passendes rpm Paket für OpenSuse finde ?
Die Hersteller HP ist ja http://syslinux.zytor.com/extlinux.php
Allerdings bekomme ich da die Software nicht. nur syslinux.

Kannst du mir hier nochmal bitte Aufklären ?

ggf. auch schon eine kleine Vorschau, was mich bei EXTLINUX erwartet.
 

TomcatMJ

Guru
EXTLINUX ist genau wie PXELINUX und ISOLINUX ein Tell der SYSLINUX Suite, also kannst du dir den Tarball (also die .tar.gz oder .tar.bz2 Datei) oder eines der RPM-Pakete im RPM Unterverzeichnis von der auf der SYSLINUX Homepage verlinkten Downoadseite http://www.kernel.org/pub/linux/utils/boot/syslinux/ dazu herunterladen, denn dort ist es im Gegensatz zum gekappten SUSE Syslinux-RPM Paket drin enthalten bzw. als eigenständiges RPM zu kriegen. Ds Repo kann wohl auch in YaST eingebunden werden (zumindest gibts dort eine .repo Datei namens http://www.kernel.org/pub/linux/utils/boot/syslinux/RPMS/syslinux.repo die auf ein YUM Rpository schließen lässt*g*).
Du musst dann wie gesagt die auf ISOLINUX gemünzten Menüdateien auf EXTLINUX anpassen,was aber kein großer Akt sein dürfte, da die Menüstruturen innerhalb der SYSLINUX-Suite weitestgehend direkt zueinander kompatibel sind (so hab ichs ja im MosNis mit PXELINUX ja auch gemacht.
Wenn du da aus irgendwelchen Gründen Probleme mit der Menükonfigurationsdateianpassung haben solltest wäre es wohl auch kein Problem dir weiterzuhelfen sofern du verrätst was für eine Installationscd welcher Linux-Distribution du denn da auf einen USB-Stcik nun "umtopfen" willst. Ohne diese konkrete Info wirds allerdings schon etwas schwieriger*g* (die entsprechende isolinux.cfg als Ausgangsbasis zu sehen wäre da ansonsten auch hilfreich).

Bis denne,
Tom
 
OP
L

lord_icon

Newbie
soo.. sorry schon mal vorab, wenn eine der nächsten Fragen ein bissel newbie mäßig rüberkommen.

Also: Ich habe mir wie du empfohlen hast, die Aktulle Version aus den I-Net geladen.
http://www.kernel.org/pub/linux/utils/boot/syslinux/RPMS/x86_64/ => syslinux-3.54-1.x86_64.rpm
Ebendso => syslinux-extlinux-3.54-1.x86_64.rpm

Dies sind jeweils die aktuellen Versionen.

Also beide Programme wurden erfolgreich installiert und laufen auch.

Nur was nun ? Rufe ich syslinux direkt auf, erwartet er Parameter, die ich kenne:
Usage: syslinux [-sfr][-d directory][-o offset] device

man syslinux gibt es keider nicht. Ebendso syslinux -h oder help oder ähnliches.
Und im Web finde ich kaum was darüber. umindest nicht in den letzten 2 Tagen und nichts was mich großartig weiterbringen würde.

Kannst du mir hier nochmal helfen ?

Um deine Fragen noch zu beantworten:


sofern du verrätst was für eine Installationscd welcher Linux-Distribution
Auf meinen Rechner läuft OpenSuse 10.2 64Bit. Auf dem Stick der nun ext2 ist wurde dieser DVD Inhalt auf dem Stick kopiert. Sprich = ebendso OpenSuse 10.2 64Bit.


die entsprechende isolinux.cfg als Ausgangsbasis
Das kann ich dir bis dato noch nicht beantworten, da ich hier leider keinen Meter weiterkomme.

Aso... falls du mir den Befehl direkt nennen möchtest: Hier der gemountete Stick
/dev/sdb on /media/disk type ext2 (rw,nosuid,nodev)


VIELEN Dank
 
OP
L

lord_icon

Newbie
die entsprechende isolinux.cfg als Ausgangsbasis
Edit: jaja... brille Fielmann. Hatte die Datei erst per Hand gesucht und diese anscheind übersehen. Man sollte doch öfters mal den find / -name befehl verwenden...

oki... die isolinux.cfg hab ich unter media:/sdb/boot/i386/loader
bwzw. in der Shell unter /media/disk/boot/i386/loader

Code:
default harddisk

# hard disk
label harddisk
  localboot 0x80

# install
label linux
  kernel linux
  append initrd=initrd splash=silent showopts

# noacpi
label noacpi
  kernel linux
  append initrd=initrd splash=silent showopts acpi=off

# nolapic
label nolapic
  kernel linux
  append initrd=initrd splash=silent showopts nolapic

# failsafe
label failsafe
  kernel linux
  append initrd=initrd splash=silent showopts apm=off acpi=off mce=off barrier=off ide=nodma idewait=50 i8042.nomux psmouse.proto=bare irqpoll pci=nommconf

# rescue
label rescue
  kernel linux
  append initrd=initrd splash=silent rescue=1 showopts

# bios test
label firmware
  kernel linux
  append initrd=biostest,initrd splash=silent install=exec:run_biostest showopts

# memory test
label memtest
  kernel memtest

implicit	1
gfxboot		bootlogo
display		message
prompt		1
timeout		200
 
OP
L

lord_icon

Newbie
also ich habe jetzt schon vieles Probiert. Nichts funktioniert.
Es scheitert immer daran, das der Stick nicht bootet.

Das System und der stick selbst aknn es. Formatiere ich den unter Windows mit systemdatein => bootet dieser erfolgreich.

Was hab ich schon probiert:

cfdisk => den Stick eine primäre Partition angelegt
Diese den Typ 0C gegeben (fat)
Dieses Boottable gemacht.
Somit sollte ich das Grundsystem schon mal haben.

Danach hab ich die komplette CD von Open SUSE auf den Stick kopiert.

Laut Beschreibung wird der Stick dann mit syslinux entsprechend bootable gemacht.
Also:
./extlinux /media/usbstick/boot

Dann rödelt er gute 2 min und im Boot Ordner hab ich eine neue Datei namens extlinux

Booten tut der stick dann aber trotzdem nicht.


-h i l f e-
 

TomcatMJ

Guru
Also extlinux nutzt kein FAT Dateisystem sondern ext2/ext3. Syslinux kann halt leider nur bis 1 GB große Partitionen ansprechen,daher ist das nichst für einen 8 GB STick. Daher wäre eine Partition des Typs Linux (also 0x83) angebracht die mit ext2 oder ext3 Dateisystem formatiert werden muss. Danach eben nochmal den DVD-Inhalt dort reinkopieren udn die isolinux.cf sowie den Kernel ind die Initrd und die Zusatzdateien für memtest und den biostest in ein Verzeichnis namens /extlinux kopieren,dort dann die isolinux.cfg nach /extlinux/extlinux.cfg umbenennen, denn die Syntax müsste 1:1 übernehmbar sein nur heisst die Konfigurationsdatei mit der Menüführung eben extlinux.cfg und wird von EXTLINUX nur in /boot , /extlinux oder / gesucht. Danach dürfte dein Stick eigentlich booten

Bis denne,
Tom
 
OP
L

lord_icon

Newbie
naja... mit ext2/3 Formaten hab ich noch n Problem. Bzw. weniger ich, sondern Linux (oder irgendwas dazwischen)

Ext2/3 = 700 MB an CD Daten = über 2h, die mit einen I/O Error irgendwann abbrechen.
Mehrfach probiert... irgendwann hatte ich auch mal, das der Stick auf einmal ReadOnly geworden ist, obwohl ich vorher mehrer Daten draufgeschoben habe... also mitten im Kopiervorgang kommt dann = Stick is Read Only. umount und sogar mit mount -w = gleiche Problem. R/O

FAT = 700 MB an Daten keine 15 min. Sauberes schreiben ohne I/O Errors

Ich werd mich morgen nochmal ransetzen und mal den I/O Error posten. Keine Ahnung, was hier für ein Problem vorliegt.


Drum hab ich erstmal nur 800MB an FAT formatiert um überhaupt mal n Boottablen Stick zu bekommen. Aber ich setzt mich morgen da nochmal ran und dokumentiere mal mit.

Danke erstmal für deine Hilfestellungen
 
OP
L

lord_icon

Newbie
soo... also ein bissel hab ich ja schon was gefunden bzw. gemacht. Nicht das du denkst, ich bin hier ganz faul ^^

1.USB Stick über YAST mit 800MB FAT Formatiert

2.SYSLINUX als tar.gz2 runter geladen und entpackt (weil hier die mbr.bin drin ist)
wget http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-3.54.tar.gz
tar xvjf syslinux-3.54.tar.gz


3.Den MBR von SYSLINUX auf den Stick kopiert
cd syslinux-3.54/mbr
dd if=mbr.bin of=/dev/sdb bs=304 count=1

1+0 records in
1+0 records out
304 bytes (304 B) copied, 0.107864 s, 2.8 kB/s


4.Mount Verzeichniss für den USB Stick angelegt
mkdir /media/usbstick

5.Die erste Partition vom USB Stick gemountet
mount /dev/sdb1 /media/usbstick

6.Den Inhalt der DVD auf die zuvor gemountete Partition geschoben
SU1020.001 = von SUSE erzeugtem Standard-Pfad für mein DVD-LW)
rsync -avP /media/SU1020.001 /media/usbstick/
sent 701992832 bytes received 29358 bytes 4241825.92 bytes/sec
total size is 701809691 speedup is 1.00


7.Alle Zusätzlichen Dateien die du vorgeschlagen hast in den Boot Ordner geschoben
Diese waren: Original Pfad => zum Ziel Pfad
/media/usbstick/boot/i386/loader/biostest => /media/usbstick/boot/
/media/usbstick/boot/i386/loader/memtest => /media/usbstick/boot/
/media/usbstick/boot/i386/loader/isolinux.cfg => /media/usbstick/boot/
/media/usbstick/boot/i386/loader/message => /media/usbstick/boot/
/media/usbstick/boot/i386/loader/bootlogo => /media/usbstick/boot/
/media/usbstick/boot/i386/loader/initrd => /media/usbstick/boot/
/media/usbstick/boot/i386/loader/linux => /media/usbstick/boot/


8.Die Datei isolinux.cfg, die nun im Ordner /boot/ liegt umbenannt in isolinux.conf
cp isolinux.cfg isolinux.conf

9.Somit sollten alle Einstellungen vorgenommen worden sein und kann nun syslinux starten
cd /home/download/syslinux-3.54/unix
./syslinux /media/usbstick/boot/


=>DAS ging schon mal nicht, da er sagt, das es ein Verzeichniss ist. Bei EXTLINUX ging das so aber. Also hab ich den Device Namen genommen.

./syslinux /dev/sdb1/

Zumindest hat er da nicht gemeckert... aber Boottable wurde er trotzdem nicht.
Auch stellt sich noch die Frage, wegen der isolinux.cfg. Ich habe bei andern HowTo's gelesen, das der Dateiname isolinux.CONF lauten soll. Aber ich hab mal beides ausprobiert. Weder mit *.conf noch mit *.cfg wird der Stick boottable.



Habe ich irgendwo einen Fehler drin ?
 

TomcatMJ

Guru
lord_icon schrieb:
8.Die Datei isolinux.cfg, die nun im Ordner /boot/ liegt umbenannt in isolinux.conf
cp isolinux.cfg isolinux.conf
Arbeitetst du mit einer CD und willst ein Bootmenü ersteleln?Wenn ja ist isolinux-cfg richt...aber ach nein, du willst ja mit Syslinux arbeiten das eine Datei namens syslinux.cfg erwartet,aso solltest du diese Datei auch so nennen und nicht isoinux.cfg nennen, denn diese Datei würde nicht von syslinux ausgewertet werden ;)
9.Somit sollten alle Einstellungen vorgenommen worden sein und kann nun syslinux starten
cd /home/download/syslinux-3.54/unix
./syslinux /media/usbstick/boot/


=>DAS ging schon mal nicht, da er sagt, das es ein Verzeichniss ist. Bei EXTLINUX ging das so aber. Also hab ich den Device Namen genommen.

./syslinux /dev/sdb1/

Zumindest hat er da nicht gemeckert... aber Boottable wurde er trotzdem nicht.
Zumindest kann syslinux keine Konfigurationsdatei namens syslinux.cfg finden,weder im Hauptverzeichnis des Sticks, noch in /boot oder /syslinux des Sticks...wundert mich daher weniger ;)
Auch stellt sich noch die Frage, wegen der isolinux.cfg. Ich habe bei andern HowTo's gelesen, das der Dateiname isolinux.CONF lauten soll. Aber ich hab mal beides ausprobiert. Weder mit *.conf noch mit *.cfg wird der Stick boottable.
Isolinux benötigt die Datei isolinux.cfg, syslinux hingegen eine Datei namens syslinux.cfg...isolinux wird auf CD oder DVD Medien mit iso-9660 Dateisystem verwendet, syslinux auf fat32 Dateisystemen.

Habe ich irgendwo einen Fehler drin ?
Ja, du versuchst eine Konfigurationsdatei mit falschen Namen für syslinux zu nutzen.
Es könnte aber auch noch am BIOS liegen daß der Stick nicht gebootet werden kann,dazu ist im syslinux 3.54 / syslinux-extlinux 3.54 RPM-Paket eine Dokumentation drin wie man das umgehen kann (die sollte auch in der tar.gz Datei enthalten sein, siehe also in der README.usbkey nach wie die Partitionierung ggf. korrigiert werden kann. Übrigens ist eine Datei mbr.bin auch in den RPM-Paketen enthalten,diese liegt dann unter /usr/share/syslinux und die Doku dann unter /usr/share/doc/syslinux-3.54 .

Bis denne,
Tom
[Edit:]Nachtrag: mit
Code:
syslinux -sma /dev/sdb1
wird übrigens direkt zusammen mit der Syslinux-Installation auf dem Stick auch der MBR geschrieben und die Partition auf aktiv gesetzt...
 
Oben