PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bootdiskette / Boot-CD



Primusio
21.10.02, 19:09
Hi Leute, habe hier schon wieder ein Problem und würde mich sehr freuen, wenn mir einer helfen könnte.

Und zwar habe ich mir unter Slackware eine Bootdiskette erstellt, alles schön und gut, die funz auch auf jedem Rechner.

jetzt macht eich

"dd if=/dev/fd0 of=boot.img bs=10k count=144"

dann

"mkisofs -r -b boot/boot.img -c boot/boot.catalog -o bootcd.iso ."

anschließend habe ich die Datei bootcd.iso gesplittet auf meinen Windows Rechner kopiert (da der nur den Brenner hat) mit Cygwin die beiden gesplitteten Datein wieder zusammen gesetzt und Nero gestartet.

Dort bin ich unter Datei auf CD-Image brennen gegangen, habe die iso ausgewählt und gebrannt.
Das hat auch funktioniert.
Aber wenn ich jetzt versuche von der CD zu booten kommt.

"
Loading.................. (Also er lädt schonmal, habe kein lilo drauf gemacht, boote direkt)
Uncompressing Linux.. (Hier ist Schluss)

invalid compressed format (err=1)

-- System halted
"

Was ist da los, wieso klappt es jetzt nicht mehr aber auf der Diskette funzt es wunderbar auch an dem selben Rechner ???
Bin für jede Hilfe, jeden tipp dankbar.

MfG
Peter

quinte17
22.10.02, 08:06
ich kann dir im moment leieder keinen direkten link zu dem thema geben... aber du solltest dir mal die hints bei
http://www.linuxfromscratch.org anschauen, da gibts auch eine bootcd hint, die sich genau mit diesem prob beschäftigt... eins kann ich im vorraus sagen, es ist nicht so leicht wie du dir das vorstellst, denn du brauchst doch beim boot eine disc, auf die du schreiben kannst... deshalb wird auch bei jeder bootcd eine ramdisc initialisiert... das temp folder solte auch meist beschreibbar sein... und auf einer cd is es nunmal schwierig ohne wieteres darauf zu schreiben, wenn wir mal den aktuellen stand des hardware konsums ansehen...

cu
quinte17

Primusio
22.10.02, 09:42
Das es nicht leich tist, weiß ich leider, habe lange genug gebraucht, um überhaupt erstmal eine funktionierende Bootdiskette zu haben und natürlich wird diese in den Ramdisk initialisiert.
Wie man nun aus der Bootdiskette eine BootCD macht ist auch nicht sonderlich schwer, denn da findet man auch genug Anleitungen.

Bei mir ist halt nur das PRoblem, dass ich keinen Brenner in meinem Linuxrechner habe. Und somit die .iso erst vom Linux auf den Windows Rechner koperen muss und es dann auch unter Windows brennen muss. Und ich habe keine Ahnung ob das so einfach ist.

MfG
Peter

peschmae
22.10.02, 12:16
also vielleicht ist die eltorito - zeugs fehlerhaft...
oder eine diskette ist halt nicht exakt

"dd if=/dev/fd0 of=boot.img bs=10k count=144" gross

versuch doch mal

cat /dev/fd0 > boot.img

vielleicht schneidet dd ja irgendwas am ende ab

MfG Peschmä

Primusio
22.10.02, 12:51
Wenn ich heute nach hause komme, werde ich es einmal probieren aber ich glaube es eigentlich nicht.
Da die Diskette ja nur 1428 Byte's hat.

Vielleicht liegt es ja an dem Kernel, denn der Fehler kommt doch beim Laden des Kernels oder ? Ramdisk ist initialisiert und CDROM Unterstützung ist auch mit einkompiliert.

Zur Fehlereinschränkung, kann mir jemand sagen, wann dieser Fehler auftritt ? Ist das die Initialisierung des Kernels ? Oder ist es schon das Filesystem ? Muss ich bei diesem eigentlich jetzt etwas beachten also etwas anders machen als vorher bei der Diskette ?

MfG
Peter

peschmae
22.10.02, 14:15
ja nur 1428 Byte's hat. - eine verdammt kitzekleine diskette hast du da! wie bringst du da den kernel drauf? :D

eigentlich sollte es ohne änderungen gehen

versuch mal die CD mit "Smart Boot" zu starten (n bootmanager auch auf diskette installierbar, der cds booten kann) http://btmgr.sourceforge.net/
das bringt uns vielleicht weiter betreff der frage ob der fehler an der disk liegt oder am eltoritobuggy - bios

oder mach ne cd mit isolinux oder bootscriptor drauf und boote dann das diskimage mit memdisk
(www.bootscriptor.com bzw. http://syslinux.zytor.com/)

MfG Peschmä

Primusio
22.10.02, 14:32
Nagut, 1428 kByte :cool:

ICh kann das mit dem Bootmanager ja mal probieren, wenn ich gegen 18 Uhr zuhause bin. Aber booten tut er ja auf jeden Fall, sonnst würde ja nicht "Loading..........................." kommen und danach "Uncompressing linux".

Ich habe viel mehr die Vermutung, dass ich irgendwie die iso Datei von der Diskette nicht richtig auf meinen Windowsrechner überspielt habe.

Die .iso Datei war 1'534 kByte groß, gepackt war sie dann 1'443 kByte als .iso.gz also habe ich das packen gelassen und sie gesplittet und auf dem WInrechner wieder zusammengeführt.

"split -b 800k bootcd.iso"

damit habe ich die Datei gesplittet, dann hatte ich "xaa" und "xab", die habe ich dann auf den Windowsrechner per Diskette kopiert und dort mit

"cat xaa xab > bootcd.iso"

wieder zusammengesetzt.
Ist daran irgendetwas falsch gewesen ?

MfG
Peter

peschmae
22.10.02, 15:10
nun, ich glaube du hast das so schon richtig gemacht...

das "ja nicht "Loading..........................." kommen und danach "Uncompressing linux"." ist ein gutes argument, aber ich habe mal die erfahrung gemacht (mit einer älteren isolinux - version), dass der pc zwar mit smartboot startete (von cd), das eltorito - buggybios dem normalen boot von cd aber irgendwo einen streich spielte und das ganze mittendrin stehenblieb

aber das ist bei dir wohl eher unwahrscheinlich

prüfen würde ich die kopie mit md5sum, das ist wohl das einfachste!

MfG Peschmä

Primusio
22.10.02, 16:23
Und was muss md5sum ausgeben ?
Wenn ich

"md5sum bootcd.iso"

eingebe kommt

"7144134ac4842cc276cd763acede8bb8 *bootcd.iso"

ist das jetzt gut oder schlecht ?
Und bei

"md5sum -c bootcd.iso"

kommt dann

"md5sum: bootcd.iso: no properly formatted MD5 checksum lines found"

Was jetzt heißt ???

Bitte immernoch um Hilfe, möchte doch nur eine bootfähige CD.


Gibt es kein Windowstool, mit welchem ich von der Bootdiskette das Image ziehen kann ?
Rawrite kenne ich aber leider kann Windows die fertige Diskette nicht lesen, ich vermute mal wegen dem Dateisystem.

MfG
Peter

Primusio
22.10.02, 16:40
Habe jetzt einmal mit SmartBoot versucht und siehe da er geht einen Schritt weiter.

Er bootet bis zu dem Punkt

"
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
RAMDISK: Couldn't find valid RAM disk image starting at 384.
"

Und dann insert root floppy etc.

Sind wir doch auf jedenfall einen Schritt weiter aber was ist da los ?
Ich würde gerne erstmal den RAMDISK Fehler auslöschen und dann den anderen.

MfG
Peter

HackThor
22.10.02, 17:12
Was ich mir vorstellen kann: der Kernel wird geladen, die RAM-Disk auch. Aber nach dem Start des Kernels ist die FDD-Emulation des BIOS hinüber - und damit auch die RAM-Disk. Du solltest als Bootloader z.B. syslinux nehmen. Damit klappt das hervorragend bei mir.

ciao

Michael

Primusio
22.10.02, 19:23
Hmm, aber ich will das eigentlich komplette ohne extra Bootloader machen.

Kann es sein, dass dieser RAMDISK Fehler daran liegt, dass ich bei der Bootdiskette

"rdev /dev/fd0 /dev/fd0"

? Sag ich dem damit nicht, dass das Filesystem auf dem Device /dev/fd0 ist ?
Wenn ja, was soll ich ihm sonst sagen ? Schließlich weiß ich doch nicht vorher welches Device der Rechner hat, wo ich die Bootdisk hineinschiebe.

???????

Bitte helft mir.

MfG
Peter

HackThor
22.10.02, 20:28
Das ist das Problem welches ich vermutete - wenn der Kernel "up and running" ist dann knipst der die Floppy-Emulation aus, damit findet er die Ramdisk nicht. Das Device mit der CD kannst du auch nicht angeben - schließlich liegt die Ramdisk da ja nicht direkt und alleine drauf. Außerdem habe ich keine Ahnung wie du dem Kernel ohne Root-FS klarmachen willst daß er jetzt auf die Suche nach einem solchen begibt. Du brauchst einen Bootloader der selbst die Ramdisk lädt und dann dem Kernel bei dessen Start sagt wo die nun liegt. Da würden "loadlin" oder "syslinx" gehen. Oder du versucht den "isolinux" von der Syslinux-Homepage: http://syslinux.zytor.com/index.php


ciao

Michael

Primusio
22.10.02, 21:09
Also ich würde es ja wirklich mal gerne mit einem Bootloader versuchen aber wie mache ich das, wi emuss ich da vorgehen, um eine boot cd zu erstellen, bei google find eich nichts anständiges, zumindest nichts was ich verstehe.

Kannst du mir vielleicht einen Link geben oder eine kurze Anleitung ?

MfG
Peter

dauni
22.10.02, 21:14
http://syslinux.zytor.com/iso.php#how

ist das nicht verständlich?

HackThor
22.10.02, 21:19
Oder http://syslinux.zytor.com/faq.php falls dir syslinux lieber ist....

Michael

Primusio
22.10.02, 21:23
nein leider nicht für mich.

ich weiß nicht was ich genau runterladen muss, was ich vorher oder davon installieren muss, was ich dann eingeben muss.
Deswegen wollte ich eigentlich auch darauf verzichten.

Darum brauche ich auch jemanden, der mir damit helfen kann.

MfG
Peter

HackThor
22.10.02, 22:18
Du brauchst nur "syslinux" bzw "isolinux" - schau mal auf die CD/DVD deiner Distri, da sollte mindestens das "syslinux" drauf sein - auf das bezeieh ich mich mal kurz:

1) syslinux-rpm installieren
2) Diskette, leer, FAT-formatiert einlegen (wenn du sowas nicht hast - "fdformat /dev/fd0", mtools-rpm installieren [wenn nicht schon drauf], "mformat a:" und du hast sie)
3) syslinux /dev/fd0 - damit wird die Diskette bootfähig gemacht
4) Kernel (bzImage) und root-Filesystem (die RAM-Disk) auf die Diskette kopieren (nenne das gepackte root-fs z.B. "rootfs.gz")
5) eine "syslinux.cfg" erstellen:

prompt 1
timeout 100
default linux
label linux
kernel bzimage
append root=/dev/ram0 initrd=roofs.gz ramdisk_size=32768 rw

6) diese Datei auf Diskette speichern
7) von der Diskette booten (zum Test)

So sollte das funktionieren. Und diese Disk kannst du dann als Boot-Disk für die CD nehmen.

Michael

peschmae
23.10.02, 12:58
wie hast du denn eigentlich ursprünglicherweise deine Bootdisk erstellt? ohne syslinux?

ich würds wirklich mal mit versuchen! (die Anleitung ist OK)

wenn es dann immer noch nicht funzt, dann würde ich anstelle der Floppy als bootimage im no - emul -mode mit isolinux/bootscriptor booten

Boot Scriptor findest du auf www.bootscriptor.com

du kopierst den ordner bscript in den root-ordner der zukünftigen cd (aus http://tigger.cc.uic.edu/~mterlo1/bscript/beta.html "Boot Scriptor Binaries")
auch das diskimage (ich nenns image.img) kommt dorthin

dann erstellst du dort eine datei
bscript.ini
mit etwa folgendem Inhalt (details in der doku):

memdisk image.img

und brennst dann das ganze mit irgend nem Brennprogramm und folgenden einstellungen
Boot image file: LOADER.BIN
Developer name: whatever you want
Emulation type: No Emulation
Load segment: 0x07C0
Sector count: 4

(hier stimmt die online - doku nicht mehr, das programm heisst in 1.2.7 nicht mehr i-loader.bin sondern loader.bin)

Der grosse Vorteil von BootScriptor ist, dass du auch MultiBootCds erstellen kannst. d.h. du kannst dir eine CD brennen, auf der deine sämtlichen Disketten sind und dann per "Menü" auswählen, welche gerade gebootet werden soll

MfG Peschmä

Primusio
23.10.02, 13:03
Ok, wenn ich nachher zuhause bin werde ich erstmal HackThor's Anleitung versuchen und wenn es dann nicht geht mal deine.

Wie ich es bisher gemacht habe, habe ich doch in meinem ersten Beitrag erklärt. Der Kernel hat doch selbst einen kleinen Bootloader in sich und so wollte ich es ürsprünglich machen aber was solls, wenn man mit Linux arbeitet muss man sich eben mit allem auseinander setzen :D

Also ich berichte dann nachher, ob es geklappt hat.

MfG
Peter

RapidMax
23.10.02, 13:13
versuch mal die CD mit "Smart Boot" zu startenGenau sowas suchte ich schon immer! Habe ihn neben meiner Knoppix-CD immer auf Diskette dabei :D

Gruss, Andy

Anonymous
23.10.02, 13:27
dd if=/dev/fd0 of=boot.img bs=10k count=144

ich weiß nicht wie das bei ner DOSe ist, aber unter Solaris geht das für eine DOSen formatierte Diskette definitiv in die Hose.

dd if=/dev/fd0 of=boot.img bs=512 count=2880
klappt da schon eher bzw. 2889 - letzte Ziffer hab ich nicht im Kopf- kann auch 7 sein
:D

Das was du machst ist einen Binärstrom von dem eigentlich nur du weißt, das es eigentlich ein bootfähiges Image ist, als Stream zu kopieren ohen Rücksicht auf die innere Struktur. Diesen Binärstrom hast du wenn ich richtig gelesen mit mkisofs in ein ISO-Filesystem umgewandelt mit einer Datei - deinem Binärstrom, in seiner inneren Struktur als disk-fs unangetastet.

Ist das gleiche wie wenn man ein Image von einer CD zieht und diese als eine einzige Datei auf eine andere brennt - nicht lachen, ist mir schon passiert....

Booten (Bootblock ist unabhängig) und laden klappt - deswegen kracht es auch erst beim entpacken. Du versuchst nicht den Kernel zu entpacken, sondern dein Disk-Bootimage...

peschmae
23.10.02, 15:42
@RapidMax
Genau sowas suchte ich schon immer! Habe ihn neben meiner Knoppix-CD immer auf Diskette dabei

Eben :D :D
das sagen nach dem Tipp (fast) alle

Ich hab ihn von Bart Lagerweji (ich glaube, der zählt schon zu den Boot-Gurus ;-)) www.nu2.nu

MfG Peschmä

peschmae
23.10.02, 15:46
@PRIMUSIO
Und zwar habe ich mir unter Slackware eine Bootdiskette erstellt, alles schön und gut, die funz auch auf jedem Rechner.

und das heisst bei dir "hab ich doch schon gesagt"? Da steht gar nix davon wie du den Kernel bootest. Da es sich um eine Bootdisk handelt ging ich davon aus, dass du Syslinux verwendest (wie fast alle andern auch)

das direkt mit dem Kernel booten hat übrigens afaik den Nachteil, dass man dem Kernel keine parameter (z.B. wo ist die initrd) übergeben kann oder?

MfG Peschmä

Primusio
24.10.02, 06:13
Klasse, im grunde funktioniert es endlich. Nur leider ist jetzt mein Filesystem 8 kB zu groß. Und ich kriege es einfach nicht kleiner.

Aber sonst funzt das erstmal :D

MfG
Peter

peschmae
24.10.02, 11:07
hast du die intrd mit gzip -9 komprimiert? (max. kompression)

sonst kannst du das ganze filesystem auch 2.88 MB gross machen (solche disks solls ja auch geben ich habe allerdings noch nie eine echte solche gesehen)

dd if=/dev/zero of=cdboot bs=1k count=2880

für eine bootcd macht das dann überhaupt keinen Unterschied (sollte jedenfalls nicht, und sonst kannst du ja immer noch bootscriptor/isolinux zum booten brauchen)

MfG Peschmä

Primusio
24.10.02, 13:57
Jep, komprimiere wie ein Weltmeister.

Meine Datei heißt rootfs und dann mache ich "gzip -v9 rootfs" und dann kopiere ich es auf die Diskette, nur leider ist die Datei 1040kB darf aber nur maximal 1032 kB sein aber das bekomme ich schon irgendwie hin.

Aber erstmal danke an alle, die mir hier so supi dupi geholfen haben, ohne euch wäre ich wahrscheinlich schon der Verzweiflung nahe gewesen.

:ugly: :ugly: :ugly: :ugly:

MfG
Peter

peschmae
24.10.02, 13:59
hinkriegen!

ja eben, versuchs mal entweder mit 2.88 MB oder du könntest die disk natürlich auch überformatieren (auf 1.66/1.7 MB) oder?

MfG Peschmä

P.S. platzsparend ist meist auch noch ein löschen der devinitiv unbenötigten files unter /dev