<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>OSTalks &#187; kernel</title>
	<atom:link href="http://www.ostalks.com/tag/kernel/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ostalks.com</link>
	<description>Open Source, Operating Systems, Offtopic Stuff!</description>
	<lastBuildDate>Fri, 04 Nov 2011 13:16:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>2.6.32.9 tun.ko armv6 module for Z71 variants (froyo)</title>
		<link>http://www.ostalks.com/2011/03/23/2-6-32-9-tun-ko-armv6-module-for-z71-variants-froyo/</link>
		<comments>http://www.ostalks.com/2011/03/23/2-6-32-9-tun-ko-armv6-module-for-z71-variants-froyo/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 04:30:28 +0000</pubDate>
		<dc:creator>clintcan</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Cherry Mobile]]></category>
		<category><![CDATA[Commtiva Z71]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[kernel 2.6.32.9]]></category>
		<category><![CDATA[Nova]]></category>
		<category><![CDATA[openvpn]]></category>

		<guid isPermaLink="false">http://www.ostalks.com/?p=517</guid>
		<description><![CDATA[Short post. This is tested in the Bakpia mod kernel (2.6.32.9), module compiled from the rmcc github kernel 2.6.32.9 branch located here. Compiled in a CentOS 5.3 environment with android ndk and sdk installed. Anyways, copy the module to /system/lib/modules do an insmod tun.ko to run the module and tunneling is all set. You can [...]]]></description>
			<content:encoded><![CDATA[<p>Short post.</p>
<p>This is tested in the Bakpia mod kernel (2.6.32.9), module compiled from the rmcc github kernel 2.6.32.9 branch located <a href="https://github.com/rmcc/commtiva-kernel-z71/tree/android-msm-2.6.32"><u>here.</u></a></p>
<p><a href="http://www.ostalks.com/wp-content/uploads/2011/03/tun-spec-armv6.jpg" rel="ibox"><img src="http://www.ostalks.com/wp-content/uploads/2011/03/tun-spec-armv6.jpg" alt="" title="tun spec armv6" width="765" height="519" class="alignnone size-full wp-image-518" /></a></p>
<p>Compiled in a CentOS 5.3 environment with android ndk and sdk installed.</p>
<p><a href="http://www.ostalks.com/wp-content/uploads/2011/03/adb-shell.jpg" rel="ibox"><img src="http://www.ostalks.com/wp-content/uploads/2011/03/adb-shell.jpg" alt="" title="adb shell" width="693" height="359" class="alignnone size-full wp-image-519" /></a></p>
<p>Anyways, copy the module to /system/lib/modules do an insmod tun.ko to run the module and tunneling is all set.  You can now use Openvpn downloaded from the Market.</p>
<p><a href='http://www.ostalks.com/wp-content/uploads/2011/03/tun.zip'><u>Download here.</u></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ostalks.com/2011/03/23/2-6-32-9-tun-ko-armv6-module-for-z71-variants-froyo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to compile tun.ko For Android (Commtiva Z71)</title>
		<link>http://www.ostalks.com/2011/03/21/how-to-compile-tun-ko-for-android-commtiva-z71/</link>
		<comments>http://www.ostalks.com/2011/03/21/how-to-compile-tun-ko-for-android-commtiva-z71/#comments</comments>
		<pubDate>Sun, 20 Mar 2011 21:45:13 +0000</pubDate>
		<dc:creator>clintcan</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[cherry mobile nova]]></category>
		<category><![CDATA[Commtiva Z71]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[openvpn]]></category>
		<category><![CDATA[tun.ko]]></category>

		<guid isPermaLink="false">http://www.ostalks.com/?p=511</guid>
		<description><![CDATA[I've been too busy these days to compile a kernel module for android.

For those who want to compile a tun.ko kernel for Android (a commtiva z71 variant), here are the general steps.  You need a linux environment to compile this module.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been too busy these days to compile a kernel module for android.</p>
<p>For those who want to compile a tun.ko kernel for Android (a commtiva z71 variant), here are the general steps.  You need a linux environment to compile this module.</p>
<p>1. Download the kernel and supporting files for commtiva z71 devices here: <a href="https://opensource.motorola.com/sf/frs/do/viewRelease/projects.quenchxt/frs.xt5.xt502">https://opensource.motorola.com/sf/frs/do/viewRelease/projects.quenchxt/frs.xt5.xt502</a> and extract it to a directory of your choice.<br />
2. Download the SDK and NDK for android: <a href="http://developer.android.com/sdk/ndk/index.html">http://developer.android.com/sdk/ndk/index.html</a> and <a href="http://developer.android.com/sdk/index.html">http://developer.android.com/sdk/index.html</a><br />
3. Copy config.gz from your phone and place it into your kernel source folder.  To get it from your phone, type:<br />
adb pull /proc/config.gz .<br />
gunzip config.gz<br />
mv config .config<br />
4. Edit .config so as TUN module will be included into the kernel:<br />
CONFIG_TUN=m<br />
5. Run uname to get running kernel version of your phone:<br />
uname -a<br />
Linux localhost 2.6.32.9 #7 PREEMPT Tue Jan 4 16:51:45 CST 2011 arv61 GNU/Linux<br />
6. If there was some extra characters in your kernel version, like 2.6.32.9-063c4d24, you&#8217;d have to edit the Makefile to use the corresponding version:<br />
EXTRAVERSION = -063c4d24<br />
7. Set your environment variables:<br />
export ARCH=arm<br />
export CROSS_COMPILE=arm-eabi-<br />
export PATH=$PATH:~[path of your arm-eabi compile toolkit binary in android ndk]<br />
8. cd to your kernel folder and make modules<br />
cd ~[path of your kernel source]<br />
make modules</p>
<p>Resulting tun.ko should be in the drivers/net folder of your kernel source.</p>
<p>Just beware, it is not for the fainthearted.</p>
<p>Further information:<br />
<a href="http://android-dls.com/wiki/index.php?title=Build_a_custom_kernel">http://android-dls.com/wiki/index.php?title=Build_a_custom_kernel</a><br />
<a href="http://forum.androidcentral.com/htc-hero-rooting-roms-hacks/8072-how-build-your-own-kernel-package-source.html">http://forum.androidcentral.com/htc-hero-rooting-roms-hacks/8072-how-build-your-own-kernel-package-source.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ostalks.com/2011/03/21/how-to-compile-tun-ko-for-android-commtiva-z71/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Greg Kroah-Hartman: Android and the Linux kernel community</title>
		<link>http://www.ostalks.com/2010/02/04/greg-kroah-hartman-android-and-the-linux-kernel-community/</link>
		<comments>http://www.ostalks.com/2010/02/04/greg-kroah-hartman-android-and-the-linux-kernel-community/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 05:41:09 +0000</pubDate>
		<dc:creator>clintcan</dc:creator>
				<category><![CDATA[Off Topic Stuff]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[Cris Dibona]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Greg Kroah-Hartman]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[N900]]></category>
		<category><![CDATA[nokia]]></category>

		<guid isPermaLink="false">http://www.ostalks.com/?p=232</guid>
		<description><![CDATA[An interesting development happened during the release of the 2.6.33 linux kernel and generated some heated discussions on the lwn comments section. The android code in the linux kernel tree was deleted. Why was it deleted? Greg Kroah-Hartman in his blog stated in a nutshell that: In short, no one cared about the code, so [...]]]></description>
			<content:encoded><![CDATA[<p>An interesting development happened during the release of the 2.6.33 linux kernel and generated some heated discussions on the <a href="http://lwn.net/Articles/372419/#Comments">lwn comments section</a>.  The android code in the linux kernel tree was deleted.</p>
<p>Why was it deleted? Greg Kroah-Hartman in his <a href="http://www.kroah.com/log/linux/android-kernel-problems.html">blog</a> stated in a nutshell that:</p>
<blockquote><p>In short, no one cared about the code, so it was removed. As I&#8217;ve stated before, code in the staging tree needs to be worked on to be merged to the main kernel tree, or it will be deleted.</p></blockquote>
<p>There was a more serious problem though, as stated by Greg:</p>
<blockquote><p>Now branches in the Linux kernel source tree are fine and they happen with every distro release. But this is much worse. Because Google doesn&#8217;t have their code merged into the mainline, these companies creating drivers and platform code are locked out from ever contributing it back to the kernel community. The kernel community has for years been telling these companies to get their code merged, so that they can take advantage of the security fixes, and handle the rapid API churn automatically. And these companies have listened, as is shown by the larger number of companies contributing to the kernel every release.</p>
<p>But now they are stuck. Companies with Android-specific platform and drivers can not contribute upstream, which causes these companies a much larger maintenance and development cycle.</p></blockquote>
<p>On the lwn comments section, Greg further stated that a number of hardware companies approached the kernel development community for help due to this problem.</p>
<p>Apparently part of the problem is the problem is that Google created a new kernel core infrastructure which in order for it to be placed into the mainline kernel, numerous changes in kernel and userspace have to be done.  Google has essentially created a fork of the kernel.</p>
<p>Cris DiBona stated:</p>
<blockquote><p>To sum up: I think that Android is an unusual use of Linux that doesn&#8217;t match up with what is normally done, and I think that a fork isn&#8217;t unwarranted in these cases. I should point out we didn&#8217;t use glibc , either, or a &#8216;standard&#8217; VM. We built android. </p></blockquote>
<p>The aforementioned fork was mostly in the implemention of wakelocks, a process of bringing a system out of various low power states.</p>
<p>Google found the current implementation inefficient, and due to time constraints and pressure to produce a product, made their own API implementation.</p>
<p>The downside of this is that in order for linux drivers new and current ones to work on Android, one has to hook up to the new wakelock mechanism.  This causes lots of distress in maintaining current userspace and kernelspace development.</p>
<p>It was generally agreed that the problems of power management was an issue that needed to be solved.  However, a number disagreed on the way that Google handled the solution, including the kernel developers.</p>
<blockquote><p>The reason mainline hasn&#8217;t accepted the wakelock infrastructure is that Google has still failed to demonstrate why it&#8217;s necessary. Almost identical benefits can be obtained using the kernel&#8217;s existing range timer functonality, which has the added bonus of removing the need for the strong userspace/kernel tying that Android requires right now.</p></blockquote>
<p>Interestingly enough, Nokia handled the problem more maturely than Google.  Whereareas, Google basically sent a large number of patches and left it hanging, one user noted:</p>
<blockquote><p>I can&#8217;t remember significant interaction between Google Android developers and mainline kernel developers before early 2009. Contrast that to Nokia who have been *all over* the kernel upstreaming their OMAP patches for the N8xx and N900.</p></blockquote>
<p>It was further noted that:</p>
<blockquote><p>But they both have to solve the same problems (power management) and the fact that Nokia seems to get good battery life out of their devices appears at first glance to be a counterpoint to the necessity of wakelocks.</p></blockquote>
<p>The discussion went on, without resolution.  Time will tell if the Android code will be resubmitted back to the kernel, and the issues that hamper it being in the mainline kernel tree will be resolved and taken care of.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ostalks.com/2010/02/04/greg-kroah-hartman-android-and-the-linux-kernel-community/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

