http://bering-uclibc.zetam.org/index.php?title=Bering-uClibc_5.x_-_User_Guide_-_Basic_Configuration_-_Booting_for_the_First_Time&feed=atom&action=historyBering-uClibc 5.x - User Guide - Basic Configuration - Booting for the First Time - Revision history2024-03-29T12:07:34ZRevision history for this page on the wikiMediaWiki 1.26.0http://bering-uclibc.zetam.org/index.php?title=Bering-uClibc_5.x_-_User_Guide_-_Basic_Configuration_-_Booting_for_the_First_Time&diff=1878&oldid=prevKapeka: /* Device Drivers Taking Too Long To Load */2014-03-16T16:55:40Z<p><span dir="auto"><span class="autocomment">Device Drivers Taking Too Long To Load</span></span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='en'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 16:55, 16 March 2014</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l69" >Line 69:</td>
<td colspan="2" class="diff-lineno">Line 69:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  APPEND reboot=bios usb_wait=3</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  APPEND reboot=bios usb_wait=3</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; 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;"><div>Note: <del class="diffchange diffchange-inline">This is </del>the default <del class="diffchange diffchange-inline">from </del>LEAF Bering-uClibc 5.1 <del class="diffchange diffchange-inline">and above</del>.</div></td><td class='diff-marker'>+</td><td style="color:black; 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;"><div>Note: <ins class="diffchange diffchange-inline">To improve new users experience, this will be </ins>the default <ins class="diffchange diffchange-inline">entry starting with </ins>LEAF Bering-uClibc 5.1.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>====Module Files Missing From <code class="filename">initmod.lrp</code>====</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>====Module Files Missing From <code class="filename">initmod.lrp</code>====</div></td></tr>
</table>Kapekahttp://bering-uclibc.zetam.org/index.php?title=Bering-uClibc_5.x_-_User_Guide_-_Basic_Configuration_-_Booting_for_the_First_Time&diff=1877&oldid=prevKapeka: /* Device Drivers Taking Too Long To Load */2014-03-16T16:54:18Z<p><span dir="auto"><span class="autocomment">Device Drivers Taking Too Long To Load</span></span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='en'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 16:54, 16 March 2014</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l68" >Line 68:</td>
<td colspan="2" class="diff-lineno">Line 68:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>For example, to wait for 3 seconds rather than the default of 1, change the "<tt>APPEND</tt>" line to read something like:</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>For example, to wait for 3 seconds rather than the default of 1, change the "<tt>APPEND</tt>" line to read something like:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  APPEND reboot=bios usb_wait=3</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  APPEND reboot=bios usb_wait=3</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;">Note: This is the default from LEAF Bering-uClibc 5.1 and above.</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>====Module Files Missing From <code class="filename">initmod.lrp</code>====</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>====Module Files Missing From <code class="filename">initmod.lrp</code>====</div></td></tr>
</table>Kapekahttp://bering-uclibc.zetam.org/index.php?title=Bering-uClibc_5.x_-_User_Guide_-_Basic_Configuration_-_Booting_for_the_First_Time&diff=1650&oldid=prevKapeka: /* Hardware Device Driver Issues initmod contains the kernel modules */2013-07-14T11:01:32Z<p><span dir="auto"><span class="autocomment">Hardware Device Driver Issues initmod contains the kernel modules</span></span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='en'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 11:01, 14 July 2013</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l50" >Line 50:</td>
<td colspan="2" class="diff-lineno">Line 50:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>===Hardware Device Driver Issues===</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>===Hardware Device Driver Issues===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>There are three main types of problem with hardware device driver kernel Modules failing to load:</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>There are three main types of problem with hardware device driver kernel Modules failing to load:</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; 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;"><div>* The necessary kernel Module files might be present in the default <code class="filename"><del class="diffchange diffchange-inline">initrd</del>.lrp</code> RAM Disk image but are not being loaded automatically.</div></td><td class='diff-marker'>+</td><td style="color:black; 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;"><div>* The necessary kernel Module files might be present in the default <code class="filename"><ins class="diffchange diffchange-inline">initmod</ins>.lrp</code> RAM Disk image but are not being loaded automatically.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; 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;"><div>* The necessary kernel Module files might be present in the default <code class="filename"><del class="diffchange diffchange-inline">initrd</del>.lrp</code> RAM Disk image but are not being loaded quickly enough.</div></td><td class='diff-marker'>+</td><td style="color:black; 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;"><div>* The necessary kernel Module files might be present in the default <code class="filename"><ins class="diffchange diffchange-inline">initmod</ins>.lrp</code> RAM Disk image but are not being loaded quickly enough.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; 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;"><div>* The necessary kernel Module files might be missing from the default <code class="filename"><del class="diffchange diffchange-inline">initrd</del>.lrp</code> RAM Disk image.</div></td><td class='diff-marker'>+</td><td style="color:black; 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;"><div>* The necessary kernel Module files might be missing from the default <code class="filename"><ins class="diffchange diffchange-inline">initmod</ins>.lrp</code> RAM Disk image.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>====Hardware Auto-Detection Issues====</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>====Hardware Auto-Detection Issues====</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; 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;"><div>Some older hardware is not fully compatible with the [[Bering-uClibc 5.x]] auto-detection logic which loads hardware device driver Modules at boot time. As a result, some required kernel Modules may not be loaded automatically even they are present in the default <code class="filename"><del class="diffchange diffchange-inline">initrd</del>.lrp</code>.</div></td><td class='diff-marker'>+</td><td style="color:black; 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;"><div>Some older hardware is not fully compatible with the [[Bering-uClibc 5.x]] auto-detection logic which loads hardware device driver Modules at boot time. As a result, some required kernel Modules may not be loaded automatically even they are present in the default <code class="filename"><ins class="diffchange diffchange-inline">initmod</ins>.lrp</code>.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>The solution is to force the necessary module(s) to be loaded (more like the [[Bering-uClibc 3.x]] behaviour) and the easiest way to do that is to specify a value for the "<tt>KMODULES</tt>" kernel command line argument which takes a comma-separated list of modules.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>The solution is to force the necessary module(s) to be loaded (more like the [[Bering-uClibc 3.x]] behaviour) and the easiest way to do that is to specify a value for the "<tt>KMODULES</tt>" kernel command line argument which takes a comma-separated list of modules.</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l69" >Line 69:</td>
<td colspan="2" class="diff-lineno">Line 69:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  APPEND reboot=bios usb_wait=3</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  APPEND reboot=bios usb_wait=3</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; 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;"><div>====Module Files Missing From <code class="filename"><del class="diffchange diffchange-inline">initrd</del>.lrp</code>====</div></td><td class='diff-marker'>+</td><td style="color:black; 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;"><div>====Module Files Missing From <code class="filename"><ins class="diffchange diffchange-inline">initmod</ins>.lrp</code>====</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; 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;"><div>The default <code class="filename"><del class="diffchange diffchange-inline">initrd</del>.lrp</code> files include a good range of kernel Modules, covering the majority of hardware devices.</div></td><td class='diff-marker'>+</td><td style="color:black; 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;"><div>The default <code class="filename"><ins class="diffchange diffchange-inline">initmod</ins>.lrp</code> files include a good range of kernel Modules, covering the majority of hardware devices.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>For more unusual hardware you may find that some modules required for boot are missing.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>For more unusual hardware you may find that some modules required for boot are missing.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; 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;"><div>Provided these are present in <code class="filename">modules.tgz</code> these can be added to <code class="filename"><del class="diffchange diffchange-inline">initrd</del>.lrp</code> as described on the [[Bering-uClibc 5.x - User Guide - Advanced Topics - Modifying initrd.lrp|Modifying initrd.lrp]] page. Once the files are added the hardware auto-detection logic should load them automatically but in exceptional cases they may need to be loaded explicitly using the procedure documented above.</div></td><td class='diff-marker'>+</td><td style="color:black; 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;"><div>Provided these are present in <code class="filename">modules.tgz</code> these can be added to <code class="filename"><ins class="diffchange diffchange-inline">initmod</ins>.lrp</code> as described on the [[Bering-uClibc 5.x - User Guide - Advanced Topics - Modifying initrd.lrp|Modifying initrd.lrp]] page. Once the files are added the hardware auto-detection logic should load them automatically but in exceptional cases they may need to be loaded explicitly using the procedure documented above.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>For really unusual hardware the required driver may not even be included in the kernel build configuration file and so may be missing from <code class="filename">modules.tgz</code> as well. In such cases you should report the problem to the <tt>leaf-user</tt> mailing list.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>For really unusual hardware the required driver may not even be included in the kernel build configuration file and so may be missing from <code class="filename">modules.tgz</code> as well. In such cases you should report the problem to the <tt>leaf-user</tt> mailing list.</div></td></tr>
</table>Kapekahttp://bering-uclibc.zetam.org/index.php?title=Bering-uClibc_5.x_-_User_Guide_-_Basic_Configuration_-_Booting_for_the_First_Time&diff=1646&oldid=prevDavidmbrooke: Created based on 4.x page for notes on usb_wait2013-07-14T10:15:49Z<p>Created based on 4.x page for notes on usb_wait</p>
<p><b>New page</b></p><div>{| summary="Navigation header" width="100%"<br />
! colspan="3" align="center" | [[Bering-uClibc 5.x - User Guide - Basic Configuration - Booting for the First Time|Basic Configuration - Booting for the First Time]]<br />
|-<br />
| width="20%" align="left" | <br />
! width="60%" align="center" | [[Bering-uClibc 5.x - User Guide]]<br />
| width="20%" align="right" | [[Bering-uClibc 5.x - User Guide - Basic Configuration - Basic System Configuration|Next]]<br />
|}<br />
----<br />
<br />
<br />
==Install Media and Boot==<br />
Insert the prepared boot media into the system which is to run [[Bering-uClibc 5.x]] and power it on.<br />
<br />
==Successful First Boot==<br />
If everything works properly you should see lots of diagnostic output followed by a login prompt ''similar'' to the following:<br />
Linux 3.4.48-geode #1 Thu Jun 13 18:29:24 CEST 2013<br />
LEAF Bering-uClibc 5.0 Rev 1 uClibc 0.9.33.2 firewall /dev/ttyS0<br />
firewall login: <br />
<br />
Login as user "<tt>root</tt>" (no password required at this point).<br />
You will be prompted to set a password for the <tt>root</tt> account (twice).<br />
You will then be presented with the LEAF configuration menu:<br />
<br />
LEAF configuration menu<br />
<br />
<br />
1) Network configuration<br />
<br />
2) System configuration<br />
<br />
3) Packages configuration<br />
<br />
s) Save configuration<br />
m) Backup modules<br />
f) Find & load modules for hardware<br />
<br />
c) Show configuration changes since last save<br />
d) Show configuration changes from defaults<br />
<br />
h) Help<br />
q) quit<br />
----------------------------------------------------------------------------<br />
Selection:<br />
<br />
==Troubleshooting==<br />
In the event of problems it is worth reviewing the [[Bering-uClibc 5.x - User Guide - Appendices - Overview of the Startup Sequence|Appendix which describes the Bering-uClibc startup logic]] to assess how far the boot progressed before failing.<br />
<br />
Some specific issues, with solutions / workarounds, are listed below.<br />
<br />
===Hardware Device Driver Issues===<br />
There are three main types of problem with hardware device driver kernel Modules failing to load:<br />
* The necessary kernel Module files might be present in the default <code class="filename">initrd.lrp</code> RAM Disk image but are not being loaded automatically.<br />
* The necessary kernel Module files might be present in the default <code class="filename">initrd.lrp</code> RAM Disk image but are not being loaded quickly enough.<br />
* The necessary kernel Module files might be missing from the default <code class="filename">initrd.lrp</code> RAM Disk image.<br />
<br />
====Hardware Auto-Detection Issues====<br />
Some older hardware is not fully compatible with the [[Bering-uClibc 5.x]] auto-detection logic which loads hardware device driver Modules at boot time. As a result, some required kernel Modules may not be loaded automatically even they are present in the default <code class="filename">initrd.lrp</code>.<br />
<br />
The solution is to force the necessary module(s) to be loaded (more like the [[Bering-uClibc 3.x]] behaviour) and the easiest way to do that is to specify a value for the "<tt>KMODULES</tt>" kernel command line argument which takes a comma-separated list of modules.<br />
To do this edit <code class="filename">{iso|pxe|sys}linux.cfg</code> and change the "<tt>APPEND</tt>" line.<br />
For example, to force the "<tt>floppy</tt>" and "<tt>i2c-core</tt>" kernel Modules to be loaded change this line to read something like the following:<br />
APPEND reboot=bios KMODULES=floppy,i2c-core<br />
<br />
====Device Drivers Taking Too Long To Load====<br />
On slow hardware, the default 1-second delay in the boot sequence does not allow enough time for the device drivers to load and initialize the hardware before proceeding.<br />
Typical symptoms of this are diagnostic messages relating to the successful mounting of devices just ''after'' the messages reporting failure to locate <code class="filename">leaf.cfg</code>.<br />
The solution is to specify a longer delay. Variable "<tt>usb_wait</tt>" can be used to do this (although the name refers to "USB" it actually applies to any kind of device).<br />
For example, to wait for 3 seconds rather than the default of 1, change the "<tt>APPEND</tt>" line to read something like:<br />
APPEND reboot=bios usb_wait=3<br />
<br />
====Module Files Missing From <code class="filename">initrd.lrp</code>====<br />
The default <code class="filename">initrd.lrp</code> files include a good range of kernel Modules, covering the majority of hardware devices.<br />
For more unusual hardware you may find that some modules required for boot are missing.<br />
Provided these are present in <code class="filename">modules.tgz</code> these can be added to <code class="filename">initrd.lrp</code> as described on the [[Bering-uClibc 5.x - User Guide - Advanced Topics - Modifying initrd.lrp|Modifying initrd.lrp]] page. Once the files are added the hardware auto-detection logic should load them automatically but in exceptional cases they may need to be loaded explicitly using the procedure documented above.<br />
<br />
For really unusual hardware the required driver may not even be included in the kernel build configuration file and so may be missing from <code class="filename">modules.tgz</code> as well. In such cases you should report the problem to the <tt>leaf-user</tt> mailing list.<br />
<br />
===DMA Issues===<br />
Some drives, especially some Compact Flash drive / adaptor combinations, do not properly support DMA.<br />
The symptoms of problems are boot messages like the following, accompanied by delays while the drive access times out and it reverts to non-DMA operation:<br />
[ 36.768088] ata1: lost interrupt (Status 0x58) <br />
[ 36.769016] ata1: drained 4096 bytes to clear DRQ. <br />
[ 36.772872] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen <br />
[ 36.773075] ata1.00: failed command: READ DMA <br />
[ 36.773261] ata1.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 dma 4096 in <br />
[ 36.773273] res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout) <br />
[ 36.773752] ata1.00: status: { DRDY } <br />
[ 36.773970] ata1: soft resetting link <br />
[ 36.931430] ata1.00: configured for MWDMA2 <br />
[ 36.931597] ata1.00: device reported invalid CHS sector 0 <br />
[ 36.931772] ata1: EH complete<br />
<br />
The solution is to disable any attempt to use DMA for the relevant device by setting options for the libata driver.<br />
The following is a small extract from <code class="filename">linux-2.6.35.8/Documentation/kernel-parameters.txt</code> (part of the kernel source distribution):<br />
libata.dma= [LIBATA] DMA control<br />
libata.dma=0 Disable all PATA and SATA DMA<br />
libata.dma=1 PATA and SATA Disk DMA only<br />
libata.dma=2 ATAPI (CDROM) DMA only<br />
libata.dma=4 Compact Flash DMA only<br />
Combinations also work, so libata.dma=3 enables DMA<br />
for disks and CDROMs, but not CFs.<br />
<br />
So, assuming the problem affects only Compact Flash devices, these can have DMA disabled by using kernel argument <tt>libata.dma=3</tt>.<br />
This should be specified by editing file <code class="filename">syslinux.cfg</code>:<br />
# Mount the boot drive: <tt>mount /dev/sda1 /mnt</tt><br />
# Edit <code class="filename">syslinux.cfg</code>: <tt>edit /mnt/syslinux/syslinux.cfg</tt><br />
# Add <tt>libata.dma=3</tt> to the <tt>APPEND</tt> line so that the complete line reads: <tt>APPEND reboot=bios libata.dma=3</tt><br />
# Unmount the boot drive: <tt>umount /mnt</tt><br />
# Reboot<br />
<br />
<br />
----<br />
{| summary="Navigation footer" width="100%"<br />
| width="40%" align="left" | <br />
| width="20%" align="center" | [[Bering-uClibc 5.x - User Guide - Basic Configuration|Up]]<br />
| width="40%" align="right" | [[Bering-uClibc 5.x - User Guide - Basic Configuration - Basic System Configuration|Next]]<br />
|}<br />
<br />
[[Category:Bering-uClibc 5.x]]<br />
[[Category:User Guide]]</div>Davidmbrooke