How do you configure an Android kernel? I've checked out the omap kernel sources by doing a,
git clone https://android.googlesource.com/kernel/omap.git
I then did a make gconfig which is how I would normally configure a kernel for a standard Linux system. However all of the processor options were for x86, there was no mention of ARM so it would seem that gconfig is x86 specific. What's the equivalent for and Android kernel?
bjrosen said:
How do you configure an Android kernel? I've checked out the omap kernel sources by doing a,
git clone https://android.googlesource.com/kernel/omap.git
I then did a make gconfig which is how I would normally configure a kernel for a standard Linux system. However all of the processor options were for x86, there was no mention of ARM so it would seem that gconfig is x86 specific. What's the equivalent for and Android kernel?
Click to expand...
Click to collapse
There are many, many tutorials on building kernels on this site (can't link right now, on the app, but check threads I've started).
Sounds like you might not have copied the whole kernel tree either--I'd work from a developer's kernel source on github to begin with.
PM me if you have any issues!
Sent from my Galaxy Nexus using xda app-developers app
I don't get why Asus is targeting x86 for their build of android while having a x86_64 kernel build.
It can't be from Intel or drivers since it's all kernel side so the only thing is their Zen UI apps i guess.
Now if i had a better computer and a faster internet connection i would try to build an x86_64 version myself but so far i've only managed to build the kernel and it wasn't pretty on my 5 year old laptop.
Looking at the .prop files i see
# ro.product.cpu.abi and ro.product.cpu.abi2 are obsolete,
# use ro.product.cpu.abilist instead.
ro.product.cpu.abi=x86
ro.product.cpu.abilist=x86,armeabi-v7a,armeabi
ro.product.cpu.abilist32=x86,armeabi-v7a,armeabi
ro.product.cpu.abilist64=
Click to expand...
Click to collapse
same lines in the last x86_64 atom emulator
# ro.product.cpu.abi and ro.product.cpu.abi2 are obsolete,
# use ro.product.cpu.abilist instead.
ro.product.cpu.abi=x86_64
ro.product.cpu.abilist=x86_64,x86
ro.product.cpu.abilist32=x86
ro.product.cpu.abilist64=x86_64
Click to expand...
Click to collapse
So yeah is Asus too constrained to support both x86 and x86_64 (though in theory their should be no difference, just a few different options in the build for x86_64 SoC) or is it a technical problem ?
roadtoai said:
I don't get why Asus is targeting x86 for their build of android while having a x86_64 kernel build.
It can't be from Intel or drivers since it's all kernel side so the only thing is their Zen UI apps i guess.
Now if i had a better computer and a faster internet connection i would try to build an x86_64 version myself but so far i've only managed to build the kernel and it wasn't pretty on my 5 year old laptop.
Looking at the .prop files i see
same lines in the last x86_64 atom emulator
So yeah is Asus too constrained to support both x86 and x86_64 (though in theory their should be no difference, just a few different options in the build for x86_64 SoC) or is it a technical problem ?
Click to expand...
Click to collapse
Intel z3560,z3580 are x64 bit cpu,so it supports both x86 and x64bit,in theory x64bit os is faster in processing,more memory bandwidth,better app operation[if app is optimized] ,supports more than 4gb ram...but answer for why asus didnt use x64bit OS i dont know,i asked them,even they dont know,they said we might give in future,..maybe @Asus_USA can give answer
fhd kernel ( ZE551 ) & POSSIBLY hd (ZE550) with KVM & Bridge compiled. *need help*
MODERATOR NOTICE:
All thread posted in the Development section must have a link to kernel sources to meet GPLv2 requirements. Because this thread does not have proper sources linked and because development has stopped, the thread has been closed.
This is my first time working with Android kernels, but I compiled the 2.12.40 kernel source adding in support for KVM ( Kernel supported Virtual Machines, ie running Windows almost full speed ) and Bridge ( to allow qemu-kvm to set up network adapters bridged with the current wifi adapter ).
I tar'd the bzImage & modules, but don't know what to do to make something installable/flashable so will need help on that end of things.
Edit:
I uploaded a new flashable kernel img based off 2.19. This one should support: kvm, bridge and NTFS read/ *LIMITED* write, swap and ignore kernel module signatures. XDA only allows 8mb for .img files, so I tar'd it.
Edit2:
I compiled a ZE550 kernel ( called hd ) and if some brave souls want to try it, I also put together a boot.img.
Edit3:
New fhd kernel has been compiled with additional usb modules. Kernel should now load kvm related modules automatically, so you shouldn't need to use the script anymore.
Anyone brave/crazy enough to try it out? I'm guessing you need an unlocked bootloader & root.
Edit 4:
New fhd & hd kernels for 2.20
Edit 5:
New exfat.ko module
ycavan said:
This is my first time working with Android kernels, but I compiled the 2.12.40 kernel source adding in support for KVM ( Kernel supported Virtual Machines, ie running Windows almost full speed ) and Bridge ( to allow qemu-kvm to set up network adapters bridged with the current wifi adapter ).
I tar'd the bzImage & modules, but don't know what to do to make something installable/flashable so will need help on that end of things.
Anyone brave/crazy enough to try it out? I'm guessing you need an unlocked bootloader & root.
Click to expand...
Click to collapse
Why 2.12? 2.18 kernel source is available...
That just happened to be the kernel source linked in Android development. If this test works out, I can probably do the same thing with whichever kernel source is available.
Our phones are pretty amazing to be able to compile their own kernels natively on the device.
Sent from my ASUS_Z00AD using XDA Free mobile app
Finally able to compile the 2.18 kernel.. it's a bit weird since it acted like it was missing some files. Untar'd the 2.18 kernel source over 2.12's kernel source and that allowed it compile.
Anyway, it's in the OP called fhd_kernel_20150629.tar and should have KVM ( kernel supported virtualization ), Bridge ( for Qemu-KVM to create bridging ethernet adapters ) & NTFS Read/ *LIMITED* Write.
Once again, it's in the form of bzImage and the modules since I don't know how to replace the kernel on Android devices. ( normally, I'd just make a test linux line in the boot menu for Linux )
One suggestion would be to flash the zImage using
Code:
fastboot flash zImage nameofzImage
or test it using
Code:
fastboot boot nameofzImage
but I dont know if the phone supports the "boot" command.
I´m not sure about the modules either and I can´t test it, as my phone didn´t arrive yet.
Other solution, try this:
http://forum.xda-developers.com/showthread.php?t=2670512
ycavan said:
Finally able to compile the 2.18 kernel.. it's a bit weird since it acted like it was missing some files. Untar'd the 2.18 kernel source over 2.12's kernel source and that allowed it compile.
Anyway, it's in the OP called fhd_kernel_20150629.tar and should have KVM ( kernel supported virtualization ), Bridge ( for Qemu-KVM to create bridging ethernet adapters ) & NTFS Read/Write.
Once again, it's in the form of bzImage and the modules since I don't know how to replace the kernel on Android devices. ( normally, I'd just make a test linux line in the boot menu for Linux )
Click to expand...
Click to collapse
Can I ask how you included NTFS r/w support into your kernel? Did you just set the CONFIG_NTFS_FS flag?
TheSSJ said:
Can I ask how you included NTFS r/w support into your kernel? Did you just set the CONFIG_NTFS_FS flag?
Click to expand...
Click to collapse
I added CONFIG_NTFS_FS=m ( you could set to that y ) and CONFIG_NTFS_RW=y in /{working directory}/device/asus/moorefield/fhd/mofd_fhd_diffconfig
when you make the kernel, it's going to ***** about the config files not matching; follow the directions and manually update all of the other config files and it will finally compile.
Building for Android is a pita. )
Well, then here come the disappointing news (I discovered that when I wanted to include NTFS USB-OTG support directly by the kernel for my TWRP and it didn't mount it as R/W):
CONFIG_NTFS_RW is just a partial write support. It won't create files or folders, it can only overwrite existing files and only by the size they currently have
config NTFS_RW
bool "NTFS write support"
This enables the partial, but safe, write support in the NTFS driver. The only supported operation is overwriting existing files, without changing the file length. No file or directory creation, deletion or renaming is possible. Note only non-resident files can be written to so you may find that some very small files (<500 bytes or so) cannot be written to.
Click to expand...
Click to collapse
Only possibility available is to include ntfs-3g driver using fuse
Yeah, that is a bit of a downer. Now to figure out why nobody finished the NTFS kernel module.
ycavan said:
Yeah, that is a bit of a downer. Now to figure out why nobody finished the NTFS kernel module.
Click to expand...
Click to collapse
Please keep me posted, I'd like to remove the dependency of ntfs-3g in recovery. I fear there actually is no native support of NTFS (googling was not helpful unfortunately)
1) modify module loading function to ignore module version/magic strings.
2) compile the kernel with toolchain used by ASUS (or close to it)
3) use pre-compiled tntfs.ko from original boot.img
I don't have right now the patch for module loading procedure. Need to check old Galaxy S3/S4 custom kernels source (but it's should be easy to patch by finding error string). In time when exFat module source wasn't available, this trick was very common in samsung custom kernels for exFat support.
Thanks
Wait wait wait. Did I read that correctly? Full speed windows? On the zenfone? I think I just died. Does this mean windows 8/10 or windows xp and below?
I know a bit about android kernel, and i'm thinking about buying this device. Well, i'm going to try to build a kernel for this device as soon as i got this device. One thing you should know is, android is an open-source, so before you uploading your compiled kernel, make sure you have already uploaded the sources
LUCKYSHOT52 said:
Wait wait wait. Did I read that correctly? Full speed windows? On the zenfone? I think I just died. Does this mean windows 8/10 or windows xp and below?
Click to expand...
Click to collapse
It's only in theory.
In reality, there is no Z35xx support in windows, and i doubt anyone will write drivers by himself (windows isn't opensource). Officially Z35xx is Android-only SoC.
FajarMF28 said:
I know a bit about android kernel, and i'm thinking about buying this device. Well, i'm going to try to build a kernel for this device as soon as i got this device. One thing you should know is, android is an open-source, so before you uploading your compiled kernel, make sure you have already uploaded the sources
Click to expand...
Click to collapse
The source is already available, so no worries there, since this is source that Asus released.
For all of the brave folks out there, I was finally able to create a bootable image of the latest 2.19.20 kernel. Anyone brave enough can find it in the OP.
I flashed it and my phone booted up, so that's a bonus.
ycavan said:
For all of the brave folks out there, I was finally able to create a bootable image of the latest 2.19.20 kernel. Anyone brave enough can find it in the OP.
I flashed it and my phone booted up, so that's a bonus.
Click to expand...
Click to collapse
is there extra features such as other governor or i/o scheduler?
cangcan said:
is there extra features such as other governor or i/o scheduler?
Click to expand...
Click to collapse
To be honest? I can't remember since my main focus was getting kvm compiled in.
I've attached my .config for the 20150707 build ( in the boot image ).
I've also attached a screenshot of Windoze 7 being installed.
Commandline for Arch Linux x86_64 to start qemu-kvm to install windoze:
qemu-system-x86_64 -display none -vnc :1,password -monitor stdio -m 1G -smp 4 -enable-kvm -drive file=/mnt/0/machine1.img,format=raw -cpu host -cdrom /mnt/MicroSD/Vcd/en_windows_7.iso -boot menu=on --usbdevice tablet
breakdown of the command line:
-display none = no display, I did this to test the virtual machine. normally, you would probably use -display sdl w/ XServer-XSDL running
-vnc :1,password, This says to set up a vnc server with normal port + 1 ( 5901 ) and you expect a password to be set later
-m 1G, 1 gig of ram
-smp 4, our VM will use 4 cores
-enable-kvm, enable Kernel support Virtual Machines
-drive file=/mnt/0/machine1.img,format=raw, my "disk" file
-cpu host, use the same cpu information
-cdrom /mnt/MicroSD/Vcd/en_windows_7.iso, my Windows 7 install cd turned into an iso
-boot menu=on, enable the boot menu ( hit F12, etc.. )
--usbdevice tablet, Qemu's Vnc server sucks at tracking mouse positions so using tablet mode keeps the mouse pointer .. well on-point
Tks for share
Kernel great work
But how to install window 7 ? ?
Gửi từ ASUS_Z00AD của tôi bằng cách sử dụng Tapatalk
I just got my Nexus 5x in! I've never developed for Android before, so this is all a new experience for me. I managed to get a 6.0.1_r30 generic arm build compiled (forgot to `lunch` for bullhead), so I know my environment is finally sane. However, I'd like to get some clarification on the Snapdragon 808.
I know the Snapdragon 808 is based on the ARMv8-a architecture, which means that it should, in theory, be both arm and arm64 compatible. And, from the look of devices/lge/bullhead/BoardConfig.mk, it appears that the default kernel is dual-arch arm and arm64. However, the primary arch is arm64. I'd like to attempt to build a kernel that's arm (armv7-a-neon) only. You might ask, "Why would you want to do that?" Well, I would like to build Ubuntu Touch for the device. Ubuntu touch is using the KitKat dev tree, so is only 32-bit compatible. Attempts to expand the KitKat tree with an arm64 cross-compilation toolchain were fruitless after spending countless hours attempting it.
At this point, I don't even know if it's worth trying for a couple of reasons:
Hardware drivers are Lollipop, Ubuntu Touch is KitKat
I don't know if ARMv8-a will boot a 32-bit kernel out-right or it has to start in 64-bit mode and drop to 32-bit (if that's the case, would the kernel know to do that? Or does the CPU start in 32 bit mode and bump up to 64 bit mode)?
It's probably pretty unlikely that dropping in a pre-built Lollipop kernel into the Ubuntu Touch dev tree would work -- different ABI's (That's the ever-changing kernel/Android-specific API/syscalls, right?)
So, I'm looking for some help clarifying any of these issues. Is there anybody here really familiar with ARM that could answer these questions? Heck, if these are non-issues, I might even attempt a build.
Hi,
Since OP released the source code of the OP3 I thought I would take a shot on compiling them.
I have a lot of experience with C++ on an application level and also did some minor work with windows drivers.
But on Linux I'm still a beginner.
Since the repository OP points to (https://github.com/OnePlusOSS/android/tree/oneplus3/6.0.1) contains only a shell script I guess I can't compile it on windows, right?
So I will go for a Linux VM, what OS should I use Ubuntu 12 or 14 or may be better Debian?
Also How much power does a machine need in order to compile a android image in a reasonable time frame? My PC has a 6 core i7 @ 4GHz with 64 GB of RAM, AFAIK I can give all cores to the VM and up to 32 GB or RAM.
Giving cores is no problem, but the more RAM I give the larger all the snapshots become, so what would be a recommended amount?
Also What tools do I need? I tried to run the pull_library.sh but it threw some errors as I did not have ADB installed in the VM, so before I try and try i thought I just ask what thing I'll need to swiftly succeed with my endeavor?
Cheers
David X.
DavidXanatos said:
Hi,
Since OP released the source code of the OP3 I thought I would take a shot on compiling them.
I have a lot of experience with C++ on an application level and also did some minor work with windows drivers.
But on Linux I'm still a beginner.
Since the repository OP points to (https://github.com/OnePlusOSS/android/tree/oneplus3/6.0.1) contains only a shell script I guess I can't compile it on windows, right?
So I will go for a Linux VM, what OS should I use Ubuntu 12 or 14 or may be better Debian?
Also How much power does a machine need in order to compile a android image in a reasonable time frame? My PC has a 6 core i7 @ 4GHz with 64 GB of RAM, AFAIK I can give all cores to the VM and up to 32 GB or RAM.
Giving cores is no problem, but the more RAM I give the larger all the snapshots become, so what would be a recommended amount?
Also What tools do I need? I tried to run the pull_library.sh but it threw some errors as I did not have ADB installed in the VM, so before I try and try i thought I just ask what thing I'll need to swiftly succeed with my endeavor?
Cheers
David X.
Click to expand...
Click to collapse
Why do you not asking this in the right section?
Maybe general or Q&A
Best Regards,
Taker
What are you expecting when trying to compiling this ? It's the device tree and the kernel, not a full rom that you can install and run on your phone. Maybe you should look at how to compile a full rom like cm13. (if you want to compile something with your beast). There are plenty of tutorials.
_Man0waR_ said:
What are you expecting when trying to compiling this ? It's the device tree and the kernel, not a full rom that you can install and run on your phone. Maybe you should look at how to compile a full rom like cm13. (if you want to compile something with your beast). There are plenty of tutorials.
Click to expand...
Click to collapse
and where would I find those?
DavidXanatos said:
and where would I find those?
Click to expand...
Click to collapse
perhaps by searching? there is a whole thread about building cm13 in Guides, News and Discussion. And google should bring you many results. I know I searched when I wanted to build my first rom a couple of years ago.
DavidXanatos said:
and where would I find those?
Click to expand...
Click to collapse
Come on. There is even a thread dedicated to building cm13 for the OP3. It should help you to start. There are several useful links inside the thread too. It's almost the same for any android rom (with a few adjustments).
http://forum.xda-developers.com/oneplus-3/how-to/learning-to-build-cm13-t3406725
Feel free to ask questions there if you get stuck. It should get you busy until we have official nightlies.
Good luck ! But please don't create a new thread 'Unofficial cm13 build'. We have enough of them
DavidXanatos said:
and where would I find those?
Click to expand...
Click to collapse
You will never be able to build yourself if you ask people where to find those.
Sent from my ONEPLUS A3000 using XDA-Developers mobile app