<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Silicone&#39;s web</title>
		<link>https://silicone.homelinux.org/en/</link>
		<description>Recent content on Silicone&#39;s web</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<lastBuildDate>Wed, 03 Oct 2018 21:30:22 +0100</lastBuildDate>
		
			<atom:link href="https://silicone.homelinux.org/en/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Inside an Open Source BIOS</title>
				<link>https://silicone.homelinux.org/en/2018/04/11/inside-an-open-source-bios/</link>
				<pubDate>Wed, 11 Apr 2018 12:00:37 +0100</pubDate>
				<guid>https://silicone.homelinux.org/en/2018/04/11/inside-an-open-source-bios/</guid>
				<description>&lt;p&gt;&lt;em&gt;This post was originally published as &lt;a title=&#34;A look from behind the Open Source Bios&#34; href=&#34;https://blog.online.net/2018/04/10/a-look-from-behind-the-open-source-bios/&#34; target=&#34;_blank&#34;&gt;A look from behind the Open Source Bios&lt;/a&gt; on Scaleway’s blog.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;This is a followup post of &lt;a href=&#34;http://silicone.homelinux.org/2018/03/16/open-source-bios-at-scale/&#34; title=&#34;Open Source Bios at Scale&#34;&gt;Open Source Bios at Scale&lt;/a&gt; so you might what to read it first as this post will get more into details.&lt;/p&gt;&#xA;&lt;p&gt;As explained in the previous post our BIOS is build with three main components: &lt;a href=&#34;https://www.coreboot.org/&#34; rel=&#34;nofollow&#34;&gt;coreboot&lt;/a&gt;, Intel FSP and &lt;a href=&#34;http://www.tianocore.org/&#34; rel=&#34;nofollow&#34;&gt;TianoCore&lt;/a&gt;. We will describe here how those three parts are fitting together.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Open Source Bios at Scale</title>
				<link>https://silicone.homelinux.org/en/2018/03/16/open-source-bios-at-scale/</link>
				<pubDate>Fri, 16 Mar 2018 12:00:02 +0100</pubDate>
				<guid>https://silicone.homelinux.org/en/2018/03/16/open-source-bios-at-scale/</guid>
				<description>&lt;p&gt;&lt;em&gt;This post is a summary of &lt;a title=&#34;Open Source Bios at Scale&#34; href=&#34;https://fosdem.org/2018/schedule/event/hwenablement_open_source_bios_at_scale/&#34; target=&#34;_blank&#34;&gt;my talk at FOSDEM’18&lt;/a&gt; and was originally posted on &lt;a title=&#34;Open Source Bios at Scale&#34; href=&#34;https://blog.online.net/2018/03/15/open-source-bios-at-scale/&#34; target=&#34;_blank&#34;&gt;Scaleway’s blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;At &lt;a href=&#34;https://scaleway.com&#34; rel=&#34;nofollow&#34;&gt;Scaleway&lt;/a&gt; we started to design our servers with the &lt;a href=&#34;https://www.scaleway.com/baremetal-cloud-servers&#34; rel=&#34;nofollow&#34;&gt;ARM C1&lt;/a&gt;.&lt;br&gt;&#xA;Later we switched to a x86 architecture to provide the &lt;a href=&#34;https://www.scaleway.com/baremetal-cloud-servers/&#34; rel=&#34;nofollow&#34;&gt;C2&lt;/a&gt; and &lt;a href=&#34;https://www.online.net/fr/serveur-dedie/dedibox-sc&#34; rel=&#34;nofollow&#34; hreflang=&#34;fr&#34;&gt;Dedibox SC2016&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;On x86 a BIOS is required to start the server. BIOS software got many legacy and backward compatible software to ensure a reliable behavior across many boards. I was in charge of the BIOS development for our new generation of x86 servers.&lt;/p&gt;&#xA;&lt;p&gt;This article presents technical choices we used during our development.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Raspberry Pi 3 as desktop computer</title>
				<link>https://silicone.homelinux.org/en/2017/03/05/raspberry-pi-3-as-desktop-computer/</link>
				<pubDate>Sun, 05 Mar 2017 17:25:45 +0100</pubDate>
				<guid>https://silicone.homelinux.org/en/2017/03/05/raspberry-pi-3-as-desktop-computer/</guid>
				<description>&lt;p&gt;For about six months I’ve been using a Raspberry Pi 3 as my desktop computer at home.&lt;/p&gt;&#xA;&lt;p&gt;The overall experience is fine, but I had to do a few adjustments.&lt;br&gt;&#xA;First was to use KeePass, the second to compile gcc for cross-compilation (ie use &lt;a href=&#34;https://buildroot.org/&#34; title=&#34;buildroot&#34;&gt;buildroot&lt;/a&gt;).&lt;/p&gt;</description>
			</item>
			<item>
				<title> From gengo to polylang: updating the theme</title>
				<link>https://silicone.homelinux.org/en/2014/02/19/from-gengo-to-polylang-updating-the-theme/</link>
				<pubDate>Wed, 19 Feb 2014 23:28:32 +0100</pubDate>
				<guid>https://silicone.homelinux.org/en/2014/02/19/from-gengo-to-polylang-updating-the-theme/</guid>
				<description>&lt;p&gt;So I postponed hacking a mode with multiple languages on the same page and decided to set polylang on my &lt;del&gt;production site&lt;/del&gt; (hem) my blog.&lt;/p&gt;&#xA;&lt;p&gt;But Gengo was using some customized template tags so the theme was adapted to it and this needed to be changed.&lt;/p&gt;&#xA;&lt;p&gt;With polylang it’s a lot simpler, all navigation is handled by filters, so only thing really custom had to be written:&lt;/p&gt;&#xA;&lt;p&gt;Basically my hacked version of &lt;code&gt;the_translations&lt;/code&gt; had to be ported. And to keep it simple it can even be part of the &lt;code&gt;functions.php&lt;/code&gt; file in the theme and use the &lt;a href=&#34;http://polylang.wordpress.com/documentation/documentation-for-developers/functions-reference/#pll_the_languages&#34; title=&#34;Polylang function reference pll_the_languages&#34;&gt;&lt;code&gt;pll_the_languages&lt;/code&gt;&lt;/a&gt; function.&lt;br&gt;&#xA;I want to display the other language title prefixed by “Language version” written in this language. As the &lt;em&gt;gettext&lt;/em&gt; like functions would only return strings in the current language, I hardcoded those strings, but adding them in Polylang admin “strings translation” would have been nice…&lt;br&gt;&#xA;So here is the code:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt; $translation_title=array(&#xA;    &amp;#39;en&amp;#39; =&amp;gt; &amp;#34;English version:&amp;#34;, &#xA;    &amp;#39;fr&amp;#39; =&amp;gt; &amp;#34;Version française&amp;amp;nbsp;: &amp;#34;);&#xA;function my_translations() {&#xA;    global $post;&#xA;    global $translation_title;&#xA;    $post_id=$post-&amp;gt;ID;&#xA;    if ( function_exists(&amp;#39;pll_the_languages&amp;#39;) ) {&#xA;        $translations = pll_the_languages(array(&amp;#39;post_id&amp;#39; =&amp;gt; $post_id, &amp;#39;hide_if_no_translation&amp;#39;=&amp;gt;1, &amp;#39;hide_current&amp;#39;=&amp;gt;1, &amp;#39;raw&amp;#39;=&amp;gt;1));&#xA;        if(!empty($translations)) {&#xA;            foreach($translations as $tr) {&#xA;                $trid=pll_get_post($post_id, $tr[&amp;#39;slug&amp;#39;]);&#xA;                ?&amp;gt;&amp;lt;li lang=&amp;#34;&amp;lt;?php echo esc_attr($tr[&amp;#39;slug&amp;#39;]);?&amp;gt;&amp;#34;&amp;gt;&amp;lt;?php echo $translation_title[$tr[&amp;#39;slug&amp;#39;]]; ?&amp;gt;&amp;lt;a hreflang=&amp;#34;&amp;lt;?php echo esc_attr($tr[&amp;#39;slug&amp;#39;]);?&amp;gt;&amp;#34; href=&amp;#34;&amp;lt;?php echo esc_url($tr[&amp;#39;url&amp;#39;]);?&amp;gt;&amp;#34; rel=&amp;#34;alternate&amp;#34;&amp;gt;&amp;lt;?php echo get_the_title($trid); ?&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;?php&#xA;            }&#xA;        }&#xA;    }&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Instead of porting the old theme, I did build a new one based on &lt;a href=&#34;https://wordpress.org/themes/twentytwelve&#34; title=&#34;Wordpress&amp;#39; Twenty Twelve theme&#34;&gt;WordPress’ Twenty Twelve&lt;/a&gt; updated with my previous header and dark color scheme.&lt;br&gt;&#xA;I also played with a few css3 features for more neon light effects 🙂&lt;/p&gt;&#xA;&lt;p&gt;And here it is !&lt;/p&gt;</description>
			</item>
			<item>
				<title>From gengo to polylang: importing data</title>
				<link>https://silicone.homelinux.org/en/2014/01/27/from-gengo-to-polylang-importing-data/</link>
				<pubDate>Mon, 27 Jan 2014 23:34:03 +0100</pubDate>
				<guid>https://silicone.homelinux.org/en/2014/01/27/from-gengo-to-polylang-importing-data/</guid>
				<description>&lt;p&gt;As you might know, my blog is using &lt;a href=&#34;http://silicone.homelinux.org/projects/gengo/&#34;&gt;gengo&lt;/a&gt; to enable translations.&lt;/p&gt;&#xA;&lt;p&gt;But gengo is an old unmaintained plugin (I’m even running a custom version that I recently needed to fix again) so I’d like to migrate away.&lt;/p&gt;&#xA;&lt;p&gt;Recently, I studied the available options (thanks to &lt;a href=&#34;http://codex.wordpress.org/Multilingual_WordPress&#34; title=&#34;Multilingual WordPress&#34; target=&#34;_blank&#34;&gt;Multilingual WordPress&lt;/a&gt; page) and selected &lt;a href=&#34;http://polylang.wordpress.com/&#34; title=&#34;Polylang&#34; target=&#34;_blank&#34;&gt;Polylang&lt;/a&gt;. This one seams to be what Gengo could have been with a rewrite: no extra database tables but using WP3 custom taxonomies. (I can’t find the message but I remember Pixline telling this would be the way to go, so…).&lt;/p&gt;&#xA;&lt;p&gt;Anyway, I started to test Polylang, what it misses compared to Gengo, is the ability to really mix languages on the same page, so it will need some customizations before replacing Gengo here, but it will come.&lt;/p&gt;&#xA;&lt;p&gt;It’s only a few days layer that I found the &lt;a href=&#34;http://wordpress.org/plugins/wpml-to-polylang/&#34; title=&#34;WPML to Polylang&#34; target=&#34;_blank&#34;&gt;WPML to Polylang&lt;/a&gt; plugin.&lt;br&gt;&#xA;This basically triggered the development of &lt;a href=&#34;http://silicone.homelinux.org/git/gengo-to-polylang.git/&#34; title=&#34;Gengo to Polylang&#34; target=&#34;_blank&#34;&gt;Gengo to Polylang&lt;/a&gt; a plugin to import translations informations from Gengo to Polylang.&lt;/p&gt;&#xA;&lt;p&gt;It seams to work… I missed the Site Title and Tagline (but they are no longer translated on my blog so I don’t need it 😕 ) and I did take some shortcut for terms (tags &amp;amp; categories) that are the same in both languages.&lt;br&gt;&#xA;UPDATE 2014-02-04: I fixed that as it caused the tag archive to contain both english and french posts so… also fixed the Title and Tagline part.&lt;/p&gt;&#xA;&lt;p&gt;So if you still have a Gengo powered blog and want to migrate, the code could help you, but don’t just run it blindly, make a backup, setup a test instance and be prepared to hack the code ! You have been warned !&lt;/p&gt;</description>
			</item>
			<item>
				<title>Building a custom debian CD</title>
				<link>https://silicone.homelinux.org/en/2013/06/19/building-a-custom-debian-cd/</link>
				<pubDate>Wed, 19 Jun 2013 08:42:59 +0100</pubDate>
				<guid>https://silicone.homelinux.org/en/2013/06/19/building-a-custom-debian-cd/</guid>
				<description>&lt;p&gt;&lt;em&gt;The French version was originally written for &lt;a href=&#34;http://linuxembedded.fr&#34; title=&#34;Le blog des technologies libres et embarquées&#34; target=&#34;_blank&#34;&gt;linuxembedded.fr&lt;/a&gt; : &lt;a href=&#34;http://www.linuxembedded.fr/2013/06/cree-un-cd-dinstallation-dune-debian-specialisee/&#34; title=&#34;Crée un CD d&#39;installation d&#39;une debian spécialisée&#34; target=&#34;_blank&#34;&gt;Crée un CD d’installation d’une debian spécialisée&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;The goal is to build a debian install CD suitable for the distribution of a complete system including the operating system and applications.&lt;/p&gt;&#xA;&lt;p&gt;Debian already has a tool for that purpose: &lt;a href=&#34;http://packages.qa.debian.org/s/simple-cdd.html&#34; title=&#34;simple-cdd&#34; target=&#34;_blank&#34;&gt;&lt;em&gt;simple-cdd&lt;/em&gt;&lt;/a&gt;. &lt;em&gt;Simple-cdd&lt;/em&gt; is a set of scripts wrapping &lt;em&gt;debian-cd&lt;/em&gt; which is the tool used to build official CDs.&lt;/p&gt;&#xA;&lt;p&gt;In our case, we will include some “non-free” packages (firmwares for instance) and application specific packages in the system.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Kernel develpoment on e60</title>
				<link>https://silicone.homelinux.org/en/2011/04/03/kernel-develpoment-on-e60/</link>
				<pubDate>Sun, 03 Apr 2011 20:52:23 +0100</pubDate>
				<guid>https://silicone.homelinux.org/en/2011/04/03/kernel-develpoment-on-e60/</guid>
				<description>&lt;p&gt;Now that I have access to the &lt;a href=&#34;http://silicone.homelinux.org/2011/03/22/serial-console-on-samsung-e60-reader/&#34;&gt;serial console on Samsung e60 reader&lt;/a&gt; let’s build a new linux kernel for it.&lt;/p&gt;&#xA;&lt;p&gt;The e60 reader has an ARM processor, to compile the kernel we need a cross compilation toolchain.&lt;br&gt;&#xA;The first option is to use the one Samsung released with the other sources. It must work, however I don’t really like the idea to run binaries from unknown sources.&lt;br&gt;&#xA;The second option is to build our own toolchain, we often have to do that for systems that requires patches on the compiler.&lt;br&gt;&#xA;Here, Samsung’s binutils look like they were taken between 2.17 and 2.18 release (they are named 2.17.50 but are still slightly different from this snapshot) but they don’t seam to embed homemade patches. As for ggc I didn’t take time to check.&lt;br&gt;&#xA;I choose to use the &lt;a href=&#34;http://www.emdebian.org/crosstools.html&#34;&gt;emdebian cross-development toolchain&lt;/a&gt; lenny version. (As the article in the french &lt;a href=&#34;http://www.editions-diamond.com/opensilicium/index.php/edito-open-silicium-n%C2%B01&#34; hreflang=&#34;fr&#34;&gt;open silicium magazine #1&lt;/a&gt; about FriendlyARM proposes to do).&lt;/p&gt;&#xA;&lt;h3 id=&#34;installing-the-cross-development-toolchain-on-debian&#34;&gt;Installing the cross-development toolchain on debian&lt;/h3&gt;&#xA;&lt;p&gt;First the archive keys:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&#xA;sudo apt-get install emdebian-archive-keyring&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Then we add a &lt;code&gt;/etc/apt/sources.list.d/emdebian.list&lt;/code&gt; file with the following content:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&#xA;deb http://ftp.uk.debian.org/emdebian/toolchains lenny main&#xA;deb-src http://ftp.uk.debian.org/emdebian/toolchains lenny main&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The we update the package list to install the needed packages:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&#xA;sudo apt-get update&#xA;sudo apt-get install libc6-armel-cross libc6-dev-armel-cross libstdc++6-armel-cross binutils-arm-linux-gnueabi gcc-4.3-arm-linux-gnueabi g++-4.3-arm-linux-gnueabi&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;That’s it ! We have now our cross-compilation toolchain installed from packages, so easy to update or remove.&lt;/p&gt;&#xA;&lt;h3 id=&#34;the-kernel-sources&#34;&gt;The kernel sources&lt;/h3&gt;&#xA;&lt;p&gt;Samsung released it’s modified 2.6.29.4 version. By cloning &lt;a href=&#34;http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fstable%2Flinux-2.6.29.y.git%3Ba%3Dsummary&#34;&gt;the kernel 2.6.29.y git branch&lt;/a&gt;, I could quickly see that their changes applied well to the 2.6.29.6 version (the last in the branch).&lt;/p&gt;&#xA;&lt;p&gt;In order to better sort the changes michel.s had splat them into several patches&lt;br&gt;&#xA;(&lt;a href=&#34;http://code.google.com/p/e60-open/source/browse/#svn%2Fpatches%2Fkernel&#34;&gt;patchs on e60-open project&lt;/a&gt;). After a few trials I build a &lt;code&gt;series&lt;/code&gt; file allowing to apply those patches with &lt;code&gt;quilt&lt;/code&gt; or better to import them to a git branch with &lt;code&gt;git quiltimport&lt;/code&gt;. The order I choose allows to drop easily some patches (the last ones).&lt;/p&gt;&#xA;&lt;p&gt;One particular point on those patches is that some include binary files:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;fs/rfs/*.o&lt;/code&gt; a proprietary journaling layer over FAT. If you want my point ov vue, we don’t need that. After all we have free journaling file systems available and linux is able to mount something else than FAT over USB…&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;drivers/usb/gadget/file_storage.o&lt;/code&gt; also the corresponding &lt;code&gt;.c&lt;/code&gt; file was removed, the BSD/GPL license from the original code allows a binary distribution (however I didn’t check if Alan Stern’s name appears in the doc) but I’d have liked that Samsung give that source code.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;u-boot&#34;&gt;U-Boot&lt;/h3&gt;&#xA;&lt;p&gt;Before compiling the kernel, we need the &lt;code&gt;mkimage&lt;/code&gt; utility from U-Boot. Here, Let’s build the U-Boot released by Samsung, and let’s just copy the &lt;code&gt;tools/mkimage&lt;/code&gt; to a location in our PATH (that’s the only install method I could find).&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&#xA;make smdkc100_config &#xA;make CROSS_COMPILE=arm-linux-gnueabi-&#xA;&#xA;cp tools/mkimage ~/bin/&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;building-linux&#34;&gt;Building linux&lt;/h3&gt;&#xA;&lt;p&gt;For the config, one of the patches includes a &lt;code&gt;.config&lt;/code&gt;. That file is a copy of &lt;code&gt;config_rfs&lt;/code&gt; so even without the previous patch, we can get Samsung’s config.&lt;/p&gt;&#xA;&lt;p&gt;Finally we can compile!&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&#xA;make CROSS_COMPILE=arm-linux-gnueabi- CFLAGS=&amp;#34;-march=armv4t -mtune=cortex-a8&amp;#34; CXXFLAGS=&amp;#34;-march=armv4t -mtune=cortex-a8&amp;#34; ARCH=arm uImage&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;We can then load our kernel by following &lt;a href=&#34;http://code.google.com/p/e60-open/wiki/HowToTestAKernel&#34;&gt;The kernel testing howto from e60-open project&lt;/a&gt;. To load the kernel we will need the following command:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&#xA;sudo dnw arch/arm/boot/uImage&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;That’it, and it works ! Well almost, the kernel cannot find his modules. This will not be a big deal for the ones included in the sources (but the subject of a next post) but the &lt;code&gt;/lib/modules/max14540.ko&lt;/code&gt; and &lt;code&gt;lib/modules/dhd.ko&lt;/code&gt; modules are not included in the sources while reporting a GPL license to the kernel.&lt;/p&gt;&#xA;&lt;h3 id=&#34;missing-source-code&#34;&gt;Missing source code&lt;/h3&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;http://opensource.samsung.com/&#34;&gt;Samsung Open Source Release Center&lt;/a&gt; website has a contact form, but it does not seam to work (I even booted my netbook on windows to try with IE8 without success). After browsing the &lt;a href=&#34;http://forum.hardware.fr/hfr/gsmgpspda/tablet/unique-samsung-ebook-sujet_22344_66.htm#para621535&#34; hreflang=&#34;fr&#34;&gt;french e60 forum&lt;/a&gt; I found their email address and mailed them, no answer so far (not even automatic). Let’s wait …&lt;/p&gt;&#xA;&lt;h3 id=&#34;conclusion&#34;&gt;Conclusion&lt;/h3&gt;&#xA;&lt;p&gt;We can compile a kernel for the e60 reader without using the cross tools from Samsung.&lt;br&gt;&#xA;There still some work to load modules as the one on the reader are copiled for 2.6.29.4 and our kernel does not want to load them. (I’ve already done a few tests but that will be a next posts’ topic.)&lt;br&gt;&#xA;But without the missing sources it will be hard for us to best use our e60 reader.&lt;/p&gt;&#xA;&lt;p&gt;Update: I got an answer from Samsung, they updated the released archive. I still have to look at it.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Serial console on Samsung E60 reader</title>
				<link>https://silicone.homelinux.org/en/2011/03/22/serial-console-on-samsung-e60-reader/</link>
				<pubDate>Tue, 22 Mar 2011 16:36:32 +0100</pubDate>
				<guid>https://silicone.homelinux.org/en/2011/03/22/serial-console-on-samsung-e60-reader/</guid>
				<description>&lt;p&gt;Thanks to some discounts last January in France, I got a Samsung E60 reader.&lt;/p&gt;&#xA;&lt;p&gt;A community started around the french forum (&lt;a href=&#34;http://forum.hardware.fr/hfr/gsmgpspda/tablet/unique-samsung-ebook-sujet_22344_1.htm&#34; hreflang=&#34;fr&#34;&gt;e60 – hardware.fr&lt;/a&gt;) and the google code (&lt;a href=&#34;http://code.google.com/p/e60-open/&#34;&gt;e60-open&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;There are many information there especially on the &lt;a href=&#34;http://code.google.com/p/e60-open/wiki/SerialConsole&#34;&gt;serial console&lt;/a&gt;. I own an USB to serial adapter that uses LVTTL 3.3V signals (based on FTDI FT2232C) so I choose to connect on R232 and R233. But RXD (R232) is already connected to the MAX232 chip that shift LVTTL levels to serial levels, and it seams that this chip is styronger than my FTDI… So I removed R232 to connect me FTDI there. Remains to know on which PAD ? Luckily the first one I tried was the one: the one on the battery side.&lt;/p&gt;&#xA;&lt;p&gt;A picture on my nice soldering:&lt;br&gt;&#xA;&lt;a href=&#34;https://silicone.homelinux.org/2011/03/22/console-serie-sur-liseuse-samsung-e60/e60-rs232-lvttl3.3.jpg&#34;&gt;&lt;img src=&#34;https://silicone.homelinux.org/2011/03/22/console-serie-sur-liseuse-samsung-e60/e60-rs232-lvttl3.3-detail.jpg&#34;&#xA;         srcset=&#34;https://silicone.homelinux.org/2011/03/22/console-serie-sur-liseuse-samsung-e60/e60-rs232-lvttl3.3-detail.jpg 400w, https://silicone.homelinux.org/2011/03/22/console-serie-sur-liseuse-samsung-e60/e60-rs232-lvttl3.3-detail-300x255.jpg 300w&#34;&#xA;         sizes=&#34;auto, (max-width: 400px) 100vw, 400px&#34;&#xA;         alt=&#34;E60 RS232 LVTTL 3.3V&#34; title=&#34;e60-rs232-lvttl3.3-detail&#34; width=&#34;400&#34; height=&#34;340&#34;&#xA;         class=&#34;alignnone size-full&#34;&#xA;         decoding=&#34;async&#34; fetchpriority=&#34;high&#34;&#xA;         loading=&#34;lazy&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;That was it. I then followed the &lt;a href=&#34;http://code.google.com/p/e60-open/wiki/HowToTestAKernel&#34;&gt;testing a kernel&lt;/a&gt; procedure thus loading the kernel image from the project’s SVN. And it worked ! (except that I had to unload the &lt;code&gt;secbulk&lt;/code&gt; module, so it’s either me or it’s useless).&lt;/p&gt;&#xA;&lt;p&gt;Next time, compiling and testing a Linux kernel.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Triage X Bugs of the Week (TXBW18)</title>
				<link>https://silicone.homelinux.org/en/2011/03/14/triage-x-bugs-of-the-week-txbw18/</link>
				<pubDate>Mon, 14 Mar 2011 11:17:27 +0100</pubDate>
				<guid>https://silicone.homelinux.org/en/2011/03/14/triage-x-bugs-of-the-week-txbw18/</guid>
				<description>&lt;p&gt;Better later than never, I restarted to triage last week, here is the report for it.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://bugs.debian.org/526095&#34;&gt;#526095&lt;/a&gt; ping &amp;amp; close – KVM switch change makes mouse stop working.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://bugs.debian.org/495139&#34;&gt;#495139&lt;/a&gt; upstream – cleanlinks: warning in “find” usage.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://bugs.debian.org/550308&#34;&gt;#550308&lt;/a&gt; ping – x11-apps: xedit search dialog shows garbage.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://bugs.debian.org/555647&#34;&gt;#555647&lt;/a&gt; ping – x11-xserver-utils: xrandr -o left leaves xdm, after I logout, unresponsive, with no login prompt.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;In the mean time, Cyril has been triaging a lot of bugs see &lt;a href=&#34;http://blog.ikibiki.org/2011/03/04/DXN-7/&#34;&gt;Debian XSF News #7&lt;/a&gt;.&lt;br&gt;&#xA;But there are still 533 bugs to triage.&lt;/p&gt;&#xA;&lt;p&gt;Mike Hommey recently wrote about &lt;a href=&#34;http://glandium.org/blog/?p=1817&#34;&gt;graphs for the Debian Bug Tracking System&lt;/a&gt;. In particular there is now a per maintainer graph, so here it the &lt;a href=&#34;http://qa.debian.org/data/bts/graphs/by-maint/debian-x@lists.debian.org.png&#34;&gt;X Strike Force bug graph&lt;/a&gt; ! (Note: the graph does not filter out some bugs as we do on UDD.&lt;/p&gt;&#xA;&lt;p&gt;The X Strike Force (still) needs you !&lt;/p&gt;&#xA;&lt;p&gt;You can have a look at the &lt;a href=&#34;http://wiki.debian.org/XStrikeForce/BugClosingProcedure&#34;&gt;X Strike Force Bug Closing Procedure&lt;/a&gt; and check &lt;a rel=&#34;nofollow&#34; href=&#34;http://udd.debian.org/bugs.cgi?release=sid&amp;patch=ign&amp;pending=ign&amp;security=ign&amp;wontfix=ign&amp;upstream=ign&amp;forwarded=ign&amp;claimed=ign&amp;deferred=ign&amp;notmain=&amp;notsqueeze=&amp;base=&amp;standard=&amp;merged=ign&amp;done=ign&amp;outdatedsqueeze=&amp;outdatedsid=&amp;needmig=&amp;newerubuntu=&amp;fnewer=&amp;fnewerval=7&amp;xsf=1&amp;sortby=last_modified&amp;sorto=asc&amp;cseverity=1&amp;ctags=1&#34;&gt;XSF unstable bugs sorted by date&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Benchmarking microSD</title>
				<link>https://silicone.homelinux.org/en/2011/03/12/benchmarking-microsd/</link>
				<pubDate>Sat, 12 Mar 2011 22:38:50 +0100</pubDate>
				<guid>https://silicone.homelinux.org/en/2011/03/12/benchmarking-microsd/</guid>
				<description>&lt;p&gt;First, I didn’t ask manufacturers for free cards to run my tests, so this test is not comprehensive. In fact I’m only comparing two cards!&lt;br&gt;&#xA;My brother and I bought some microSD SDHC 16G cards: one from SanDisk and one from Kingstone. We picked branded cards to ensure we had good performances.&lt;/p&gt;&#xA;&lt;h3 id=&#34;testing-method&#34;&gt;Testing method&lt;/h3&gt;&#xA;&lt;p&gt;I was trying to define my test procedures, like copying several kind of file, when I found this blog: &lt;a href=&#34;http://grigio.org/microsd_class_6_performance_benchmarks&#34;&gt;MicroSD class 6 Performance Benchmarks&lt;/a&gt;. He is using a tool from the GNOME desktop: &lt;code&gt;palimpsest&lt;/code&gt;.&lt;br&gt;&#xA;Well this tool doesn’t want to test cards if it detects a partition table on it. The above blog proposed to erase the card with the following command:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;dd if=/dev/zero of=/dev/sdb&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Erasing an SD card that way is probably not a so good idea. Especially when you know that the “erased” state of a flash is with all bits set to 1, so writing 0 everywhere is more like filling than erasing…&lt;br&gt;&#xA;But I didn’t had this thoughts when I ran the test, so I went with:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sync; date; sudo time dd if=/dev/zero of=/dev/sdb; sync; date&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Calls to &lt;code&gt;date&lt;/code&gt; gives a first write time estimate, but in fact, &lt;code&gt;dd&lt;/code&gt; gives some statistics so it was really not necessary.&lt;/p&gt;&#xA;&lt;p&gt;Then the test itself:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;LANG=C palimpsest&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Beware when choosing and USB port for a SDHC adapter, if your kernel traces (&lt;code&gt;dmesg&lt;/code&gt;) shows the following line you need to pick another port!&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;not running at top speed; connect to a high speed hub&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;OK, enough blah …&lt;/p&gt;&#xA;&lt;h3 id=&#34;the-results&#34;&gt;The results&lt;/h3&gt;&#xA;&lt;h4 id=&#34;kingston-microsd-16g-sdhc-class-4&#34;&gt;Kingston microSD 16G SDHC Class 4&lt;/h4&gt;&#xA;&lt;p&gt;&lt;code&gt;dd&lt;/code&gt; results: 15997075456 bytes (16 GB) copied in 6491.87 s (1h48) or 2.5 MB/s.&lt;/p&gt;&#xA;&lt;p&gt;Reading performance (blue line):&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Minimum read rate: 18.6 MB/s&lt;/li&gt;&#xA;&lt;li&gt;Maximum read rate: 20.9 MB/s&lt;/li&gt;&#xA;&lt;li&gt;Average read rate: 18.9 MB/s&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Writing performance (red line):&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Minimum write rate: 1.7 MB/s&lt;/li&gt;&#xA;&lt;li&gt;Maximum write rate: 4.7 MB/s&lt;/li&gt;&#xA;&lt;li&gt;Average write rate: 2.4 MB/s&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Average access time: 2.2ms (green line)&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://silicone.homelinux.org/2011/03/12/test-comparatif-de-microsd/kingstone-16G.png&#34;&gt;&lt;img src=&#34;https://silicone.homelinux.org/2011/03/12/test-comparatif-de-microsd/kingstone-16G-graph.png&#34;&#xA;         srcset=&#34;https://silicone.homelinux.org/2011/03/12/test-comparatif-de-microsd/kingstone-16G-graph.png 400w, https://silicone.homelinux.org/2011/03/12/test-comparatif-de-microsd/kingstone-16G-graph-300x120.png 300w&#34;&#xA;         sizes=&#34;auto, (max-width: 400px) 100vw, 400px&#34;&#xA;         alt=&#34;kingstone microSD 16G performance graph&#34; title=&#34;kingstone microSD 16G performance graph&#34; width=&#34;400&#34; height=&#34;160&#34;&#xA;         class=&#34;alignnone size-full&#34;&#xA;         decoding=&#34;async&#34; fetchpriority=&#34;high&#34;&#xA;         loading=&#34;lazy&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;sandisk-microsd-16g-sdhc-classe-4&#34;&gt;SanDisk microSD 16G SDHC Classe 4&lt;/h4&gt;&#xA;&lt;p&gt;&lt;code&gt;dd&lt;/code&gt; results: 15931539456 bytes (16 GB) copied en 4934.48 s (1h22) or 3.2 MB/s&lt;/p&gt;&#xA;&lt;p&gt;Reading performance (blue line):&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Minimum read rate: 20.6 MB/s&lt;/li&gt;&#xA;&lt;li&gt;Maximum read rate: 21.1 MB/s&lt;/li&gt;&#xA;&lt;li&gt;Average read rate: 21.0 MB/s&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Writing performance (red line):&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Minimum write rate: 1.3 MB/s&lt;/li&gt;&#xA;&lt;li&gt;Maximum write rate: 5.7 MB/s&lt;/li&gt;&#xA;&lt;li&gt;Average write rate: 2.4 MB/s&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Average access time: 1.6ms (green line)&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://silicone.homelinux.org/2011/03/12/test-comparatif-de-microsd/SanDisk-16G.png&#34;&gt;&lt;img src=&#34;https://silicone.homelinux.org/2011/03/12/test-comparatif-de-microsd/SanDisk-16G-graph.png&#34;&#xA;         srcset=&#34;https://silicone.homelinux.org/2011/03/12/test-comparatif-de-microsd/SanDisk-16G-graph.png 400w, https://silicone.homelinux.org/2011/03/12/test-comparatif-de-microsd/SanDisk-16G-graph-300x120.png 300w&#34;&#xA;         sizes=&#34;auto, (max-width: 400px) 100vw, 400px&#34;&#xA;         alt=&#34;SanDisk microSD 16G performance graph&#34; title=&#34;SanDisk microSD 16G performance graph&#34; width=&#34;400&#34; height=&#34;160&#34;&#xA;         class=&#34;alignnone size-full&#34;&#xA;         decoding=&#34;async&#34;&#xA;         loading=&#34;lazy&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;conclusion&#34;&gt;Conclusion&lt;/h3&gt;&#xA;&lt;p&gt;Those two cards are similar with a light advantage for the SanDisk one.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
