<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.mediawiki.compulab.com/w/index.php?action=history&amp;feed=atom&amp;title=Linux%3A_JFFS2_images_over_UBI_layer</id>
	<title>Linux: JFFS2 images over UBI layer - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.mediawiki.compulab.com/w/index.php?action=history&amp;feed=atom&amp;title=Linux%3A_JFFS2_images_over_UBI_layer"/>
	<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Linux:_JFFS2_images_over_UBI_layer&amp;action=history"/>
	<updated>2026-05-02T09:13:48Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Linux:_JFFS2_images_over_UBI_layer&amp;diff=1594&amp;oldid=prev</id>
		<title>Nikita at 15:24, 22 September 2013</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Linux:_JFFS2_images_over_UBI_layer&amp;diff=1594&amp;oldid=prev"/>
		<updated>2013-09-22T15:24:04Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&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: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 15:24, 22 September 2013&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='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; 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;On this page we assume&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/del&gt;that you have MTD utils installed as described in [[Linux_Development_for_XScale_modules#MTD_utils|Linux Development for XScale modules]] article.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;On this page we assume that you have MTD utils installed as described in [[Linux_Development_for_XScale_modules#MTD_utils|Linux Development for XScale modules]] article.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;== Kernel support ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;== Kernel support ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; 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;In order to get UBI and UBI GLUE driver working you need to enable them in kernel configuration. In kernel configuration choose '''&amp;quot;Device Drivers -&amp;gt; Memory Technology Device (MTD) support -&amp;gt; UBI - Unsorted block images&amp;quot;''' menu and enable '''&amp;quot;Enable UBI&amp;quot;''' and '''&amp;quot;MTD devices emulation driver&amp;quot;''' options.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;In order to get UBI and UBI GLUE driver working you need to enable them in kernel configuration. In kernel configuration choose '''&amp;quot;Device Drivers -&amp;gt; Memory Technology Device (MTD) support -&amp;gt; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Enable &lt;/ins&gt;UBI - Unsorted block images&amp;quot;''' menu and enable '''&amp;quot;Enable UBI&amp;quot;''' and '''&amp;quot;MTD devices emulation driver&amp;quot;''' options.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;┌─────────────────────────────────── UBI - Unsorted block images ────────────────────────────────────┐&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;┌─────────────────────────────────── UBI - Unsorted block images ────────────────────────────────────┐&lt;/div&gt;&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-l11&quot; &gt;Line 11:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; │&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; │&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;│ ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ │&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;│ ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ │&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; 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;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  &amp;lt;*&amp;gt; Enable UBI &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;/del&gt;│ │&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  &amp;lt;*&amp;gt; Enable UBI &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;- Unsorted block image&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;/ins&gt;│ │&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  (4096) UBI wear-leveling threshold&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  │ │&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  (4096) UBI wear-leveling threshold&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  │ │&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  (1)&amp;#160;  Percentage of reserved eraseblocks for bad eraseblocks handling&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; │ │&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  (1)&amp;#160;  Percentage of reserved eraseblocks for bad eraseblocks handling&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; │ │&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  &amp;lt;*&amp;gt;&amp;#160;  MTD devices emulation driver (gluebi)&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; │ │&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  &amp;lt;*&amp;gt;&amp;#160;  MTD devices emulation driver (gluebi)&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; │ │&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; 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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;│ │&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  *** UBI debugging options ***&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; │ │&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  [ ]&amp;#160;  UBI debugging&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; │ │&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  [ ]&amp;#160;  UBI debugging&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; │ │&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; │ │&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; │ │&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Nikita</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Linux:_JFFS2_images_over_UBI_layer&amp;diff=604&amp;oldid=prev</id>
		<title>Mike: JFFS2 images over UBI layer moved to Linux: JFFS2 images over UBI layer</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Linux:_JFFS2_images_over_UBI_layer&amp;diff=604&amp;oldid=prev"/>
		<updated>2009-12-23T08:08:19Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/w/index.php?title=JFFS2_images_over_UBI_layer&quot; class=&quot;mw-redirect&quot; title=&quot;JFFS2 images over UBI layer&quot;&gt;JFFS2 images over UBI layer&lt;/a&gt; moved to &lt;a href=&quot;/w/index.php?title=Linux:_JFFS2_images_over_UBI_layer&quot; title=&quot;Linux: JFFS2 images over UBI layer&quot;&gt;Linux: JFFS2 images over UBI layer&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;On this page we assume, that you have MTD utils installed as described in [[Linux_Development_for_XScale_modules#MTD_utils|Linux Development for XScale modules]] article.&lt;br /&gt;
&lt;br /&gt;
== Kernel support ==&lt;br /&gt;
&lt;br /&gt;
In order to get UBI and UBI GLUE driver working you need to enable them in kernel configuration. In kernel configuration choose '''&amp;quot;Device Drivers -&amp;gt; Memory Technology Device (MTD) support -&amp;gt; UBI - Unsorted block images&amp;quot;''' menu and enable '''&amp;quot;Enable UBI&amp;quot;''' and '''&amp;quot;MTD devices emulation driver&amp;quot;''' options.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
┌─────────────────────────────────── UBI - Unsorted block images ────────────────────────────────────┐&lt;br /&gt;
│  Arrow keys navigate the menu.  &amp;lt;Enter&amp;gt; selects submenus ---&amp;gt;.  Highlighted letters are hotkeys.   │&lt;br /&gt;
│  Pressing &amp;lt;Y&amp;gt; includes, &amp;lt;N&amp;gt; excludes, &amp;lt;M&amp;gt; modularizes features.  Press &amp;lt;Esc&amp;gt;&amp;lt;Esc&amp;gt; to exit, &amp;lt;?&amp;gt; for │&lt;br /&gt;
│  Help, &amp;lt;/&amp;gt; for Search.  Legend: [*] built-in  [ ] excluded  &amp;lt;M&amp;gt; module  &amp;lt; &amp;gt; module capable         │&lt;br /&gt;
│                                                                                                    │&lt;br /&gt;
│ ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ │&lt;br /&gt;
│ │             &amp;lt;*&amp;gt; Enable UBI                                                                     │ │&lt;br /&gt;
│ │             (4096) UBI wear-leveling threshold                                                 │ │&lt;br /&gt;
│ │             (1)   Percentage of reserved eraseblocks for bad eraseblocks handling              │ │&lt;br /&gt;
│ │             &amp;lt;*&amp;gt;   MTD devices emulation driver (gluebi)                                        │ │&lt;br /&gt;
│ │                   *** UBI debugging options ***                                                │ │&lt;br /&gt;
│ │             [ ]   UBI debugging                                                                │ │&lt;br /&gt;
│ │                                                                                                │ │&lt;br /&gt;
│ └────────────────────────────────────────────────────────────────────────────────────────────────┘ │&lt;br /&gt;
├────────────────────────────────────────────────────────────────────────────────────────────────────┤&lt;br /&gt;
│                                  &amp;lt;Select&amp;gt;    &amp;lt; Exit &amp;gt;    &amp;lt; Help &amp;gt;                                  │&lt;br /&gt;
└────────────────────────────────────────────────────────────────────────────────────────────────────┘&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can build the kernel with UBI support including the UBI GLUE driver.&lt;br /&gt;
&lt;br /&gt;
== User space tools ==&lt;br /&gt;
&lt;br /&gt;
In this section we will use {{parameter|X}} as the MTD partition number attached to UBI, {{parameter|Y}} as the emulated MTD partition number and we assume that there were no MTD partitions attached to UBI before. &amp;lt;br&amp;gt;&lt;br /&gt;
To prepare the NAND for use with UBI, you should take the following steps:&lt;br /&gt;
* Erase the MTD partition that will be used for UBI volume(s):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; flash_eraseall /dev/mtdX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Attach the MTD partition to UBI:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; ubiattach /dev/ubi_ctrl -m X -O 2048&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create UBI volume:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; ubimkvol /dev/ubi0 -m -N &amp;lt;ubi volume name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Update the new UBI volume with JFFS2 image:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; ubiupdatevol /dev/ubi0_0 &amp;lt;path to JFFS2 image&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you want to use the new UBI volume as the root filesystem on your device, you should change the {{parameter|root}} parameter of kernel command line to boot from emulated&lt;br /&gt;
MTD partition '''Y''' (which is UBI volume):&lt;br /&gt;
'''root=/dev/mtdblockY''' and add '''ubi.mtd=X,2048''' parameter, so the MTD partition containing the new UBI volume will be attached on kernel boot prior to root filesystem mount.&lt;br /&gt;
&lt;br /&gt;
== UBI logical eraseblock size and JFFS2 image eraseblock size ==&lt;br /&gt;
&lt;br /&gt;
UBI layer is using some part of NAND's ''physical'' erase block for it's own needs (e.g. bad blocks handling), therefore it provides a ''logical'' eraseblock for filesystem use. The logical eraseblock size is smaller than the physical, so when you construct the JFFS2/UBIFS image, as described in section [[Linux_Development_for_XScale_modules#JFFS2_images|JFFS2 images]] and [[Linux_Development_for_XScale_modules#UBIFS_images|UBIFS images]], you should set the {{parameter|eraseblock}} (JFFS2) and {{parameter|leb-size}} (UBIFS) parameter to UBI's logical eraseblock size. &amp;lt;br&amp;gt;&lt;br /&gt;
The UBI logical eraseblock size can be obtained by invoking the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; cat /sys/class/ubi/ubiX/eraseblock_size&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where {{parameter|X}} is the UBI device number.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Linux_Development_for_XScale_modules|Linux Development for XScale modules]]&lt;br /&gt;
* [[Linux_MTD_drivers_on_CM-X270|Linux MTD drivers on CM-X270]]&lt;br /&gt;
* [[Getting_started_with_Linux_on_CM-X300|Getting started with Linux on CM-X300]]&lt;br /&gt;
* [http://www.linux-mtd.infradead.org/doc/ubi.html UBI documentation]&lt;br /&gt;
* [http://www.linux-mtd.infradead.org/faq/ubi.html UBI FAQ and HOWTO]&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux|JFFS2 images over UBI layer]]&lt;/div&gt;</summary>
		<author><name>Mike</name></author>
		
	</entry>
</feed>