Related
Dear all,
Did anyone succeed extracting kernel configuration from I9000XXJP3? Kernel version is 2.6.32.9, the vermagic is "2.6.32.9 mod_unload ARMv7"
extract-ikconfig doesn't work on it.
I succeeded extracting a zImage gzipped payload, but it seems not to contain any configuration in it (see attached).
/proc/config.gz doesn't exist, Samsung open source package (downloaded from Samsung open source site) contains only Android 2.1 Eclair or previous versions.
My target is to build tun.ko and, eventually, ext3/ext4 modules to make them working in Samsung Galaxy S I9000 with rooted I9000XXJP3.
Any idea?
Without froyo source code or a good Samsung Kernel (es. for himem capable) I think is impossible to play good with theses beta roms.
Ciao
Any news? I need tun.ko for jp3 too..
I have tried to compile the 2.6.32.9 kernel editing the .config in 2.6.9, the module tun.ko is accepted by the device, but I get a kernel panic!
redsh said:
I have tried to compile the 2.6.32.9 kernel editing the .config in 2.6.9, the module tun.ko is accepted by the device, but I get a kernel panic!
Click to expand...
Click to collapse
Did you use the stock linux kernel? Or the common from android.kernel.org?
I'm trying the same thing actually. Isn't there any default config for the processor that might work? I tried with the config from .29 but when loading the module it says wrong format.
try to build 2.6.32 with the 2.6.29 config ("yes" all missing stuff)
turn on your galaxy, adb push the tun.ko
try to load it, it will say "missing symbols" blabla
find the config options that match those symbols, enable them, recompile, try again
Great to see some people who are hacking the kernel! Keep it up!
But I'm afraid it is not going to be as easy as dropping aries_rev03_defconfig as .config in a 2.6.32 kernel tree and doing 'make oldconfig'. That's because many of Samsung's changes have not been included in the newer mainline kernel versions yet.
Samsung added quite a lot of low-level board support for their dev boards (and for the SGS, of course), did some customization and added a few drivers which you will need to forward-port to the newer kernel.
Please have a look at this thread, in which I've started a breakdown of the Samsung patches against Android Eclair's 2.6.29 kernel.
The best course of action I think is to git clone Android's kernel from AOSP, checkout the android-2.6.29 branch, apply Samsung's patches to that, then attempt to rebase your tree to a newer kernel version. (Note, you may want to start with small steps, to get a feel for what you're up against )
Note that there probably will be lots of merge conflicts which you need to resolve, and after dealing with all those, you also have to make sure that everything else that's merged still works as expected, but at least that will show you the amount of work involved. You will basically be doing all the work that Samsung is doing right now for their kernel for FroYo. It will be interesting to follow their progress on the mailing lists and on IRC.
bilboa1 said:
try to build 2.6.32 with the 2.6.29 config ("yes" all missing stuff)
turn on your galaxy, adb push the tun.ko
try to load it, it will say "missing symbols" blabla
find the config options that match those symbols, enable them, recompile, try again
Click to expand...
Click to collapse
Thats exactly what I did, but I got wrong module format... which is a fatal error. I need to invest further in the used config... maybe i did not pick up the right one properly..
miki4242 said:
Great to see some people who are hacking the kernel! Keep it up!
But I'm afraid it is not going to be as easy as dropping aries_rev03_defconfig as .config in a 2.6.32 kernel tree and doing 'make oldconfig'. That's because many of Samsung's changes have not been included in the newer mainline kernel versions yet.
Samsung added quite a lot of low-level board support for their dev boards (and for the SGS, of course), did some customization and added a few drivers which you will need to forward-port to the newer kernel.
Please have a look at this thread, in which I've started a breakdown of the Samsung patches against Android Eclair's 2.6.29 kernel.
The best course of action I think is to git clone Android's kernel from AOSP, checkout the android-2.6.29 branch, apply Samsung's patches to that, then attempt to rebase your tree to a newer kernel version. (Note, you may want to start with small steps, to get a feel for what you're up against )
Note that there probably will be lots of merge conflicts which you need to resolve, and after dealing with all those, you also have to make sure that everything else that's merged still works as expected, but at least that will show you the amount of work involved. You will basically be doing all the work that Samsung is doing right now for their kernel for FroYo. It will be interesting to follow their progress on the mailing lists and on IRC.
Click to expand...
Click to collapse
Yes that would be a lot of work. Maybe its better to just wait until they release the kernel from froyo. I read that they release their opensource stuff rather fast. But just for adding a module like ext4 I don't think you need those patches, because imho they didn't touch the fs of the kernel. We just need an adaquate kernel config and adding modules should be possible.
Phlogiston said:
Thats exactly what I did, but I got wrong module format... which is a fatal error. I need to invest further in the used config... maybe i did not pick up the right one properly..
Click to expand...
Click to collapse
Make sure you're using the same kernel version number and build number, because samsung kernels do not have the option to load incorrect module versions
Yes i've set the subversion as well but without the patches from samsung its impossible it seems. We need to wait and hope that they release the froyo kernel sources soon....
bilboa1 said:
Make sure you're using the same kernel version number and build number, because samsung kernels do not have the option to load incorrect module versions
Click to expand...
Click to collapse
Are you sure they set CONFIG_MODVERSIONS? It's off in the downloadable sources.
Just compare the output of `modinfo -F vermagic <yourmodule>` to `modinfo -F vermagic <modulewhichloads>` or to /proc/version .
did this get solved yet? I google'd for the tun.ko file for my i9000 using jp3 but nothing yet... if you have a proper one for the MoDaCo version here please attach it! ~
I think I saw someone's post with tun.ko for FroYo beta somewhere in these forums, I mean i9000 Android Dev. One of the guys here has found a way to compile kernel for jp* here. I am sure.
I actually found it attached somewhere in the forum and it was 1,5447 mb big I think it was... but it still didn't work for me so I presumed the kernel or something must have been wrong.
This thread is for the developing of the JourneymanMod Kernel project.
For now we are in version 3. Its working great, charging while in OTG, and recoginizes if there is a charger connected or if its default OTG cable.
REMEMBER: It will only charge if you power the hub BEFORE connecting to the phone, if you connect to phone and then power the hub it wont connect.
In the attachments are 3 zip files.
We got version 4.1.1 of yakju and takju. And version 4.1.2 of yakju.
all of them are working nice.
This project will be for enabling OTG + Power, since the stock kernel dont enable charging the phone while in OTG mode.
For helping the project, or just following the news, we created an irc channel (##JourneymanMod).
The source-code of the project will be located at the github (https://github.com/caioketo/journeymanmod).
Was just googling to see if this was possible. Ordered my cable a week ago, waiting for it, & was worried that my time with usb otg would be limited by battery. Great mod! Thank you! Can't wait to try.
---------- Post added at 01:49 AM ---------- Previous post was at 01:20 AM ----------
Anyone interested in this, this is the cable I ordered. Hope it works. Clearly a normal usb otg cable would have nowhere to attach power :
URL: http://www.ebay.com/itm/Micro-USB-H...ng-phone-i9100-i9300-i9220-9250-/251127542280
THX.....................
possibl to develop same thg on n7?
Looks great! I'm about to try. Thank you!
psycho2097 said:
possibl to develop same thg on n7?
Click to expand...
Click to collapse
You should read this thread http://rootzwiki.com/topic/30615-can...imultaneously/ and I'm sure it can be done, I will try it when my N7 arrives...
Sure it is possible with others phone/tablets only need time and ppl to de xD
Almost done with the build envoriment, soon should be the firsts beta releases.
Sent from my Galaxy Nexus using xda app-developers app
caioketo said:
Sure it is possible with others phone/tablets only need time and ppl to de xD
Almost done with the build envoriment, soon should be the firsts beta releases.
Click to expand...
Click to collapse
Totally sweet! Thanks for your work on this...
friedCELLS said:
Totally sweet! Thanks for your work on this...
Click to expand...
Click to collapse
first we need this to work on gnex, then we can think about porting to others devices.
but I have faith we can make it.
The version 3 is released!
Hope you guys enjoin.
Credits to highvista.
Add to GNex CM10/CM10.1??
Would the dev be willing to submit a patch to the Galaxy Nexus CM10/CM10.1 project to enable this feature? I am not sure if this kernel could be used as a replacement for the stock CM10 kernel, but third-party kernels aren't supportable if there's a CM issue (hence my request to have it put in native CM10/10.1 kernel). Thanks!
Jim
CNLiberal said:
Would the dev be willing to submit a patch to the Galaxy Nexus CM10/CM10.1 project to enable this feature? I am not sure if this kernel could be used as a replacement for the stock CM10 kernel, but third-party kernels aren't supportable if there's a CM issue (hence my request to have it put in native CM10/10.1 kernel). Thanks!
Jim
Click to expand...
Click to collapse
Sorry for the delay on responding. This thread hasn't been as active as the original one where the JourneymanMod kernel was first introduced.
I've not submitted a patch to CM previously but, if I can set myself up to do it properly, I definitely will.
It's amazing how easy it is to compile this into custom kernels. Looking forward to the fixed patch.
Sent from my Galaxy Nexus using Tapatalk 2
how do you activate this feature in the AOSP available kernel ? I mean do you actually have to incorporate other drivers or is it maybe just an option you can select with menuconfig ? And if so do you have by any chance the specific parameters that are added to the vanilla .config file ?
tigrone said:
how do you activate this feature in the AOSP available kernel ? I mean do you actually have to incorporate other drivers or is it maybe just an option you can select with menuconfig ? And if so do you have by any chance the specific parameters that are added to the vanilla .config file ?
Click to expand...
Click to collapse
There is a modified AOSP kernel source code file that needs to be replaced. After that, it's a matter of building the kernel with this modified source code and then installing this kernel onto your phone.
This thread is pretty dead. You can find an ongoing discussion and the current kernel distributions at
http://forum.xda-developers.com/showthread.php?t=1835720
The kernels included in the ZIP archives are built as described above, from the AOSP kernel source.
I've fixed a bug in this kernel that occurs when detaching external USB power and am looking for some testing before I replace the current kernel distribution ZIP archives. If you're interested, check out the post and thread at http://forum.xda-developers.com/showpost.php?p=35910077&postcount=182. Thanks much.
caioketo said:
This thread is for the developing of the JourneymanMod Kernel project.
For now we are in version 3. Its working great, charging while in OTG, and recoginizes if there is a charger connected or if its default OTG cable.
REMEMBER: It will only charge if you power the hub BEFORE connecting to the phone, if you connect to phone and then power the hub it wont connect.
In the attachments are 3 zip files.
We got version 4.1.1 of yakju and takju. And version 4.1.2 of yakju.
all of them are working nice.
This project will be for enabling OTG + Power, since the stock kernel dont enable charging the phone while in OTG mode.
For helping the project, or just following the news, we created an irc channel (##JourneymanMod).
The source-code of the project will be located at the github (https://github.com/caioketo/journeymanmod).
Click to expand...
Click to collapse
2 Things:
1.I got CM10.1(Android 4.2.1) it will work?if not there is other solution?
2. There is something like that for Nexus7?(wifi)(CM10.1 Android 4.2.1 too)
elichai2 said:
2 Things:
1.I got CM10.1(Android 4.2.1) it will work?if not there is other solution?
2. There is something like that for Nexus7?(wifi)(CM10.1 Android 4.2.1 too)
Click to expand...
Click to collapse
1. No, it may boot but it will drain your battery and give you some issue. Other solution is try other kernel, if you want custom kernel with minimal customization try lean kernel.
2. I dont know about this
Sent from my Galaxy Nexus using Tapatalk 2
elichai2 said:
2 Things:
1.I got CM10.1(Android 4.2.1) it will work?if not there is other solution?
2. There is something like that for Nexus7?(wifi)(CM10.1 Android 4.2.1 too)
Click to expand...
Click to collapse
1. CM 10.1 doesn't include this kernel patch, as far as I know. I'd like to submit it for inclusion, but I'd need to test it, which means installing CM on my Galaxy Nexus, which I haven't wanted to do, since my GN is working very well under stock Android 4.1.2 with Journeyman Kernel V4.
2. Check out this thread on another web site
http://rootzwiki.com/topic/30615-can-you-charge-usb-host-mode-simultaneously/
I haven't followed this thread, but there was a lot of talk about a similar patch for the N7.
highvista said:
1. CM 10.1 doesn't include this kernel patch, as far as I know. I'd like to submit it for inclusion, but I'd need to test it, which means installing CM on my Galaxy Nexus, which I haven't wanted to do, since my GN is working very well under stock Android 4.1.2 with Journeyman Kernel V4.
2. Check out this thread on another web site
http://rootzwiki.com/topic/30615-can-you-charge-usb-host-mode-simultaneously/
I haven't followed this thread, but there was a lot of talk about a similar patch for the N7.
Click to expand...
Click to collapse
I actually have been testing your patch (even though in my own kernel), the results and some things I noticed I have posted on the thread you mentioned earlier when you announced you solved the bug that occurs when detaching external USB power...
Hope to see you there !
Sorry if this should be obvious, but I am new to kernel compiling and have searched with no luck.
Where is the wireless module located on the stock S3 ROMs? I have looked in /system/lib/modules and found a wlan.ko link to /system/lib/modules/prima/prima_wlan.ko - but the prima directory does not seem to exist, and searching the entire filesystem for prima_wlan.ko comes up with nothing.
I have also searched for the source to compile this driver module myself, to no avail. Is the source closed?
The rest of the details: I am running stock Jelly Bean T999UVDMD5 with root injected (mrRobinson's root66). I am trying to achieve CD-ROM emulation via USB so I can use DriveDroid. I have successfully applied the patches listed in the DriveDroid thread to the stock T-Mobile Jelly Bean kernel SGH-T999_JB_TMB source from Samsung. My compiled kernel boots and DriveDroid works. However, I have no wifi.
I have seen discussions that the original wireless .ko module can be copied over, and others that say it will not work unless it is compiled with the kernel to be used. I can't find the original or the means to compile it, as stated above. Any help is appreciated.
I'm not sure right off hand about the prima-wlan.ko.
But kernel source can be found at opensource.Samsung.com
Touchwiz source is closed.
Sent from my SGH-T999 using xda premium
DocHoliday77 said:
I'm not sure right off hand about the prima-woman.lo.
But kernel source can be found at opensource.Samsung.com
Click to expand...
Click to collapse
Yep that's the source that I patched.
Looks like wifi is already in the kernel build, but not enabled by default.
http://forum.xda-developers.com/showthread.php?p=42793761
Compiled again with
CFLAGS_MODULE=-fno-pic
and added
EXTRA_CFLAGS=-fno-pic
in the Makefile. (not sure if the second was needed) and wifi is working. Thanks to farhanito.
This is a test build I take no responsibility for what this may or may not do to your device.
Click to expand...
Click to collapse
NEED TESTERS
currently i don't have the device to test i will be getting my device in the next week .
Click to expand...
Click to collapse
1. Install CWM Recovery
2. Do Full Wipe If coming from another ROM
3. Flash ROM
4. Flash Google Apps (my recommendation is to install minipal gapps due to /system partition size limits)
5. Reboot
Click to expand...
Click to collapse
]Not Booting
Click to expand...
Click to collapse
Code:
[B]Source[/B]
Here are the device tree :
Device Tree (from cm13 Nexus 9) : https://github.com/vickdu31/android_device_xiaomi_mocha
Kernel Tree (from Xiaomi KK) : https://github.com/vickdu31/android_kernel_xiaomi_mocha
Vendor Tree (old Xiaomi KK) : https://github.com/vickdu31/android_vendor_xiaomi_mocha
Thank you
@faust93 for cwm
XDA:DevDB Information
CM-13, ROM for the Xiaomi Mi Pad
Contributors
Rohit99, tank0412, vickdu31
ROM OS Version: 6.0.x Marshmallow
Based On: CyanogenMod
Version Information
Status: Testing
Created 2016-12-10
Last Updated 2016-12-13
Reserved
Edit 1:initial build didn't boot for me, no adb can't get log
Ok im gonna try it.
If you want, i can leave logcat for you
OoSTARTERoO said:
Ok im gonna try it.
If you want, i can leave logcat for you
Click to expand...
Click to collapse
Can get logcat? Try please.
Ofc, it doesn't boot. And don't create threads without testing.
Sudeep Duhoon said:
Can get logcat? Try please.
Click to expand...
Click to collapse
unfortunately....I couldn't get logcat too...
Sudeep Duhoon said:
Can get logcat? Try please.
Click to expand...
Click to collapse
we can't get logcat. It doesn't boot, i mean there are problems with kernel or init scripts or both. Kernel needs patches.
Nihhaar said:
Ofc, it doesn't boot.
Click to expand...
Click to collapse
As I thought
Prebuilt kernel from cm11
Sudeep Duhoon said:
As I thought
Click to expand...
Click to collapse
hey can i use prebuilt kernel from cm11 source @Nihhaar
Rohit99 said:
hey can i use prebuilt kernel from cm11 source @Nihhaar
Click to expand...
Click to collapse
Always try to build kernel with source. I think you can't, but you can try.
Please edit the link in OP, its me who miswrote it... : /android_device_xioami_mocha --> /android_device_xiaomi_mocha
You need to fix up SELinux and the init scripts. Taking a shield tablet device tree, renaming things to mocha and changing the fstab isn't enough. As far as I can tell the shieldtablet device tree also has dependency on a shield common tree. There's also no value in creating a new thread each time you push new commits
Our kernel from Xiaomi is also pretty useless without commit history. The device tree is also from shield tablet, not Nexus 9.
We also have a tree for building TWRP with OmniROM that you can compile TWRP 3.0.2.0 with.
What kernel repo is upstream one for tegra android? Like CAF for quallcom.
I've tried to merge xiaomi changes on l4t kernel https://github.com/HighwayStar/android_kernel_xiaomi_mocha
Merged dts files and arch/boot/march-tegra with some required drivers, but still cant boot it. Found somewhere here that l4t kernels is not for android, but for GNU/Linux, but what kernel is for android?
Cyanogenmod's shield kernel?
highwaystar_ru said:
What kernel repo is upstream one for tegra android? Like CAF for quallcom.
I've tried to merge xiaomi changes on l4t kernel https://github.com/HighwayStar/android_kernel_xiaomi_mocha
Merged dts files and arch/boot/march-tegra with some required drivers, but still cant boot it. Found somewhere here that l4t kernels is not for android, but for GNU/Linux, but what kernel is for android?
Cyanogenmod's shield kernel?
Click to expand...
Click to collapse
git://nv-tegra.nvidia.com/linux-3.10.git
I used rel-tn8-l-r7-shieldtablet8 to make a start on doing this. You could also use android_kernel_shield from CyanogenMod repo as it comes from the same place. But it will have a lot of extra commits for things not useful for mocha.
Here's what I have so far:
https://github.com/harrynowl/nvidia_tegra-3.10
Harrynowl said:
git://nv-tegra.nvidia.com/linux-3.10.git
I used rel-tn8-l-r7-shieldtablet8 to make a start on doing this. You could also use android_kernel_shield from CyanogenMod repo as it comes from the same place. But it will have a lot of extra commits for things not useful for mocha.
Here's what I have so far:
https://github.com/harrynowl/nvidia_tegra-3.10
Click to expand...
Click to collapse
Oh, intresting, cloned same url, but started other branch l4t/l4t-r21.5.
What status of your tree? Cant boot? We need minimal bootable kernel to be able to get dmesg and make further progress.
highwaystar_ru said:
Oh, intresting, cloned same url, but started other branch l4t/l4t-r21.5.
What status of your tree? Cant boot? We need minimal bootable kernel to be able to get dmesg and make further progress.
Click to expand...
Click to collapse
Untested, been doing device bring up. That kernel won't work yet anyway it's missing atmel, synaptic and battery firmware. (Plus the code that goes with it)
Some devs have one that gets to recovery but only 1 CPU core can come online and the CPU gets a bit hot. Unfortunately their commit history is hard to follow so I've not had a proper look at it yet
My my...it's been a while since I've seen a cringe-worthy dev thread on XDA. So OP just used the device tree from Nexus 9 (a 64-bit device with a different processor and nothing in common with the Mi Pad other than the fact that they use Nvidia SoCs and are both tablets), unmodified KITKAT kernel sources from Xiaomi (which takes work to make it boot, even on KK) and KITKAT userspace blobs to compile the ROM, and for some reason decided to share it without testing. The 10-post rule is meant to keep such people out of the development sub-forums, but obviously that's not working.
I do not understand why the moderators are allowing this thread to remain open. It's just a thread by a wannabe dev offering a non-bootable ROM that has the potential to brick the devices of many newbies who may decide to try this.
This thread is even more useless than the other "DEVS-ONLY" thread someone else made. Honestly, the entire Mi Pad forum is filled with people who either expect Android 7.1.1 to magically appear on their tabs just because Xiaomi released outdated kernel sources or just wanna create threads like this for the "thanks or whatever". The never ask for ETA rule seems to just float over their heads.
Now to some useful information. I believe, even if we patch the kernel enough for it to theoretically boot cm13, it probably won't, considering the outdated userspace blobs for the Mi Pad. Unless someone has the knowledge to take their tab apart and figure out how to get UART data, it will be virtually impossible for the mi pad kernel to boot any new version of Android. I heard another interesting approach taken by some russian devs at the Xiaomi forums. They've managed to port the kernel from the Nvidia shield (and apparently it's booting). Now this would mean we can use the userspace blobs from the Shield to at least get the ROM booting (most peripherals won't work, but that's step 2). I do not know whether they use GitHub or if they've even open-sourced their work, but now we know that it's possible, so that could be a possible method of approach.
EDIT: LOL. I just read the OP again. The "dev" expects donations to help him work harder. This from a person who posted his way into somehow compiling his first Android build without even having the damn device.
drakonizer said:
My my...it's been a while since I've seen a cringe-worthy dev thread on XDA. So OP just used the device tree from Nexus 9 (a 64-bit device with a different processor and nothing in common with the Mi Pad other than the fact that they use Nvidia SoCs and are both tablets), unmodified KITKAT kernel sources from Xiaomi (which takes work to make it boot, even on KK) and KITKAT userspace blobs to compile the ROM, and for some reason decided to share it without testing. The 10-post rule is meant to keep such people out of the development sub-forums, but obviously that's not working.
I do not understand why the moderators are allowing this thread to remain open. It's just a thread by a wannabe dev offering a non-bootable ROM that has the potential to brick the devices of many newbies who may decide to try this.
This thread is even more useless than the other "DEVS-ONLY" thread someone else made. Honestly, the entire Mi Pad forum is filled with people who either expect Android 7.1.1 to magically appear on their tabs just because Xiaomi released outdated kernel sources or just wanna create threads like this for the "thanks or whatever". The never ask for ETA rule seems to just float over their heads.
Now to some useful information. I believe, even if we patch the kernel enough for it to theoretically boot cm13, it probably won't, considering the outdated userspace blobs for the Mi Pad. Unless someone has the knowledge to take their tab apart and figure out how to get UART data, it will be virtually impossible for the mi pad kernel to boot any new version of Android. I heard another interesting approach taken by some russian devs at the Xiaomi forums. They've managed to port the kernel from the Nvidia shield (and apparently it's booting). Now this would mean we can use the userspace blobs from the Shield to at least get the ROM booting (most peripherals won't work, but that's step 2). I do not know whether they use GitHub or if they've even open-sourced their work, but now we know that it's possible, so that could be a possible method of approach.
EDIT: LOL. I just read the OP again. The "dev" expects donations to help him work harder. This from a person who posted his way into somehow compiling his first Android build without even having the damn device.
Click to expand...
Click to collapse
I agree, this device has no development threads. Only 2 give me thanks and here's my donation link threads.
They have indeed used GitHub, but I don't believe they want to share the repo just yet so I won't post it publicly. It has many problems to sort and also sadly, they didn't keep the commit history from Nvidia as it was initialised via zip DL. It does boot to recovery though.
Harrynowl said:
I agree, this device has no development threads. Only 2 give me thanks and here's my donation link threads.
They have indeed used GitHub, but I don't believe they want to share the repo just yet so I won't post it publicly. It has many problems to sort and also sadly, they didn't keep the commit history from Nvidia as it was initialised via zip DL. It does boot to recovery though.
Click to expand...
Click to collapse
Oh! I didn't realize we were talking about the same person/team. I'd love to start developing for this device. In fact, I'm working on KEXEC-hardboot and Multirom right now, but I'd like to follow what you guys are doing and contribute as much as I can. Is there an IRC channel/IM app you guys use for communication? If so, I'd appreciate it if you could PM the info.
WARNING:
This is not a post targeted to end users. It is a development reference. If you expect any installable download or even added features out of this thread, please close your browser. Thank you.
What is Umbrella?
Umbrella is a project that aims to make the kernel sources that HMD released for Nokia 8 Sirocco (A1N) compatible with the Nokia 8 (NB1). The idea behind this is to replace the outdated 8.0 kernel sources that HMD released for NB1 with more up to date ones that are used in the 9.0 builds for Nokia 8 Sirocco.
Why do this, you might ask. Well, the answer is simple: The devices are so similar that HMD / FIH already have their kernel sources in a shared source tree. You can validate that yourself, by downloading the kernel config from a stock NB1 kernel (under /proc/config.gz), unpacking it, and searching for the commended entry "CONFIG_FIH_A1N". What umbrella does is take the sources that were released for A1N, readd all device specific files for NB1 (they were pruned) from it's original kernel soure, and integrate the stock kernel config (also called defconf) from NB1.
Doing this also lead to some other small quality of life improvements that are not directly relevant to an end user.
Umbrella contains the latest changes from linux-stable (v4.4.179 at the time of writing, compared to the stock v4.4.153), and Qualcomms Codeaurora upstream
The WiFi driver from Qualcomm is compiled directly into the kernel, instead of being loaded as a module. This allows you to flash umbrella based kernels to every build version while keeping everything else working correctly. The stock kernels use signature enforcement, which means that the wifi module that is loaded from the system partition has to be signed against the kernel, which is not the case for every custom kernel or even the kernels that were built for a different security patch.
Unlike the officially released kernel sources, umbrella does not have stupid typos in it's device trees that cause the phone to display white bars on all of your screen etc.
Umbrella disables the block that FIH put in place to prevent users from rebooting into EDL mode from within android (using adb reboot edl).
Umbrella also includes a patch that causes the device to not reset it's entire memory when the kernel crashes, therefore retaining the last kernel output log, which can be used for debugging
You can compile the kernel with compilers newer than GCC 4.9 (not clang though), without having it immideately crash at boot.
It includes a tool that automatically sets up a crosscompiling environment for the kernel.
What Umbrella is not
Umbrella is not a project to add significant new features, or the ability to tweak things beyond what the stock kernel already offers (which is technically not that bad). It aims to be a reference kernel, a base for (potentially) other kernels that are based on it and add those features. I know that that is kind of a broad goal, considering I am the only one who seems to do actual development for this phone, but who knows. Having a lower entry level might help in case someone is curious and wants to get into kernel hacking. And I would certainly be happy if I wasn't the only one developing for this device.
If you want Umbrella to contain features like:
Overclocking
More governors / schedulers / whatever
Color / Sound / whatever control
Wakelock blocking
etc. etc. etc.
then please Alt-F4 your browser right now. Ok, don't do that but at least please don't request it because it will make you get ignored, nothing else.
Why the name Umbrella?
While I developed the initial prototype I watched through 3 Resident Evil movies, and this is kinda a zombie project, so I think the name fits quite well.
Why are you posting this?
I am posting this because I am hoping that it will be useful for anyone that would like to get into kernel development and tweaking without the hassle that comes with setting up the kernel sources that are released by HMD.
But, one disclaimer: I am not a kernel developer. I am a curious CS student suffering from a bad mix of too much time and stupid ideas that solve stupid problems. I am trying my best to produce something useful and be of help, but please don't expect wonders from me, thanks.
Links?
Source: https://github.com/resident-nokia/umbrella
Download: None, this is a development reference.
Looks promising
Sent from my NB1 using XDA Labs
Nice. this will likely be useful in the future
Updated the umbrella source to the latest 4.4.180 kernel, and May 07 CAF tag (LA.UM.7.4.r1-05100-8x98.0). Also readded some NB1 specific code where it was missing (discovered by doing a diff against the 5140 kernel source that Nokia recently released).
Just in case anyone actually cares about it
THMSP said:
Updated the umbrella source to the latest 4.4.180 kernel, and May 07 CAF tag (LA.UM.7.4.r1-05100-8x98.0). Also readded some NB1 specific code where it was missing (discovered by doing a diff against the 5140 kernel source that Nokia recently released).
Just in case anyone actually cares about it
Click to expand...
Click to collapse
I do. Who knows, in a year's time I might have enough knowledge to build a custom Rom for this phone
Kernel sources which is used on pie has been released officially. Finally, we have an "original" kernel and we've got closed one more step to custom roms.
https://www.nokia.com/phones/en_int/opensource/
techno_man000 said:
Kernel sources which is used on pie has been released officially. Finally, we have an "original" kernel and we've got closed one more step to custom roms.
https://www.nokia.com/phones/en_int/opensource/
Click to expand...
Click to collapse
@THMSP it would be interesting to let us know how different is your kernel mod from the newly released official pie kernel for Nokia 8
MDV106 said:
@THMSP it would be interesting to let us know how different is your kernel mod from the newly released official pie kernel for Nokia 8
Click to expand...
Click to collapse
As I described here: https://forum.xda-developers.com/nokia-8/development/official-source-code-releases-nokia-8-t3930324, they are identical. The only difference are the device tree files (which still contain typos that break the display), and of course all modifications I made to the sirocco kernel source that Umbrella is based on (wifi driver, EDL mode reactivation, upstreaming, etc.)
THMSP said:
As I described here: https://forum.xda-developers.com/nokia-8/development/official-source-code-releases-nokia-8-t3930324, they are identical. The only difference are the device tree files (which still contain typos that break the display), and of course all modifications I made to the sirocco kernel source that Umbrella is based on (wifi driver, EDL mode reactivation, upstreaming, etc.)
Click to expand...
Click to collapse
So, are these new codes broken like 4.84?
techno_man000 said:
So, are these new codes broken like 4.84?
Click to expand...
Click to collapse
I wouldn't call Nokia sources broken, but I would call them incomplete, outdated and impractical to work with. And that hasn't changed.
Iam currently building device tree for nokia 8..
Unable to figure out how to edit init folder specifically for nokia8
[email protected] said:
Iam currently building device tree for nokia 8..
Unable to figure out how to edit init folder specifically for nokia8
Click to expand...
Click to collapse
Please do so! We can't let this phone die so early!
which defconfig file should choose?
lk
[email protected] said:
which defconfig file should choose?
Click to expand...
Click to collapse
nb1_defconfig is for Nokia 8
Can somebody help me? I have built Lineage OS 16.0 for the Nokia 8 with the Umbrella Kernel. However I am facing issues with getting it into work. Firstly TWRP fails to flash it with error 7. I am including the recovery.log file in case anyone wants more detail. I then proceeded to extract the payload.bin file, and flashed boot.img and system.img seperately. However that didnt work either as my phone got stuck at the Bootloader unlocked warning screen. If anyone is interesteed I can upload the .zip outputed by the build
Device Tree: https://github.com/GPUCode/android_device_nokia_nb1
Recovery.log: https://hastebin.com/akohutiwed.sql
Thanks in advanced
emufan4568 said:
Can somebody help me? I have built Lineage OS 16.0 for the Nokia 8 with the Umbrella Kernel. However I am facing issues with getting it into work. Firstly TWRP fails to flash it with error 7. I am including the recovery.log file in case anyone wants more detail. I then proceeded to extract the payload.bin file, and flashed boot.img and system.img seperately. However that didnt work either as my phone got stuck at the Bootloader unlocked warning screen. If anyone is interesteed I can upload the .zip outputed by the build
Device Tree: https://github.com/GPUCode/android_device_nokia_nb1
Recovery.log: https://hastebin.com/akohutiwed.sql
Thanks in advanced
Click to expand...
Click to collapse
hey, did you wipe userdata before flashing this? I think you need to do that, like when switching to using GSIs.
also, have you checked this https://github.com/resident-nokia/twrp? Specifically the fstab file for NB1.
oaid said:
hey, did you wipe userdata before flashing this? I think you need to do that, like when switching to using GSIs.
Click to expand...
Click to collapse
Thanks for the suggestion. I have flashed GSIs before but never had any problems. Also I cannot find any userdata partition in TWRP. I asked in the Lineage OS discord and I was told that probably that TWRP image is broken. I am confused
emufan4568 said:
Thanks for the suggestion. I have flashed GSIs before but never had any problems. Also I cannot find any userdata partition in TWRP. I asked in the Lineage OS discord and I was told that probably that TWRP image is broken. I am confused
Click to expand...
Click to collapse
that's the data partition, if I'm not mistaken ?*
which twrp image are you using? Maybe try Dorian's latest?
oaid said:
that's the data partition, if I'm not mistaken ?*
which twrp image are you using? Maybe try Dorian's latest?
Click to expand...
Click to collapse
Yes I am using the latest TWRP. Before flashing I erased the data partition but still the error persisted