logo

blog

My website can't be that messy, right? git clone https://hacktivis.me/git/blog.git

p-MakingAnOSHWLaptop.html (22274B)


  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <title>MakingAnOSHWLaptop</title>
  5. <meta charset="utf-8">
  6. <style> * { font-family: arial, sans-serif;
  7. font-size: 13px;
  8. 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>
  9. </head>
  10. <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>
  11. </html>