<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Kommentare zu: Bootsektor mit GCC</title>
	<atom:link href="http://superschurke.wordpress.com/2006/06/02/bootsektor-mit-gcc/feed/" rel="self" type="application/rss+xml" />
	<link>http://superschurke.wordpress.com/2006/06/02/bootsektor-mit-gcc/</link>
	<description>Fiese Pläne und OS-Development</description>
	<lastBuildDate>Mon, 21 Jan 2008 12:21:03 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Von: superschurke</title>
		<link>http://superschurke.wordpress.com/2006/06/02/bootsektor-mit-gcc/#comment-620</link>
		<dc:creator>superschurke</dc:creator>
		<pubDate>Tue, 02 Oct 2007 18:11:02 +0000</pubDate>
		<guid isPermaLink="false">https://superschurke.wordpress.com/2006/06/02/bootsektor-mit-gcc/#comment-620</guid>
		<description>Hi Alexander,

tut mir Leid, dass ich so spät antworte, aber ich hätte dieses Blog längst vergessen, wenn nicht eine Hinweismail, dass hier jemand geantwortet hat, in den Tiefen meines Postfaches gelandet wäre ;)

Ja, zum Starten von Windows musst du wieder in den Real Mode schalten, da der Windows Bootloader diese Umgebung erwartet. Unter anderem greift er auf BIOS-Funktionen zu. Das Zurückschalten in den Real Mode ist relativ aufwändig, und aus dem Stehgreif kann ich da keinen Code liefern.

Ich rate dir dazu, bei deiner Assemblerlösung zu bleiben. Mein Kuriosum funktioniert vielleicht, aber zweckmäßig ist das Teil für gar nichts, außer um &quot;Hallo&quot; auf dem Bildschirm auszugeben. Du müsstest unter anderem einen Treiber für die Festplatte schreiben, damit du Windows kopieren kannst. Der Treiber passt aber garantiert nicht in den Bootsektor mehr. Das bedeutet du musst weiteren Code von der Festplatte nachladen, was ohne Festplattentreiber nicht geht. Die einzige Möglichkeit ist das BIOS zu benutzen, und das ist im Protected Mode nicht zu gebrauchen Deswegen solltest du einfach im Real Mode bleiben, und es auch mit Assembler weiter versuchen.</description>
		<content:encoded><![CDATA[<p>Hi Alexander,</p>
<p>tut mir Leid, dass ich so spät antworte, aber ich hätte dieses Blog längst vergessen, wenn nicht eine Hinweismail, dass hier jemand geantwortet hat, in den Tiefen meines Postfaches gelandet wäre <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Ja, zum Starten von Windows musst du wieder in den Real Mode schalten, da der Windows Bootloader diese Umgebung erwartet. Unter anderem greift er auf BIOS-Funktionen zu. Das Zurückschalten in den Real Mode ist relativ aufwändig, und aus dem Stehgreif kann ich da keinen Code liefern.</p>
<p>Ich rate dir dazu, bei deiner Assemblerlösung zu bleiben. Mein Kuriosum funktioniert vielleicht, aber zweckmäßig ist das Teil für gar nichts, außer um &#8222;Hallo&#8220; auf dem Bildschirm auszugeben. Du müsstest unter anderem einen Treiber für die Festplatte schreiben, damit du Windows kopieren kannst. Der Treiber passt aber garantiert nicht in den Bootsektor mehr. Das bedeutet du musst weiteren Code von der Festplatte nachladen, was ohne Festplattentreiber nicht geht. Die einzige Möglichkeit ist das BIOS zu benutzen, und das ist im Protected Mode nicht zu gebrauchen Deswegen solltest du einfach im Real Mode bleiben, und es auch mit Assembler weiter versuchen.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Alexander Grau</title>
		<link>http://superschurke.wordpress.com/2006/06/02/bootsektor-mit-gcc/#comment-609</link>
		<dc:creator>Alexander Grau</dc:creator>
		<pubDate>Fri, 21 Sep 2007 13:34:19 +0000</pubDate>
		<guid isPermaLink="false">https://superschurke.wordpress.com/2006/06/02/bootsektor-mit-gcc/#comment-609</guid>
		<description>Absolute Klasse! Ich stehe gerade vor dem Problem einen Bootloader schreiben zu müssen (es soll jedesmal ein komplettes Windows aus Partition 2 in Partition 1 kopiert werden und dann direkt aus Partition 1 gestartet werden - ist ne kundenspezifische Embedded-Board-Geschichte, das Windows wird nicht heruntergefahren, weil direkt an einem Musikautomaten, bei welchem jedesmal brutal der Strom abgestellt wird)

Ich hatte schon einen Bootloader in Assembler geschrieben, aber die Programmierung dauert halt ewig und es ist anfällig...
Das C-Beispiel hat auf Anhieb funktioniert und ich werde wohl mit C fortfahren! 

Frage: ich muss zum Starten des Windows wieder in den Real-Mode schalten und den Bootloader starten - gibt es eine einfache Möglichkeit dies aus dem C-Programm zu tun? (evtl. mit inline Assembler?)

Viele Grüsse!
Alexander</description>
		<content:encoded><![CDATA[<p>Absolute Klasse! Ich stehe gerade vor dem Problem einen Bootloader schreiben zu müssen (es soll jedesmal ein komplettes Windows aus Partition 2 in Partition 1 kopiert werden und dann direkt aus Partition 1 gestartet werden &#8211; ist ne kundenspezifische Embedded-Board-Geschichte, das Windows wird nicht heruntergefahren, weil direkt an einem Musikautomaten, bei welchem jedesmal brutal der Strom abgestellt wird)</p>
<p>Ich hatte schon einen Bootloader in Assembler geschrieben, aber die Programmierung dauert halt ewig und es ist anfällig&#8230;<br />
Das C-Beispiel hat auf Anhieb funktioniert und ich werde wohl mit C fortfahren! </p>
<p>Frage: ich muss zum Starten des Windows wieder in den Real-Mode schalten und den Bootloader starten &#8211; gibt es eine einfache Möglichkeit dies aus dem C-Programm zu tun? (evtl. mit inline Assembler?)</p>
<p>Viele Grüsse!<br />
Alexander</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Jan</title>
		<link>http://superschurke.wordpress.com/2006/06/02/bootsektor-mit-gcc/#comment-227</link>
		<dc:creator>Jan</dc:creator>
		<pubDate>Tue, 29 May 2007 10:57:33 +0000</pubDate>
		<guid isPermaLink="false">https://superschurke.wordpress.com/2006/06/02/bootsektor-mit-gcc/#comment-227</guid>
		<description>Hi, ein sehr interessanter Artikel! Man findet eher selten so einfache und trotzdem gute Informationen im Internet.
Außerdem ist es auch auf eine sehr einfache Weise erklärt und ich würde dir sofort widersprechen, dass der Artikel nichts für Leute ist, die sich mit Bootsektorprogrammierung in ASM auskennen, wenn du den kleinen Assemblercode, an dem ja schon Kommentare markiert sind, noch erläutern würdest. Das würde auch Leuten helfen, die sich nur bedingt mit anderen Assemblern auskennen.</description>
		<content:encoded><![CDATA[<p>Hi, ein sehr interessanter Artikel! Man findet eher selten so einfache und trotzdem gute Informationen im Internet.<br />
Außerdem ist es auch auf eine sehr einfache Weise erklärt und ich würde dir sofort widersprechen, dass der Artikel nichts für Leute ist, die sich mit Bootsektorprogrammierung in ASM auskennen, wenn du den kleinen Assemblercode, an dem ja schon Kommentare markiert sind, noch erläutern würdest. Das würde auch Leuten helfen, die sich nur bedingt mit anderen Assemblern auskennen.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Christian</title>
		<link>http://superschurke.wordpress.com/2006/06/02/bootsektor-mit-gcc/#comment-12</link>
		<dc:creator>Christian</dc:creator>
		<pubDate>Tue, 31 Oct 2006 11:13:12 +0000</pubDate>
		<guid isPermaLink="false">https://superschurke.wordpress.com/2006/06/02/bootsektor-mit-gcc/#comment-12</guid>
		<description>Hallo, ich muss sagen, die Seite ist wirklich sehr interessant. Beschäftige mich auch gerade mit dem Thema OS-Development. Finde es echt toll, dass es noch Hilfe für solche Themen gibt.

Weiter So!</description>
		<content:encoded><![CDATA[<p>Hallo, ich muss sagen, die Seite ist wirklich sehr interessant. Beschäftige mich auch gerade mit dem Thema OS-Development. Finde es echt toll, dass es noch Hilfe für solche Themen gibt.</p>
<p>Weiter So!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: superschurke</title>
		<link>http://superschurke.wordpress.com/2006/06/02/bootsektor-mit-gcc/#comment-6</link>
		<dc:creator>superschurke</dc:creator>
		<pubDate>Fri, 22 Sep 2006 12:39:33 +0000</pubDate>
		<guid isPermaLink="false">https://superschurke.wordpress.com/2006/06/02/bootsektor-mit-gcc/#comment-6</guid>
		<description>Hi,

freut mich, dass hier jemand mal vorbei schaut. :)

Also ich habe mich nur sehr oberflächlich mit dem Linker beschäftigt und meine Hauptquelle war diese Seite: http://www.gnu.org/software/binutils/manual/ld-2.9.1/html_chapter/ld_3.html Ich denke für dich könnten die Abschnitte &quot;Section Placement&quot; und eventuell auch &quot;Memory Layout&quot; (das hab ich mir allerdings nicht genauer angeschaut) interessant sein

Ich hoffe das hilft dir etwas weiter.</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>freut mich, dass hier jemand mal vorbei schaut. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Also ich habe mich nur sehr oberflächlich mit dem Linker beschäftigt und meine Hauptquelle war diese Seite: <a href="http://www.gnu.org/software/binutils/manual/ld-2.9.1/html_chapter/ld_3.html" rel="nofollow">http://www.gnu.org/software/binutils/manual/ld-2.9.1/html_chapter/ld_3.html</a> Ich denke für dich könnten die Abschnitte &#8222;Section Placement&#8220; und eventuell auch &#8222;Memory Layout&#8220; (das hab ich mir allerdings nicht genauer angeschaut) interessant sein</p>
<p>Ich hoffe das hilft dir etwas weiter.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: stefan</title>
		<link>http://superschurke.wordpress.com/2006/06/02/bootsektor-mit-gcc/#comment-5</link>
		<dc:creator>stefan</dc:creator>
		<pubDate>Thu, 21 Sep 2006 16:54:01 +0000</pubDate>
		<guid isPermaLink="false">https://superschurke.wordpress.com/2006/06/02/bootsektor-mit-gcc/#comment-5</guid>
		<description>Hallo!

Tja, ich gehöre eigentlich gar nicht zu deiner Zielgruppe. ;-) Ich bin zu zufällig auf deine Webseite gestoßen, bei der Suche wie ich Code in meinem Mikrocontroller an eine ganz bestimmte stelle schiebe. Ich denke, dass ich die Lösung im Linker Script suchen muss, komme aber nicht so ganz weiter. Kannst du mir vielleicht einen guten Link empfehlen?

Grüße

Stefan</description>
		<content:encoded><![CDATA[<p>Hallo!</p>
<p>Tja, ich gehöre eigentlich gar nicht zu deiner Zielgruppe. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Ich bin zu zufällig auf deine Webseite gestoßen, bei der Suche wie ich Code in meinem Mikrocontroller an eine ganz bestimmte stelle schiebe. Ich denke, dass ich die Lösung im Linker Script suchen muss, komme aber nicht so ganz weiter. Kannst du mir vielleicht einen guten Link empfehlen?</p>
<p>Grüße</p>
<p>Stefan</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: superschurke</title>
		<link>http://superschurke.wordpress.com/2006/06/02/bootsektor-mit-gcc/#comment-4</link>
		<dc:creator>superschurke</dc:creator>
		<pubDate>Wed, 19 Jul 2006 18:29:08 +0000</pubDate>
		<guid isPermaLink="false">https://superschurke.wordpress.com/2006/06/02/bootsektor-mit-gcc/#comment-4</guid>
		<description>So ich hab die Ursache gefunden: Bochs aktiviert offensichtlich nicht die Interrupts, wenn es zum Bootsektor springt. Normale PCs hingegen schon. Weil ich keine Handler installiert habe startet der PC neu. Solche Sachen sind der Grund dafür, dass ich die Weltherrschaft noch nicht erlangt habe. ;)

Die Lösung war also einfach ein cli in den Assemblerteil zu tun.
Danke für den Hinweis und das Testen. :)</description>
		<content:encoded><![CDATA[<p>So ich hab die Ursache gefunden: Bochs aktiviert offensichtlich nicht die Interrupts, wenn es zum Bootsektor springt. Normale PCs hingegen schon. Weil ich keine Handler installiert habe startet der PC neu. Solche Sachen sind der Grund dafür, dass ich die Weltherrschaft noch nicht erlangt habe. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Die Lösung war also einfach ein cli in den Assemblerteil zu tun.<br />
Danke für den Hinweis und das Testen. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: superschurke</title>
		<link>http://superschurke.wordpress.com/2006/06/02/bootsektor-mit-gcc/#comment-3</link>
		<dc:creator>superschurke</dc:creator>
		<pubDate>Mon, 17 Jul 2006 19:58:14 +0000</pubDate>
		<guid isPermaLink="false">https://superschurke.wordpress.com/2006/06/02/bootsektor-mit-gcc/#comment-3</guid>
		<description>Hi Nils,

der Artikel war eigentlich nicht als Einstieg in die Protected Mode Programmierung gedacht. Dafür ist der verwendete Weg bereits zu speziell. Die Zielgruppe waren eher Leute, die bereits problemlos via Assembler in den Protected Mode gelangen und von da aus dann in C weiter programmieren. Das ganze ist eher eine Spielerei, als etwas Sinnvolles zum OS-Development.

Ich muss zugeben, dass ich den Code nicht auf einem richtigen PC getestet habe, sondern nur im Emulator Bochs. Ich werde mal nachforschen, was da Probleme macht.

Die GDT ist eigentlich eine einfache GDT mit einem Code- und einem Daten-Selektor mit Basis 0 und einem 4 GB Limit, in einer vom Quellcode her sehr komprimierten Form (einem 64 Bit Integer). Normalerweise wird die GDT in einer etwas übersichtlicheren Form dargestellt, mit den einzelnen Elementen voneinander getrennt. Hier habe ich darauf verzichtet, damit er Artikel nicht unnötig lang wird.
Grundsätzliche Anleitungen/Erläuterungen/Tutorials zum Protected Mode habe ich eigentlich nicht vor zu machen. Es gibt davon reichlich im Internet, allerdings mit schwankender Qualität. Das beste ist solange welche durchzuprobieren bis du eins findest, das für dich funktioniert.</description>
		<content:encoded><![CDATA[<p>Hi Nils,</p>
<p>der Artikel war eigentlich nicht als Einstieg in die Protected Mode Programmierung gedacht. Dafür ist der verwendete Weg bereits zu speziell. Die Zielgruppe waren eher Leute, die bereits problemlos via Assembler in den Protected Mode gelangen und von da aus dann in C weiter programmieren. Das ganze ist eher eine Spielerei, als etwas Sinnvolles zum OS-Development.</p>
<p>Ich muss zugeben, dass ich den Code nicht auf einem richtigen PC getestet habe, sondern nur im Emulator Bochs. Ich werde mal nachforschen, was da Probleme macht.</p>
<p>Die GDT ist eigentlich eine einfache GDT mit einem Code- und einem Daten-Selektor mit Basis 0 und einem 4 GB Limit, in einer vom Quellcode her sehr komprimierten Form (einem 64 Bit Integer). Normalerweise wird die GDT in einer etwas übersichtlicheren Form dargestellt, mit den einzelnen Elementen voneinander getrennt. Hier habe ich darauf verzichtet, damit er Artikel nicht unnötig lang wird.<br />
Grundsätzliche Anleitungen/Erläuterungen/Tutorials zum Protected Mode habe ich eigentlich nicht vor zu machen. Es gibt davon reichlich im Internet, allerdings mit schwankender Qualität. Das beste ist solange welche durchzuprobieren bis du eins findest, das für dich funktioniert.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Nils</title>
		<link>http://superschurke.wordpress.com/2006/06/02/bootsektor-mit-gcc/#comment-2</link>
		<dc:creator>Nils</dc:creator>
		<pubDate>Mon, 17 Jul 2006 13:50:27 +0000</pubDate>
		<guid isPermaLink="false">https://superschurke.wordpress.com/2006/06/02/bootsektor-mit-gcc/#comment-2</guid>
		<description>Hi!
Netter Artikel, obwohl mir das C nicht so ganz klar ist, der Übergang in den PM schon gar nicht. :/

Im Übrigen scheint der PC beim Booten mit diesen Bootsektor einfach neuzustarten, ohne irgendeine Ausgabe?

Wär nett wenn du denn Einsprung in den PM, Stichwort Deskriptorentabelle, mal etwas näher erläutern könntest. ;)

MfG, Nils</description>
		<content:encoded><![CDATA[<p>Hi!<br />
Netter Artikel, obwohl mir das C nicht so ganz klar ist, der Übergang in den PM schon gar nicht. :/</p>
<p>Im Übrigen scheint der PC beim Booten mit diesen Bootsektor einfach neuzustarten, ohne irgendeine Ausgabe?</p>
<p>Wär nett wenn du denn Einsprung in den PM, Stichwort Deskriptorentabelle, mal etwas näher erläutern könntest. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>MfG, Nils</p>
]]></content:encoded>
	</item>
</channel>
</rss>
