logo

blog

My cute blog can’t be this disorganised!

Laptop au matériel et logiciels libre.shtml (7893B)


      1 <!DOCTYPE html>
      2 <html>
      3 	<head>
      4 <!--#include file="/templates/head.shtml" -->
      5 		<title>Open-Source Software and Hardware Laptop — lanodan’s cyber-home</title>
      6 	</head>
      7 	<body>
      8 <!--#include file="/templates/en/nav.shtml" -->
      9 	<main>
     10 		<h1>Open-Source Software and Hardware Laptop</h1>
     11 		<p>Je regardais le <a href="http://www.kosagi.com/w/index.php?title=Novena_Main_Page">novena</a>(lui aussi libre), mais qui est trop puissant pour moi maintenant(peut-être pour plus tard). Et trop exotique(je veut pouvoir l’utiliser partout). Quelques pixels viennent avec du matos olimex au hackerspace(un LIME/LIME2 je pense). Et quand mon laptop(bulkeps) récup de 2003/2005 est devenu vraiment lent(469 MB de mémoire vive, presque pas de 3D au moins le FullHD fonctionnait o_O). J’ai donc penser à me faire mon propre laptop avec des pièces venant de olimex(gros merci ;3). J’ai commandé quelques pièces et vut un project de laptop sur le blog de olimex.</p>
     12 		<p>Si je devait le refaire, je prendrais des plans de boitier de laptop et l’adapterais à la carte, ça me ferais plus de place dedans et donc mieux disposer les pièces.</p>
     13 		<h2 id="parts">Pièces</h2>
     14 		<ul>
     15 			<li>Boitier d’un autre laptop</li>
     16 			<li>OLIMEX</ul>
     17 				<li>A20-OLinuXino-LIME2-4G</li>
     18 				<li>A20-OLinuXino-LIME2-UEXT</li>
     19 				<li>SATA-CABLE-SET (le cable de donnée est trop court de quelques cm pour moi, j’en ait pris un dans mon stock)</li>
     20 				<li>MOD-RTC</li>
     21 				<li>MOD-SDMMC (CA-IDC-10-15CM inclus)</li>
     22 				<li>PWR-CABLE(utilisé pour faire un cable d’alim USB)</li>
     23 				<li>CABLE-40-40-10CM [×2](A20-OLinuXino-LIME2-UEXT &amp; LCD-OLinuXino-15.6FHD)</li>
     24 				<li>CA-IDC-10-15CM (utilisé pour le MOD-RTC)</li>
     25 				<li>BA-LIPO-3.7V/6600mAh-W-CA [×2] Une seule dure ~5h avec tout à fond (Compil’) et mon HDD gourmand</li>
     26 				<li>USB-SERIAL-F (très utile pour u-boot et avoir un shell)</li>
     27 				<li>UEXTx5 (pas encore utilisé)</li>
     28 			</ul></li>
     29 			<li>ancien connecteur VGA (J’ai désoudé celui de bulkeps, H_SYNC et V_SYNC devront être pris de LCD_CON ou bricolé)</li>
     30 		</ul>
     31 		<h2 id="building_hard">Construction Matérielle</h2>
     32 		<p>J’ai trouvé assez de place en hauteur à la sortie ventilo(la carte chauffe presque pas de toute façon) j’ai donc dégagé la sortie pour les connectiques, couteau pour la « grille », décapeur thermique(un sèche cheveux serait mieux) pour ramolir le plastique du capot/couvercle.</p>
     33 		<h2 id="building_soft">Construction Logicielle</h2>
     34 		<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>
     35 		<ul>
     36 			<li>Brain, with linux knowledge (Your machine probably doesn’t have one, use your own)</li>
     37 			<li>An A20-OLinuXino (or other board with an allwinner CPU, I use LIME2-4G)</li>
     38 			<li>(recommended) Serial/UART adapter</li>
     39 		</ul>
     40 		<h3>sunxi u-boot & kernel</h3>
     41 		<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>
     42 		<pre><code>$ export ARCH=arm
     43 $ export CROSS_COMPILE=arm-linux-gnueabihf-</code></pre>
     44 		<h4>u-boot</h4>
     45 		<code>$ git clone -b sunxi https://github.com/linux-sunxi/u-boot-sunxi.git ; cd u-boot-sunxi</code>
     46 		<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>
     47 		<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
     48 		<h4>Kernel</h4>
     49 		<pre><code>$ export INSTALL_MOD_PATH=out
     50 $ git clone https://github.com/linux-sunxi/linux-sunxi ; cd linux-sunxi
     51 $ wget https://raw.githubusercontent.com/OLIMEX/OLINUXINO/master/SOFTWARE/A20/A20-build/spi-sun7i.c -O drivers/spi/spi-sun7i.c
     52 $ wget https://raw.githubusercontent.com/OLIMEX/OLINUXINO/master/SOFTWARE/A20/A20-build/SPI.patch
     53 $ patch -p0 < SPI.patch
     54 $ wget https://raw.githubusercontent.com/OLIMEX/OLINUXINO/master/SOFTWARE/A20/A20-build/a20_olimex_defconfig -O arch/arm/configs/a20_olimex_defconfig
     55 $ make a20_olimex_defconfig
     56 </code></pre>
     57 		<p>If you want to configure it more: <code>$ make menuconfig</code></p>
     58 		<pre><code>$ make uImage modules
     59 $ make modules_install</code></pre>
     60 		<quote>“The uImage file is located in arch/arm/boot/<br\>
     61 		The kernel modules are located in out/lib/modules/$kernel_version”</quote> — <cite>Olimex</cite>
     62 		<h3>Mainline u-boot & kernel</h3>
     63 		<quote>“(this needs to be written)”</quote> — <cite>netstat(8)</cite>
     64 		<h3>Gentoo rootfs</h3>
     65 		<h4>Partitions</h4>
     66 		<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>
     67 		<code># fdisk /dev/sd×</code></pre>
     68 		<ol>
     69 			<li>If you have partitions on it, you can delete them with <code>d</code> and then partition number</li>
     70 			<li>Create the /boot (I recommend using 16M or greater): <code>n⮠p⮠1⮠⮠+16M⮠</code></li>
     71 			<li>Put the bootable flag(apparently not mandatory): <code>a</code></li>
     72 			<li>Create the / (I generaly use everything or about 4~&gt;16G if I got a big device): <code>n⮠p⮠2⮠⮠⮠</code></li>
     73 			<li>Verify everything is okay with <code>p</code></li>
     74 			<li><code>w</code> to write.</li>
     75 		</ol>
     76 		<code># mkfs.vfat /dev/sd×1</code> Gentoo package for it <code>dosfstools</code>
     77 		<code># mkfs.ext4 /dev/sd×2</code>
     78 		<h4>Time to flash !</h4>
     79 		<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>
     80 		<pre><code># mkdir /mnt/sd
     81 # mount /dev/sd×2 /mnt/sd</code></pre>
     82 		<p>Put basic rootfs(/mnt/sd/boot is needed) I take gentoo’s stage3 for armv7hf</p>
     83 		<pre><code># mount /dev/sdX1 /mnt/sd/boot
     84 # cd /mnt/sd/boot
     85 # cp linux-sunxi/arch/arm/boot/uImage .
     86 # wget https://github.com/OLIMEX/OLINUXINO/raw/master/SOFTWARE/A20/A20-build/scripts_a20_Lime2_34_90_camera_rel_2/script.bin
     87 # cd ~/linux-sunxi
     88 # rm -fr /mnt/sd/lib/modules
     89 # cp -rfv out/lib/modules /mnt/sd/lib/
     90 # cp -rfv out/lib/firmware /mnt/sd/lib/
     91 # sync
     92 # umount /mnt/sd/boot
     93 # umount /mnt/sd</code></pre>
     94 		<section id="External_links">
     95 			<h2>External links</h2>
     96 			<ul>
     97 				<li><a href="https://mensuel.framapad.org/p/MakingAnOSHWLaptop">Etherpad</a> (<a href="/p-MakingAnOSHWLaptop">backup</a>)</li>
     98 				<li>GnuSocial :<a href="https://loadaverage.org/tag/MakingAnOSHWLaptop">#MakingAnOSHWLaptop</a></li>
     99 				<li>Sources<ul>
    100 					<li>U-boot<ul>
    101 						<li><a href="//git.denx.de/u-boot.git">Mainline</li>
    102 						<li><a href="https://github.com/linux-sunxi/u-boot-sunxi.git">Sunxi</a></li>
    103 					</ul></li>
    104 					<li>Kernel<ul>
    105 						<li><a href="https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git">Mainline</a></li>
    106 						<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>
    107 						<li><a href="https://github.com/linux-sunxi/linux-sunxi.git">Sunxi</a></li>
    108 					</ul></li>
    109 				</ul></li>
    110 				<li>Documentation<ul>
    111 					<li><a href="https://linux-sunxi.org/SATA">https://linux-sunxi.org/SATA</a> (to get more performance)</li>
    112 					<li>Olimex<ul>
    113 						<li><a href="https://github.com/OLIMEX/OLINUXINO/tree/master/SOFTWARE/A20/A20-build">Build instruction, scripts and more</a></li>
    114 						<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>
    115 					</ul></li>
    116 					<li><a href="https://wiki.tizen.org/wiki/Sunxi">Tizen</a></li>
    117 				</ul></li>
    118 			</ul>
    119 		</section>
    120 	</main>
    121 <!--#include file="/templates/en/footer.html" -->
    122 	</body>
    123 </html>