Code Monkey home page Code Monkey logo

rnadow / honor-play-kernel-9.1-kindle4jerry Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kindle4jerry/honor-play-kernel-9.1-kindle4jerry

0.0 0.0 0.0 497.33 MB

A kernel for honor play based on EMUI9.1

License: Other

Shell 0.07% C++ 2.23% Python 0.06% Perl 2.01% C 91.96% Objective-C 0.54% Clojure 0.01% Assembly 2.79% Prolog 0.01% Awk 0.01% UnrealScript 0.01% Makefile 0.30% XS 0.01% Yacc 0.01% Lex 0.01% M4 0.01% GDB 0.01% Roff 0.01% Gherkin 0.01% sed 0.01%

honor-play-kernel-9.1-kindle4jerry's Introduction

honor-play-kernel-9.1-kindle4jerry

官方开源内核9.1小改

功能

解锁SELinux
解锁一些玄学调度器
试图用不同的编译器

注意

已经测试可以用的系统 9.1.0.312以及基于312刷的其他第三方系统

新版编译教程build5.sh或者更新

编辑/kernel/build5.sh,里面开头有环境配置,里面有注释。
除了内核文件之外,还需要一个编译工具在注释里面有提到
直接执行biuld5.sh输出在/build_out里

老版编译教程build.sh

第零步 环境配置

编辑/kernel/build.sh,里面开头有环境配置,里面有注释。
除了内核文件之外,还需要一个编译工具在注释里面有提到

第一步 编译

输入 源码
cd到kernel下面执行 sh build.sh
/kernel下的build.sh用于编译内核,但是我建议你在编译之前打开文件配置一下环境,可以去翻sh里面的注释。
(p.s.这个过程可能会非常慢,表急,慢慢等,参数-j给太多也可能会出错(不跳出来就不对了),表慌,错了就再跑一遍,支持断点续传的不要慌)
输出 /out/arch/arm64/boot/Image.gz

第二步 打包

输入 把Image.gz丢到/kernel/tools里
/Kernel/tools/mk2.sh用于打包内核,文件里有参数的相关注释。
/Kernel/tools/mk1.sh用处同上,多了开机默认permissive的SELinux
输出 kernel.img 就能用了
或者,不用上述打包方法,直接把Image.gz丢到anykernel2里面REC刷入

关于菊花如何解锁selinux

/kernel/arch/arm64/configs/merge_kirin970_defconfig中找到并且设置CONFIG_SECURITY_SELINUX_DEVELOP=y
在没用上述命令编译内核之前,慎用cmdline的androidboot.selinux=permissive那个方法停用selinux,菊花会让你开不开机的。
在用了上述命令编译之后,就可以用cmdline的androidboot.selinux=permissive的方法了,我已经在打包脚本/Kernel/tools/mk1.sh这个脚本里体现了

编译器

我尝试用Clang或者高版本GCC代替官方的GCC4.9
build.sh 官方4.9
build3.sh GCC9.2
build5.sh GCC10
GCC新版本表现还可以,需要修的地方不多
Clang全部搬运到clang分支中,目前clang还存在问题,官方内核默认不支持clang,需要修的地方太多了

关于调度

CPU:Schedtutil+EAS在原生的表现比较好,但是在官方emui可能就不是那么好了
GPU:拿出了公版mali的调度器mali_ondemand参数方面有待调整,不过默认参数还可以

honor-play-kernel-9.1-kindle4jerry's People

Contributors

kindle4jerry avatar joshchoo avatar franciscofranco avatar zx2c4 avatar engstk avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.