<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://gunkies.org/index.php?action=history&amp;feed=atom&amp;title=Bootstrap</id>
	<title>Bootstrap - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://gunkies.org/index.php?action=history&amp;feed=atom&amp;title=Bootstrap"/>
	<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Bootstrap&amp;action=history"/>
	<updated>2026-10-11T09:48:28Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://gunkies.org/w/index.php?title=Bootstrap&amp;diff=36031&amp;oldid=prev</id>
		<title>Jnc: Clarify cross-compilation</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Bootstrap&amp;diff=36031&amp;oldid=prev"/>
		<updated>2025-03-21T10:22:20Z</updated>

		<summary type="html">&lt;p&gt;Clarify cross-compilation&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:22, 21 March 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To &amp;#039;&amp;#039;&amp;#039;bootstrap&amp;#039;&amp;#039;&amp;#039; (the term can also be used as a noun) means to start a computer-related system from nothing. It has two main meanings:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To &amp;#039;&amp;#039;&amp;#039;bootstrap&amp;#039;&amp;#039;&amp;#039; (the term can also be used as a noun) means to start a computer-related system from nothing. It has two main meanings:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The most common is the process of starting a computer as it is powered on. The bootstap is the initial [[object code]] run by the computer&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/del&gt;now always held in [[read-only memory|Read-Only Memory]]. This code usually loads a &#039;&#039;&#039;secondary bootstrap&#039;&#039;&#039; from [[secondary storage]] into [[main memory]], which then loads and starts the [[operating system]].  Earlier methods for entering the bootstrap code into a blank memory, was special hardware for reading data off an external device such as [[paper tape]], or by manually [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Toggle &lt;/del&gt;switch|toggling]] instructions on the [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;console&lt;/del&gt;]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The most common is the process of starting a computer as it is powered on. The bootstap is the initial [[object code]] run by the computer&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; it is &lt;/ins&gt;now always held in [[read-only memory|Read-Only Memory]]. This code usually loads a &#039;&#039;&#039;secondary bootstrap&#039;&#039;&#039; from [[secondary storage]] into [[main memory]], which then loads and starts the [[operating system]].  Earlier methods for entering the bootstrap code into a blank memory, was special hardware for reading data off an external device such as [[paper tape]], or by manually [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;toggle &lt;/ins&gt;switch|toggling]] instructions on the [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;front panel&lt;/ins&gt;]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The other, less-common meaning&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/del&gt;refers to bringing up a [[compiler]] or similar software on a new machine. Given a compiler for language X for machine P, running on P, how do we get a compiler for X for machine Q, running on &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;machine &lt;/del&gt;Q? The first step is to modify a copy of the compiler&#039;s [[source code]] to emit object code for Q. This is then run through the running compiler for P on P, producing a [[cross-compiler]] for X which runs on P, but produces object code for Q. The modified compiler source is then run through that, thereby producing object code for a compiler which runs on Q, producing object code for Q. This can then be moved to Q, and run there. The first language to pull this trick is reported to have been [[BCPL]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The other, less-common&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/ins&gt;meaning refers to bringing up a [[compiler]] or similar software on a new machine. Given a compiler &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;in&#039;&#039; language X, &#039;&#039;&lt;/ins&gt;for&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039; &lt;/ins&gt;language X&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/ins&gt;for machine P, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;and &lt;/ins&gt;running on P, how do we get a compiler for X&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/ins&gt;for machine Q, running on Q? The first step is to modify a copy of the compiler&#039;s [[source code]] to emit object code for Q. This is then run through the running compiler for P on P, producing a [[cross-compiler]] for X which runs on P, but produces object code for Q. The modified compiler source is then run through that, thereby producing object code for a compiler which runs on Q, producing object code for Q. This can then be moved to Q, and run there.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The first language to pull this trick is reported to have been [[BCPL]]&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, which had a compiler written in itself. If the initial compiler is in some &#039;&#039;&#039;other&#039;&#039; language (perhaps [[assembly language]] for P), the process is more complicated, but similar&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category: Computer Basics]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category: Computer Basics]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki-wiki_:diff:1.41:old-30895:rev-36031:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Jnc</name></author>
	</entry>
	<entry>
		<id>https://gunkies.org/w/index.php?title=Bootstrap&amp;diff=30895&amp;oldid=prev</id>
		<title>Larsbrinkhoff: Link for &quot;toggling&quot;.</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Bootstrap&amp;diff=30895&amp;oldid=prev"/>
		<updated>2023-08-11T07:08:26Z</updated>

		<summary type="html">&lt;p&gt;Link for &amp;quot;toggling&amp;quot;.&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 07:08, 11 August 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To &amp;#039;&amp;#039;&amp;#039;bootstrap&amp;#039;&amp;#039;&amp;#039; (the term can also be used as a noun) means to start a computer-related system from nothing. It has two main meanings:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To &amp;#039;&amp;#039;&amp;#039;bootstrap&amp;#039;&amp;#039;&amp;#039; (the term can also be used as a noun) means to start a computer-related system from nothing. It has two main meanings:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The most common is the process of starting a computer as it is powered on. The bootstap is the initial [[object code]] run by the computer, now always held in [[read-only memory|Read-Only Memory]]. This code usually loads a &#039;&#039;&#039;secondary bootstrap&#039;&#039;&#039; from [[secondary storage]] into [[main memory]], which then loads and starts the [[operating system]].  Earlier methods for entering the bootstrap code into a blank memory, was special hardware for reading data off an external device such as [[paper tape]], or by manually toggling instructions on the [[console]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The most common is the process of starting a computer as it is powered on. The bootstap is the initial [[object code]] run by the computer, now always held in [[read-only memory|Read-Only Memory]]. This code usually loads a &#039;&#039;&#039;secondary bootstrap&#039;&#039;&#039; from [[secondary storage]] into [[main memory]], which then loads and starts the [[operating system]].  Earlier methods for entering the bootstrap code into a blank memory, was special hardware for reading data off an external device such as [[paper tape]], or by manually &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Toggle switch|&lt;/ins&gt;toggling&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/ins&gt;instructions on the [[console]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The other, less-common meaning, refers to bringing up a [[compiler]] or similar software on a new machine. Given a compiler for language X for machine P, running on P, how do we get a compiler for X for machine Q, running on machine Q? The first step is to modify a copy of the compiler&amp;#039;s [[source code]] to emit object code for Q. This is then run through the running compiler for P on P, producing a [[cross-compiler]] for X which runs on P, but produces object code for Q. The modified compiler source is then run through that, thereby producing object code for a compiler which runs on Q, producing object code for Q. This can then be moved to Q, and run there. The first language to pull this trick is reported to have been [[BCPL]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The other, less-common meaning, refers to bringing up a [[compiler]] or similar software on a new machine. Given a compiler for language X for machine P, running on P, how do we get a compiler for X for machine Q, running on machine Q? The first step is to modify a copy of the compiler&amp;#039;s [[source code]] to emit object code for Q. This is then run through the running compiler for P on P, producing a [[cross-compiler]] for X which runs on P, but produces object code for Q. The modified compiler source is then run through that, thereby producing object code for a compiler which runs on Q, producing object code for Q. This can then be moved to Q, and run there. The first language to pull this trick is reported to have been [[BCPL]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category: Computer Basics]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category: Computer Basics]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki-wiki_:diff:1.41:old-30892:rev-30895:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Larsbrinkhoff</name></author>
	</entry>
	<entry>
		<id>https://gunkies.org/w/index.php?title=Bootstrap&amp;diff=30892&amp;oldid=prev</id>
		<title>Larsbrinkhoff: Bootstrap off paper tape or toggling.</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Bootstrap&amp;diff=30892&amp;oldid=prev"/>
		<updated>2023-08-11T07:02:40Z</updated>

		<summary type="html">&lt;p&gt;Bootstrap off paper tape or toggling.&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 07:02, 11 August 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To &amp;#039;&amp;#039;&amp;#039;bootstrap&amp;#039;&amp;#039;&amp;#039; (the term can also be used as a noun) means to start a computer-related system from nothing. It has two main meanings:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To &amp;#039;&amp;#039;&amp;#039;bootstrap&amp;#039;&amp;#039;&amp;#039; (the term can also be used as a noun) means to start a computer-related system from nothing. It has two main meanings:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The most common is the process of starting a computer as it is powered on. The bootstap is the initial [[object code]] run by the computer, now always held in [[read-only memory|Read-Only Memory]]. This code usually loads a &#039;&#039;&#039;secondary bootstrap&#039;&#039;&#039; from [[secondary storage]] into [[main memory]], which then loads and starts the [[operating system]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The most common is the process of starting a computer as it is powered on. The bootstap is the initial [[object code]] run by the computer, now always held in [[read-only memory|Read-Only Memory]]. This code usually loads a &#039;&#039;&#039;secondary bootstrap&#039;&#039;&#039; from [[secondary storage]] into [[main memory]], which then loads and starts the [[operating system&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]].  Earlier methods for entering the bootstrap code into a blank memory, was special hardware for reading data off an external device such as [[paper tape]], or by manually toggling instructions on the [[console&lt;/ins&gt;]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The other, less-common meaning, refers to bringing up a [[compiler]] or similar software on a new machine. Given a compiler for language X for machine P, running on P, how do we get a compiler for X for machine Q, running on machine Q? The first step is to modify a copy of the compiler&amp;#039;s [[source code]] to emit object code for Q. This is then run through the running compiler for P on P, producing a [[cross-compiler]] for X which runs on P, but produces object code for Q. The modified compiler source is then run through that, thereby producing object code for a compiler which runs on Q, producing object code for Q. This can then be moved to Q, and run there. The first language to pull this trick is reported to have been [[BCPL]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The other, less-common meaning, refers to bringing up a [[compiler]] or similar software on a new machine. Given a compiler for language X for machine P, running on P, how do we get a compiler for X for machine Q, running on machine Q? The first step is to modify a copy of the compiler&amp;#039;s [[source code]] to emit object code for Q. This is then run through the running compiler for P on P, producing a [[cross-compiler]] for X which runs on P, but produces object code for Q. The modified compiler source is then run through that, thereby producing object code for a compiler which runs on Q, producing object code for Q. This can then be moved to Q, and run there. The first language to pull this trick is reported to have been [[BCPL]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category: Computer Basics]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category: Computer Basics]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki-wiki_:diff:1.41:old-19634:rev-30892:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Larsbrinkhoff</name></author>
	</entry>
	<entry>
		<id>https://gunkies.org/w/index.php?title=Bootstrap&amp;diff=19634&amp;oldid=prev</id>
		<title>Jnc: +cat</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Bootstrap&amp;diff=19634&amp;oldid=prev"/>
		<updated>2018-12-15T23:42:06Z</updated>

		<summary type="html">&lt;p&gt;+cat&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 23:42, 15 December 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l4&quot;&gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The other, less-common meaning, refers to bringing up a [[compiler]] or similar software on a new machine. Given a compiler for language X for machine P, running on P, how do we get a compiler for X for machine Q, running on machine Q? The first step is to modify a copy of the compiler&amp;#039;s [[source code]] to emit object code for Q. This is then run through the running compiler for P on P, producing a [[cross-compiler]] for X which runs on P, but produces object code for Q. The modified compiler source is then run through that, thereby producing object code for a compiler which runs on Q, producing object code for Q. This can then be moved to Q, and run there. The first language to pull this trick is reported to have been [[BCPL]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The other, less-common meaning, refers to bringing up a [[compiler]] or similar software on a new machine. Given a compiler for language X for machine P, running on P, how do we get a compiler for X for machine Q, running on machine Q? The first step is to modify a copy of the compiler&amp;#039;s [[source code]] to emit object code for Q. This is then run through the running compiler for P on P, producing a [[cross-compiler]] for X which runs on P, but produces object code for Q. The modified compiler source is then run through that, thereby producing object code for a compiler which runs on Q, producing object code for Q. This can then be moved to Q, and run there. The first language to pull this trick is reported to have been [[BCPL]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category: Computer Basics]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki-wiki_:diff:1.41:old-14689:rev-19634:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Jnc</name></author>
	</entry>
	<entry>
		<id>https://gunkies.org/w/index.php?title=Bootstrap&amp;diff=14689&amp;oldid=prev</id>
		<title>Jnc: An OK start</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Bootstrap&amp;diff=14689&amp;oldid=prev"/>
		<updated>2017-10-30T14:54:18Z</updated>

		<summary type="html">&lt;p&gt;An OK start&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;To &amp;#039;&amp;#039;&amp;#039;bootstrap&amp;#039;&amp;#039;&amp;#039; (the term can also be used as a noun) means to start a computer-related system from nothing. It has two main meanings:&lt;br /&gt;
&lt;br /&gt;
The most common is the process of starting a computer as it is powered on. The bootstap is the initial [[object code]] run by the computer, now always held in [[read-only memory|Read-Only Memory]]. This code usually loads a &amp;#039;&amp;#039;&amp;#039;secondary bootstrap&amp;#039;&amp;#039;&amp;#039; from [[secondary storage]] into [[main memory]], which then loads and starts the [[operating system]].&lt;br /&gt;
&lt;br /&gt;
The other, less-common meaning, refers to bringing up a [[compiler]] or similar software on a new machine. Given a compiler for language X for machine P, running on P, how do we get a compiler for X for machine Q, running on machine Q? The first step is to modify a copy of the compiler&amp;#039;s [[source code]] to emit object code for Q. This is then run through the running compiler for P on P, producing a [[cross-compiler]] for X which runs on P, but produces object code for Q. The modified compiler source is then run through that, thereby producing object code for a compiler which runs on Q, producing object code for Q. This can then be moved to Q, and run there. The first language to pull this trick is reported to have been [[BCPL]].&lt;/div&gt;</summary>
		<author><name>Jnc</name></author>
	</entry>
</feed>