Autor Thema: C-Kernel ohne Multiboot  (Gelesen 36870 mal)

tiger717

  • Beiträge: 84
    • Profil anzeigen
Gespeichert
« Antwort #20 am: 23. May 2011, 14:41 »
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 058f:6360 Alcor Micro Corp. Multimedia Card Reader
Bus 002 Device 003: ID 13d3:3306 IMC Networks WLAN [RTL8191S]
Bus 004 Device 002: ID 046d:c219 Logitech, Inc. Cordless RumblePad 2
Bus 004 Device 003: ID 045e:009d Microsoft Corp. Wireless Optical Desktop 3.0
Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Aber siehe hier: http://www.linux-club.de/viewtopic.php?f=61&t=31792

Zitat
Das ist momentan leider bei allen Linux Versionen so, jedenfalls wenn es überhaupt erkannt wird.
Ich habe hier ein externes USB Floppy (NEC UF0002) und das wird entweder gar nicht oder immer 8 mal eingebunden.
Getestet mit SuSE 9.2, Ubuntu 5.04, Kanotix BH8 + 2005/1.
Bei Ubuntu 4.10 kommt 'ne Fehlermeldung wegen angeblich ungültiger Partitionstabelle!

Ich vermute das es damit zusammenhängt, das es als SCSI Gerät angesprochen wird und auf alle 8 möglichen Geräteadressen antwortet.

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #21 am: 23. May 2011, 16:17 »
Hallo,

mein USB-Diskettenlaufwerk wird ebenfalls als SCSI-Laufwerk (sg0, /dev/sdc) erkannt, und taucht dann zweimal in meinem XFCE auf. Einmal als "Diskettenlaufwerk", einmal mit dem Label der eingelegten Diskette; der zweite Eintrag verschwindet, wenn ich die Diskette herausnehme und taucht wieder auf, wenn ich eine einlege. Ist ein Doublespeed Diskettenlaufwerk von Sony.

Ansonsten, wie Erik schon schrieb, dürfte es eher funktionieren, wenn du das Laufwerk nach dem Booten einsteckst. Möglicherweise kannst du im BIOS "USB Legacy Support" abschalten, dann dürfte das Laufwerk auch unter Linux funktionieren (aber du kannst dann nicht mehr davon booten, ohne es zurückzustellen).

Schließlich bleibt noch der Rat, deinen Kernel als ELF zu bauen, einen wohlbekannten Bootloader zu verwenden und hauptsächlich im Emulator zu testen. An das reale System brauchst du erst rangehen, wenn du dich mit Hardware auseinandersetzen möchtest, die nicht emuliert wird - und um Meilensteine zu testen.

Gruß,
Svenska

erik.vikinger

  • Beiträge: 1 277
    • Profil anzeigen
Gespeichert
« Antwort #22 am: 23. May 2011, 18:55 »
Hallo,


Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 058f:6360 Alcor Micro Corp. Multimedia Card Reader
Bus 002 Device 003: ID 13d3:3306 IMC Networks WLAN [RTL8191S]
Bus 004 Device 002: ID 046d:c219 Logitech, Inc. Cordless RumblePad 2
Bus 004 Device 003: ID 045e:009d Microsoft Corp. Wireless Optical Desktop 3.0
Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Da is ja gar kein Floppy-Laufwerk dabei, könnte vielleicht doch ein Problem mit einer BIOS-Legacy-Funktion sein. Prüfe doch mal den Port-Status aller Down-Stream-Ports von allen (Root-)Hubs nach, vielleicht findet sich da irgendein Hinweis, möglicherweise unterstützen moderne USB-Host-Controller den Legacy-Status nicht nur als ganzes sondern auch für individuelle Root-Hub-Ports. Vielleicht steht einer dieser Ports auf "Legacy" o.ä. dann weißt Du zumindest wo Du weiter suchen musst. Ich könnte mir durchaus vorstellen das sich Linux bloß nicht traut das USB-Device dem BIOS zu entreißen aber doch sieht das da eines vorhanden ist. Ansonsten könnte Dir hier vielleicht unser USB-Profi noch einen Tipp geben.

Aber siehe hier: http://www.linux-club.de/viewtopic.php?f=61&t=31792
Ich glaube nicht dass das mit Deinem Problem zusammen hängt. Suse 9 und Ubuntu 4/5 sind doch schon lange Geschichte. Gab es damals überhaupt schon den 2.6er Kernel?


Zum Thema Boot-Loader: der Vorteil von GRUB und den anderen etablierten Boot-Loadern ist nicht nur der das die eventuell weniger Probleme machen sondern liegt auch darin das man Dir hier (oder auch anderswo) eher helfen kann falls doch mal ein Problem auftaucht. Und wenn Du Deinen Kernel wirklich auf Deinem aktuellen PC testen willst dann lege ihn doch einfach mit nach /boot/ und erstelle einen passenden Eintrag im Boot-Menü (solange der Kernel noch nicht so weit ist das er einen eigenen HDD-Treiber enthält besteht doch für Dein System noch keine Gefahr).


Grüße
Erik
« Letzte Änderung: 23. May 2011, 18:58 von erik.vikinger »
Reality is that which, when you stop believing in it, doesn't go away.

tiger717

  • Beiträge: 84
    • Profil anzeigen
Gespeichert
« Antwort #23 am: 23. May 2011, 20:21 »
Hallo, ich habe jetzt das FDD erst nach dem Booten angesteckt, und jetzt funktioniert es! (Wird als sdf eingebunden)

Muß jetzt noch mal über mein GRUB-Image schauen, ich glaub, da ist was faul...

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #24 am: 23. May 2011, 20:40 »
Suse 9 und Ubuntu 4/5 sind doch schon lange Geschichte. Gab es damals überhaupt schon den 2.6er Kernel?
Ja, 2.6.0 ist schon sehr lange her. (Hm, Wikipedia sagt Ende 2003, ich hätte eher auf Mitte 2002 getippt. Na gut.)
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

tiger717

  • Beiträge: 84
    • Profil anzeigen
Gespeichert
« Antwort #25 am: 24. May 2011, 15:30 »
Hallo nochmal,

ich habe jetzt brav nach Tutorial ein GRUB-Image erstellt, doch beim Auswählen des Kernels (beim Booten) sagt er mir, er erkenne das Format nicht (Error 13). Ich habe OUTPUT_FORMAT(elf32-i386) auch im Linkerscript drinne.

thx
tiger717

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #26 am: 24. May 2011, 15:58 »
Das heißt in der Regel, dass du keinen gültigen Multiboot-Header in den ersten 8k der Datei hast. Du kannst ihn mal mit mbchk prüfen.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

tiger717

  • Beiträge: 84
    • Profil anzeigen
Gespeichert
« Antwort #27 am: 24. May 2011, 18:31 »
Danke, funktioniert jetzt!

DerHartmut

  • Beiträge: 236
    • Profil anzeigen
    • Mein Blog
Gespeichert
« Antwort #28 am: 26. May 2011, 01:21 »
Du scheinst irgendwie nicht richtig das Wiki zu lesen, sonst wüsstest du, was Emulatoren sind und warum einen eigenen Bootloader schreiben Mist ist.

Denn da braucht's dann kein USB-Floppy-Laufwerk und weniger Diskettenfrickelei :)
$_="krJhruaesrltre c a cnp,ohet";$_.=$1,print$2while s/(..)(.)//;
Nutze die Macht, nutze Perl ;-)

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #29 am: 26. May 2011, 09:26 »
Danke für den konstruktiven Beitrag, Hartmut. :roll:

Und auch wenn man einen Emulator benutzt, will man sein OS von Zeit zu Zeit auf echter Hardware testen.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

erik.vikinger

  • Beiträge: 1 277
    • Profil anzeigen
Gespeichert
« Antwort #30 am: 26. May 2011, 11:35 »
Hallo,


trotz allem würde ich diesen Thread aber doch als Erfolgsstory für GRUB werten. Von "Nix geht" zu "funktioniert jetzt" in so kurzer Zeit ist doch mal ein perfektes Beispiel. Vielleicht sollte man diesen Thread ja im Artikel "Warum wir GRUB empfehlen" verlinken. ;)


Und auch wenn man einen Emulator benutzt, will man sein OS von Zeit zu Zeit auf echter Hardware testen.
Ein zu wahres Wort!


Grüße
Erik
Reality is that which, when you stop believing in it, doesn't go away.

tiger717

  • Beiträge: 84
    • Profil anzeigen
Gespeichert
« Antwort #31 am: 26. May 2011, 16:02 »
Du scheinst irgendwie nicht richtig das Wiki zu lesen, sonst wüsstest du, was Emulatoren sind und warum einen eigenen Bootloader schreiben Mist ist.

Das liegt wohl an dem Ärger mit Emulatoren, den es unter Linux gibt. Bochs will eine libglitz.so.1, und bei qemu haben die wohl vergessen, was Ausführbares beizulegen (oder hab ich mir da den Sourcecode geladen?)

Und mit dem Bootloader usw.: Ich hab halt überhaupt keine praktische Erfahrung, und ich muss doch sagen, dass wenn z.B. Jutta (Name von der Redaktion geändert), eine mehr oder weniger erfahrene Programmiererin, (zufällig) auf das Wiki kommt, doch von den Tutorials erschlagen wird. Es gibt ja mindestens [Übertriebene Aussage]10 Tutorials[/Übertriebene Aussage], die ein einfaches OS (na gut, Kernel, Bootsektor, schlagt euch meinetwegen die Köpfe darüber ein) beschreiben.

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #32 am: 26. May 2011, 16:19 »
Unter Linux willst du einfach den Paketmanager deiner Distribution benutzen. Ist ja nicht wie bei armen Leuten oder Windows, dass man sich selber drum kümmern muss, wo man es herbekommt.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

PNoob

  • Beiträge: 106
    • Profil anzeigen
    • Mein Blog
Gespeichert
« Antwort #33 am: 26. May 2011, 20:30 »
Also unter Linux hab ich bisher keine Probleme mit bochs qemu oder VirtualBox gehabt. von meinem selbsgebautem qemu mal abgesehen, der irgendwie keine GUI hatte. Aber die Versionen von den Paketmanagern funktionieren einwandfrei.

PNoob

tiger717

  • Beiträge: 84
    • Profil anzeigen
Gespeichert
« Antwort #34 am: 26. May 2011, 22:00 »
Welches Repo enthält denn bochs? Muss ich gleich mal nachschauen!

erik.vikinger

  • Beiträge: 1 277
    • Profil anzeigen
Gespeichert
« Antwort #35 am: 27. May 2011, 10:25 »
Hallo,


Welches Repo enthält denn bochs?
Jenes welches zu der von Dir benutzten Distribution gehört. Falls in den offiziellen Distribution-Repositories kein Bochs zu finden ist solltest Du eventuell über den Wechsel der Distribution nachdenken, aber ich bin mir sicher dass das nicht nötig ist.

Was ist jetzt eigentlich aus Deinem USB-Problem geworden? Hast Du da weiter nachgeforscht oder bist Du einfach nur zufrieden damit das es jetzt geht? ;)


Grüße
Erik
Reality is that which, when you stop believing in it, doesn't go away.

tiger717

  • Beiträge: 84
    • Profil anzeigen
Gespeichert
« Antwort #36 am: 27. May 2011, 15:48 »
Ich bin mir nicht sicher, was genau die Erlösung gebracht hat, aber ich denke mal, das Floppy-erst-nach-boot-einstecken hat dann geholfen.

P.S.: Der Luxus der Paketverwaltung gegenüber Windows ist doch immer wieder beeindruckend!

erik.vikinger

  • Beiträge: 1 277
    • Profil anzeigen
Gespeichert
« Antwort #37 am: 27. May 2011, 19:35 »
Hallo,


aber ich denke mal, das Floppy-erst-nach-boot-einstecken hat dann geholfen.
Ja, das stand auch völlig außer Frage. Ich vermute mal da macht irgendeine Legacy-Emulator-Funktionalität des BIOS ein paar Probleme. Meine Frage zielte aber eher darauf ab ob Du da nun noch etwas weiter geforscht hast (und vielleicht noch ein paar nützliche Infos für die Allgemeinheit bieten kannst) oder ob Du Dich mit der Behelfslösung einfach zufrieden gibst.

Der Luxus der Paketverwaltung gegenüber Windows ist doch immer wieder beeindruckend!
Ja, stimmt schon. Ist irgendwie merkwürdig das so eine risige Firma wie Microsoft es nicht schafft dem auch nur etwas annähernd ähnliches entgegen zu stellen. Dabei gibt es doch sowas tolles wie Paketmanager schon seit so vielen Jahren.


Grüße
Erik
Reality is that which, when you stop believing in it, doesn't go away.

PNoob

  • Beiträge: 106
    • Profil anzeigen
    • Mein Blog
Gespeichert
« Antwort #38 am: 28. May 2011, 01:33 »
Moin

Der Luxus der Paketverwaltung gegenüber Windows ist doch immer wieder beeindruckend!
Ja, stimmt schon. Ist irgendwie merkwürdig das so eine risige Firma wie Microsoft es nicht schafft dem auch nur etwas annähernd ähnliches entgegen zu stellen. Dabei gibt es doch sowas tolles wie Paketmanager schon seit so vielen Jahren.
Mit Windows 8 kommt nen App Store für Windows, das ist dann ein Paketmanager im Microsoft style ;)

PNoob

tiger717

  • Beiträge: 84
    • Profil anzeigen
Gespeichert
« Antwort #39 am: 28. May 2011, 09:34 »
aber ich denke mal, das Floppy-erst-nach-boot-einstecken hat dann geholfen.
Ja, das stand auch völlig außer Frage. Ich vermute mal da macht irgendeine Legacy-Emulator-Funktionalität des BIOS ein paar Probleme. Meine Frage zielte aber eher darauf ab ob Du da nun noch etwas weiter geforscht hast (und vielleicht noch ein paar nützliche Infos für die Allgemeinheit bieten kannst) oder ob Du Dich mit der Behelfslösung einfach zufrieden gibst.

Mit solchen Lowlevel-Hardware-Sachen bin ich nicht wirklich gut aus, und die Allgemeinheit guckt Filme von Blu-Ray-Discs (tatsächlich steckt doch schon was wares dahinter, mein Image ist 1,5 MB groß, die Diskette hat 1,44 MB (liegt wahrscheinlich an der Interpretierung der Vorzeichen (1 Mibibyte = 1024 KB)). Hoffentlich bleibt noch Zeit, bis ich mit meinem selbstgebastelten HDD-Treiber meine Festplatten zerschießen muss. (Zum Glück hab ich 2 Stück)

 

Einloggen