Autor Thema: Kurze Frage zu GRUB  (Gelesen 4968 mal)

ChristianF

  • Beiträge: 296
    • Profil anzeigen
    • DeutschOS - Betriebssystem Projekt
Gespeichert
« am: 12. August 2009, 10:29 »
Guten Morgen,
ich habe eine kurze Frage zu GRUB, die mich schon länger plagt und auf die ich bisher keine Antwort finden konnte.
 
Und zwar macht Grub ja einige Ausgaben auf dem Bildschirm, wie z.B. die Adresse, wo der Kernel hingeladen wurde, usw.
Ich möchte nun mit den Textausgaben des Kernels an diese Ausgaben anschließen, also nicht wie zuvor erst den Bildschirm leeren und dann Text ausgeben. Ist das möglich? Kann ich die zuletzt beschriebene Adresse auslesen, oder wird diese von GRUB eventuell sogar mitgegeben?
 
Gruß Christian

svler

  • Beiträge: 18
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 12. August 2009, 14:33 »
hallo,

wie wär's denn wenn du den Videospeicher von hinten her durchsuchst und auf Nullen prüfst. Sobald du keine Null mehr hast weist du hier geht's weiter.

Nur ne Idee keine Ahnung ob das klappt!

Cjreek

  • Beiträge: 104
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 12. August 2009, 15:59 »
hallo,

wie wär's denn wenn du den Videospeicher von hinten her durchsuchst und auf Nullen prüfst. Sobald du keine Null mehr hast weist du hier geht's weiter.

Nur ne Idee keine Ahnung ob das klappt!

Das wird eher nicht klappen, weil normalerweise da wo "nichts" steht Leerzeichen sind. Und zwar graue Leerzeichen^^

Das heißt alles wo "nix" steht da steht 0x0720. Man könnte eventuell versuchen deine Methode eben mit 0x0720 zu versuchen statt mit 0. Das könnte evtl gehn.
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 12. August 2009, 19:05 »
GRUB nutzt für die Textausgabe BIOS Funktionen (<thomas gottschalk>nicht zuhause nachmachen, Kinder!</thomas gottschalk>), das heißt die Cursor Position steht in der BIOS Data Area.

static char * bios_data_area = (char*)0x400;

x = bios_data_area[0x50];
y = bios_data_area[0x51];
Dieser Text wird unter jedem Beitrag angezeigt.

 

Einloggen