logo

blog

Unnamed repository; edit this file 'description' to name the repository.
commit a474f909b3270b835780d3c7d6cdf26a34580768
parent 8efefdeb2f1ea20f1741f58b14eb2b3e101b77b9
Author: Haelwenn Monnier <lanodan.delta@free.fr>
Date:   Sun, 27 Sep 2015 22:57:02 +0200

[Projects] Making an OSHW Laptop + backup pad

Diffstat:
p-MakingAnOSHWLaptop.html | 11+++++++++++
projects/Open-Source Software and Hardware Laptop.shtml | 121+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
projects/arachnophobia.shtml | 44++++++++++++++++++++++++++++++++++++++++++++
projets/Laptop au matériel et logiciels libre.shtml | 121+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 297 insertions(+), 0 deletions(-)

diff --git a/p-MakingAnOSHWLaptop.html b/p-MakingAnOSHWLaptop.html @@ -0,0 +1,11 @@ +<!doctype html> +<html lang="en"> +<head> +<title>MakingAnOSHWLaptop</title> +<meta charset="utf-8"> +<style> * { font-family: arial, sans-serif; +font-size: 13px; +line-height: 17px; }ul.indent { list-style-type: none; }ol { list-style-type: none; padding-left:0;}body > ol { counter-reset: first second third fourth fifth sixth seventh eigth ninth tenth eleventh twelth thirteenth fourteenth fifteenth sixteenth; }ol > li:before {content: counter(first) ". " ;counter-increment: first;}ol > ol > li:before {content: counter(first) "." counter(second) ". " ;counter-increment: second;}ol > ol > ol > li:before {content: counter(first) "." counter(second) "." counter(third) ". ";counter-increment: third;}ol > ol > ol > ol > li:before {content: counter(first) "." counter(second) "." counter(third) "." counter(fourth) ". ";counter-increment: fourth;}ol > ol > ol > ol > ol > li:before {content: counter(first) "." counter(second) "." counter(third) "." counter(fourth) "." counter(fifth) ". ";counter-increment: fifth;}ol > ol > ol > ol > ol > ol > li:before {content: counter(first) "." counter(second) "." counter(third) "." counter(fourth) "." counter(fifth) "." counter(sixth) ". ";counter-increment: sixth;}ol > ol > ol > ol > ol > ol > ol > li:before {content: counter(first) "." counter(second) "." counter(third) "." counter(fourth) "." counter(fifth) "." counter(sixth) "." counter(seventh) ". ";counter-increment: seventh;}ol > ol > ol > ol > ol > ol > ol > ol > li:before {content: counter(first) "." counter(second) "." counter(third) "." counter(fourth) "." counter(fifth) "." counter(sixth) "." counter(seventh) "." counter(eigth) ". ";counter-increment: eigth;}ol > ol > ol > ol > ol > ol > ol > ol > ol > li:before {content: counter(first) "." counter(second) "." counter(third) "." counter(fourth) "." counter(fifth) "." counter(sixth) "." counter(seventh) "." counter(eigth) "." counter(ninth) ". ";counter-increment: ninth;}ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > li:before {content: counter(first) "." counter(second) "." counter(third) "." counter(fourth) "." counter(fifth) "." counter(sixth) "." counter(seventh) "." counter(eigth) "." counter(ninth) "." counter(tenth) ". ";counter-increment: tenth;}ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > li:before {content: counter(first) "." counter(second) "." counter(third) "." counter(fourth) "." counter(fifth) "." counter(sixth) "." counter(seventh) "." counter(eigth) "." counter(ninth) "." counter(tenth) "." counter(eleventh) ". ";counter-increment: eleventh;}ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > li:before {content: counter(first) "." counter(second) "." counter(third) "." counter(fourth) "." counter(fifth) "." counter(sixth) "." counter(seventh) "." counter(eigth) "." counter(ninth) "." counter(tenth) "." counter(eleventh) "." counter(twelth) ". ";counter-increment: twelth;}ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > li:before {content: counter(first) "." counter(second) "." counter(third) "." counter(fourth) "." counter(fifth) "." counter(sixth) "." counter(seventh) "." counter(eigth) "." counter(ninth) "." counter(tenth) "." counter(eleventh) "." counter(twelth) "." counter(thirteenth) ". ";counter-increment: thirteenth;}ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > li:before {content: counter(first) "." counter(second) "." counter(third) "." counter(fourth) "." counter(fifth) "." counter(sixth) "." counter(seventh) "." counter(eigth) "." counter(ninth) "." counter(tenth) "." counter(eleventh) "." counter(twelth) "." counter(thirteenth) "." counter(fourteenth) ". ";counter-increment: fourteenth;}ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > li:before {content: counter(first) "." counter(second) "." counter(third) "." counter(fourth) "." counter(fifth) "." counter(sixth) "." counter(seventh) "." counter(eigth) "." counter(ninth) "." counter(tenth) "." counter(eleventh) "." counter(twelth) "." counter(thirteenth) "." counter(fourteenth) "." counter(fifteenth) ". ";counter-increment: fifteenth;}ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > li:before {content: counter(first) "." counter(second) "." counter(third) "." counter(fourth) "." counter(fifth) "." counter(sixth) "." counter(seventh) "." counter(eigth) "." counter(ninth) "." counter(tenth) "." counter(eleventh) "." counter(twelth) "." counter(thirteenth) "." counter(fourteenth) "." counter(fifteenth) "." counter(sixthteenth) ". ";counter-increment: sixthteenth;}ol{ text-indent: 0px; }ol > ol{ text-indent: 10px; }ol > ol > ol{ text-indent: 20px; }ol > ol > ol > ol{ text-indent: 30px; }ol > ol > ol > ol > ol{ text-indent: 40px; }ol > ol > ol > ol > ol > ol{ text-indent: 50px; }ol > ol > ol > ol > ol > ol > ol{ text-indent: 60px; }ol > ol > ol > ol > ol > ol > ol > ol{ text-indent: 70px; }ol > ol > ol > ol > ol > ol > ol > ol > ol{ text-indent: 80px; }ol > ol > ol > ol > ol > ol > ol > ol > ol > ol{ text-indent: 90px; }ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol{ text-indent: 100px; }ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol{ text-indent: 110px; }ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol { text-indent: 120px; }ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol{ text-indent: 130px; }ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol{ text-indent: 140px; }ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol > ol{ text-indent: 150px; }sub{vertical-align:sub;font-size:smaller}sub{vertical-align:sup;font-size:smaller}h1{font-size: 2.0em;line-height: 120%;} h2{font-size: 1.5em;line-height: 120%;} h3{font-size: 1.17em;line-height: 120%;} h4{line-height: 120%;} h5{font-size: 0.83em;line-height: 120%;} h6{font-size: 0.75em;line-height: 120%;} code{font-family: monospace;}</style> +</head> +<body><strong><u>Warning</u></strong>: Being fully Open-Hardware is a pain, even more than fully Open-Source&#x2F;Free Software, imagine that I can&#x27;t use USB-stick because they aren&#8217;t free&#x2F;open xD<br>(I&#x27;m not like what RMS wants free-software guys to be, which I&#x27;m not if it&#x27;s open well I can at least verify if it&#x27;s not spying me or something and having a bit of blobs outside the main compoments is okay for me). Oh and stallman.org, fsf.org and gnu.org are non-free so duh open wins.<br><strong>TL;DR</strong> be extremist on open(<strong>then</strong> free) hardware, software <strong>and</strong> mind.<br><br> <h1>Software</h1> <h2>Bugs&#x2F;issues</h2><ul class="bullet"><li>HDMI stops send signals after some time and can&#8217;t reactivate it (maybe my screen is stupid)</li></ul><br> <h2>Links</h2> <h3>Sources</h3><ul class="bullet"><li>U-Boot: <a href="http&#x3a;&#x2F;&#x2F;git&#x2e;denx&#x2e;de&#x2F;u&#x2d;boot&#x2e;git">http:&#x2F;&#x2F;git.denx.de&#x2F;u-boot.git</a></li><ul class="bullet"><li>sunxi: <a href="https&#x3a;&#x2F;&#x2F;github&#x2e;com&#x2F;linux&#x2d;sunxi&#x2F;u&#x2d;boot&#x2d;sunxi&#x2e;git">https:&#x2F;&#x2F;github.com&#x2F;linux-sunxi&#x2F;u-boot-sunxi.git</a></li></ul><li>Kernel:</li><ul class="bullet"><li>sunxi: <a href="https&#x3a;&#x2F;&#x2F;github&#x2e;com&#x2F;linux&#x2d;sunxi&#x2F;linux&#x2d;sunxi&#x2e;git">https:&#x2F;&#x2F;github.com&#x2F;linux-sunxi&#x2F;linux-sunxi.git</a></li><li>4.1 stable: <a href="https&#x3a;&#x2F;&#x2F;git&#x2e;kernel&#x2e;org&#x2F;cgit&#x2F;linux&#x2F;kernel&#x2F;git&#x2F;stable&#x2F;linux&#x2d;stable&#x2e;git&#x2F;log&#x2F;&#x3f;h&#x3d;linux&#x2d;4&#x2e;1&#x2e;y">https:&#x2F;&#x2F;git.kernel.org&#x2F;cgit&#x2F;linux&#x2F;kernel&#x2F;git&#x2F;stable&#x2F;linux-stable.git&#x2F;log&#x2F;?h=linux-4.1.y</a></li><li>mainline: <a href="https&#x3a;&#x2F;&#x2F;git&#x2e;kernel&#x2e;org&#x2F;cgit&#x2F;linux&#x2F;kernel&#x2F;git&#x2F;stable&#x2F;linux&#x2d;stable&#x2e;git">https:&#x2F;&#x2F;git.kernel.org&#x2F;cgit&#x2F;linux&#x2F;kernel&#x2F;git&#x2F;stable&#x2F;linux-stable.git</a></li></ul></ul><br> <h3>Documentation</h3><ul class="bullet"><li>Sata(to get more performance): <a href="https&#x3a;&#x2F;&#x2F;linux&#x2d;sunxi&#x2e;org&#x2F;SATA">https:&#x2F;&#x2F;linux-sunxi.org&#x2F;SATA</a></li></ul><br> <h4>Olimex</h4><ul class="bullet"><li>Build instruction, scripts and more: <a href="https&#x3a;&#x2F;&#x2F;github&#x2e;com&#x2F;OLIMEX&#x2F;OLINUXINO&#x2F;tree&#x2F;master&#x2F;SOFTWARE&#x2F;A20&#x2F;A20&#x2d;build">https:&#x2F;&#x2F;github.com&#x2F;OLIMEX&#x2F;OLINUXINO&#x2F;tree&#x2F;master&#x2F;SOFTWARE&#x2F;A20&#x2F;A20-build</a></li><li>C program for MOD-RTC: <a href="https&#x3a;&#x2F;&#x2F;github&#x2e;com&#x2F;OLIMEX&#x2F;OLINUXINO&#x2F;tree&#x2F;master&#x2F;SOFTWARE&#x2F;A20&#x2F;A20&#x2d;OLinuXino&#x2d;Micro&#x25;20with&#x25;20MOD&#x2d;RTC">https:&#x2F;&#x2F;github.com&#x2F;OLIMEX&#x2F;OLINUXINO&#x2F;tree&#x2F;master&#x2F;SOFTWARE&#x2F;A20&#x2F;A20-OLinuXino-Micro%20with%20MOD-RTC</a></li></ul><br> <h4>Tizen</h4><ul class="bullet"><li><a href="https&#x3a;&#x2F;&#x2F;wiki&#x2e;tizen&#x2e;org&#x2F;wiki&#x2F;Sunxi">https:&#x2F;&#x2F;wiki.tizen.org&#x2F;wiki&#x2F;Sunxi</a></li></ul><br> <h2>Todo</h2><ul class="bullet"><li>hack the EEPROM used for mac storage (signing the NAND could be usefull).</li><li>Build a working linux(gentoo for example)</li></ul><br> <h2>Building</h2> <h3>You need</h3><ul class="bullet"><li>Brain, with linux knowledge (Your machine probably doesn&#8217;t have one, use your own)</li><li>An A20-OLinuXino (or other board with an allwinner CPU, I use LIME2-4G)</li><li>(recommended) Serial&#x2F;UART adapter</li></ul><br> <h3>MOD-RTC</h3> <code>$ mkdir MOD-RTC</code> <code>$ wget https:&#x2F;&#x2F;github.com&#x2F;OLIMEX&#x2F;OLINUXINO&#x2F;raw&#x2F;master&#x2F;SOFTWARE&#x2F;A20&#x2F;A20-OLinuXino-Micro%20with%20MOD-RTC&#x2F;RTC.c \</code><a href="https&#x3a;&#x2F;&#x2F;github&#x2e;com&#x2F;OLIMEX&#x2F;OLINUXINO&#x2F;raw&#x2F;master&#x2F;SOFTWARE&#x2F;A20&#x2F;A20&#x2d;OLinuXino&#x2d;Micro&#x25;20with&#x25;20MOD&#x2d;RTC&#x2F;i2c&#x2e;c">https:&#x2F;&#x2F;github.com&#x2F;OLIMEX&#x2F;OLINUXINO&#x2F;raw&#x2F;master&#x2F;SOFTWARE&#x2F;A20&#x2F;A20-OLinuXino-Micro%20with%20MOD-RTC&#x2F;i2c.c</a> \<br><a href="https&#x3a;&#x2F;&#x2F;github&#x2e;com&#x2F;OLIMEX&#x2F;OLINUXINO&#x2F;raw&#x2F;master&#x2F;SOFTWARE&#x2F;A20&#x2F;A20&#x2d;OLinuXino&#x2d;Micro&#x25;20with&#x25;20MOD&#x2d;RTC&#x2F;i2c&#x2e;h">https:&#x2F;&#x2F;github.com&#x2F;OLIMEX&#x2F;OLINUXINO&#x2F;raw&#x2F;master&#x2F;SOFTWARE&#x2F;A20&#x2F;A20-OLinuXino-Micro%20with%20MOD-RTC&#x2F;i2c.h</a><br> <code>$ cc *.c</code> <code># cp a.out &#x2F;bin&#x2F;rtc_olimex</code>To add synchro at boot (multiuser):<br><ul class="indent"><li># echo &#x27;&#x2F;bin&#x2F;rtc_olimex -s 2&#x27; &gt;&gt; &#x2F;etc&#x2F;rc.local</li></ul>NB: Maybe I&#x27;ll modify the code and just put it in &#x2F;etc&#x2F;init.d &#8594;apparently there is config available in gentoo(sorry that distro rocks for hacking ;3) for it<br><br> <h2>sunxi u-boot &amp; kernel</h2>I use gentoo so I only have to make u-boot, kernel, put armv7a &#x2F;armhf stage3. I mainly follow olimex A20-build(found upper).<br> <code>$ export ARCH=arm</code> <code>$ export CROSS_COMPILE=arm-linux-gnueabihf-</code> <h3>u-boot</h3> <code>$ git clone -b sunxi https:&#x2F;&#x2F;github.com&#x2F;linux-sunxi&#x2F;u-boot-sunxi.git</code> <code>$ cd u-boot-sunxi&#x2F;</code>If you have a lime2 board like me:<br><ul class="indent"><li>$ make A20-OLinuXino_Lime2_config</li><li><br></li></ul> <code>$ make</code>(Add -j6 if you have a 4 cores, -j3 if dual)<br>note: u-boot.bin for flash is u-boot-sunxi-with-spl.bin<br> <h3>kernel</h3> <code>$ export INSTALL_MOD_PATH=out</code> <code>$ git clone https:&#x2F;&#x2F;github.com&#x2F;linux-sunxi&#x2F;linux-sunxi</code> <code>$ cd linux-sunxi&#x2F;</code> <code>$ wget https:&#x2F;&#x2F;raw.githubusercontent.com&#x2F;OLIMEX&#x2F;OLINUXINO&#x2F;master&#x2F;SOFTWARE&#x2F;A20&#x2F;A20-build&#x2F;spi-sun7i.c -O drivers&#x2F;spi&#x2F;spi-sun7i.c</code> <code>$ wget https:&#x2F;&#x2F;raw.githubusercontent.com&#x2F;OLIMEX&#x2F;OLINUXINO&#x2F;master&#x2F;SOFTWARE&#x2F;A20&#x2F;A20-build&#x2F;SPI.patch</code> <code>$ patch -p0 &lt; SPI.patch</code> <code>$ wget https:&#x2F;&#x2F;raw.githubusercontent.com&#x2F;OLIMEX&#x2F;OLINUXINO&#x2F;master&#x2F;SOFTWARE&#x2F;A20&#x2F;A20-build&#x2F;a20_olimex_defconfig -O arch&#x2F;arm&#x2F;configs&#x2F;a20_olimex_defconfig</code> <code>$ make a20_olimex_defconfig</code>If you want to configure it more:<br>&nbsp;&nbsp;&nbsp; $ make menuconfig<br>&nbsp;&nbsp;&nbsp;&nbsp;<br> <code>$ make uImage modules</code> <code>$ make modules_install</code>(use make -j6 if you have a 4 cores, make -j3 if dual)<br>&#8220;The uImage file is located in arch&#x2F;arm&#x2F;boot&#x2F;<br>The kernel modules are located in out&#x2F;lib&#x2F;modules&#x2F;$kernel_version&#8221; &#8212; olimex<br><br> <h2>Mainline&#x2F;stable u-boot &amp; kernel</h2>&#8220;(this needs to be written)&#8221; &#8212; netstat&#8217;s man page<br><br> <h2>gentoo rootfs</h2> <h3>Partitions</h3> <code>Insert your storage device and use “dmesg” or “lsblk” to have the &#x2F;dev&#x2F;sd* or &#x2F;dev&#x2F;mmcblk* it will be noted as &#x2F;dev&#x2F;sdX and enter as \n</code> <code># fdisk &#x2F;dev&#x2F;sdX</code>If you have partitions on it, you can delete them with &#8220;d&#8221; and then partition number.<br>Create the &#x2F;boot (I recommend using 16M or greater): n\n p\n 1\n \n +16M\n<br>Put the bootable flag(apparently not mandatory): a<br>Create the &#x2F; (I generaly use everything or about 4~&gt;16G if I got a big device): n\n p\n 2\n \n \n<br>Use p to print partitions for verifications and then w to write<br> <code># mkfs.vfat &#x2F;dev&#x2F;sdX1</code>(gentoo package for it : dosfstools)<br> <code># mkfs.ext4 &#x2F;dev&#x2F;sdX2</code> <h3>Time to flash !</h3>NB: use sdX not sdX1 or sdX2 as it&#x27;s before partions (which is probably why there is a 2048 space before them)<br> <code># dd if=u-boot.bin of=&#x2F;dev&#x2F;sdX bs=1024 seek=8</code> <code># mkdir &#x2F;mnt&#x2F;sd</code> <code># mount &#x2F;dev&#x2F;sdX2 &#x2F;mnt&#x2F;sd</code>Put basic rootfs(&#x2F;mnt&#x2F;sd&#x2F;boot is needed) I take gentoo&#8217;s stage3 for armv7hf<br> <code># mount &#x2F;dev&#x2F;sdX1 &#x2F;mnt&#x2F;sd&#x2F;boot</code> <code># cp linux-sunxi&#x2F;arch&#x2F;arm&#x2F;boot&#x2F;uImage &#x2F;mnt&#x2F;sd&#x2F;boot&#x2F;</code>(in &#x2F;mnt&#x2F;sd&#x2F;boot)<br> <code>If you have LIME2:</code><ul class="indent"><li># wget <a href="https&#x3a;&#x2F;&#x2F;github&#x2e;com&#x2F;OLIMEX&#x2F;OLINUXINO&#x2F;raw&#x2F;master&#x2F;SOFTWARE&#x2F;A20&#x2F;A20&#x2d;build&#x2F;scripts&#x5f;a20&#x5f;Lime2&#x5f;34&#x5f;90&#x5f;camera&#x5f;rel&#x5f;2&#x2F;script&#x2e;bin">https:&#x2F;&#x2F;github.com&#x2F;OLIMEX&#x2F;OLINUXINO&#x2F;raw&#x2F;master&#x2F;SOFTWARE&#x2F;A20&#x2F;A20-build&#x2F;scripts_a20_Lime2_34_90_camera_rel_2&#x2F;script.bin</a> (so not really from scratch)</li><li><br></li></ul>(in linux-sunxi git repository)<br> <code># rm -rf &#x2F;mnt&#x2F;sd&#x2F;lib&#x2F;modules</code> <code># cp -rfv out&#x2F;lib&#x2F;modules &#x2F;mnt&#x2F;sd&#x2F;lib&#x2F;</code> <code># cp -rfv out&#x2F;lib&#x2F;firmware &#x2F;mnt&#x2F;sd&#x2F;lib&#x2F;</code> <code># sync</code> <code># umount &#x2F;mnt&#x2F;sd&#x2F;boot</code> <code># umount &#x2F;mnt&#x2F;sd</code>&#8230; And strangely it doesn&#8217;t boot (w&#x2F; sunxi u-boot &amp; kernel) :&#8217;( Here is the last lines I see in my terminal(Serial)<br> <code>&lt;6&gt;Waiting for root device &#x2F;dev&#x2F;mmcblk0p2...</code> <code>[ 4.571115] Waiting for root device &#x2F;dev&#x2F;mmcblk0p2...</code> <code>&lt;6&gt;[mmc-msg] sdc0 se ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B</code> <code>[ 4.586967] [mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timhng LEGACY(SDR12) dt B</code> <code>&lt;3&gt;[mmc-err] smc 0 err, cmd 5, RTO</code> <code>[ 4.60715] [mmc-err] smc 0 err, cmd 5, RTO</code> <code>&lt;3&gt;[mmc-err] smc 0 err, cmd 5, RTO</code> <code>[ 4.610023] [mmc-err] smc 0 err, cmd 5, RTO</code> <code>[ 4.618331] [mmc-err] s[, * ɱ cmd 5, RTO</code> <code>&lt;3&gt;[mmc-err] In data read operation</code> <code>[ 5.102871] [mmc-err] In data read operation</code> <code>&lt;6&gt;[mmc-msg] found data error, need to send stop command</code> <code>[ 5.112183] [mmc-msg] found data error, need to send stop command</code> <code>&lt;3&gt;[mmc-err] sdc 0 send stop command failed</code> <code>[ 5.122976] [mmc-err] sdc 0 send stop command failed</code> <code>&lt;6&gt;[mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B</code> <code>[ 5.141301] [mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B</code> <code>&lt;6&gt;mc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B</code> <code>[ 5.161093] [mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B</code> <code>&lt;3&gt;[mmc-err] smc 0 err, cmd 41, RTO</code> <code>[ 5.175919] [mmc-err] smc 0 err, cmd 41, RTO</code> <code>&lt;3&gt;[mmc-err] smc 0 err, cmd 6, RCE</code> <code>[ 5.202707] [mmc-err] smc 0 err, cmd 6, RCE</code> <code>&lt;3&gt;[mmc-err] smc 0, nothing to complete, ri 0000002c, mi 00000000</code> <code>[ 5.212789] [mmc-err] smc 0, nothing to complete, ri 0000002c, mi 00000000</code> <code>&lt;3&gt;[mmc-err] In data read operation</code> <code>[ 5.222874] [mmc-err] In data read operation</code> <code>&lt;6&gt;[mmc-msg] found data error, need to send stop command</code> <code>[ 5.232173] [m[ k u data error, need to send stop command</code> <code>&lt;3&gt;[mmc-err] sdc 0 send stop command failed</code> <code>[ 5.242956] [mmc-err] sdc 0 send stop command failed</code> <code>&lt;3&gt;mmc0: mmc_sd_init_card() failure (err = -110)</code> <code>[ 5.252279] mmc0: mmc_sd_init_card() failure (err = -110)</code> <code>&lt;3&gt;mmc0: error -110 whilst initialising SD card</code> <code>[ 5.261947] mmc0: error -110 whilst initialising SD card</code> <code>&lt;6&gt;[mmc-msg] sdc0 set ios: clk 400000Hz bm OD pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B</code> <code>[ 5.275626] [mmc-msg] sdc0 set ios: clk 400000Hz bm OD pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B</code> <code>&lt;4&gt;mmc0: card claims to support voltages below the defined range. These will be ignored.</code> <code>[ 5.292843] mmc0: card claims to support voltages below the defined range. These will be ignored.</code> <code>&lt;4&gt;mmc0: host doesn&#x27;t support card&#x27;s voltages</code> <code>[ 5.306334] mmc0: host doesn&#x27;t support card&#x27;s voltages</code> <code>&lt;3&gt;mmc0: error -22 whilst initialising MMC card</code> <code>[ 5.315723] mmc0: error -22 whilst initialising MMC card</code> <code>&lt;6&gt;[mmc-msg] sdc0 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timing LEGACY(SDR12) dt B</code> <code>[ 5.329032] [mmc-msg] sdc0 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timing LEGACY(SDR12) dt B</code> <code>&lt;6&gt;[mmc-msg] sdc0 power off</code> <code>[ 5.340608] [mmc-msg] sdc0 power off</code> <code>&lt;6&gt;[mmc-msg] sdc0 power off</code><br> <h1>Hardware</h1> <h2>Olimex</h2><ul class="bullet"><li>A20-OLinuXino-LIME2-4G</li><li>A20-OLinuXino-LIME2-UEXT</li><li>SATA-CABLE-SET (data cable is ~1 cm too short, used an old one)</li><li>MOD-RTC</li><li>MOD-SDMMC (provides a CA-IDC-10-15CM)</li><li>PWR-CABLE</li><li>CABLE-40-40-10CM</li><li>CA-IDC-10-15CM (used for UEXT)</li><li>BA-LIPO-3.7V&#x2F;6600mAh-W-CA [&#215;2] one last about ~5h with everything at full (mainly compilation stuff) and my power-hungry HDD</li><li>USB-SERIAL-F (very usefull for u-boot and having a shell)</li><li>UEXTx5 (not in use for now)</li></ul>beeing bought&nbsp; :<br><ul class="bullet"><li>LCD-OLinuXino-15.6FHD (beeing bought)</li><li>CABLE-40-40-10CM</li><li>JW-200x10-FM</li></ul> <h2>Storage</h2><ul class="bullet"><li>microSD(non-free, mainly the controler) for booting test OS or dirty OS(android)</li><li>NAND for &#x2F;boot and debian rootfs used as recovery</li><li>power-hungry HDD(non-free)</li></ul><br>I&#8217;m considering using a MMC&#x2F;eMMC as a replacement to my HDD (MMC[1] is apparently free&#x2F;open, eMMC apparently have DRM like *SD)<br>*SD are apparently non-open&#x2F;free[2] (and see bunnie&#8217;s work on microSD[3])<br>links:<br><ol class="number"><li><a href="https&#x3a;&#x2F;&#x2F;en&#x2e;wikipedia&#x2e;org&#x2F;wiki&#x2F;MultiMediaCard">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;MultiMediaCard</a></li><li><a href="https&#x3a;&#x2F;&#x2F;en&#x2e;wikipedia&#x2e;org&#x2F;wiki&#x2F;Secure&#x5f;Digital&#x23;Openness&#x5f;of&#x5f;specification">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Secure_Digital#Openness_of_specification</a></li><li><a href="http&#x3a;&#x2F;&#x2F;www&#x2e;bunniestudios&#x2e;com&#x2F;blog&#x2F;&#x3f;p&#x3d;3554">http:&#x2F;&#x2F;www.bunniestudios.com&#x2F;blog&#x2F;?p=3554</a> &#8212; On Hacking MicroSD Cards</li></ol>Seems like having an open storage is impossible but I&#8217;m still looking for it. ;3<br><br>Pinout VGA (if you want to reuse a old connector from dead PC) <a href="https&#x3a;&#x2F;&#x2F;en&#x2e;wikipedia&#x2e;org&#x2F;wiki&#x2F;VGA&#x5f;connector">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;VGA_connector</a><br><br> <h1>MISC </h1>GnuSocial updates(RSS+atom is available):&nbsp; <a href="https&#x3a;&#x2F;&#x2F;loadaverage&#x2e;org&#x2F;tag&#x2F;makinganoshwlaptop">https:&#x2F;&#x2F;loadaverage.org&#x2F;tag&#x2F;makinganoshwlaptop</a><br><br><a href="https&#x3a;&#x2F;&#x2F;dockr&#x2e;eurogiciel&#x2e;fr&#x2F;blogs&#x2F;embedded&#x2F;tizen&#x2d;arm&#x2d;images&#x2d;to&#x2d;renesas&#x2F;">https:&#x2F;&#x2F;dockr.eurogiciel.fr&#x2F;blogs&#x2F;embedded&#x2F;tizen-arm-images-to-renesas&#x2F;</a><br> <code></code> <code>root@micro:&#x2F;boot# mkimage -C none -A arm -T script -d &#x2F;boot&#x2F;boot.cmd &#x2F;boot&#x2F;boot.scr</code><br> <h2>Big Thanks</h2>To Olimex Ltd. &amp; #olimex&#x2F;freenode, RzR, leon-anavi, javier__, #Tizen&#x2F;freenode, novena, debian, gentoo, linux, u-boot, wikipedia, and possibly more ;3<br></body> +</html> diff --git a/projects/Open-Source Software and Hardware Laptop.shtml b/projects/Open-Source Software and Hardware Laptop.shtml @@ -0,0 +1,121 @@ +<!DOCTYPE html> +<html> + <head> +<!--#include file="templates/head.shtml" --> + <title>Open-Source Software and Hardware Laptop — lanodan’s cyber-home</title> + </head> + <body> +<!--#include file="templates/en/nav.shtml" --> + <main> + <h1>Open-Source Software and Hardware Laptop</h1> + <p>I was looking at the <a href="http://www.kosagi.com/w/index.php?title=Novena_Main_Page">novena</a> (OSHW too), little bit too powerful for me now (maybe nice later). Also kind of too much exotic looking(I want to use my laptop everywhere). Some people have come with olimex stuff at the hackerspace(a LIME/LIME2 I think). And when my recycled laptop from 2003/2005 became really slow(469 MB of RAM, nearly no 3D video at least FullHD strangely worked). I started making plans on doing my own laptop with parts from Olimex(I can’t thanks them enough ;3). I ordered some parts. Seen a laptop project on olimex’s blog</p> + <h2 id="parts">Parts</h2> + <p>Here is the parts I’ve used :</p> + <ul> + <li>Laptop case(used another one’s case)</li> + <li>OLIMEX</ul> + <li>A20-OLinuXino-LIME2-4G</li> + <li>A20-OLinuXino-LIME2-UEXT</li> + <li>SATA-CABLE-SET (data is too short of few cm for me, used spare one)</li> + <li>MOD-RTC</li> + <li>MOD-SDMMC (provides a CA-IDC-10-15CM)</li> + <li>PWR-CABLE(used it for making a USB power cable)</li> + <li>CABLE-40-40-10CM [×2](A20-OLinuXino-LIME2-UEXT &amp; LCD-OLinuXino-15.6FHD)</li> + <li>CA-IDC-10-15CM (used for MOD-RTC)</li> + <li>BA-LIPO-3.7V/6600mAh-W-CA [×2] one last about ~5h with everything at full (mainly compilation stuff) and my power-hungry HDD</li> + <li>USB-SERIAL-F (very usefull for u-boot and having a shell)</li> + <li>UEXTx5 (not in use for now)</li> + </ul></li> + <li>old VGA connector(desoldered one from bulkeps, H_SYNC and V_SYNC have to be taken from LCD_CON or hacked)</li> + </ul> + <h2 id="building">Building</h2> + <p><span class="warn">⚠ This doesn’t works ⚠</span> I take a working one from <a href="http://www.armbian.com/olimex-lime-2/">armbian images</a>, anyway, you need:</p> + <ul> + <li>Brain, with linux knowledge (Your machine probably doesn’t have one, use your own)</li> + <li>An A20-OLinuXino (or other board with an allwinner CPU, I use LIME2-4G)</li> + <li>(recommended) Serial/UART adapter</li> + </ul> + <h3>sunxi u-boot & kernel</h3> + <p>I use gentoo so I only have to make u-boot, kernel, put armv7a /armhf stage3. I mainly follow olimex A20-build(found upper).</p> + <pre><code>$ export ARCH=arm +$ export CROSS_COMPILE=arm-linux-gnueabihf-</code></pre> + <h4>u-boot</h4> + <code>$ git clone -b sunxi https://github.com/linux-sunxi/u-boot-sunxi.git ; cd u-boot-sunxi</code> + <p>If you have a LIME2 board : <code>$ make A20-OLinuXino_Lime2_config</code> otherwise type <code>$ make help</code> and hope to find your board in a _config target.</p> + <code>$ make</code> Tip: add <code>-j6</code> if you have 4 cores, <code>-j3</code> if dual. Note: u-boot.bin for flash is u-boot-sunxi-with-spl.bin + <h4>Kernel</h4> + <pre><code>$ export INSTALL_MOD_PATH=out +$ git clone https://github.com/linux-sunxi/linux-sunxi ; cd linux-sunxi +$ wget https://raw.githubusercontent.com/OLIMEX/OLINUXINO/master/SOFTWARE/A20/A20-build/spi-sun7i.c -O drivers/spi/spi-sun7i.c +$ wget https://raw.githubusercontent.com/OLIMEX/OLINUXINO/master/SOFTWARE/A20/A20-build/SPI.patch +$ patch -p0 < SPI.patch +$ wget https://raw.githubusercontent.com/OLIMEX/OLINUXINO/master/SOFTWARE/A20/A20-build/a20_olimex_defconfig -O arch/arm/configs/a20_olimex_defconfig +$ make a20_olimex_defconfig +</code></pre> + <p>If you want to configure it more: <code>$ make menuconfig</code></p> + <pre><code>$ make uImage modules +$ make modules_install</code></pre> + <quote>“The uImage file is located in arch/arm/boot/<br\> + The kernel modules are located in out/lib/modules/$kernel_version”</quote> — <cite>Olimex</cite> + <h3>Mainline u-boot & kernel</h3> + <quote>“(this needs to be written)”</quote> — <cite>netstat(8)</cite> + <h3>Gentoo rootfs</h3> + <h4>Partitions</h4> + <p>Insert your storage device and use <code>dmesg</code> or <code>lsblk</code> to have the <code>/dev/sd*</code> or <code>/dev/mmcblk*</code> it will be noted as <code>/dev/sd×</code> and enter as ⮠(you may need to fix your font) for one-liners</p> + <code># fdisk /dev/sd×</code></pre> + <ol> + <li>If you have partitions on it, you can delete them with <code>d</code> and then partition number</li> + <li>Create the /boot (I recommend using 16M or greater): <code>n⮠p⮠1⮠⮠+16M⮠</code></li> + <li>Put the bootable flag(apparently not mandatory): <code>a</code></li> + <li>Create the / (I generaly use everything or about 4~&gt;16G if I got a big device): <code>n⮠p⮠2⮠⮠⮠</code></li> + <li>Verify everything is okay with <code>p</code></li> + <li><code>w</code> to write.</li> + </ol> + <code># mkfs.vfat /dev/sd×1</code> Gentoo package for it <code>dosfstools</code> + <code># mkfs.ext4 /dev/sd×2</code> + <h4>Time to flash !</h4> + <code>dd if=u-boot.bin of=/dev/sd× bs=1024 seek=8</code><p>Note: use sd× not sd×1 or sd×2 as it’s before then (which is probably why there is a 2048 space before them)</p> + <pre><code># mkdir /mnt/sd +# mount /dev/sd×2 /mnt/sd</code></pre> + <p>Put basic rootfs(/mnt/sd/boot is needed) I take gentoo’s stage3 for armv7hf</p> + <pre><code># mount /dev/sdX1 /mnt/sd/boot +# cd /mnt/sd/boot +# cp linux-sunxi/arch/arm/boot/uImage . +# wget https://github.com/OLIMEX/OLINUXINO/raw/master/SOFTWARE/A20/A20-build/scripts_a20_Lime2_34_90_camera_rel_2/script.bin +# cd ~/linux-sunxi +# rm -fr /mnt/sd/lib/modules +# cp -rfv out/lib/modules /mnt/sd/lib/ +# cp -rfv out/lib/firmware /mnt/sd/lib/ +# sync +# umount /mnt/sd/boot +# umount /mnt/sd</code></pre> + <section id="External_links"> + <h2>External links</h2> + <ul> + <li><a href="https://mensuel.framapad.org/p/MakingAnOSHWLaptop">Etherpad</a> (<a href="/p-MakingAnOSHWLaptop">backup</a>)</li> + <li>GnuSocial :<a href="https://loadaverage.org/tag/MakingAnOSHWLaptop">#MakingAnOSHWLaptop</a></li> + <li>Sources<ul> + <li>U-boot<ul> + <li><a href="//git.denx.de/u-boot.git">Mainline</li> + <li><a href="https://github.com/linux-sunxi/u-boot-sunxi.git">Sunxi</a></li> + </ul></li> + <li>Kernel<ul> + <li><a href="https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git">Mainline</a></li> + <li><a href="https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/log/?h=linux-4.1.y">4.1 stable</a></li> + <li><a href="https://github.com/linux-sunxi/linux-sunxi.git">Sunxi</a></li> + </ul></li> + </ul></li> + <li>Documentation<ul> + <li><a href="https://linux-sunxi.org/SATA">https://linux-sunxi.org/SATA</a> (to get more performance)</li> + <li>Olimex<ul> + <li><a href="https://github.com/OLIMEX/OLINUXINO/tree/master/SOFTWARE/A20/A20-build">Build instruction, scripts and more</a></li> + <li><a href="https://github.com/OLIMEX/OLINUXINO/tree/master/SOFTWARE/A20/A20-OLinuXino-Micro%20with%20MOD-RTC">C program for MOD-RTC</a></li> + </ul></li> + <li><a href="https://wiki.tizen.org/wiki/Sunxi">Tizen</a></li> + </ul></li> + </ul> + </section> + </main> +<!--#include file="templates/en/footer.html" --> + </body> +</html> diff --git a/projects/arachnophobia.shtml b/projects/arachnophobia.shtml @@ -0,0 +1,44 @@ +<!DOCTYPE html> +<html lang="en"> + <head> +<!--#include file="templates/head.shtml" --> + <title>arachnophobia — lanodan’s cyber-home</title> + </head> + <body> +<!--#include file="templates/en/nav.shtml" --> + <main> + <h1>arachnophobia</h1> + <p>arachnophobia is a project(initially a web browser, now a midori extension) I started because Mozilla Firefox lacks privacy, is bloated, unconfigurable-ness, …<br\> I wanted a browser which have theses features:</p> + <table> + <thead> + <tr><th>Feature</th><th>Browser(extensions)</th></tr> + </thead> + <tbody> + <tr><td>HTML5/CSS3/JS (WebGL, canvas, audio/video are not mandatory)</td><td>Most except Dillo, netsurf, links2</td></tr> + <tr><td>third-party request per-domain</td><td>Firefox(µMatrix, request policy)</td></tr> + <tr><td>Javascript per-source-domain</td><td>Firefox(NoScript), dwb(noscript, uzbl, Midori(NoJS)</td></tr> + <tr><td>request per-location</td><td>Firefox(µBlock/AdBlock), dwb(adblock), midori(adblock)</td></tr> + <tr><td>Cookies, per-domain and per-name</td><td>uzbl</td></tr> + <tr><td>Verbosity/Details/Control on SSL/TLS, DANE(DNSSEC, TLSA), HPKP</td><td>Midori, Firefox(Camino)</td></tr> + <tr><td>tabs(I can cheat w/ i3 but I use easily +100)</td><td>Most except links2</td></tr> + <tr><td>Be open-source/free(for privacy/security reasons)</td><td>Most except Chrome, Opera, Vivaldi, … and Firefox is non-free</td></tr> + </tbody> + </table> + <p>And doesn’t have thoses anti-features:</p> + <table> + <thead> + <tr><th>Feature</th><th>Browser(extensions)</th></tr> + </thead> + <tbody> + <tr><td>Leaks data, transmit without consent</td><td>firefox, chrome, …</td></tr> + <tr><td>Have poor security</td><td>IE ? ;P</td></tr> + <tr><td>Too much</td><td>Seamonkey, Opera, Firefox</td></tr> + <tr><td>blobs or depends on proprietary/questionable code</td><td>Firefox, Chrome and Chromium</td></tr> + </tbody> + </table> + <h2>Status</h2> + <p>Starting to make base/stable code.</p> + </main> +<!--#include file="templates/en/footer.html" --> + </body> +</html> diff --git a/projets/Laptop au matériel et logiciels libre.shtml b/projets/Laptop au matériel et logiciels libre.shtml @@ -0,0 +1,121 @@ +<!DOCTYPE html> +<html> + <head> +<!--#include file="templates/head.shtml" --> + <title>Open-Source Software and Hardware Laptop — lanodan’s cyber-home</title> + </head> + <body> +<!--#include file="templates/en/nav.shtml" --> + <main> + <h1>Open-Source Software and Hardware Laptop</h1> + <p>I was looking at the <a href="http://www.kosagi.com/w/index.php?title=Novena_Main_Page">novena</a> (OSHW too), little bit too powerful for me now (maybe nice later). Also kind of too much exotic looking(I want to use my laptop everywhere). Some people have come with olimex stuff at the hackerspace(a LIME/LIME2 I think). And when my recycled laptop from 2003/2005 became really slow(469 MB of RAM, nearly no 3D video at least FullHD strangely worked). I started making plans on doing my own laptop with parts from Olimex(I can’t thanks them enough ;3). I ordered some parts. Seen a laptop project on olimex’s blog</p> + <h2 id="parts">Parts</h2> + <p>Here is the parts I’ve used :</p> + <ul> + <li>Laptop case(used another one’s case)</li> + <li>OLIMEX</ul> + <li>A20-OLinuXino-LIME2-4G</li> + <li>A20-OLinuXino-LIME2-UEXT</li> + <li>SATA-CABLE-SET (data is too short of few cm for me, used spare one)</li> + <li>MOD-RTC</li> + <li>MOD-SDMMC (provides a CA-IDC-10-15CM)</li> + <li>PWR-CABLE(used it for making a USB power cable)</li> + <li>CABLE-40-40-10CM [×2](A20-OLinuXino-LIME2-UEXT &amp; LCD-OLinuXino-15.6FHD)</li> + <li>CA-IDC-10-15CM (used for MOD-RTC)</li> + <li>BA-LIPO-3.7V/6600mAh-W-CA [×2] one last about ~5h with everything at full (mainly compilation stuff) and my power-hungry HDD</li> + <li>USB-SERIAL-F (very usefull for u-boot and having a shell)</li> + <li>UEXTx5 (not in use for now)</li> + </ul></li> + <li>old VGA connector(desoldered one from bulkeps, H_SYNC and V_SYNC have to be taken from LCD_CON or hacked)</li> + </ul> + <h2 id="building">Building</h2> + <p><span class="warn">⚠ This doesn’t works ⚠</span> I take a working one from <a href="http://www.armbian.com/olimex-lime-2/">armbian images</a>, anyway, you need:</p> + <ul> + <li>Brain, with linux knowledge (Your machine probably doesn’t have one, use your own)</li> + <li>An A20-OLinuXino (or other board with an allwinner CPU, I use LIME2-4G)</li> + <li>(recommended) Serial/UART adapter</li> + </ul> + <h3>sunxi u-boot & kernel</h3> + <p>I use gentoo so I only have to make u-boot, kernel, put armv7a /armhf stage3. I mainly follow olimex A20-build(found upper).</p> + <pre><code>$ export ARCH=arm +$ export CROSS_COMPILE=arm-linux-gnueabihf-</code></pre> + <h4>u-boot</h4> + <code>$ git clone -b sunxi https://github.com/linux-sunxi/u-boot-sunxi.git ; cd u-boot-sunxi</code> + <p>If you have a LIME2 board : <code>$ make A20-OLinuXino_Lime2_config</code> otherwise type <code>$ make help</code> and hope to find your board in a _config target.</p> + <code>$ make</code> Tip: add <code>-j6</code> if you have 4 cores, <code>-j3</code> if dual. Note: u-boot.bin for flash is u-boot-sunxi-with-spl.bin + <h4>Kernel</h4> + <pre><code>$ export INSTALL_MOD_PATH=out +$ git clone https://github.com/linux-sunxi/linux-sunxi ; cd linux-sunxi +$ wget https://raw.githubusercontent.com/OLIMEX/OLINUXINO/master/SOFTWARE/A20/A20-build/spi-sun7i.c -O drivers/spi/spi-sun7i.c +$ wget https://raw.githubusercontent.com/OLIMEX/OLINUXINO/master/SOFTWARE/A20/A20-build/SPI.patch +$ patch -p0 < SPI.patch +$ wget https://raw.githubusercontent.com/OLIMEX/OLINUXINO/master/SOFTWARE/A20/A20-build/a20_olimex_defconfig -O arch/arm/configs/a20_olimex_defconfig +$ make a20_olimex_defconfig +</code></pre> + <p>If you want to configure it more: <code>$ make menuconfig</code></p> + <pre><code>$ make uImage modules +$ make modules_install</code></pre> + <quote>“The uImage file is located in arch/arm/boot/<br\> + The kernel modules are located in out/lib/modules/$kernel_version”</quote> — <cite>Olimex</cite> + <h3>Mainline u-boot & kernel</h3> + <quote>“(this needs to be written)”</quote> — <cite>netstat(8)</cite> + <h3>Gentoo rootfs</h3> + <h4>Partitions</h4> + <p>Insert your storage device and use <code>dmesg</code> or <code>lsblk</code> to have the <code>/dev/sd*</code> or <code>/dev/mmcblk*</code> it will be noted as <code>/dev/sd×</code> and enter as ⮠(you may need to fix your font) for one-liners</p> + <code># fdisk /dev/sd×</code></pre> + <ol> + <li>If you have partitions on it, you can delete them with <code>d</code> and then partition number</li> + <li>Create the /boot (I recommend using 16M or greater): <code>n⮠p⮠1⮠⮠+16M⮠</code></li> + <li>Put the bootable flag(apparently not mandatory): <code>a</code></li> + <li>Create the / (I generaly use everything or about 4~&gt;16G if I got a big device): <code>n⮠p⮠2⮠⮠⮠</code></li> + <li>Verify everything is okay with <code>p</code></li> + <li><code>w</code> to write.</li> + </ol> + <code># mkfs.vfat /dev/sd×1</code> Gentoo package for it <code>dosfstools</code> + <code># mkfs.ext4 /dev/sd×2</code> + <h4>Time to flash !</h4> + <code>dd if=u-boot.bin of=/dev/sd× bs=1024 seek=8</code><p>Note: use sd× not sd×1 or sd×2 as it’s before then (which is probably why there is a 2048 space before them)</p> + <pre><code># mkdir /mnt/sd +# mount /dev/sd×2 /mnt/sd</code></pre> + <p>Put basic rootfs(/mnt/sd/boot is needed) I take gentoo’s stage3 for armv7hf</p> + <pre><code># mount /dev/sdX1 /mnt/sd/boot +# cd /mnt/sd/boot +# cp linux-sunxi/arch/arm/boot/uImage . +# wget https://github.com/OLIMEX/OLINUXINO/raw/master/SOFTWARE/A20/A20-build/scripts_a20_Lime2_34_90_camera_rel_2/script.bin +# cd ~/linux-sunxi +# rm -fr /mnt/sd/lib/modules +# cp -rfv out/lib/modules /mnt/sd/lib/ +# cp -rfv out/lib/firmware /mnt/sd/lib/ +# sync +# umount /mnt/sd/boot +# umount /mnt/sd</code></pre> + <section id="External_links"> + <h2>External links</h2> + <ul> + <li><a href="https://mensuel.framapad.org/p/MakingAnOSHWLaptop">Etherpad</a> (<a href="/p-MakingAnOSHWLaptop">backup</a>)</li> + <li>GnuSocial :<a href="https://loadaverage.org/tag/MakingAnOSHWLaptop">#MakingAnOSHWLaptop</a></li> + <li>Sources<ul> + <li>U-boot<ul> + <li><a href="//git.denx.de/u-boot.git">Mainline</li> + <li><a href="https://github.com/linux-sunxi/u-boot-sunxi.git">Sunxi</a></li> + </ul></li> + <li>Kernel<ul> + <li><a href="https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git">Mainline</a></li> + <li><a href="https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/log/?h=linux-4.1.y">4.1 stable</a></li> + <li><a href="https://github.com/linux-sunxi/linux-sunxi.git">Sunxi</a></li> + </ul></li> + </ul></li> + <li>Documentation<ul> + <li><a href="https://linux-sunxi.org/SATA">https://linux-sunxi.org/SATA</a> (to get more performance)</li> + <li>Olimex<ul> + <li><a href="https://github.com/OLIMEX/OLINUXINO/tree/master/SOFTWARE/A20/A20-build">Build instruction, scripts and more</a></li> + <li><a href="https://github.com/OLIMEX/OLINUXINO/tree/master/SOFTWARE/A20/A20-OLinuXino-Micro%20with%20MOD-RTC">C program for MOD-RTC</a></li> + </ul></li> + <li><a href="https://wiki.tizen.org/wiki/Sunxi">Tizen</a></li> + </ul></li> + </ul> + </section> + </main> +<!--#include file="templates/en/footer.html" --> + </body> +</html>