[Q] make not working - Touch Pro2, Tilt 2 Android General

Fixed my repo sync error by deleting and redownloading the entire xdandroid source again.
Included the dependencies in the root of the directory(signed-dream_devphone_userdebug-ota-14721.zip, OpenGL-ES version 1.1 and liboemcamera.zip, I went then and made buildspec.mk. Included gapps using
./unzip-files.sh -g
I then went and make -j4
After a little while (few minutes maybe?) it seems to finish with no errors and just a few warnings, however, I never receive any filesystems out of it. Well, nothing appears in out/target/product/msm

Related

[EXPERIMENTAL] Dalvik with JIT enabled for CyanogenMod 5.0.5.x

Just rebuilt CM from the source, with JIT enabled (and fixed the code to compile)
* With "plain" CyanogenMod 5.0.x ROM it appears to be at least partly functional (people reporting Linpack jump from 7 to 17 Mflops) but I expect instabilities so JIT is definitely still far from the "prime time"
* It appears that HTC Desire ROM and JIT do not mix well. You will get reboots as soon as you try to unlock via. slider. I am trying to figure out what is causing this
For people that want to experiment - I am providing the precompiled Dalvik libraries with JIT enabled. DO NOT TRY THIS IF YOU ARE INEXPERIENCED!!! I assume no liabilities for any problems. Please read the readme first!
Code:
JIT Support for Nexus One CyanogenMod 5.0.x / Kernel 2.6.33.1 (Eclair)
By Ivan Dimkovic (psyq321)
--------------------------
NOTE: JIT is totally unsupported and known to be NOT stable!!! There is no guarantee your system will boot at all!!! ALWAYS BACK UP YOUR SYSTEM WITH NANDROID FIRST!!! This package is provided for TESTING PURPOSES ONLY. Author assumes NO LIABILITY WHATSOEVER if you brick your phone!!!
1. What is this?
This package contains several Android system files that enable JIT ("Just in Time") feature in the Dalvik VM. JIT is very unstable and it is not built-in the AOSP or Cyanogen's ROMs. This package contains system files built with JIT feature ON and it could be useful for testing for people that do not wish to recompile the entire ROM
extra_tuning directory contains Dalvik JIT library compiled with WITH_JIT_TUNING option. This option presumably enables even more optimizations for the JIT, but it appears to be totally unstable (I get endless reboot cycle)
2. How to make JIT enabled?
Follow these steps:
- BACK UP YOUR SYSTEM WITH NANDROID (IMPORTANT!!!)
- Connect your phone to the PC
- Copy the Dalvik files to the system directories:
adb remount
adb push libdvm.so /system/lib/libdvm.so
adb push libnativehelper.so /system/lib/libnativehelper.so
adb push dalvikvm /system/bin/dalvikvm
- Go to the shell (e.g. via adb shell, or via ssh) and change the permissions:
chmod 755 /system/bin/dalvikvm
chmod 644 /system/lib/libdvm.so
chmod 644 /system/lib/libnativehelper.so
- Add this line at the end of your system's build.prop
dalvik.vm.execution-mode=int:jit
- Reboot into RECOVERY and wipe Dalvik cache!
- Reboot
3. It does not work? My system keeps rebooting / My system crashes randomly?
Unfortunately, this can happen and this is known issue with JIT. This is the reason why it is not enabled. You are free to look in the AOSP code and try to fix it by yourself, but I suggest to wait until original developers make it stable
Enjoy!
Try JIT with a none sense rom like Cyanogen.
Gimpeh said:
Try JIT with a none sense rom like Cyanogen.
Click to expand...
Click to collapse
Bah! What nonsense..... sorry.
[email protected] said:
Bah! What nonsense..... sorry.
Click to expand...
Click to collapse
Don't be so senseless!
it seems people were running it on the g1 for at least a little while what do you think is the difference
I am not really sure, maybe HTC Sense components are much more intensive and force the JIT bugs to appear earlier.
Just tried everything (replaced libdvb.so, libnativehelper.so and dalvikvm - and cleaned up the dalvik cache) - and it is a no-go
If JIT is ON, SIM card is not accessed at all, I just get the lock screen, which triggers the system reboot if I slide it.
This is all on the HTC Desire a19 ROM... I guess JIT is a bit more stable on a stock ROM.
Gimpeh said:
Don't be so senseless!
Click to expand...
Click to collapse
that makes no sense whatsoever.
I thought the last time JIT was in CyanogenMod was in cm-5.0 beta 3. I'm pretty sure it wont work on any ROM except that. I would use it but the multi-touch included in it is still the hacked together version.
I miss JIT ;/
JIT is just not compiled-in by default in CyanogenMod but it is definitely in the code.
You can still enable it manually, but you need to rebuild the ROM from the source.
If you wish to try it - put this line in the buildspec.mk:
Code:
WITH_JIT:=true
Then rebuild everything - and the Dalvik VM will have JIT features inside. Then you need to enable JIT in the build.prop (or by adb manually on runtime)
Doh...
Just fetched the latest source from Cyanogen's github...
Looks like CM+JIT compilation is broken now There are some asserts in the code (Jit.c, line 48 for example) that are referencing missing structure members (looks like they reorganized structure layouts and moved JIT-specific stuff to another one) so the JIT-enabled code won't compile.
Ivan Dimkovic said:
Doh...
Just fetched the latest source from Cyanogen's github...
Looks like CM+JIT compilation is broken now There are some asserts in the code (Jit.c, line 48 for example) that are referencing missing structure members (looks like they reorganized structure layouts and moved JIT-specific stuff to another one) so the JIT-enabled code won't compile.
Click to expand...
Click to collapse
I saw a bunch of JIT related activity on GITHUB today from Cyan. Perhaps hes testing it again for a new experimental build.
This is one official upgrade I'm really looking forward to. Sadly, I bet it wont be released for another year.
yeah. A stable JIT would be a gamechanger.
I thought i was the only one that was interested in on JIT. Either that or Dalvik-Turbo
Looks like JIT breakage is coming from the AOSP itself.
What is going on is, in Jit.c (/dalvik/vm/interp/Jit.c) there are places that expect JIT stuff to be in the DvmGlobals structure - however, those elements are in the DvmJitGlobals structure.
For example, line 48 of Jit.c
Code:
assert([b][u]gDvm.jitTableSize[/u][/b] &&
!([b][u]gDvm.jitTableSize[/b][/u] & (gDvmJit.jitTableSize - 1))); // Power of 2?
gDvm (which is of DvmGlobals type) has no jitTableSize entry - it is part of gDvmJit
I'll try manually fixing these errors (there are few, and mostly confined to asserts fortunately) tonight but this smells like more things are broken.
I had JIT running on my Magic. It was 99% stable... I am actually hoping that Cyanogen fixes all of the bugs in the Java V8 script engine first. It made a big difference in the Browser.
Ivan Dimkovic said:
Doh...
Just fetched the latest source from Cyanogen's github...
Looks like CM+JIT compilation is broken now There are some asserts in the code (Jit.c, line 48 for example) that are referencing missing structure members (looks like they reorganized structure layouts and moved JIT-specific stuff to another one) so the JIT-enabled code won't compile.
Click to expand...
Click to collapse
IIRC, Cy removed Jit due to stability issues. I think there was a stability concern by just having the code in there, even if it wasn't enabled. You might want to dig through his thread a bit.
Hmm
JIT is definitely still in CM's repository... and just by quickly looking at it, it looks exactly the same as in the current AOSP
But it is broken in both. I don't know when exactly it got broken - as the last CM snapshot I had on my Linux VM was from few weeks ago, and the JIT definitely compiled.
Perhaps the breakage is result of some AOSP checkin by Google.
Ok, I fixed compilation errors.. rebuilding everything now.
Will test and upload JIT libraries here.
Ivan Dimkovic said:
Ok, I fixed compilation errors.. rebuilding everything now.
Will test and upload JIT libraries here.
Click to expand...
Click to collapse
Thanks that would be pretty cool.

[DEV] Error building Froyo release for Nexus One

I did a vob sync to get the latest release to include Froyo...
I ran the extract-files.sh script to pull 'all needed files'
Configured for building Passion user debug...
make...
I get the following error....
make: *** No rule to make target `frameworks/base/core/java/android/
server/search/SearchableInfo.aidl', needed by `out/target/common/obj/
JAVA_LIBRARIES/framework_intermediates/src/core/java/android/app/
ISearchManager.java'. Stop.
Can someone help me understand why this build error is occuring? I
would think that since I just did a sync with the platform manifest
everything should be there to build the official Froyo 2.2 for Nexus
One...
- Jonathan Hirst
It looks like something didn't get configured. Did you clean your build environment to make sure there are no carry-overs from a previous build? What system are you building on?
If you're building on a Mac, you have to do it on a case-sensitive filesystem. Also, building on OS X 10.6 (Snow Leopard) is not supported, either.

[Q] stuck on repo sync? Any help!

ASSALAMOALIKUM
Hello friends,
I have downloaded compressed .repo folder for pac rom 5.1.
I am using Ubuntu 14.04. I have extracted it and add Local_manifest instead of git cloning(no idea about it).
than i simply repo sync but it stuck on 99%.
After sometime i closed the stuck terminal and uses this command
Code:
. build/envsetup.sh
But got an error something like this bash:. build/envsetup.sh no directory find.
Please help me thanks
You also need to download the source code compressed from wherever you got the .repo folder. If you're repo sync is failing, this is your only way out.
The reason for repo sync hanging is that SaberMod have moved their git repository and ROM devs have been slow in implementing this change. That is the cause of hanging of repo sync in recent times for almost all Rom sources.
Thanks man
I have successfully build the cm12 rom

Looking to create your own custom kernel? Start here!

INTRODUCTION
I create this guide in the hope to jump start development on our lovely Exynos devices.
I expect that before you start, you have a Linux installation in either a virtual machine or on a physical PC.
Debian Jessie, Kali Linux, Mint, or Ubuntu are excellent choices and what I'm familiar with, so if you get stuck it'll be easier for me to help you if you use these.
PREREQUISITES
WARNING: Custom kernels on the Note 7, S7, and S7 edge currently require encryption to be disabled in order to boot. They also have to disable some secure MobiCore firmware. You will have to format your entire data partition when going from stock kernel to a custom kernel! Once you're on a custom kernel with non-encrypted data, you shouldn't have to wipe it going to another custom kernel.
Be careful not to disable developer options or OEM unlock, otherwise all your data will be destroyed! Back up your data partition whenever you flash stock. (for upgrades, etc.)
First off, you'll want to download some tools necessary for building and downloading kernel sources:
git-core - you'll want git for downloading and maintaining your sources
build-essential - native gcc & tools for building (needed for build commands)
libncurses5-dev - needed to build menuconfig
diff - used to compare config changes
colordiff - used by diff to provide colorful human readable diff output
Code:
apt-get install git-core build-essential libncurses5-dev diff colordiff
PREPARING YOUR ENVIRONMENT
Once you've got that out of the way, you should create an organized environment for working. I like to use ~/build.
Code:
mkdir -p ~/build/toolchain ~/build/kernel
DOWNLOADING & INSTALLING A TOOLCHAIN
You'll want to download a toolchain for kernel building. I recommend using Linaro's optimized ARM toolchains.
The Exynos 8890 benefits from the Cortex-A53 code compiling optimizations.
GCC 4.9: https://releases.linaro.org/components/toolchain/binaries/4.9-2016.02/aarch64-linux-gnu/
GCC 5.X: https://releases.linaro.org/components/toolchain/binaries/latest-5/aarch64-linux-gnu/
The actual file that you want ends in -x86_64_aarch64-linux-gnu.tar.xz (assuming you have a 64-bit Linux install, seriously, 32-bit needs to go! )
We'll use the GCC 5.3.1 2016.5 toolchain in this example.
Let's download and extract it now:
Code:
cd ~/build/toolchain
wget "https://releases.linaro.org/components/toolchain/binaries/latest-5/aarch64-linux-gnu/gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu.tar.xz"
tar xf ./*linux-gnu.tar.xz
rm ./*linux-gnu.tar.xz
That's it for installing the toolchain, easy right?
DOWNLOADING THE KERNEL
Rather than download your kernel sources directly from Samsung full of wacky issues when you change a single configuration option, you can grab it from my GitHub!
Using this method, you have an already working stock kernel prepared to be modified and built at your leisure.
You're also able to grab updates and fixes from me should you want them. I'll be committing new kernel source updates from Samsung to the opensource branch.
The stock-6.0 branch will be rebased on top of opensource when that happens, then stock-6.0.y (stock, with Linux updates) will be rebased on top of that.
Cool concept, right?
First, you'll want to create a GitHub account if you don't have one already.
This will allow you to upload your changes and share your kernel with other interested users and developers.
Once you've got your account, and you're logged in, browse to:
https://github.com/jcadduono/android_kernel_samsung_universal8890
You want to fork the sources to your own account, to do this simply click the [Fork | ] button near the top right of the page:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Now you've got your own copy of the Note 7 / S7 / S7 edge kernel sources on your GitHub!
The next step is to use git to download it to your PC.
Replace "your_username" with your actual GitHub username. Using [email protected] you can avoid being asked for your username each time you push new changes.
Code:
cd ~/build/kernel
git clone https://[email protected]/your_username/android_kernel_samsung_universal8890 samsung_universal8890
cd samsung_universal8890
The default branch is stock-6.0. This is what most users will want. If you wish to start on a kernel that is updated to the latest Linux minor version, then simply:
Code:
git checkout stock-6.0.y
There's a twrp-6.0 branch that's used for building the kernel inside the official TWRP for Note 7 / S7 / S7 edge.
There's also a nethunter-6.0 branch used to build the kernel used by Kali NetHunter on those devices.
You can use git log <branch> to view commits, and git cherry-pick <commit id> to copy commits from those branches into yours if you like.
CONFIGURING GIT
Before you start working on your kernel, you will need to set up your git profile.
The user values show up in commit messages to tell people who authored them.
Code:
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
git config --global push.default simple
YOUR FIRST COMMIT
We'll want to check out a new branch, and give it your own cool name. I suggest adding a -6.0 suffix to it because you'll probably want to start a new branch when Android 7.0 comes out.
We're going to use "coolname" as our example, so be sure to replace that with what you really want it to be called in the next steps.
Code:
git checkout -B coolname-6.0
Next we'll need to modify the build scripts to fit our setup.
Open build.sh, menuconfig.sh, and dtbgen.sh.
You'll want to set the TOOLCHAIN= path in all 3 scripts. If you're following this guide, then it's already correct!
In menuconfig.sh and build.sh, you'll want to set your default target config name.
See the line:
Code:
[ "$TARGET" ] || TARGET=samsung
You'll want it to look like this:
Code:
[ "$TARGET" ] || TARGET=coolname
Now you want to copy the default samsung kernel configuration so you have your own to work with:
Code:
cp arch/arm64/configs/samsung_defconfig arch/arm64/configs/coolname_defconfig
Now you'll have prepared your kernel source for starting work on your own custom kernel!
Let's turn that into a commit, but first look at the changes you've made using:
Code:
git diff
Does that look good? If not, fix what's broken before proceeding.
Next you'll want to add files that will be part of your commit.
For simplicity's sake, let's just add all of the changed files into the commit.
Code:
git add .
Now to make your commit:
Code:
git commit -m "My first commit, setting up my coolname kernel!"
You've done it!
CONFIGURING YOUR KERNEL
We'll use the menuconfig.sh script to launch the kernel menuconfig.
Code:
./menuconfig.sh
Change whatever options you're interested in, but don't change a lot all at once, otherwise when or if you run into issues, you won't know which option caused it.
Once you're done playing in the menuconfig, exit and save.
You'll be shown a colorful difference between your old configuration and your new one.
It will ask you if you want to save it, and you just have to type "y" and press enter for it to be saved.
At this point it's a good idea to make another commit to save your configuration changes.
If you need to edit the commit, you can easily use git commit --amend to fix it up.
BUILDING YOUR NEW KERNEL
Let's take your new config for a test drive.
To build your kernel, simply run:
Code:
./build.sh gracelte xx
gracelte = Note 7
herolte = S7
hero2lte = S7 edge
xx = International N930F & N930FD
kor = Korean N930K, N930L, & N930S
Yes, you can compile your kernel to all 3 of those devices using just your single config!
The power of device specific config additions.
Once your kernel is finished building, the resulting files will be located at:
Code:
build/arch/arm64/boot/Image
build/arch/arm64/boot/dtb.img
build/modules/*.ko (if modules are enabled)
INSTALLING YOUR NEW KERNEL
The LazyFlasher project comes to the rescue here. It's the swiss army knife of kernel flashing in TWRP.
There's a specific branch for the Note 7 called kernel-flasher-gracelte. (use kernel-flasher-herolte instead if building for S7/S7 edge!)
To download it (feel free to fork it so you can have a copy on your GitHub to modify instead!):
Code:
cd ~/build
git clone -b kernel-flasher-gracelte https://github.com/jcadduono/lazyflasher.git
cd lazyflasher
To use LazyFlasher, you'll probably want to take a look at the Makefile, config.sh, and META-INF/com/google/android/update-binary (a shell script).
There's a few things you can change there to personalize it to your needs.
You should also enter the patch.d folder and delete 060-f2fs-fstab if you don't have f2fs enabled in your kernel, and edit the io_scheduler in 070-kernel-settings if you don't have fiops enabled either.
(make another git commit to save your setup!)
Once the installer is set up to your liking, all you have to do to build it is copy the Image and dtb.img from your build output into the lazyflasher folder.
If you have any modules (.ko files) to install, place them in the modules folder.
Now simply run:
Code:
make
A TWRP flashable zip and sha1sum is created!
At this point, you will need to use the [Format Data] button in TWRP if your device is encrypted! There is no known way around this.
This will wipe all data from your phone, including your internal storage, essentially making it like new.
Transfer it to TWRP and flash away, you've just lost your custom kernel development virginity.
Go have a few beers to celebrate, or to drown your sorrows in the case of a boot loop.
You should consider taking a look at the patch.d scripts sometime so you know what it's actually doing.
PROBLEMS?
Post a reply here and I'll try to find a solution and add it to this post.
RESOURCES
Need a text editor for coding? I use gedit. It's pretty, light, and you can get some decent plugins for it.
It's a minimal editor, so don't expect anything really fancy. Configure it and enable plugins before you decide to trash it.
Code:
apt-get install gedit gedit-plugins
Here's an awesome git starter guide: http://rogerdudler.github.io/git-guide/
THANKS
If not for @Tkkg1994 finding out what changes are needed to get custom kernels up and running, we wouldn't have this lovely guide here!
Thanks for the amazing guide, i got it compiled successfully but the problem comes after the device boots up, it asks for my Pattern and when i enter it, it keeps saying incorrect and wont let me in, any help?
Ather said:
Thanks for the amazing guide, i got it compiled successfully but the problem comes after the device boots up, it asks for my Pattern and when i enter it, it keeps saying incorrect and wont let me in, any help?
Click to expand...
Click to collapse
Sorry, I forgot to add to the guide that custom kernels don't support encryption. You should flash your stock kernel & supersu, install something like titanium backup, and back up all your things to an external SDcard.
I've added a warning in the thread and included it in the instructions now.
that's weird, I disabled lockscreen security and reinstalled the kernel, booted up fine with selinux enforcing http://i.imgur.com/IVSTfV1.png
Ather said:
that's weird, I disabled lockscreen security and reinstalled the kernel, booted up fine with selinux enforcing http://i.imgur.com/IVSTfV1.png
Click to expand...
Click to collapse
Are you still encrypted?
Maybe it's just one of the secure mobicore firmware that were removed that your lock screen depended on. You might be able to set up the lock screen again now, and this time it won't require that specific piece of firmware.
no i had already wiped data when i installed hydra kernel so after flashing my custom kernel i tried to setup the fingerprint and it gave an error that the fingerprint sensor isn't available try later, do you have any idea how to make a decrypted kernel like hydra?
Ather said:
no i had already wiped data when i installed hydra kernel so after flashing my custom kernel i tried to setup the fingerprint and it gave an error that the fingerprint sensor isn't available try later, do you have any idea how to make a decrypted kernel like hydra?
Click to expand...
Click to collapse
Oh, I'm not sure why that happened then. There shouldn't have been anything extra removed on top of what HydraKernel removes.
My device is working with both Iris and Fingerprint unlock right now.
Can you post the output of:
Code:
ls /system/app/mcRegistry
can you test out my kernel? i see hydra zip has some files that it replaces, and the lazyflasher has similar files, could that be the problem?
Ather said:
can you test out my kernel? i see hydra zip has some files that it replaces, and the lazyflasher has similar files, could that be the problem?
Click to expand...
Click to collapse
try backing up your system/data to !!external sdcard!! in twrp, saving your internal storage to pc, then formatting data.
restore your stock kernel and system before flashing your custom kernel.
then see if it works from scratch.
if it's all fine, try restoring your data backup.
Ather said:
no i had already wiped data when i installed hydra kernel so after flashing my custom kernel i tried to setup the fingerprint and it gave an error that the fingerprint sensor isn't available try later, do you have any idea how to make a decrypted kernel like hydra?
Click to expand...
Click to collapse
This sounds exactly like you did not patch /system/app/mcRegistry files
Sent from my SM-N930F using XDA Labs
Tkkg1994 said:
This sounds exactly like you did not patch /system/app/mcRegistry files
Sent from my SM-N930F using XDA Labs
Click to expand...
Click to collapse
They shouldn't be patched though, the installer simply removes the secure ones that the device is unhappy with.
It works fine for me, so I know the offending ones are being removed, but maybe somehow it deleted all of his tlbins?
Be nice if he provided the contents of his mcRegistry :/
jcadduono said:
They shouldn't be patched though, the installer simply removes the secure ones that the device is unhappy with.
It works fine for me, so I know the offending ones are being removed, but maybe somehow it deleted all of his tlbins?
Be nice if he provided the contents of his mcRegistry :/
Click to expand...
Click to collapse
Hello @jcadduono,
I am one of your "orphan" users of Idlekernel. It is the very best kernel for the Note 3.
Would you produce a blind update of it, please, please.
I would be more than happy to test it before you upload to general public.
Sorry guys for the OT.
Need help for finalisation kernel
Hello and thank you OP for the tutorial, I have done everything and no worries except when I want to flash the kernel does not boot, then I would like to know how to get a boot.img with the dtb.img files and the image create after Compilation, if someone can help I will be grateful
Thank you
Help on Kernel modules and patches
{MY QUESTIONS ARE ABOUT BOLD ITEMS BELOW}
Once your kernel is finished building, the resulting files will be located at:
Code:
build/arch/arm64/boot/Image
build/arch/arm64/boot/dtb.img
[B]build/modules/*.ko (if modules are enabled)[/B]
INSTALLING YOUR NEW KERNEL
The LazyFlasher project comes to the rescue here. It's the swiss army knife of kernel flashing in TWRP.
There's a specific branch for the Note 7 called kernel-flasher-gracelte. (use kernel-flasher-herolte instead if building for S7/S7 edge!)
To download it (feel free to fork it so you can have a copy on your GitHub to modify instead!):
Code:
cd ~/build
git clone -b kernel-flasher-gracelte https://github.com/jcadduono/lazyflasher.git
cd lazyflasher
To use LazyFlasher, you'll probably want to take a look at the Makefile, config.sh, and META-INF/com/google/android/update-binary (a shell script).
There's a few things you can change there to personalize it to your needs.
You should also enter the patch.d folder and delete 060-f2fs-fstab if you don't have f2fs enabled in your kernel, and edit the io_scheduler in 070-kernel-settings if you don't have fiops enabled either.
(make another git commit to save your setup!)
Once the installer is set up to your liking, all you have to do to build it is copy the Image and dtb.img from your build output into the lazyflasher folder.
If you have any modules (.ko files) to install, place them in the modules folder.
Now simply run:
Code:
make
Got a few question for anyone that is familiar with the exynos8890-gracelte BUILD. This in regards to files output after compilation of kernel code; specifically with editing patches and providing module support.
Where are the *.ko files located if default output is used(using your ./build.sh gracelte xx)? By the way...Your tutorial is awesome, first and foremost...but I want to be sure that I am pulling the files from the correct location (being a newbie at this android kernel building stuff). I found my modules under "~/build/kernel/samsung_universal8890/build/lib/modules/3.18.14-dee-gracelte-xx-0.1" which is the parent folder to other folders/files that seem to be of interest. After digging deeper there are even folders within the previously mentioned (named) one that have items of question as to whether they are needed in my "flasher" module folder. Such as pictured https://drive.google.com/open?id=0B-3GHX6_T7lYRkRUUVVORE1OM1k
I just want to have a functioning kernel with module support/modules in there proper place. Another item is patches. Would it be possible to just change "070-kernel-settings" patch to "io_scheduler=noop" if I changed default setting to such? If so, what other, if any, items in this file would need editing? Where else can I find patch files located on the web or is this something home-brewed? Thanks for all your hard work.
I also assume that by changing to the proper package manager commands, this procedure will work for pretty much most Linux distros.
Windows 10 Support Number

[WIP] Enhanced kernel for CherryTrail devices (tablets/convertibles) - 4.14

Hi, there!
Now that we can use Project Croissant to get ChromeOS running or non-Chromebook devices, what is missing is a better kernel for improved compatibility.
Thanks to the threads by @nabil2000 I was able to successfully build a chromeos-4.14 kernel that boots on my test device (Lenovo MIIX320-10ICR - Z8350 processor) using a CONFIG from FydeOS 5.31 with most hardware enabled (WiFi, Bluetooth, sound), but it has the same issue as latest ATB builds: it freezes after a while. This doesn't happen with latest FydeOS or CloudReady builds (CloudReady bought FlintOS so I guess they are using some of their code now), so my guess if that their kernels have some patches that aren't included in the Chromium git. FydeOS is open-sourced only for RaspberryPi and TinkerBoard, there are no sources available for the PC or VMWare versions (PC version is not open source as many say, so be aware).
I already have some ideas to make the trackpad as well as the battery meter and brightness work, but it is not useful if the kernel isn't as stable as FydeOS (virtually no freezes or crashes once booted). I have already checked, and the issue is not the intel_idle.max_cstate issue that plagued most BayTrail/CherryTrail devices in the past (using value 1 doesn't change anything).
So any ideas how to get FydeOS kernel source? Patches to make the current chromeos-4.14 kernel stable?
UPDATE: As @nabil2000 reported, it seems that FydeOS is not willing to release their kernel source. But it is possible to get kernel config from v5.31 using configs.ko module, which is missing in the next version (v6.0). Using FydeOS v5.31 as base it is possible to build a very stable kernel for CherryTrail devices.
Thanks
Installation v71/v72 - kernel 4.14
FydeOS has the best support for the MIIX320-10ICR, with some caveats:
It will boot to a black screen, but you just need to wait until it finishes loading the hit Ctrl+Alt+Fn+F2, the screen will blink and then hit Ctrl+Alt+Fn+F1 to go back to ChromeOS (for some reason, the developer shell is blank in 5.31 but it seems to work fine on 6.0). Use Ctrl+Shift+Fn+F3 to rotate the screen manually;
WiFi works out of the box, Bluetooth is detected but audio does not work (Chromium misses a library for audio over Bluetooth);
Sound works too, but you need to install some UCM files (more about this later);
Camera does not work, and the trackpad works very well, with gestures, but does NOT click (tap to click work with a custom conf file, see below - the trackpad actually sends two events when clicking the physical button, as some Windows devices do, and this doesn't work with cmt driver).
First I tried to build the ChromeOS file using the chromium.img from FydeOS v5.31. It booted fine and I was amazed to see the ChromeOS logo and Google enrollment, but PlayStore setup didn't finish (low space?) and there was no way to install it to another driver: many GPT errors and the installer failed...
Then I tried to do everything on place:
Booted to FydeOS on USB drive;
As I could not get to the dev shell in v5.31, I had to login then use crosh and shell, then installed it on a second external disk (120GB SATA on USB, /dev/sdb):
PS: your device may be a different one, check the correct device name using "lsblk" or "fdisk -l" and be aware that this installation erases the whole disk!
Code:
sudo chromeos-install --dst /dev/sdb
After installing, I have used option 2A from GitHub page (very detailed, thanks!) with the script, soraka (or pyro) and caroline recoveries (both versions 11151.113 = v71) on another disk:
PS: FydOS v5.31 kernel does not have support to VTPM_PROXY, while v6.0 does, it means you cannot use swtpm.jar with FydeOS v5.31 and chromefy. For nocturne or Android Pie ARC, you must use FydeOS v6.0, otherwise ARC won't work.
Code:
sudo bash ./chromefy.sh /dev/sdb recovery.bin caroline.bin
Answered YES to use the local installation, YES to resize partitions and NO in the end to keep SELinux as enforced (it may work fine if you keep it to enforced with nocturne recovery tho when using FydeOS v6.0);
Rebooted using the final installation, logged in and everything seemed fine, but then Play Store would not show installed apps even after a reboot, so I tried a powerwash and it seems it fixed the issue, now it seems to be working fine.
Original post: https://forum.xda-developers.com/showpost.php?p=78891386&postcount=729
Post installation fixes v71/v72 - kernel 4.14
1. Sound
You need to install UCM files using linuxium-install-UCM-files.sh script after remounting rootfs as RW.
Code:
sudo remount -o rw,remount /
sudo bash ./linuxium-install-UCM-files.sh
2. Headphone jack
You must send this quirk to the rt5645 module when loading it, so while rootfs is still RW, as root add a file named "miix320.conf" to /etc/modprobe.d with this line:
Code:
options snd_soc_rt5645 quirk=0x1030
PS: if you have used the correct UCM files then the audio should change between speakers and headphones, but not mic. To enable internal mic:
Code:
sudo alsaucm -c chtrt5645 set _verb HiFi set _enadev DMic
and to enable mic from headset:
Code:
sudo alsaucm -c chtrt5645 set _verb HiFi set _enadev HSMic
3. Tap to click with trackpad
While rootfs is still RW, as root add a file named "50-mixx320.conf" to /etc/gestures:
Code:
Section "InputClass"
Identifier "MIIX320 conf"
MatchUSBID "048d:*"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Option "Tap Minimum Pressure" "1"
EndSection
PS: for this to work, make sure "tap-to-click" is enabled in trackpad section of system Settings. If you have another device, use "dmesg | grep input:" with "lsusb" to find your device USB id instead of "048d:*".
Still needing fixes:
- chrome://flags is blank for some reason, so any special flags should be added manually to "chrome_dev.conf" instead;
- Trackpad physical button click;
- Brightness control;
- Battery meter;
- Rotation;
- Automatic change between tablet/desktop modes;
- Cameras (hardly they will work as they rely on ATOMISP, which was abandoned and does not work even on newest kernels).
Original post: https://forum.xda-developers.com/showpost.php?p=78978577&postcount=757
reserved
Good news! With chromeos-4.19 it is possible to fix most problems:
- trackpad button click;
- battery meter;
- accelerometer sensor module is loaded, it needs to be tested;
- possibly brightness can be fixed too.
Using FydeOS v5.31 kernel config as base I could get a very stable build, but it broke loading ARC somehow, and I have no idea why. Maybe it's a permissions/signatures issue? I will try to run chromefy again, with the new kernel already in place to see if it works.
lfom said:
Good news! With chrome-4.19 it is possible to fix most problems:
- trackpad button click;
- battery meter;
- accelerometer sensor module is loaded, it needs to be tested;
- possibly brightness can be fixed too.
Using FydeOS v5.31 kernel config as base I could get a very stable build, but it broke loading ARC somehow, and I have no idea why. Maybe it's a permissions/signatures issue? I will try to run chromefy again, with the new kernel already in place to see if it works.
Click to expand...
Click to collapse
Nice to see you do some kernel work.
Care to share link to Chromium OS Kernel 4.19 source code, I would like to get a crack at using menuconfig to add drivers..
nabil2000 said:
Nice to see you do some kernel work.
Care to share link to Chromium OS Kernel 4.19 source code, I would like to get a crack at using menuconfig to add drivers..
Click to expand...
Click to collapse
Sure. I should post a full guide as soon as I get ARC working without issues, the new kernel is awesome.
I have used the same base procedure as you did:
https://github.com/dnschneid/crouton/wiki/Build-chrome-os-kernel-and-kernel-modules
I then cloned (duplicated) the kernel source (chromeos-4.14) so I could then checkout the newer version while keeping the old one:
Code:
$ cd ~/kernel_new
$ git reset --hard origin/chromeos-4.19
PS: I am building on Xenial (not chroot), so I had to install libssl-dev in order to successfully build it.
lfom said:
Sure. I should post a full guide as soon as I get ARC working without issues, the new kernel is awesome.
I have used the same base procedure as you did:
https://github.com/dnschneid/crouton/wiki/Build-chrome-os-kernel-and-kernel-modules
I then cloned (duplicated) the kernel source (chromeos-4.14) so I could then checkout the newer version while keeping the old one:
Code:
$ cd ~/kernel_new
$ git reset --hard origin/chromeos-4.19
PS: I am building on Xenial (not chroot), so I had to install libssl-devel in order to successfully build it.
Click to expand...
Click to collapse
I am a lazy billy - thanks - I like copy & paste, & think as little as I can afford
Could you help me patching it on my GPD pocket?
it uses cherry tail
https://forum.xda-developers.com/ha...gpd-pocket-t3928828/post79496417#post79496417
thank you

Categories

Resources