web-legacy/milkymist-wiki/wiki/index.php?title=Milkymist_Linux_cheat_sheet.html

232 lines
17 KiB
HTML
Raw Normal View History

2014-09-19 12:52:20 +08:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="generator" content="MediaWiki 1.14.0" />
<meta name="keywords" content="Milkymist Linux cheat sheet" />
<link rel="alternate" type="application/x-wiki" title="Edit" href="http://milkymist.org/wiki/index.php?title=Milkymist_Linux_cheat_sheet&amp;action=edit" />
<link rel="edit" title="Edit" href="http://milkymist.org/wiki/index.php?title=Milkymist_Linux_cheat_sheet&amp;action=edit" />
<link rel="shortcut icon" href="../favicon.ico" />
<link rel="search" type="application/opensearchdescription+xml" href="opensearch_desc.php" title="Milkymist Wiki (en)" />
<link title="Creative Commons" type="application/rdf+xml" href="http://milkymist.org/wiki/index.php?title=Milkymist_Linux_cheat_sheet&amp;action=creativecommons" rel="meta" />
<link rel="copyright" href="http://www.milkymist.org/wiki/index.php?title=Copyright" />
<link rel="alternate" type="application/rss+xml" title="Milkymist Wiki RSS Feed" href="http://milkymist.org/wiki/index.php?title=Special:RecentChanges&amp;feed=rss" />
<link rel="alternate" type="application/atom+xml" title="Milkymist Wiki Atom Feed" href="http://milkymist.org/wiki/index.php?title=Special:RecentChanges&amp;feed=atom" />
<title>Milkymist Linux cheat sheet - Milkymist Wiki</title>
<link rel="stylesheet" href="skins/common/shared.css%3F195.css" type="text/css" media="screen" />
<link rel="stylesheet" href="skins/common/commonPrint.css%3F195.css" type="text/css" media="print" />
<link rel="stylesheet" href="skins/monobook/main.css%3F195.css" type="text/css" media="screen" />
<!--[if lt IE 5.5000]><link rel="stylesheet" href="/wiki/skins/monobook/IE50Fixes.css?195" type="text/css" media="screen" /><![endif]-->
<!--[if IE 5.5000]><link rel="stylesheet" href="/wiki/skins/monobook/IE55Fixes.css?195" type="text/css" media="screen" /><![endif]-->
<!--[if IE 6]><link rel="stylesheet" href="/wiki/skins/monobook/IE60Fixes.css?195" type="text/css" media="screen" /><![endif]-->
<!--[if IE 7]><link rel="stylesheet" href="/wiki/skins/monobook/IE70Fixes.css?195" type="text/css" media="screen" /><![endif]-->
<link rel="stylesheet" href="http://milkymist.org/wiki/index.php?title=MediaWiki:Common.css&amp;usemsgcache=yes&amp;ctype=text%2Fcss&amp;smaxage=18000&amp;action=raw&amp;maxage=18000" type="text/css" />
<link rel="stylesheet" href="http://milkymist.org/wiki/index.php?title=MediaWiki:Print.css&amp;usemsgcache=yes&amp;ctype=text%2Fcss&amp;smaxage=18000&amp;action=raw&amp;maxage=18000" type="text/css" media="print" />
<link rel="stylesheet" href="http://milkymist.org/wiki/index.php?title=MediaWiki:Monobook.css&amp;usemsgcache=yes&amp;ctype=text%2Fcss&amp;smaxage=18000&amp;action=raw&amp;maxage=18000" type="text/css" />
<link rel="stylesheet" href="http://milkymist.org/wiki/index.php?title=-&amp;action=raw&amp;maxage=18000&amp;gen=css" type="text/css" />
<!--[if lt IE 7]><script type="text/javascript" src="/wiki/skins/common/IEFixes.js?195"></script>
<meta http-equiv="imagetoolbar" content="no" /><![endif]-->
<script type= "text/javascript">/*<![CDATA[*/
var skin = "monobook";
var stylepath = "/wiki/skins";
var wgArticlePath = "/wiki/index.php?title=$1";
var wgScriptPath = "/wiki";
var wgScript = "/wiki/index.php";
var wgVariantArticlePath = false;
var wgActionPaths = {};
var wgServer = "http://milkymist.org";
var wgCanonicalNamespace = "";
var wgCanonicalSpecialPageName = false;
var wgNamespaceNumber = 0;
var wgPageName = "Milkymist_Linux_cheat_sheet";
var wgTitle = "Milkymist Linux cheat sheet";
var wgAction = "view";
var wgArticleId = "63";
var wgIsArticle = true;
var wgUserName = null;
var wgUserGroups = null;
var wgUserLanguage = "en";
var wgContentLanguage = "en";
var wgBreakFrames = false;
var wgCurRevisionId = "1838";
var wgVersion = "1.14.0";
var wgEnableAPI = true;
var wgEnableWriteAPI = true;
var wgSeparatorTransformTable = ["", ""];
var wgDigitTransformTable = ["", ""];
var wgRestrictionEdit = [];
var wgRestrictionMove = [];
/*]]>*/</script>
<script type="text/javascript" src="skins/common/wikibits.js%3F195"><!-- wikibits js --></script>
<!-- Head Scripts -->
<script type="text/javascript" src="skins/common/ajax.js%3F195"></script>
<script type="text/javascript" src="http://milkymist.org/wiki/index.php?title=-&amp;action=raw&amp;gen=js&amp;useskin=monobook"><!-- site js --></script>
</head>
<body class="mediawiki ltr ns-0 ns-subject page-Milkymist_Linux_cheat_sheet skin-monobook">
<div id="globalWrapper">
<div id="column-content">
<div id="content">
<a name="top" id="top"></a>
<h1 id="firstHeading" class="firstHeading">Milkymist Linux cheat sheet</h1>
<div id="bodyContent">
<h3 id="siteSub">From Milkymist Wiki</h3>
<div id="contentSub"></div>
<div id="jump-to-nav">Jump to: <a href="index.php%3Ftitle=Milkymist_Linux_cheat_sheet.html#column-one">navigation</a>, <a href="index.php%3Ftitle=Milkymist_Linux_cheat_sheet.html#searchInput">search</a></div> <!-- start content -->
<table id="toc" class="toc" summary="Contents"><tr><td><div id="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1"><a href="index.php%3Ftitle=Milkymist_Linux_cheat_sheet.html#Kernel_compilation"><span class="tocnumber">1</span> <span class="toctext">Kernel compilation</span></a></li>
<li class="toclevel-1"><a href="index.php%3Ftitle=Milkymist_Linux_cheat_sheet.html#Building_userspace_binaries"><span class="tocnumber">2</span> <span class="toctext">Building userspace binaries</span></a></li>
<li class="toclevel-1"><a href="index.php%3Ftitle=Milkymist_Linux_cheat_sheet.html#Building_SDL"><span class="tocnumber">3</span> <span class="toctext">Building SDL</span></a></li>
<li class="toclevel-1"><a href="index.php%3Ftitle=Milkymist_Linux_cheat_sheet.html#Building_DoPE_.28Genode_FX.29_SDL-based_demo"><span class="tocnumber">4</span> <span class="toctext">Building DoPE (Genode FX) SDL-based demo</span></a></li>
<li class="toclevel-1"><a href="index.php%3Ftitle=Milkymist_Linux_cheat_sheet.html#Forcing_gigabit_Ethernet_cards_in_100M_mode"><span class="tocnumber">5</span> <span class="toctext">Forcing gigabit Ethernet cards in 100M mode</span></a></li>
</ul>
</td></tr></table><script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "show"; var tocHideText = "hide"; showTocToggle(); } </script>
<a name="Kernel_compilation" id="Kernel_compilation"></a><h1><span class="editsection">[<a href="http://milkymist.org/wiki/index.php?title=Milkymist_Linux_cheat_sheet&amp;action=edit&amp;section=1" title="Edit section: Kernel compilation">edit</a>]</span> <span class="mw-headline"> Kernel compilation </span></h1>
<pre> make mrproper
ARCH=lm32 make defconfig
ARCH=lm32 make menuconfig
ARCH=lm32 CROSS_COMPILE=lm32-elf- make simpleImage.milkymist_one
</pre>
<p>To boot with flterm (slow): <code>flterm --port /dev/ttyUSB0 --kernel arch/lm32/boot/simpleImage.milkymist_one</code>
</p><p>Warning! "vmlinux" images do not contain the DTS and will not boot.
</p>
<a name="Building_userspace_binaries" id="Building_userspace_binaries"></a><h1><span class="editsection">[<a href="http://milkymist.org/wiki/index.php?title=Milkymist_Linux_cheat_sheet&amp;action=edit&amp;section=2" title="Edit section: Building userspace binaries">edit</a>]</span> <span class="mw-headline"> Building userspace binaries </span></h1>
<p>The following commands should be used. Using the current lm32-linux toolchain, it's VERY easy to produce broken binaries that crash the board when run.
</p>
<pre> lm32-linux-gcc -Wl,-q -mmultiply-enabled -mdivide-enabled -mbarrel-shift-enabled -msign-extend-enabled [...]
lm32-linux-strip --strip-unneeded --strip-debug --remove-section=.note --remove-section=.comment [...]
</pre>
<p>These commands are kludgy and are necessary to be compatible with Theobroma's f*ed up FDPIC loader, that we need to fix.
</p>
<a name="Building_SDL" id="Building_SDL"></a><h1><span class="editsection">[<a href="http://milkymist.org/wiki/index.php?title=Milkymist_Linux_cheat_sheet&amp;action=edit&amp;section=3" title="Edit section: Building SDL">edit</a>]</span> <span class="mw-headline"> Building SDL </span></h1>
<pre> ./configure --without-x --enable-video-fbcon --disable-shared --enable-static \
--prefix=/home/lekernel/sdl-lm32 --disable-esd --disable-alsa \
--disable-video-directfb --disable-sdl-dlopen --disable-arts --host=lm32-linux \
--build=i686-pc-linux-gnu
make
make install
</pre>
<a name="Building_DoPE_.28Genode_FX.29_SDL-based_demo" id="Building_DoPE_.28Genode_FX.29_SDL-based_demo"></a><h1><span class="editsection">[<a href="http://milkymist.org/wiki/index.php?title=Milkymist_Linux_cheat_sheet&amp;action=edit&amp;section=4" title="Edit section: Building DoPE (Genode FX) SDL-based demo">edit</a>]</span> <span class="mw-headline"> Building DoPE (Genode FX) SDL-based demo </span></h1>
<p>Edit lib/sdl/scrdrv.c and hardcode your screen resolution:
</p>
<pre> static long set_screen(long width, long height, long depth)
{
scr_width = 640;
scr_height = 480;
scr_depth = 16;
(...)
screen = SDL_SetVideoMode(scr_width, scr_height, scr_depth, SDL_SWSURFACE);
</pre>
<pre> CROSS_PREFIX=lm32-linux- CFLAGS=-I/home/lekernel/sdl-lm32/include\ \
-mmultiply-enabled\ -mdivide-enabled\ -mbarrel-shift-enabled\ \
-msign-extend-enabled LDFLAGS=-L/home/lekernel/sdl-lm32/lib make sdl
# linking fails, do it manually:
cd test/sdl
lm32-linux-gcc -L/home/lekernel/sdl-lm32/lib -L../../lib/sdl \
-Wl,--start-group platform.o test.o disp_img.o settings.o grid.o \
dopecmd.o colors.o slides.o slideshow.o led.o -ldope -Wl,--end-group -Wl,-q \
-lSDL -lpthread -o dopetest
lm32-linux-strip --strip-unneeded --strip-debug --remove-section=.note --remove-section=.comment dopetest
</pre>
<a name="Forcing_gigabit_Ethernet_cards_in_100M_mode" id="Forcing_gigabit_Ethernet_cards_in_100M_mode"></a><h1><span class="editsection">[<a href="http://milkymist.org/wiki/index.php?title=Milkymist_Linux_cheat_sheet&amp;action=edit&amp;section=5" title="Edit section: Forcing gigabit Ethernet cards in 100M mode">edit</a>]</span> <span class="mw-headline"> Forcing gigabit Ethernet cards in 100M mode </span></h1>
<p>If you are using a gigabit PHY (ML401) and you are connected in 1000M mode, Minimac does not support it.
If the other side is running Linux, this will put its Ethernet interface in 100M mode:
</p>
<pre> ethtool -s eth0 advertise 0x008
</pre>
<!--
NewPP limit report
Preprocessor node count: 7/1000000
Post-expand include size: 0/2097152 bytes
Template argument size: 0/2097152 bytes
Expensive parser function count: 0/100
-->
<!-- Saved in parser cache with key sbsql1-mw_:pcache:idhash:63-0!1!0!!en!2 and timestamp 20140823131815 -->
<div class="printfooter">
Retrieved from "<a href="index.php%3Ftitle=Milkymist_Linux_cheat_sheet.html">http://milkymist.org/wiki/index.php?title=Milkymist_Linux_cheat_sheet</a>"</div>
<!-- end content -->
<div class="visualClear"></div>
</div>
</div>
</div>
<div id="column-one">
<div id="p-cactions" class="portlet">
<h5>Views</h5>
<div class="pBody">
<ul>
<li id="ca-nstab-main" class="selected"><a href="index.php%3Ftitle=Milkymist_Linux_cheat_sheet.html" title="View the content page [c]" accesskey="c">Page</a></li>
<li id="ca-talk" class="new"><a href="http://milkymist.org/wiki/index.php?title=Talk:Milkymist_Linux_cheat_sheet&amp;action=edit&amp;redlink=1" title="Discussion about the content page [t]" accesskey="t">Discussion</a></li>
<li id="ca-edit"><a href="http://milkymist.org/wiki/index.php?title=Milkymist_Linux_cheat_sheet&amp;action=edit" title="You can edit this page.&#10;Please use the preview button before saving [e]" accesskey="e">Edit</a></li>
<li id="ca-history"><a href="http://milkymist.org/wiki/index.php?title=Milkymist_Linux_cheat_sheet&amp;action=history" title="Past versions of this page [h]" accesskey="h">History</a></li> </ul>
</div>
</div>
<div class="portlet" id="p-personal">
<h5>Personal tools</h5>
<div class="pBody">
<ul>
<li id="pt-login"><a href="http://milkymist.org/wiki/index.php?title=Special:UserLogin&amp;returnto=Milkymist_Linux_cheat_sheet" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o">Log in / create account</a></li>
</ul>
</div>
</div>
<div class="portlet" id="p-logo">
<a style="background-image: url(http://www.milkymist.org/wikilogo.png);" href="../wiki.html" title="Visit the main page [z]" accesskey="z"></a>
</div>
<script type="text/javascript"> if (window.isMSIE55) fixalpha(); </script>
<div class='generated-sidebar portlet' id='p-navigation'>
<h5>Navigation</h5>
<div class='pBody'>
<ul>
<li id="n-mainpage-description"><a href="../wiki.html">Main Page</a></li>
<li id="n-portal"><a href="http://milkymist.org/wiki/index.php?title=Milkymist_Wiki:Community_Portal" title="About the project, what you can do, where to find things">Community portal</a></li>
<li id="n-currentevents"><a href="http://milkymist.org/wiki/index.php?title=Milkymist_Wiki:Current_events" title="Find background information on current events">Current events</a></li>
<li id="n-recentchanges"><a href="http://milkymist.org/wiki/index.php?title=Special:RecentChanges" title="The list of recent changes in the wiki [r]" accesskey="r">Recent changes</a></li>
<li id="n-randompage"><a href="http://milkymist.org/wiki/index.php?title=Special:Random" title="Load a random page [x]" accesskey="x">Random page</a></li>
<li id="n-help"><a href="http://milkymist.org/wiki/index.php?title=Help:Contents" title="The place to find out">Help</a></li>
</ul>
</div>
</div>
<div id="p-search" class="portlet">
<h5><label for="searchInput">Search</label></h5>
<div id="searchBody" class="pBody">
<form action="http://milkymist.org/wiki/index.php?title=Special:Search" id="searchform"><div>
<input id="searchInput" name="search" type="text" title="Search Milkymist Wiki [f]" accesskey="f" value="" />
<input type='submit' name="go" class="searchButton" id="searchGoButton" value="Go" title="Go to a page with this exact name if exists" />&nbsp;
<input type='submit' name="fulltext" class="searchButton" id="mw-searchButton" value="Search" title="Search the pages for this text" />
</div></form>
</div>
</div>
<div class="portlet" id="p-tb">
<h5>Toolbox</h5>
<div class="pBody">
<ul>
<li id="t-whatlinkshere"><a href="http://milkymist.org/wiki/index.php?title=Special:WhatLinksHere/Milkymist_Linux_cheat_sheet" title="List of all wiki pages that link here [j]" accesskey="j">What links here</a></li>
<li id="t-recentchangeslinked"><a href="http://milkymist.org/wiki/index.php?title=Special:RecentChangesLinked/Milkymist_Linux_cheat_sheet" title="Recent changes in pages linked from this page [k]" accesskey="k">Related changes</a></li>
<li id="t-specialpages"><a href="http://milkymist.org/wiki/index.php?title=Special:SpecialPages" title="List of all special pages [q]" accesskey="q">Special pages</a></li>
<li id="t-print"><a href="http://milkymist.org/wiki/index.php?title=Milkymist_Linux_cheat_sheet&amp;printable=yes" title="Printable version of this page [p]" accesskey="p">Printable version</a></li> <li id="t-permalink"><a href="http://milkymist.org/wiki/index.php?title=Milkymist_Linux_cheat_sheet&amp;oldid=1838" title="Permanent link to this version of the page">Permanent link</a></li> </ul>
</div>
</div>
</div><!-- end of the left (by default at least) column -->
<div class="visualClear"></div>
<div id="footer">
<div id="f-poweredbyico"><a href="http://www.mediawiki.org/"><img src="skins/common/images/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki" /></a></div>
<div id="f-copyrightico"><a href="http://www.milkymist.org/wiki/index.php?title=Copyright"><img src="skins/common/images/gnu-fdl.png" alt='GNU Free Documentation License 1.3 and CC-BY-SA 3.0 Unported' /></a></div>
<ul id="f-list">
<li id="lastmod"> This page was last modified on 22 May 2012, at 14:43.</li>
<li id="viewcount">This page has been accessed 6,555 times.</li>
<li id="copyright">Content is available under <a href="http://www.milkymist.org/wiki/index.php?title=Copyright" class="external " title="http://www.milkymist.org/wiki/index.php?title=Copyright">GNU Free Documentation License 1.3 and CC-BY-SA 3.0 Unported</a>.</li>
<li id="privacy"><a href="http://milkymist.org/wiki/index.php?title=Milkymist_Wiki:Privacy_policy" title="Milkymist Wiki:Privacy policy">Privacy policy</a></li>
<li id="about"><a href="http://milkymist.org/wiki/index.php?title=Milkymist_Wiki:About" title="Milkymist Wiki:About">About Milkymist Wiki</a></li>
<li id="disclaimer"><a href="http://milkymist.org/wiki/index.php?title=Milkymist_Wiki:General_disclaimer" title="Milkymist Wiki:General disclaimer">Disclaimers</a></li>
</ul>
</div>
</div>
<script type="text/javascript">if (window.runOnloadHook) runOnloadHook();</script>
<!-- Served in 0.197 secs. --></body></html>