<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.linux-xtensa.org/index.php?action=history&amp;feed=atom&amp;title=Kernel_Build_Instructions</id>
	<title>Kernel Build Instructions - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.linux-xtensa.org/index.php?action=history&amp;feed=atom&amp;title=Kernel_Build_Instructions"/>
	<link rel="alternate" type="text/html" href="http://wiki.linux-xtensa.org/index.php?title=Kernel_Build_Instructions&amp;action=history"/>
	<updated>2026-05-05T03:33:16Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>http://wiki.linux-xtensa.org/index.php?title=Kernel_Build_Instructions&amp;diff=186&amp;oldid=prev</id>
		<title>Piet at 22:17, 17 September 2009</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-xtensa.org/index.php?title=Kernel_Build_Instructions&amp;diff=186&amp;oldid=prev"/>
		<updated>2009-09-17T22:17:51Z</updated>

		<summary type="html">&lt;p&gt;&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 22:17, 17 September 2009&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-l32&quot;&gt;Line 32:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 32:&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;* &amp;lt;code&amp;gt;Image.elf&amp;lt;/code&amp;gt;&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;* &amp;lt;code&amp;gt;Image.elf&amp;lt;/code&amp;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;div&gt;*: The build scripts always create this elf image. It contains a reset vector and doesn&amp;#039;t require a boot loader.&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 build scripts always create this elf image. It contains a reset vector and doesn&amp;#039;t require a boot loader.&lt;/div&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;* &amp;lt;code&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Image&lt;/del&gt;.RedBoot&amp;lt;/code&amp;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;* &amp;lt;code&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zImage&lt;/ins&gt;.RedBoot&amp;lt;/code&amp;gt;&lt;/div&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;*: This binary image is created for targets that support RedBoot as the boot loader.&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;*: This binary image is created for targets that support RedBoot as the boot loader&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.ls&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;* &amp;lt;code&amp;gt;uImage&amp;lt;/code&amp;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;*: This binary image is created for targets that support U-Boot as the boot loader. This requires that you copy u-boot/tool/mkimage to somewhere in you search path before before building the kernel&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Piet</name></author>
	</entry>
	<entry>
		<id>http://wiki.linux-xtensa.org/index.php?title=Kernel_Build_Instructions&amp;diff=109&amp;oldid=prev</id>
		<title>Marc: Add reference to Buildroot build instructions</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-xtensa.org/index.php?title=Kernel_Build_Instructions&amp;diff=109&amp;oldid=prev"/>
		<updated>2008-01-15T01:38:41Z</updated>

		<summary type="html">&lt;p&gt;Add reference to Buildroot build instructions&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 01:38, 15 January 2008&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 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;&#039;&#039;&#039;&#039;&#039;Note:&#039;&#039;&#039;  For a more complete example showing how to build a complete toolchain, root file system, and kernel, see [[Buildroot_Build_Instructions]].&#039;&#039;&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;&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;div&gt;Building a kernel for Xtensa is not different from any other architecture. It is a two-step process that requires to configure the kernel first before it can be built. The configuration step is initiated with &amp;lt;code&amp;gt;make config|menuconfig|xconfig&amp;lt;/code&amp;gt; and allows to choose from various device drivers, file systems, and network and other kernel options. This results in the &amp;lt;code&amp;gt;.config&amp;lt;/code&amp;gt; file describing the selected options. A simple &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; will then build the kernel image.&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;Building a kernel for Xtensa is not different from any other architecture. It is a two-step process that requires to configure the kernel first before it can be built. The configuration step is initiated with &amp;lt;code&amp;gt;make config|menuconfig|xconfig&amp;lt;/code&amp;gt; and allows to choose from various device drivers, file systems, and network and other kernel options. This results in the &amp;lt;code&amp;gt;.config&amp;lt;/code&amp;gt; file describing the selected options. A simple &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; will then build the kernel image.&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;/table&gt;</summary>
		<author><name>Marc</name></author>
	</entry>
	<entry>
		<id>http://wiki.linux-xtensa.org/index.php?title=Kernel_Build_Instructions&amp;diff=22&amp;oldid=prev</id>
		<title>Alain94040: /* Configure the Kernel */</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-xtensa.org/index.php?title=Kernel_Build_Instructions&amp;diff=22&amp;oldid=prev"/>
		<updated>2007-05-08T18:32:00Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Configure the Kernel&lt;/span&gt;&lt;/span&gt;&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 18:32, 8 May 2007&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-l19&quot;&gt;Line 19:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 19:&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;* &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt; - Queries all available options (nobody should really use this way to configure the kernel, though).&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;* &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt; - Queries all available options (nobody should really use this way to configure the kernel, though).&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;div&gt;* &amp;lt;code&amp;gt;menuconfig&amp;lt;/code&amp;gt; - Presents the kernel options in an ASCII/vt100 compatible menu structure.&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;* &amp;lt;code&amp;gt;menuconfig&amp;lt;/code&amp;gt; - Presents the kernel options in an ASCII/vt100 compatible menu structure.&lt;/div&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;* &amp;lt;code&amp;gt;xconfig&amp;lt;/code&amp;gt; - Similar to &amp;lt;code&amp;gt;menuconfig&amp;lt;/code&amp;gt;, but uses tcl/tk to display the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;meny &lt;/del&gt;structure.&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;* &amp;lt;code&amp;gt;xconfig&amp;lt;/code&amp;gt; - Similar to &amp;lt;code&amp;gt;menuconfig&amp;lt;/code&amp;gt;, but uses tcl/tk to display the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;menu &lt;/ins&gt;structure.&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;Alternatively, you can choose to start with the default configuration for the targeted platform. The configuration files are located in &amp;lt;code&amp;gt;arch/xtensa/kernel/configs&amp;lt;/code&amp;gt;. The name for the configuration file is usually the platform name followed by &amp;#039;&amp;#039;_defconfig&amp;#039;&amp;#039;, for example &amp;#039;&amp;#039;iss_defconfig&amp;#039;&amp;#039;. Simply issue &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; with the following options to create the &amp;lt;code&amp;gt;.config&amp;lt;/code&amp;gt; file from the default configuration. You can then make modifications to select additional drivers or modify other options with one of the commands above.&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;Alternatively, you can choose to start with the default configuration for the targeted platform. The configuration files are located in &amp;lt;code&amp;gt;arch/xtensa/kernel/configs&amp;lt;/code&amp;gt;. The name for the configuration file is usually the platform name followed by &amp;#039;&amp;#039;_defconfig&amp;#039;&amp;#039;, for example &amp;#039;&amp;#039;iss_defconfig&amp;#039;&amp;#039;. Simply issue &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; with the following options to create the &amp;lt;code&amp;gt;.config&amp;lt;/code&amp;gt; file from the default configuration. You can then make modifications to select additional drivers or modify other options with one of the commands above.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Alain94040</name></author>
	</entry>
	<entry>
		<id>http://wiki.linux-xtensa.org/index.php?title=Kernel_Build_Instructions&amp;diff=18&amp;oldid=prev</id>
		<title>Chris: New page: Building a kernel for Xtensa is not different from any other architecture. It is a two-step process that requires to configure the kernel first before it can be built. The configuration st...</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-xtensa.org/index.php?title=Kernel_Build_Instructions&amp;diff=18&amp;oldid=prev"/>
		<updated>2007-04-24T07:06:05Z</updated>

		<summary type="html">&lt;p&gt;New page: Building a kernel for Xtensa is not different from any other architecture. It is a two-step process that requires to configure the kernel first before it can be built. The configuration st...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Building a kernel for Xtensa is not different from any other architecture. It is a two-step process that requires to configure the kernel first before it can be built. The configuration step is initiated with &amp;lt;code&amp;gt;make config|menuconfig|xconfig&amp;lt;/code&amp;gt; and allows to choose from various device drivers, file systems, and network and other kernel options. This results in the &amp;lt;code&amp;gt;.config&amp;lt;/code&amp;gt; file describing the selected options. A simple &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; will then build the kernel image.&lt;br /&gt;
&lt;br /&gt;
In case of cross-compilation, the Linux &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; scripts require two additional arguments:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ARCH=xtensa&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;CROSS_COMPILE=&amp;#039;&amp;#039;&amp;lt;prefix&amp;gt;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;ARCH&amp;lt;/code&amp;gt; argument instructs the &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; scripts to compile for a different architecture than the host system. &amp;lt;code&amp;gt;CROSS_COMPILE&amp;lt;/code&amp;gt; defines the prefix for the compilation tools, for example &amp;lt;code&amp;gt;xtensa-unknown-linux-gnu-&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The kernel makefile scripts allow additional optional arguments. This is just a short list of the more interesting ones:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;O=&amp;#039;&amp;#039;&amp;lt;build directory&amp;gt;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; - Build the kernel in the &amp;#039;&amp;#039;&amp;lt;build directory&amp;gt;&amp;#039;&amp;#039; instead of the current kernel source directory.&lt;br /&gt;
* &amp;lt;code&amp;gt;V=1&amp;lt;/code&amp;gt; - Increase verbosity level to show the commands executed by the &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; scripts.&lt;br /&gt;
&lt;br /&gt;
== Configure the Kernel ==&lt;br /&gt;
&lt;br /&gt;
The first step requires to configure the kernel for the particular architecture and platform. Run &amp;lt;code&amp;gt;make ARCH=xtensa CROSS_COMPILE=&amp;#039;&amp;#039;&amp;lt;prefix&amp;gt;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; with one of the following arguments. This will create the configuration file &amp;lt;code&amp;gt;.config&amp;lt;/code&amp;gt; that is later used during the build process.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt; - Queries all available options (nobody should really use this way to configure the kernel, though).&lt;br /&gt;
* &amp;lt;code&amp;gt;menuconfig&amp;lt;/code&amp;gt; - Presents the kernel options in an ASCII/vt100 compatible menu structure.&lt;br /&gt;
* &amp;lt;code&amp;gt;xconfig&amp;lt;/code&amp;gt; - Similar to &amp;lt;code&amp;gt;menuconfig&amp;lt;/code&amp;gt;, but uses tcl/tk to display the meny structure.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can choose to start with the default configuration for the targeted platform. The configuration files are located in &amp;lt;code&amp;gt;arch/xtensa/kernel/configs&amp;lt;/code&amp;gt;. The name for the configuration file is usually the platform name followed by &amp;#039;&amp;#039;_defconfig&amp;#039;&amp;#039;, for example &amp;#039;&amp;#039;iss_defconfig&amp;#039;&amp;#039;. Simply issue &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; with the following options to create the &amp;lt;code&amp;gt;.config&amp;lt;/code&amp;gt; file from the default configuration. You can then make modifications to select additional drivers or modify other options with one of the commands above.&lt;br /&gt;
&lt;br /&gt;
 make ARCH=xtensa KBUILD_DEFCONFIG=&amp;#039;&amp;#039;name&amp;#039;&amp;#039;_defconfig defconfig&lt;br /&gt;
&lt;br /&gt;
== Building the Kernel ==&lt;br /&gt;
&lt;br /&gt;
After configuring the kernel, you can build the kernel image running &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;. The final kernel image is generated in &amp;lt;code&amp;gt;arch/xtensa/boot&amp;lt;/code&amp;gt;. Depending on the platform and configuration options, one or more of the following images has been created:&lt;br /&gt;
* &amp;lt;code&amp;gt;Image.elf&amp;lt;/code&amp;gt;&lt;br /&gt;
*: The build scripts always create this elf image. It contains a reset vector and doesn&amp;#039;t require a boot loader.&lt;br /&gt;
* &amp;lt;code&amp;gt;Image.RedBoot&amp;lt;/code&amp;gt;&lt;br /&gt;
*: This binary image is created for targets that support RedBoot as the boot loader.&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
</feed>