Related
Sources are here:
opensource.motorola.com/sf/frs/do/viewRelease/projects.droidx/frs.droidx_source.shado_x3_1_13_5_10
Hopefully I'll get some time to work on tun.ko for openvpn or vpnc.
But if someone beats me to it, please post it here.
Jeb
Downloading the source and pre-req's now. Will work on the tun.ko when I get back from dinner if no one else has it done.
Droid X source code! What!? Does this mean a bright future could be ahead for us?
XDA App = Pwnage
jebc4 said:
Sources are here:
opensource.motorola.com/sf/frs/do/viewRelease/projects.droidx/frs.droidx_source.shado_x3_1_13_5_10
Hopefully I'll get some time to work on tun.ko for openvpn or vpnc.
But if someone beats me to it, please post it here.
Jeb
Click to expand...
Click to collapse
What exactly is this?
drew630 said:
Downloading the source and pre-req's now. Will work on the tun.ko when I get back from dinner if no one else has it done.
Click to expand...
Click to collapse
Good luck to you and all for any work on this sweet phone. You rock!
Sent from my DROIDX using XDA App
Hi Drew,
Did you have any luck with tun.ko?
Thanks & all the best!
You can click in the bottom right of that that link and download all the files in one zip. SHADO_X3_1.13.5.10.zip is around 275MB.
I have unzipped that, then untarred all the individual archives.
According to the README, you need some files from source.android.com, but their link doesn't work, so that will take some more digging. (maybe I missed something...)
It appears to be the complete build process. I was just hoping to jump in and get a tun.ko modules compiled, but I still can't find the kernel config (I was just quickly looking around).
Anyway, bottom line is that I will have to get up to speed on the android build process, not just the cross compiled kernel process. This will take me some more time.
If anyone gets one before me, please post.
Thanks, Jeb
Anyone had any luck yet?
Sent from my DROIDX using XDA App
hmmm... I think that you should be able to compile the kernel with the default config options, but just enable the tun/tap module... I don't think that the module would really depend too heavily on any of the other config options?
I have compiled the module multiple times with multiple config files but none work. I get a exec failed error which is presumably because i compiled for the wrong architecture.
I have tried all the omap3 configs i found and the defconfig with no luck. I am away today but will look at it again tomorrow.
Sent from my DROIDX using XDA App
I'm no droid expert but it looks like according to the droid readme file you want ARM arch, but the compiler that youo should be using is arm-eabi-gcc (comes from the prebuilt tools from android) - in the Makefile set CROSS_COMPILE to /path/to/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- (or whatever the path to the file is on your build environment)
All the best,
Okay, after a bunch of hours I finally got it compiled
The 'exec format error' that you were probably seeing is not because it was compiled for the wrong architecture. I originally compiled the kernel modules with the default .config file that 'make menuconfig' generated.
When I tried to load it, I got the 'exec format error'. 'dmesg' showed:
<3>[46706.378570] tun: version magic '2.6.29 mod_unload modversions ARMv5 ' should be '2.6.29 preempt mod_unload ARMv7 '
So, that gave me a big hint - after a few hours of customizing I finally got the .config file to a version that will properly compile and load the openvpn module.
I'm attaching the .config file (config.zip) and tun.ko file (tun.ko.zip)
*NOTE* - I have not tested the kernel module yet, so I have no idea if it works. Even if it does work, the .config file is the default one that I manipulated so that the tun module would compile. You probably don't want to use the .config file as it may not match all of the hardware and configs of the droid x. If someone has the actual droid x .config file used by motorola then that would be very helpful.
*update* - the attacked files *do not work*. The working version is available at http://forum.xda-developers.com/showthread.php?p=7417520
Hmm... it looks like tun.ko does compile and install, but is not working properly
# lsmod
tun 11392 0 - Live 0xbf00c000
sec 4808 0 - Live 0xbf000000
# cat /dev/net/tun
/dev/net/tun: No such device
#
The response should be 'cat: /dev/net/tun: File descriptor in bad state'
If we only had the .config file from motorola this would be a lot easier.
mab2 said:
Hmm... it looks like tun.ko does compile and install, but is not working properly
# lsmod
tun 11392 0 - Live 0xbf00c000
sec 4808 0 - Live 0xbf000000
# cat /dev/net/tun
/dev/net/tun: No such device
#
The response should be 'cat: /dev/net/tun: File descriptor in bad state'
If we only had the .config file from motorola this would be a lot easier.
Click to expand...
Click to collapse
I'll post on Motodev board for the running .config (they should have left it in the running kernel at /prog/config.gz ...)
Anyway, thanks trying -- could you post any tips on getting a dev env setup?
I've been using linux for years, but this is my first android setup.
jebc4 said:
I'll post on Motodev board for the running .config (they should have left it in the running kernel at /prog/config.gz ...)
Anyway, thanks trying -- could you post any tips on getting a dev env setup?
I've been using linux for years, but this is my first android setup.
Click to expand...
Click to collapse
I'm in the same boat as you - android newbie, linux veteran.
I started out by getting the whole android environment - http://source.android.com/source/download.html - and ran 'repo init -u git://android.git.kernel.org/platform/manifest.git' - all of that was just so I could get the prebuilt directory with the arm-eabi- files that will be used below.
Then I just downloaded the entire project from opensource.motorola.com - extracted it all, went into the kernel directory and hacked away at the .config file from there.
To compile the kernel I ran:
CROSS_COMPILE=/home/MY_USERNAME/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- make -j 4 kernel
CROSS_COMPILE=/home/MY_USERNAME/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- make modules
I spent a few hours with it - playing around with environment variables and modifying some Makefiles so I may have left out a small thing or two
It looks like running 'make mapphone_defconfig' created a functioning .config file and I used that to generate tun.ko.
I've posted the files at http://forum.xda-developers.com/showthread.php?p=7417520
Attachments removed as per OP's request.
mab2 said:
I'm no droid expert but it looks like according to the droid readme file you want ARM arch, but the compiler that youo should be using is arm-eabi-gcc (comes from the prebuilt tools from android) - in the Makefile set CROSS_COMPILE to /path/to/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- (or whatever the path to the file is on your build environment)
All the best,
Click to expand...
Click to collapse
Thanks but I already got that, been compiling kernels for other Android devices for a while...
drew630 said:
Thanks but I already got that, been compiling kernels for other Android devices for a while...
Click to expand...
Click to collapse
didn't know that - no harm intended
All the best,
mab2 said:
Okay, after a bunch of hours I finally got it compiled
The 'exec format error' that you were probably seeing is not because it was compiled for the wrong architecture. I originally compiled the kernel modules with the default .config file that 'make menuconfig' generated.
When I tried to load it, I got the 'exec format error'. 'dmesg' showed:
<3>[46706.378570] tun: version magic '2.6.29 mod_unload modversions ARMv5 ' should be '2.6.29 preempt mod_unload ARMv7 '
So, that gave me a big hint - after a few hours of customizing I finally got the .config file to a version that will properly compile and load the openvpn module.
I'm attaching the .config file (config.zip) and tun.ko file (tun.ko.zip)
*NOTE* - I have not tested the kernel module yet, so I have no idea if it works. Even if it does work, the .config file is the default one that I manipulated so that the tun module would compile. You probably don't want to use the .config file as it may not match all of the hardware and configs of the droid x. If someone has the actual droid x .config file used by motorola then that would be very helpful.
*update* - the attacked files *do not work*. The working version is available at http://forum.xda-developers.com/showthread.php?p=7417520
Click to expand...
Click to collapse
i'm having a similar issue, how did you fix this ARMvX Version problem when compiling a module? Thanks in advance!
**** Do Not Repost! Link back to this thread! ****
*** Update: This works on Thrill/Optimus 3D. There are seperate kernel modules for Froyo/GingerBread/CyanogenMod kernels***
Here ya go... I prefer this method rather than hard coding changes in the kernel. Assuming you have both kernel modules extracted to /sdcard
Switch to root
Code:
$ su
Copy files from sdcard to /system/lib/modules directory - You only do this once
Code:
# cp /sdcard/symsearch.ko /system/lib/modules/symsearch.ko
# cp /sdcard/opperator.ko /system/lib/modules/opperator.ko
Load modules, always do symsearch.ko first - You do this every time you reboot
Code:
# insmod /system/lib/modules/symsearch.ko
# insmod /system/lib/modules/opperator.ko
Set Frequency - You do this when you want to change frequency - in hz, that's 6 additions Zero's to make Mhz
Code:
# echo 1188000000 > /proc/opperator
This uses SYMSEARCH by Skrilax_CZ
https://github.com/SkrilaxCZ
Inspired by Milestone Overclock by Tiago Sousa, but totally rewritten for omap kernel 2.6.35-7 and above.
http://code.google.com/p/milestone-overclock/
This is a stripped down version. I'm working on a fully featured version, that will allow you to play with voltage as well. There are some hurdles to overcome before that is ready for prime time... In the mean time, lets see what stock voltage can do... 1188 is my sweet spot on stock voltage, what is yours? I get up to 1235 without reboots, or real noticeable lags but the linkpacks are all over the place, where it stays in the 80's at 1188. And remember, the number is in hz a.k.a. cycles per second, so to get Mhz, you must add 'Six Zeroes' to the end of your desired Mhz.
* Note2Devs: Feel free to put this in your ROM, but please do credit me for the Overclock in your release, and link back to this thread. You can also post a link to your ROM here as a way to make myself and other aware of it. Thanks...
* Echts shows us how he integrate's the module into his own ROM. TY, Echts...
http://forum.xda-developers.com/showpost.php?p=19542521&postcount=52
* Thanks to greenbats for helping figure out the O3D gingerbread kernel issue!
** And don't ask to put it in an app. I won't be happy about that. I'm serious! **
Here go some of my Recording Engineer work...
http://www.youtube.com/watch?v=Je8K_hCej3s
http://www.youtube.com/watch?v=yfBfcdSL1pc
http://www.youtube.com/watch?v=iIU8DO4rdKI
http://www.youtube.com/watch?v=msavF7LIdvY
Essentially, hardware wise, the Thrill has exactly the same specs as the Optimus 3D ? I mean, CPU wise.
It's the same hardware
omgomg said:
Essentially, hardware wise, the Thrill has exactly the same specs as the Optimus 3D ? I mean, CPU wise.
Click to expand...
Click to collapse
Yes, give this a go on the O3D, the module is actually compiled against the cyanogenmod cosmo kernel, which is really for the O3D. Should work.
for test \
How do I install this on the optimus 3D?
greenbat said:
How do I install this on the optimus 3D?
Click to expand...
Click to collapse
No real installing... It's just the modules... You can throw them in /system/lib/modules, and then use an init script to load them up, then set the frequency, but don't do that until you know what works *STABLE* for you.
If you have a favorite ROM, let the dev know about this, and maybe they'll integrate it.
I'm not sure if custom kernels like acurateam's might be too different to work properly at this point. But it won't hurt to try. Just don't start loading it at boot right away.
tekahuna said:
No real installing... It's just the modules... You can throw them in /system/lib/modules, and then use an init script to load them up, then set the frequency, but don't do that until you know what works *STABLE* for you.
If you have a favorite ROM, let the dev know about this, and maybe they'll integrate it.
I'm not sure if custom kernels like acurateam's might be too different to work properly at this point. But it won't hurt to try. Just don't start loading it at boot right away.
Click to expand...
Click to collapse
Thanx for your advice and Great find!!!
I have send your xda link to acura. Hopefully he can integrate it.
greenbat said:
Thanx for your advice and Great find!!!
I have send your xda link to acura. Hopefully he can integrate it.
Click to expand...
Click to collapse
I didn't find this. I made it! First OC'd OMAP4 period! Unless you count RAZR's... hah
Great invention
tekahuna said:
I didn't find this. I made it! First OC'd OMAP4 period! Unless you count RAZR's... hah
Click to expand...
Click to collapse
Great invention and congratulations!
Great job.... we use to use this type of script in motorola defy and moto bravo. It was easier with those because of the 2nd init recovery booting.
Sent from my LG-P925 using XDA App
tekahuna said:
**** Do Not Repost! Link back to this thread! ****
Here ya go... I prefer this method rather than hard coding changes in the kernel. Assuming you have both kernel modules extracted to /sdcard
Switch to root
Code:
$ su
Copy files from sdcard to /system/lib/modules directory - You only do this once
Code:
# cp /sdcard/symsearch.ko /system/lib/modules/symsearch.ko
# cp /sdcard/opperator.ko /system/lib/modules/opperator.ko
Load modules, always do symsearch.ko first - You do this every time you reboot
Code:
# insmod /system/lib/modules/symsearch.ko
# insmod /system/lib/modules/opperator.ko
Set Frequency - You do this when you want to change frequency - in hz, that's 6 additions Zero's to make Mhz
Code:
# echo 1188000000 > /proc/opperator
Is it possible for you to change this into a scriptmanager file?
Click to expand...
Click to collapse
Type this in scriptmanager shell.
greenbat said:
tekahuna said:
**** Do Not Repost! Link back to this thread! ****
Here ya go... I prefer this method rather than hard coding changes in the kernel. Assuming you have both kernel modules extracted to /sdcard
Switch to root
Code:
$ su
Copy files from sdcard to /system/lib/modules directory - You only do this once
Code:
# cp /sdcard/symsearch.ko /system/lib/modules/symsearch.ko
# cp /sdcard/opperator.ko /system/lib/modules/opperator.ko
Load modules, always do symsearch.ko first - You do this every time you reboot
Code:
# insmod /system/lib/modules/symsearch.ko
# insmod /system/lib/modules/opperator.ko
Set Frequency - You do this when you want to change frequency - in hz, that's 6 additions Zero's to make Mhz
Code:
# echo 1188000000 > /proc/opperator
Is it possible for you to change this into a scriptmanager file?
Click to expand...
Click to collapse
What I'd really like is for the ROM making dev's to come to a consensus as to how to integrate this... Mainly, the best place to throw the script that does this at boot on these phones. I know how we did it on droid X, but I haven't dug deep enough into this phone just yet to be sure... I'll update the OP as methods improve and I get more feedback.
Click to expand...
Click to collapse
Or use callmearia kernel and make script for system/etc/init folder... havent tried his kernel but it should support the script at boot up. Acura roms should work that way too.
The way most roms use overclock is the init script that starts at boot...
Sent from my LG-P925 using XDA App
rdannar said:
Great job.... we use to use this type of script in motorola defy and moto bravo. It was easier with those because of the 2nd init recovery booting.
Sent from my LG-P925 using XDA App
Click to expand...
Click to collapse
Those would have been based on Milestone Overclock... Which is where I gained most of my knowledge by contributing to getting the droidx/2 side of things working. MO's method of manipulating frequency and voltage no longer works on OMAP4, or rather kernel 2.6.35+... I had to come up with a new way of doing things, which didn't fit well under the existing framework of MO. So, I started from scratch... This is just the tip of the iceberg... Basic, basic, basic...
i get insmod: init_module /system/lib/modules/symsearch.ko failed (exec format error).
What am i doing wrong?
I also get the same error: insmod: init_module '/system/lib/modules/symsearch.ko' failed (exec format error)
Is it because I have gingerbread?
Must I use froyo?
borelis said:
i get insmod: init_module /system/lib/modules/symsearch.ko failed (exec format error).
What am i doing wrong?
Click to expand...
Click to collapse
Both O3D's, huh? What kernel are you running? give me output of
# dmesg
and
# busybox uname -a
And if it's acurateam, a link to their kernel source
tekahuna said:
What kernel are you running? give me output of
# dmesg
and
# busybox uname -a
And if it's acurateam, a link to their kernel source
Click to expand...
Click to collapse
"LINK Boot_2.0 More RAM, No Lags, More Speed.." from acura. Think he uses stock kernel. Im on GB by the way.
Outputs is a bit over my head. Tell me how and i´ll provide it for you.
Hey all. So I was looking at this cpu frequency governor for the razr:
http://forum.xda-developers.com/showthread.php?t=1367255
I was wondering how I could get this working on our devices, so, just for curiosity's sake, I copied it to the phone and ran insmod on it. It did a quick cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors and found the new governor listed, so I opened up SetCPU and set it as the governor. cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor told me, however, that I was still on mot_hotplug, so I switched to ondemand and then back to the eprj governor... still told me I'm on ondemand.
I figure that the razr's and droid 3's kernel modules are not binary-compatible, so I'm gonna need to recompile the module. How do I go about doing this?
Thanks.
-Zane Kaminski
I understand what your getting at but we can't flash kernels best you can do is port kernel modules
Sent from my XT862 using XDA
saintlikesniper said:
I understand what your getting at but we can't flash kernels best you can do is port kernel modules
Sent from my XT862 using XDA
Click to expand...
Click to collapse
Yeah... I wanna compile this module for the Droid 3.
ZaneKaminski said:
Yeah... I wanna compile this module for the Droid 3.
Click to expand...
Click to collapse
The source for the current 890 kernel is on Sourceforge.net under the Bionic's GPL software page.
Sent from my DROID3 using XDA
Would it be possible to build a kernel module to add loop device support? Would like to be able to chroot Ubuntu.
Sent from my DROID3 using Tapatalk 2
Q9Nap said:
Would it be possible to build a kernel module to add loop device support? Would like to be able to chroot Ubuntu.
Sent from my DROID3 using Tapatalk 2
Click to expand...
Click to collapse
loop devices are already supported. If your using linux installer from the market just ignore the warinngs. To manully mount a loop device.
Code:
# mount loop.img directory
If for some reason that doesn't work use losetup.
Code:
# losetup /dev/block/loop7 loop.img
# mount -t auto /dev/block/loop7 directory
eww245 said:
loop devices are already supported. If your using linux installer from the market just ignore the warinngs. To manully mount a loop device.
Code:
# mount loop.img directory
If for some reason that doesn't work use losetup.
Code:
# losetup /dev/block/loop7 loop.img
# mount -t auto /dev/block/loop7 directory
Click to expand...
Click to collapse
Still have questions about getting Linux installer working, started a thread here
http://forum.xda-developers.com/showthread.php?p=24855920
To avoid clogging up this thread any further, any help would be appreciated.
Sent from my DROID3 using Tapatalk 2
i'm in the process of setting up a build environment for kernel modules and have the 5.6.890 kernel source. couple of questions:
does anyone have links to any good info on how to build android kernel modules? google isn't being very helpful.
would it be possible to get modules built with the 5.6.890 source working with the 5.7.906 kernel?
thanks in advance
In this post, I would like to explain what kexec-hardboot patch is.
@kernel developers: I would like to ask you to merge this patch to your kernels, because it is essential part of MultiROM - it allows to boot any kernel without changing the boot partition. I realize that it is no small request, but the patch is not big, touches relatively stable parts of kernel and should not cause any problems. Thank you.
What is kexec?
It is syscall of Linux kernel, which allows you to boot another Linux kernel without restarting the device - "Linux boots itself". The functionality is equivalent to fastboot -c *cmdline* boot zImage initrd.img, but without PC and fastboot. It is fairly known thing, so more info at wikipedia and man kexec.
What is the difference between normal and hardboot exec?
Kexec-hardboot patch adds a real device restart to that process, so that all the drivers can be properly reinitialized. It stores new kernel to RAM, reboots the device as usual, and kernel from boot partition immediately jumps to the one which was stored to RAM before reboot.
Unlike grouper's kexec-hardboot patch, this one only requires the host kernel to be patched. This is one of the improvements Tasssadar made, and I think it is pretty significant.
To sumarize the process:
kexec --load-hardboot.... is called and kernel it loaded into RAM.
kexec -e is called. Special info is written to memory (to area which is not overwritten on reboot) and the device is rebooted.
After reboot, very early in the boot process, kernel checks if that special info is present in RAM and if so, it loads new kernel from RAM and jumps to it.
Kexecd' kernel starts and boots.
For more info, read the original thread.
Patches:
Kernel patch: https://gist.github.com/PatrikKT/50faf32e8931d51c0c9a,
This is the kernel patch. Only the host kernel needs to be patched.
Related CONFIG options:
CONFIG_KEXEC=y
CONFIG_KEXEC_HARDBOOT=y
CONFIG_PROC_DEVICETREE=y
CONFIG_ATAGS_PROC=n # This one is turned on automatically, but it is not needed, so you can disable it.
All these options must be enabled.
Userspace kexec binary: https://github.com/Tasssadar/kexec-tools
I had to change some things in kexec userspace binary because of some kernel bugs, complete description is in that repository. You can get statically built binary at https://github.com/Tasssadar/multirom/blob/master/install_zip/prebuilt-installer/multirom/kexec
Usage:
Once you have the kernel patches and kexec userspace binary in place, just run following command to boot into new kernel:
Code:
kexec --load-hardboot zImage --initrd=initrd.img --mem-min=0x20000000 --command-line="$(cat /proc/cmdline)" --dtb
kexec -e
Note the command line parameter - cmdline from bootloader is not added automatically, you have to put it there by yourself.
Authors:
This patch was made by Mike Kasick for Samsung Epic 4G. Since that, it was ported to several devices, one of them is Asus Transformer TF201 - he used patch from TF201 and modified it a bit (basically just changed few SoC specific constants). People at #ubuntu-arm helped him out with that, thanks.
For hammerhead, he has improved the patch a bit - only the host needs to be patched now and he has added support for DTB.
This thread was used as a template Credits to @Tasssadar for his Nexus 5 patch
Awesome people helping with our G2's development. Thank YOU!
patrik.KT said:
I would like to ask you to merge this patch to your kernels, because it is essential part of MultiROM - it allows to boot any kernel without changing the boot partition.
Click to expand...
Click to collapse
What benefit would there be to non-MultiROM users? (Just curious.)
blastagator said:
What benefit would there be to non-MultiROM users? (Just curious.)
Click to expand...
Click to collapse
Any. Just any.
Actually I can't think of anything. It's only to bring the device to a full reboot to load a new kernel.
Odoslané z môjho HTC Desire 601
blastagator said:
What benefit would there be to non-MultiROM users? (Just curious.)
Click to expand...
Click to collapse
Not for common user, in epic4g kexec used by kernel devs to test a new kernel build without replace the existing kernel.
They just load a temporary kernel to test. Then that kernel will gone after a reboot.
Hope to see new kernels that support MultiRom! Great work man!
Would this allow a multiboot with AOSP and Stock roms?
AbdulrahmanAmir said:
it doesnt work while i have stock and the secondary is aosp (dU-dirty.unicorn) when i boot the secondary it works sound only but no display just black screen plzz help
Click to expand...
Click to collapse
The patch is not necessary at the moment, because of the locked bootloader. It's just for devs to be prepared with their kernel when we can unlock the bootloader, so that multirom will work as it should.
Odoslané z môjho HTC Desire 601
Thanks for your great thread. But there is no instruction about how we can add that patch to kernel source. Could you write more details about implanting this patch?
No response??
mohamaadhosein said:
No response??
Click to expand...
Click to collapse
Download the patch file from first post and place it in the kernel root directory. Then you should use this command to check if there are any conflicts: git apply --check <path_to>.patch
If there are no errors, use this to apply: git apply <path_to>.patch
Sorry for the late response but I checked xda when I wasn't home and I forgot to reply when I got home
Odoslané z môjho HTC Desire 601
Hey, some changes need to be made to the patch.
On line 353, change the number from 22 to 21. Also, it has some errors when modifying head.S, which I had to fix manually..
But guys, my kernel is building with the latest multirom. This **** is going to maybe work soon!
I'll keep you all posted.
Thank you man
Guys, I think I've done it. Kexec hardboot patched kernel for 5.1.1 and thus multirom compliant, which I am preparing to build with twrp. this is very exciting.
When will it be ready?
Are you kidding me? No ETAs. I literally haven't even announce it yet and somebody asks for an ETA.... It will be ready once I test everything to boot well on my device.
patrik.KT said:
Download the patch file from first post and place it in the kernel root directory. Then you should use this command to check if there are any conflicts: git apply --check <path_to>.patch
If there are no errors, use this to apply: git apply <path_to>.patch
Sorry for the late response but I checked xda when I wasn't home and I forgot to reply when I got home
Odoslané z môjho HTC Desire 601
Click to expand...
Click to collapse
It says the patch is corrupted on the line 375
4.9 was released and Nexus 5 it's support by mainline kernel
http://www.phoronix.com/scan.php?page=news_item&px=Linux-4.9-ARM-Pull
Interesting. This might bring development back to the phone. Also 4.8 and 4.9 have some amazing features and speed improvements.
Will any dev merge and update our kernel? will this function with our android latest version?
santi1993 said:
Will any dev merge and update our kernel? will this function with our android latest version?
Click to expand...
Click to collapse
No, it's probably not even functional in many aspects, there will be a lot of patching/fixing needed to get it to work.
There is already been discussed about his.
Yes, it's impossible use 4.9 without patch related to panel, exc exc
So what does exactly the "Nexus 5 support" on this kernel mean if you can't run Android on it without patching? Would it potentially help running Linux distros on our devices or?
TheReduxPL said:
So what does exactly the "Nexus 5 support" on this kernel mean if you can't run Android on it without patching? Would it potentially help running Linux distros on our devices or?
Click to expand...
Click to collapse
There is support for the kernel, so yes, you could now run Arch, Debian, OpenWRT, or DD-WRT much more easily.
Android utilizes old libraries that are not compatible with new kernels (that's at least my understanding of the matter), so you would need to patch it to run a newer kernel, and that could only get you so far.
The newest kernel version that anyone had managed to boot Android with is the latest 4.4.x LTS release.
I wonder if someone could backport the necessary changes from 4.9 to the latest 4.4.x release though, that would already be something.
Thank you! I really like the concept of running *WRT on Nexus - I wonder how would functionality like network booting work like...
Could the mainline kernel also be used for other non-Android OSs like Ubuntu (Touch) or Sailfish OS?
TheReduxPL said:
Thank you! I really like the concept of running *WRT on Nexus - I wonder how would functionality like network booting work like...
Could the mainline kernel also be used for other non-Android OSs like Ubuntu (Touch) or Sailfish OS?
Click to expand...
Click to collapse
I don't think so, as they rely on Android bits to work with the bootloader and recovery.
But perhaps there is a chance with the new OS that KDE are cooking, which is supposed to be completely independent of Android.
The 4.10 kernel brings in mainline support for the Nexus 6P and the Nexus 5X.
I wish that mainline support would arrive for the Nexus 4.
moriel5 said:
The newest kernel version that anyone had managed to boot Android with is the latest 4.4.x LTS release.
Click to expand...
Click to collapse
Update: Apparently Android 6.0.x and up can now utilize kernel 4.9.x.
As there is a build of Android 7.1.x for the x86 platform (I have no idea whether it is an official build of Android-x86, nor do I know the precise Android version, though) with a 4.9.x kernel (again, I have no idea precisely which version).
My source is a newly thread opened in the Remix OS forum, in which the OP asks for the possibility of updating the kernel in Remix OS, and mentions that he/she managed to boot it (only in debug mode, though) with the aforementioned kernel.
The source: https://forum.xda-developers.com/remix/remix-os/remix-3-0-207-kernel-t3546057
anyone managed to boot a hh from any kind of 4.9 compilation?
Sent from my Nexus 5 CAF using Tapatalk
Hey folks!
I'm playing around with one of my nexus 5 devices for a while now... right now i got Maru OS installed and it's nice
But anyway this is another story.
santi1993 said:
anyone managed to boot a hh from any kind of 4.9 compilation?
Click to expand...
Click to collapse
Yeah i did!
Used this kernel (which is 4.9.27):
https://git.linaro.org/landing-team...rnel-debian-qcom-dragonboard410c-17.04.tar.gz
... and used Linaro GCC 4.8-2014.04 toolchain (had to use the 32Bit version here).
Then:
make qcom_defconfig
make
make qcom-msm8974-lge-nexus5-hammerhead.dtb
Then later on:
cat arch/arm/boot/zImage arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dtb > arch/arm/boot/zImage-dtb
Then i took twrp-3.0.3-0-hammerhead.img and extracted it with abootimg.
Changed the cmdline parameter for console to console=ttyMSM0,115200,n8
Took the new kernel and rebuild the recovery image to be my test image (just quick'n'dirty)
Then via adb:
reboot bootloader
... and afterwards injected the boot image (e.g.):
fastboot boot hammerhead-kernel4.img
See the attached file for the output.
This log was taken with a serial console cable attached to the earphone plug.
Cheers,
scholbert
scholbert said:
Hey folks!
I'm playing around with one of my nexus 5 devices for a while now... right now i got Maru OS installed and it's nice
But anyway this is another story.
Yeah i did!
Used this kernel (which is 4.9.27):
https://git.linaro.org/landing-team...rnel-debian-qcom-dragonboard410c-17.04.tar.gz
... and used Linaro GCC 4.8-2014.04 toolchain (had to use the 32Bit version here).
Then:
make qcom_defconfig
make
make qcom-msm8974-lge-nexus5-hammerhead.dtb
Then later on:
cat arch/arm/boot/zImage arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dtb > arch/arm/boot/zImage-dtb
Then i took twrp-3.0.3-0-hammerhead.img and extracted it with abootimg.
Changed the cmdline parameter for console to console=ttyMSM0,115200,n8
Took the new kernel and rebuild the recovery image to be my test image (just quick'n'dirty)
Then via adb:
reboot bootloader
... and afterwards injected the boot image (e.g.):
fastboot boot hammerhead-kernel4.img
See the attached file for the output.
This log was taken with a serial console cable attached to the earphone plug.
Cheers,
scholbert
Click to expand...
Click to collapse
Linux version 4.9.27 ([email protected])
Wow, you are one of the coolest users on there! i doubt anyone could boot it up!
You rock! hope we can get a public release to test it out!
scholbert said:
Hey folks!
I'm playing around with one of my nexus 5 devices for a while now... right now i got Maru OS installed and it's nice
But anyway this is another story.
Yeah i did!
Used this kernel (which is 4.9.27):
https://git.linaro.org/landing-team...rnel-debian-qcom-dragonboard410c-17.04.tar.gz
... and used Linaro GCC 4.8-2014.04 toolchain (had to use the 32Bit version here).
Then:
make qcom_defconfig
make
make qcom-msm8974-lge-nexus5-hammerhead.dtb
Then later on:
cat arch/arm/boot/zImage arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dtb > arch/arm/boot/zImage-dtb
Then i took twrp-3.0.3-0-hammerhead.img and extracted it with abootimg.
Changed the cmdline parameter for console to console=ttyMSM0,115200,n8
Took the new kernel and rebuild the recovery image to be my test image (just quick'n'dirty)
Then via adb:
reboot bootloader
... and afterwards injected the boot image (e.g.):
fastboot boot hammerhead-kernel4.img
See the attached file for the output.
This log was taken with a serial console cable attached to the earphone plug.
Cheers,
scholbert
Click to expand...
Click to collapse
Hey that's amazing. I've been working on this too. So where exactly did you enter the command line parameter for console? Can you list out that command?
Sent from my Nexus 5 using XDA Labs
santi1993 said:
Linux version 4.9.27 ([email protected])
Wow, you are one of the coolest users on there! i doubt anyone could boot it up!
You rock! hope we can get a public release to test it out!
Click to expand...
Click to collapse
Thanks for appreciation, but what do you expect from "public release"?
As many other already posted here, this kernel is far away from the 3.4 Images for daily use.
So this is just for fun of course :angel:
Icyphox said:
Hey that's amazing. I've been working on this too. So where exactly did you enter the command line parameter for console? Can you list out that command?
Sent from my Nexus 5 using XDA Labs
Click to expand...
Click to collapse
Have a look at the tool abootimg.
You could use a bootimg.cfg fle and change the cmdline for your boot image individually.
E.g.:
Code:
bootsize = 0xe48800
pagesize = 0x800
kerneladdr = 0x8000
ramdiskaddr = 0x2900000
secondaddr = 0xf00000
tagsaddr = 0x2700000
name =
cmdline = console=ttyMSM0,115200,n8 androidboot.hardware=hammerhead user_debug=31 maxcpus=2 msm_watchdog_v2.enable=1 androidboot.selinux=permissive
The other parameters are fixed values for hammerhead... and the bootsize value depends on the size needed for your image.
In this case it's just the default value used for TWRP.
Then use the tool like this:
abootimg --create hammerhead-kernel4.img -f bootimg.cfg -k zImage-dtb -r initrd.img
Best regards,
scholbert
scholbert said:
Thanks for appreciation, but what do you expect from "public release"?
As many other already posted here, this kernel is far away from the 3.4 Images for daily use.
So this is just for fun of course :angel:
Have a look at the tool abootimg.
You could use a bootimg.cfg fle and change the cmdline for your boot image individually.
E.g.:
The other parameters are fixed values for hammerhead... and the bootsize value depends on the size needed for your image.
In this case it's just the default value used for TWRP.
Then use the tool like this:
abootimg --create hammerhead-kernel4.img -f bootimg.cfg -k zImage-dtb -r initrd.img
Best regards,
scholbert
Click to expand...
Click to collapse
Wonderful! The heads-up I needed was the bootimg.cfg. Thanks a bunch. Also, is your ROM usable with this kernel?
Sent from my Nexus 5 using XDA Labs
Icyphox said:
Wonderful! The heads-up I needed was the bootimg.cfg. Thanks a bunch. Also, is your ROM usable with this kernel?
Sent from my Nexus 5 using XDA Labs
Click to expand...
Click to collapse
No far away from any use together with a ROM or even anything the TWRP image uses inside.
No graphics... no usb...
This is just a proof of concept, playing around with the dts files and kernel. Nothing more.
If someone would create a console based ramdisk with some tools included, you may dig a little deeper into the soc or check which parts are responsive or not.
Cheers,
scholbert
It has been quite some time.
Does anyone think that using PostMarketOS's kernel as a stepping stone may help get at least kernel 4.4 to a daily-driver ready status?
Update: Perhaps it would also be a good idea to use the Nexus 7 (2013)'s sources to try porting the newer kernel there to the Nexus 4 (as they share the same SOC).
scholbert said:
Hey folks!
I'm playing around with one of my nexus 5 devices for a while now... right now i got Maru OS installed and it's nice
But anyway this is another story.
Yeah i did!
Used this kernel (which is 4.9.27):
https://git.linaro.org/landing-team...rnel-debian-qcom-dragonboard410c-17.04.tar.gz
... and used Linaro GCC 4.8-2014.04 toolchain (had to use the 32Bit version here).
Then:
make qcom_defconfig
make
make qcom-msm8974-lge-nexus5-hammerhead.dtb
Then later on:
cat arch/arm/boot/zImage arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dtb > arch/arm/boot/zImage-dtb
Then i took twrp-3.0.3-0-hammerhead.img and extracted it with abootimg.
Changed the cmdline parameter for console to console=ttyMSM0,115200,n8
Took the new kernel and rebuild the recovery image to be my test image (just quick'n'dirty)
Then via adb:
reboot bootloader
... and afterwards injected the boot image (e.g.):
fastboot boot hammerhead-kernel4.img
See the attached file for the output.
This log was taken with a serial console cable attached to the earphone plug.
Cheers,
scholbert
Click to expand...
Click to collapse
From the logs, it looks like the reason the boot stops is because of init.rc errors. I might be able to help with that, but my nexus 5's battery is toast.