pstglia
2014-08-31 20:18:36 UTC
Hi everybody,
I'm sharing with you an experimental kernel 3.16 modded for Android-x86.
Basically, the job was diff released kernel.org src with android x86
kernel, compared the changes and created patches to apply on 3.16.
Also used experimental kernel 3.14 released from AOSP to ensure which
changes were related to Android.
Some extra changes were required in order to compile and run it (listed
some of then in the end of this post)
In the systems I tested (AMD A10 5800K / Celeron E3300 with Nvidia GT630)
most of basic functions worked (watching videos, surfing at Web, etc).
Nouveau performs a bit better with this kernel than the previous one
(3.10.x), due the driver changes inside kernel. I noted a big difference
playing videos.
Currently, wifi network is not working (unable to store keys /authenticate
- appears to be related to wpa-supplicant). Haven't tested with open
networks.
Wired network is working.
**********************************************************************
*WARNING: If you want to give a try on it, keep in mind that:*
* - These changes may contain bugs that can DAMAGE your hardware and cause
DATA LOSS.*
* - Some hacks were made to bypass some security. So this may EXPOSE your
machine and network.*
*Use it AT YOUR OWN RISK. YOU WERE ADVISED*
**********************************************************************
If you want to build your system with these changes, here's 2 alternatives
1) Applying patches:
1.1) Download kernel 3.16 source (from kernel.org) and unpack it
1.2) Copy the attached patches to the download kernel directory
1.3) Apply them with "patch -p0 < patch_file_name". Each patch will modify
files from the correspondent directory (kernel, arch, drivers, etc)
1.4) Copy Android.mk file from Android-x86 kernel dir (ANDROID_SRC/kernel)
to your downloaded kernel directory
1.5) Replace current Android-x86 kernel directory (ANDROID_SRC/kernel) by
your patched 3.16
1.6) Clean previous build and start compilation
2) Ready modded kernel
2.1) Download modded kernel source from here:
https://drive.google.com/file/d/0BxO6THtB865fNFFRYzdCbDM2X3M/edit?usp=sharing
2.2) replace your existing kernel dir (ANDROID_SRC/kernel), clean up
previous build and kick in.
* * *
There is an ISO I built to test on my hardware. It's using mesa 10.1.5 and
is intended for Radeon (non CGN) and Nvidia GPUs (This won't work for Intel
GPU users)
https://drive.google.com/file/d/0BxO6THtB865fZXM0bER4TUdvUlk/edit?usp=sharing
* * *
Some of the "ugly" hacks made:
- net/ipv4/tcp.c: Commented reference to rcv_saddr on ipv6 code
/*s6 = &inet->pinet6->rcv_saddr;
if (ipv6_addr_type(s6) == IPV6_ADDR_MAPPED)
continue;*/
- drivers/input/evdev.c: Removed call to wake_lock_destroy
/*if (client->use_wake_lock)
wake_lock_destroy(&client->wake_lock);*/
- Disabled NETFILTER_XT_MATCH_QTAGUID parameter on kernel config to avoid
errors related to xt_qtaguid.c
- drivers/gpu/drm/drm_drv.c: ignored return from drm_ioctl_permit
(permition check for drm ioctl, based on extra permissions,
like CAP_SYS_ADMIN/DRM_AUTH
I attached a file with some personal notes:
"estudos_loucos_kernel_android_20140809.txt" (In Portuguese)
* * *
Have fun.
pstglia
I'm sharing with you an experimental kernel 3.16 modded for Android-x86.
Basically, the job was diff released kernel.org src with android x86
kernel, compared the changes and created patches to apply on 3.16.
Also used experimental kernel 3.14 released from AOSP to ensure which
changes were related to Android.
Some extra changes were required in order to compile and run it (listed
some of then in the end of this post)
In the systems I tested (AMD A10 5800K / Celeron E3300 with Nvidia GT630)
most of basic functions worked (watching videos, surfing at Web, etc).
Nouveau performs a bit better with this kernel than the previous one
(3.10.x), due the driver changes inside kernel. I noted a big difference
playing videos.
Currently, wifi network is not working (unable to store keys /authenticate
- appears to be related to wpa-supplicant). Haven't tested with open
networks.
Wired network is working.
**********************************************************************
*WARNING: If you want to give a try on it, keep in mind that:*
* - These changes may contain bugs that can DAMAGE your hardware and cause
DATA LOSS.*
* - Some hacks were made to bypass some security. So this may EXPOSE your
machine and network.*
*Use it AT YOUR OWN RISK. YOU WERE ADVISED*
**********************************************************************
If you want to build your system with these changes, here's 2 alternatives
1) Applying patches:
1.1) Download kernel 3.16 source (from kernel.org) and unpack it
1.2) Copy the attached patches to the download kernel directory
1.3) Apply them with "patch -p0 < patch_file_name". Each patch will modify
files from the correspondent directory (kernel, arch, drivers, etc)
1.4) Copy Android.mk file from Android-x86 kernel dir (ANDROID_SRC/kernel)
to your downloaded kernel directory
1.5) Replace current Android-x86 kernel directory (ANDROID_SRC/kernel) by
your patched 3.16
1.6) Clean previous build and start compilation
2) Ready modded kernel
2.1) Download modded kernel source from here:
https://drive.google.com/file/d/0BxO6THtB865fNFFRYzdCbDM2X3M/edit?usp=sharing
2.2) replace your existing kernel dir (ANDROID_SRC/kernel), clean up
previous build and kick in.
* * *
There is an ISO I built to test on my hardware. It's using mesa 10.1.5 and
is intended for Radeon (non CGN) and Nvidia GPUs (This won't work for Intel
GPU users)
https://drive.google.com/file/d/0BxO6THtB865fZXM0bER4TUdvUlk/edit?usp=sharing
* * *
Some of the "ugly" hacks made:
- net/ipv4/tcp.c: Commented reference to rcv_saddr on ipv6 code
/*s6 = &inet->pinet6->rcv_saddr;
if (ipv6_addr_type(s6) == IPV6_ADDR_MAPPED)
continue;*/
- drivers/input/evdev.c: Removed call to wake_lock_destroy
/*if (client->use_wake_lock)
wake_lock_destroy(&client->wake_lock);*/
- Disabled NETFILTER_XT_MATCH_QTAGUID parameter on kernel config to avoid
errors related to xt_qtaguid.c
- drivers/gpu/drm/drm_drv.c: ignored return from drm_ioctl_permit
(permition check for drm ioctl, based on extra permissions,
like CAP_SYS_ADMIN/DRM_AUTH
I attached a file with some personal notes:
"estudos_loucos_kernel_android_20140809.txt" (In Portuguese)
* * *
Have fun.
pstglia
--
You received this message because you are subscribed to the Google Groups "Android-x86" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-x86+***@googlegroups.com.
To post to this group, send email to android-***@googlegroups.com.
Visit this group at http://groups.google.com/group/android-x86.
For more options, visit https://groups.google.com/d/optout.
You received this message because you are subscribed to the Google Groups "Android-x86" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-x86+***@googlegroups.com.
To post to this group, send email to android-***@googlegroups.com.
Visit this group at http://groups.google.com/group/android-x86.
For more options, visit https://groups.google.com/d/optout.