Hello everyone!! Want to try f2fs on your device? You are at the good place to give it a try!
disclaimer said:
I am not responsible for any damage to your phone.
Read before downloading or posting in the thread:
Proceed with caution if you have no experience.
Click to expand...
Click to collapse
INTRODUCTION
I wanted to port f2fs for our device since it gives a nice performance boost. After few months of learning how to develop and program his own custom kernel here is my first personal release.
This is an open devDB xda project. Feel free to fill in bugs reports, feature(s) requests and reviews.
To those who don't know what is f2fs
F2FS (Flash-Friendly File System) is a flash file system created by Jaegeuk Kim (Hangul: 김재극) at Samsung for the Linux operating system kernel.[2]
The motive for F2FS was to build a file system that from the start takes into account the characteristics of NAND flash memory-based storage devices (such as solid-state disks, eMMC, and SD cards), which are widely used in computer systems ranging from mobile devices to servers.
Click to expand...
Click to collapse
Some benchmarks to point out the performance difference between EXT4 and F2FS
AndroGuide benchmarks : ext4 vs f2fs ( seemes to be using the most recent f2fs)
XDA's benchmark : ext4 vs f2fs
Phoronix's benchs ext4 vs btfrs vs f2fs
Another Phoronix's bench
Click to expand...
Click to collapse
Optipops features :
Kernel's features :
Compiled with linaro 4.7.4 with optimized flags : O3, etc.
Linux 3.4.67: synced with cyanogen 's manta kernel git, google's common branch, some parts of the kernel updated to 3.4.108, and many fixes from CAF,linaro, blabla.
Governors : interactive, intelliactive,intellimm,conservative, ktoonservative , performance, userspace, nigtmahre(on request)(ask for some others if you prefer them over the one I provide)
I/O schedulers : noop, cfq, deadline, bfq(tweaked for nand devices),fiops,zen,sio
f2fs updated from upstream git(08 september 2015)
UV and OC both for the GPU AND CPU supported
Control for the gpu table thresholds
touchboost driver for cpu and gpu in replacement of crappy powerHAL touch interface ( thx @franciscofranco to have adapted qcom code to ageneric one)
arm optimized crypto algorithms.(for the ones that want to crypt their data)
f2fs crypto support
kernel neon support
kernel side touch boost driver
double tap to wake
AnyKernel2 Solution: Allow users to install the kernel on different distribution. It also detects the filesystem of your partitions to produce a correct fstab. ( f2fs is supported on any partition BUT system )
and many more patches(see my github!)
installation instructions :
Wipe Data Cache System
Flash The kernel
If issues are met, delete the
Code:
/sdcard/Android/data
folder.
IF YOU FACE ERROR/ISSUES PLEASE USE MY TWRP CUSTOM RECOVERIES AT this link
How To Migrate one partition from ext4 to f2fs(vice-versa):INSTRUCTIONS FOR TWRP 2.8.x.y
GunnerOnASpooky said:
1. Backup everything from your internal storage to your PC or what ever, if you are migrating /data partition,since the entire internal storage is going to get wiped out with format!!!!!!!!!!
2. Download the recovery from my gdrive
3. Flash the recovery from the bootloader (fastboot flash recovery XX.img)
4. Reboot into the newly flashed recovery
5. Choose wipe, advanced, then select the partition you want to change its filesystems
6. Choose the change file system option on the right
7. Select change file system again
8. Select f2fs(or ext4)
9. Repeat for all you wish to convert (I did system!/data/cache but /system partition should be working if you rom package flash extracts instead of flashing an image)
Click to expand...
Click to collapse
Credits:
@ktoonsez - for his kernel , KT- twrp and his work.
Team Win and @helicopter88 @Dees_Troy for their help.
Samsung for F2FS: heh!
@craigacgomez - for thunderkat kernel
@JustArchi - for his opti v3 build rom.
Cyanogendmod for their ROM
Linaro foundation for their toolchains
@faux123 for his intelliactive governor
@franciscofranco - for his work on touch boost drivers and mako kernel
@osm0sis - for AnyKernel2
Source:
KT-TWRP
kernel
Ramdisks
DOWNLOADS LINK
XDA:DevDB Information
Khaon's project for Nexus 10, Kernel for the Google Nexus 10
Contributors
Khaon, ktoonsez,dees_troy,cyanogenmod,faux123,franciscofranco
Source Code: https://github.com/Khaon/kernel_samsung_manta
Kernel Special Features: This kernel is compiled with lastest UBERTC 4.8.5 It features UC/OC, UV, bfq, optimizaed compillation falgs, uksm, frandom, supports f2fs, dynamiclly mounts f2fs/ext4 partitions and more
Version Information
Status: Stable
Stable Release Date: 2015-01-03
Created 2014-09-27
Last Updated 2015-01-12
XDA:DevDB Information
Khaon's kernel for Nexus 10, Kernel for the Google Nexus 10
Contributors
Khaon, Cl3Kener, ktoonsez,dees_troy,cyanogenmod,faux123,franciscofranco,freak_97,despairfactor
Source Code: https://github.com/Khaon/kernel_samsung_manta
Kernel Special Features: This kernel is compiled with lastest UBERTC 4.8.5. It features UC/OC, UV, bfq, optimizaed compillation falgs, uksm, frandom, supports f2fs, dynamiclly mounts f2fs/ext4 partitions and more
Version Information
Status: Stable
Stable Release Date: 2015-07-13
Beta Release Date: 2015-04-17
Created 2014-09-27
Last Updated 2015-09-06
XDA:DevDB Information
Khaon's kernel for Nexus 10, Kernel for the Google Nexus 10
Contributors
Khaon, Cl3Kener, ktoonsez,dees_troy,cyanogenmod,faux123,franciscofranco,freak_97,despairfactor
Source Code: https://github.com/Khaon/kernel_samsung_manta
Kernel Special Features: This kernel is compiled with lastest UBERTC 4.8.5. It features UC/OC, UV, bfq, optimizaed compillation falgs, uksm, frandom, supports f2fs, dynamiclly mounts f2fs/ext4 partitions and more
Version Information
Status: Stable
Stable Release Date: 2015-09-08
Beta Release Date: 2015-04-17
Created 2014-09-27
Last Updated 2015-09-08
XDA:DevDB Information
Khaon's kernel for Nexus 10, Kernel for the Google Nexus 10
Contributors
Khaon, Cl3Kener, ktoonsez,dees_troy,cyanogenmod,faux123,franciscofranco,freak_97,despairfactor
Source Code: https://github.com/Khaon/kernel_samsung_manta
Kernel Special Features: This kernel is compiled with lastest UBERTC 4.8.5. It features UC/OC, UV, bfq, optimizaed compillation falgs, uksm, frandom, supports f2fs, dynamiclly mounts f2fs/ext4 partitions and more
Version Information
Status: Stable
Stable Release Date: 2015-09-08
Beta Release Date: 2015-04-17
Created 2014-09-27
Last Updated 2016-04-02
Changelogs
Recommanded applications
Kernel Audiutor for kernel management. It supports for now all kernel features but gpu overclocking.
Changelogs
from 08/04 to 13/08
Merge remote-tracking branch 'exynos/android-exynos-manta-3.4-lollipop-mr1' into khaon-new
Merge remote-tracking branch 'common/android-3.4' into khaon-new
gpu:mali:dvfs:set gpu boost sysfs interface in msecs instead of usecs
mali:dvfs:enhanced gpu voltage control
defconfig:enabled f2fs crypto
f2fs:fix compilation errors when crypto is enabled
KEYS: Add invalidation support
f2fs: fix the prototype of find_target_dentry
Revert "vfs: make it possible to access the dentry hash/len as one 64-bit entry"
f2fs: import upstream sources
defconfig:compile nightmare governor
cpufreq:add nightmare governor drivers/cpufreq/Makefile
ipv6: clean up anycast when an interface is destroyed
ipv6: sysctl to restrict candidate source addresses
dt2w: enhancements to prevent the device to be all the time awake when dt2w is disabled
Merge remote-tracking branch 'common/android-3.4' into HEAD
Fix incorrect conflict resolution in "vfs: Add setns support for the mount namespace"
proc: fix build broken by proc inode per namespace patch
Revert "android: drivers: Fix build broken by android debugfs fix."
android: drivers: Fix build broken by android debugfs fix.
proc: Allow proc_free_inum to be called from any context
proc: Usable inode numbers for the namespace file descriptors.
proc: Fix the namespace inode permission checks.
proc: Generalize proc inode allocation
vfs: Allow unprivileged manipulation of the mount namespace.
vfs: Only support slave subtrees across different user namespaces
vfs: Add a user namespace reference from struct mnt_namespace
vfs: Add setns support for the mount namespace
consitify do_mount() arguments
do_add_mount()/umount -l races
fs: introduce inode operation ->update_time
VFS: Comment mount following code
VFS: Make clone_mnt()/copy_tree()/collect_mounts() return errors
get rid of magic in proc_namespace.c
get rid of ->mnt_longterm
vfs: umount_tree() might be called on subtree that had never made it
brlocks/lglocks: API cleanups
brlocks/lglocks: turn into functions
lglock: remove online variants of lock
Revert "vfs: umount_tree() might be called on subtree that had never made it"
android: drivers: workaround debugfs race in binder
Revert "android: drivers: workaround debugfs race in binder"
ipv4: Missing sk_nulls_node_init() in ping_unhash().
f2fs:fix for linux 3.4
remove permissive mode by default
fs: Introduce FALLOC_FL_ZERO_RANGE flag for fallocate
fs: Add new flag(FALLOC_FL_COLLAPSE_RANGE) for fallocate
f2fs: disable the discard option when device doesn't support
f2fs: fix a deadlock for summary page lock vs. sentry_lock
f2fs: recovering broken superblock during mount
f2fs: truncate data blocks for orphan inode
f2fs: fix building on 32-bit architectures
f2fs: avoid buggy functions
f2fs: add compat_ioctl to provide backward compatability
f2fs: do not issue next dnode discard redundantly
f2fs: add default mount options to remount
f2fs: report unwritten area in f2fs_fiemap
f2fs: avoid value overflow in showing current status
f2fs: support FALLOC_FL_ZERO_RANGE
f2fs: support FALLOC_FL_COLLAPSE_RANGE
f2fs: introduce f2fs_replace_block() for reuse
block: introduce the BFQ-v7r8 I/O sched for 3.4
cpufreq.h:correct the prototype of cpufreq_frequency_table *cpufreq_frequency_get_table_ordered
doubletap2wake:initial reworking
ptrace: fix ptrace defect cause by a merge fail
android: drivers: workaround debugfs race in binder
neigh: Better handling of transition to NUD_PROBE state
New Build Breakage in branch: kernel-m-dev-tegra-flounder-3.10 @ 1960706
Revert "double tap to wake initial introduction"
Revert "DT2W: give the capacity to wake to the driver and let the driver awake"
Merge remote-tracking branch 'common/android-3.4' into khaon-new
gpu:mali:add control for the gpu table and gpu boost duration, also decreased the gpu governor poll rate from 100 ms to 75 ms
gpu:mali:added an sysfs interface for the gpu boost freq
invensense: testBatchAndFlush CTS issues
selinux: enable per-file labeling for debugfs files.
suspend: Return error when pending wakeup source is found.
ipv4: Missing sk_nulls_node_init() in ping_unhash().
added a sysfs interface for the gpu voltage
build script updated
thermal: increased the start throlle a bit for the gpu and increase for the mem
gpu:reworked the voltage and increased voltage for the 864 cache speed
DT2W: give the capacity to wake to the driver and let the driver awake
net/unix: sk_socket can disappear when state is unlocked
selinux: enable genfscon labeling for sysfs and pstore files
selinux: enable per-file labeling for debugfs files.
selinux: correctly label /proc inodes in use before the policy is loaded
thermal:tmu-exynos:reworked slightly the driver
suspend: Return error when pending wakeup source is found.
gpu/cpu oc: little changes for the voltage
slight rework of compil flags
gpu oc: introduction of 667Mhz and 720Mhz steps
double tap to wake initial introduction
f2fs: fix counting the number of inline_data inodes
f2fs: don not re-lookup nat cache with same nid
f2fs: remove unneeded f2fs_make_empty declaration
f2fs: issue discard with finally produced len and minlen
f2fs: introduce discard_map for f2fs_trim_fs
f2fs: revmove spin_lock for write_orphan_inodes
f2fs: split find_data_page according to specific purposes
f2fs: add need_dentry_mark
f2fs: fix race on allocating and deallocating a dentry block
f2fs: introduce dot and dotdot name check
f2fs: move get_page for gc victims
f2fs: add sbi and page pointer in f2fs_io_info
f2fs: add f2fs_may_inline_{data, dentry}
f2fs: clean up f2fs_lookup
f2fs: introduce f2fs_commit_super
f2fs: add f2fs_map_blocks
f2fs: add feature facility in superblock
f2fs: move existing definitions into f2fs.h
f2fs: add missing version info in superblock
f2fs: fix not to check IS_ERR for null pointer
f2fs: make has_fsynced_inode static
f2fs: add offset check routine before punch_hole() in f2fs_fallocate()
f2fs: use is_valid_blkaddr to verify blkaddr for readability
f2fs: fix wrong error hanlder in f2fs_follow_link
Revert "f2fs: enhance multi-threads performance"
touchboost:increased the interval from 150ms to 300ms
build script updated
gpu:arm:mali:add input touchboost
SELinux: ss: Fix policy write for ioctl operations
seccomp: Replace BUG(!spin_is_locked()) with assert_spin_lock
nf: IDLETIMER: Adds the uid field in the msg
drbd: merge_bvec_fn: properly remap bvm->bi_bdev
writeback: fix a subtle race condition in I_DIRTY clearing
writeback: Move I_DIRTY_PAGES handling
input: evdev: Move wake_lock_destroy call
f2fs:sync with upstream branch
ipv4: Missing sk_nulls_node_init() in ping_unhash().
SELinux: ss: Fix policy write for ioctl operations
seccomp: Replace BUG(!spin_is_locked()) with assert_spin_lock
nf: IDLETIMER: Adds the uid field in the msg
VFS: Make more complete truncate operation available to CacheFiles
Merge remote-tracking branch 'common/android-3.4' into khaon-new
SELinux: use deletion-safe iterator to free list
subsystem: CPU FREQUENCY DRIVERS- Set cpu_load calculation on current frequency
gpu:mali:dvfs:reworked stock dvfs table
f2fs: flush symlink path to avoid broken symlink after POR
f2fs: avoid abnormal behavior on broken symlink
f2fs: change 0 to false for bool type
arm:midguard:fixed bus frequency for 533 mhz
kernel: add support for gcc 5
arm:midgard:decreased up threshold for gpu governor
vfs: check if f_count is 0 or negative
hrtimer: Prevent remote enqueue of leftmost timers
hrtimer: Prevent all reprogramming if hang detected
hrtimer: Set expiry time before switch_hrtimer_base()
sched/fair: Improve the ->group_imb logic
sched/fair: Revert sched-domain iteration breakage
sched/fair: Propagate 'struct lb_env' usage into find_busiest_group
sched/fair: Add some serialization to the sched_domain load-balance walk
sched/fair: Let minimally loaded cpu balance the group
sched: Change rq->nr_running to unsigned int
sched/fair: Implement fast idling of CPUs when the system is partially loaded
sched: Fix inaccurate accounting for real-time task
sched: Micro-optimize the smart wake-affine logic
sched: Implement smarter wake-affine logic
sched/idle: Avoid spurious wakeup IPIs
sched/__wake_up_sync_key(): Fix nr_exclusive tasks which lead to WF_SYNC clearing
Merge remote-tracking branch 'common/android-3.4' into khaon-new
SELinux: per-command whitelisting of ioctls
security: lsm_audit: add ioctl specific auditing
SELinux: Update policy version to support constraints info
SELinux: add default_type statements
SELinux: allow default source/target selectors for user/role/range
selinux: add SOCK_DIAG_BY_FAMILY to the list of netlink message types
selinux/nlmsg: add XFRM_MSG_MAPPING
selinux/nlmsg: add XFRM_MSG_MIGRATE
selinux/nlmsg: add XFRM_MSG_REPORT
selinux/nlmsg: add XFRM_MSG_[NEW|GET]SADINFO
selinux/nlmsg: add XFRM_MSG_GETSPDINFO
selinux/nlmsg: add XFRM_MSG_NEWSPDINFO
cpufreq:interactive:let's try those tunnables
08/03
kernel
squashed commits from upstream kernel revision:
blktrace: fix accounting of partially completed requests
block: fix a probe argument to blk_register_region
vfs,proc: guarantee unique inodes in /proc
mm: fix aio performance regression for database caused by THP
ASoC: wm_hubs: Add missing break in hp_supply_event()
ALSA: fix oops in snd_pcm_info() caused by ASoC DPCM
can: dev: fix nlmsg size calculation in can_get_size()
ipv4: fix ineffective source address selection
proc connector: fix info leaks
net: heap overflow in __audit_sockaddr()
net: do not call sock_put() on TIMEWAIT sockets
tcp: do not forget FIN in tcp_shifted_skb()
tcp: must unclone packets before mangling them
OOM, PM: OOM killed task shouldn't escape PM suspend
ALSA: pcm: use the same dma mmap codepath both for arm and arm64
random: add and use memzero_explicit() for clearing data
crypto: more robust crypto_memneq
vfs: fix data corruption when blocksize < pagesize for mmaped data
target: Fix queue full status NULL pointer for SCF_TRANSPORT_TASK_SENSE
block: fix alignment_offset math that assumes io_min is a power-of-2
fix misuses of f_count() in ppp and netlink
fs: make cont_expand_zero interruptible
fs: Fix theoretical division by 0 in super_cache_scan().
framebuffer: fix border color
power: charger-manager: Fix NULL pointer exception with missing cm-fuel-gauge
kvm: don't take vcpu mutex for obviously invalid vcpu ioctls
int_sqrt: Improve 3x faster integer sqrt.
net: ping: Return EAFNOSUPPORT when appropriate.
android: base-cfg: turn off /dev/mem and /dev/kmem
net: ipv6: make "ip -6 route get mark xyz" work.
Set the iif for IPv6 packets as well.
Merge remote-tracking branch 'common/android-3.4' into khaon-new
sched: Fix reference to stale task_struct in try_to_wake_up()
Merge remote-tracking branch 'common/android-3.4' into khaon-new
fs/proc/task_mmu.c: add user-space support for resetting mm->hiwater_rss (peak RSS)
gpu:mali:
reworked gpu governor table
fs:
f2fs:updatd to upstream revision
defconfig:
defconfig:enabled neon features
defconfig:add NTFS support
cpufreq:
cpufreq:ktoonservative:made touch boost smarter
cpufreq:interactive:increased DOWN_LOW_LOAD_THRESHOLD to 20%
Rom(changes from optipop official sources):
core:
Add support for exec command in init scripts.
init: Fix memory corruption when sanitizing platform paths
init: Do not call recursive_restorecon on soc.0
init: Make restorecon_recursive work for /data/
fs_mgr: Skip filesystem check unless fs_type matches
Add libminshacrypt static lib
device/manta:
fstab:removed fastboot and flush_merge mount options
twrp:added fstab and updated config
manta: Use better mount options
BoardConfig:enabled f2fs for userdata image
Audio proprietaries from stock ROM
Add support for more filesystems
Enabled BLE, GATT, SMP (bluetooth low-energy)
OTG USB storage support
Update full_manta properties
ART dex2oat optimisation properties
Final final final N5 wallpaper.
fstab: enabled f2fs support
enable inline kernel building
audio_effects:added support for viper4audio
post install validation:resize the system partition after installing the rom
added reboot to recovery button and screenshot in the power menu
manta: add GlobalActionList config
call my vendor script
enable translucent decor
Remove obsolete dalvik.gc.type-precise
manta: Enable libm optimizations
enabled optipop optimizations
power: updated to my personnal library
added twrp config for manta
TWRP 2.8.5.0:
switched to cm12's f2fs tools(1.4.1)
use my kernel instead of stock one with f2fs patches
16/02
Kernel changelog :
f2fs synced with latest revision
merged aosp new commits
reworked ktoonservative a bit
picked few patches from upstream 3.4.106 kernel
Click to expand...
Click to collapse
20/01
Hello little update to the kernel:
introduced 864 Mhz cache frequencies for 1.6+++ freq.
merged with google's androidd 3.4 branch: squashed the following commits:
Merge remote-tracking branch 'common/android-3.4' into lollipop
ARM: pull in <asm/simd.h> from asm-generic
ARM: be strict about FP exceptions in kernel mode
ARM: move VFP init to an earlier boot stage
crypto: create generic version of ablk_helper
ARM: add support for kernel mode NEON
crypto: sha - Handle unaligned input data in generic sha256 and sha512.
crypto: sha512_generic - set cra_driver_name
crypto: sha512 - Expose generic sha512 routine to be callable from other modules
crypto: create generic version of ablk_helper
defconfig updated:enabled arm crypto
KEYS: Provide signature verification with an asymmetric key
KEYS: Asymmetric public-key algorithm crypto key subtype
KEYS: Implement asymmetric key type
crypto: add crypto_[un]register_shashes for [un]registering multiple shash entries at once
ARM: 8120/1: crypto: sha512: add ARM NEON implementation
ARM: 8119/1: crypto: sha1: add ARM NEON implementation
ARM: 8118/1: crypto: sha1/make use of common SHA-1 structures
crypto: arm-aes - fix encryption of unaligned data
CRYPTO: Fix more AES build errors
ARM: add .gitignore entry for aesbs-core.S
ARM: add support for bit sliced AES using NEON instructions
ARM: move AES typedefs and function prototypes to separate header
ARM: 7837/3: fix Thumb-2 bug in AES assembler code
ARM: 7723/1: crypto: sha1-armv4-large.S: fix SP handling
ARM: 7626/1: arm/crypto: Make asm SHA-1 and AES code Thumb-2 compatible
arm/crypto: Add optimized AES and SHA1 routines
sync with f2fs upstream branch
squashed few commits from CAF:
mm: vmscan: lock page on swap error in pageout
Staging: android: binder: More offset validation
Input: Send events one packet at a time
binder: NULL pointer reference
staging: binder: add vm_fault handler
staging: binder: Change binder mutex to rtmutex.
report if instablity!
02/01
khaon said:
kernel:
cpufreq:
cpufreq: Retain only online cpus in managed_policy->cpus
cpufreq:interactive:reworked tunnables
cpufreq:interactive: making sure cpufreq stays low when it needs to stay low
cpufreq:interactive:switched to touchboost driver
cpufreq: interactive: prevents the frequency to directly raise above the hispeed_freq from a lower frequency.
cpufreq: interactive: don't skip waking up speedchange_task if target_freq > policy->cur
cpufreq: interactive: delete timers for GOV_START
cpufreq: interactive: Fix null pointer dereference in interactive governor
cpufreq: interactive: Remove unnecessary cpu_online() check
cpufreq:ktoonservative:switch to generic input touchboost driver
Tweaks on OC (from @ktoonsez )
Makefile:
Makefile:removed graphite flags
exynos:
exynos:increased thermald throttling temp
drivers:
input: touchboost: add my generic touchboost driver governor agnostic. Its slightly changed from my N5, N4 and N7 version to adapt to this arch ( from @franciscofranco )
filesystems:
f2fs:sync with upstream branch
frandom: A fast random number generator
block:
block:bfq:adjusted tunnables for nand devices
block:bfq v7r7 v7r7: . BUGFIX: Prevent the OOM queue from being involved in the queue cooperation mechanism. In fact, since the requests temporarily redirected to the OOM queue could be redirected again to dedicated queues at any time, the state needed to correctly handle merging with the OOM queue would be quite complex and expensive to maintain. Besides, in such a critical condition as an out of memory, the benefits of queue merging may be little relevant, or even negligible. . IMPROVEMENT: Let the OOM queue be initialized only once. Previously, the OOM queue was reinitialized, at each request enqueue, with the parameters related to the process that issued that request. Depending on the parameters of the processes doing I/O, this could easily cause the OOM queue to be moved continuously across service trees, or even across groups. It also caused the parameters of the OOM queue to be continuously reset in any case. . CODE IMPROVEMENT. Performed some minor code cleanups, and added some BUG_ON()s that, if the weight of an entity becomes inconsistent, should better help understand why.
kernel:
sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire. From http://ripke.com/loadavg/moire
Merge remote-tracking branch 'common/android-3.4' into khaon-new
Rom:
build:use a modular list to disable O3 optimizations (fixes for example blue tooth crashes, report any new other FC's, if they related to the optimizations flags, I can try tracking down the relevant module and add it to the list.
audio_effects:added support for viper4audio
power: removed touch screen boost's code because we use kernel side touch boost driver
Click to expand...
Click to collapse
khaon said:
19/12
khaon said:
Rom:
powerHAL: reworked the driver to prevent overriding user's CPU freq speed to 1.7GHz.
powerHAL: reworked the driver to break early on screen interaction if the current cpu governor is not interactive
build:clang: compile the rom with Ofast instead of O3 ( since this flag enables ffast-math, it violates IEEE, thus it may bring instability or decrease in performance, report weird behaviour.
Kernel:
ext4 updated to 3.4.105
frandom in replacement for random and uradom
thermal throttling: squashed @ktoonsez thermal algorithm
various cherry-picking from 3.4.105 kernel and from linux kernel upstream(include among other lz4 up to date, various arm patches, few patches
Anykernel:
Full switching to anykernel2 solution by osmosis:
patch the fstab upon flashing the zip package accordingly to your partitions' file systems
post-init script added to tweak vm,io,sched,...
Click to expand...
Click to collapse
19/11
khaon said:
Changelog
TWRP: added unofficial 2.8.1.0 build supporting f2fs
Click to expand...
Click to collapse
20/10
khaon said:
Changelog
ROM:
20/10 unoficial nightly compiled with linaro 4.8.4 with this build
Shipped with my linux mainline kernel
Kernel :
updated to Linux3.4.104
sync with google's kernel 3.4 banch
sync with f2fs branch
frandom: A fast random number generator as a kernel module for Linux.
mm: Added file system dynamic read-ahead (Credits to Chad Gooldman)
block:bfq:updated to v7r6
Click to expand...
Click to collapse
23/09/14
Linux 3.4.103
Makefile : compiling with graphite
frandom: A fast random number generator as a kernel module for Linux.
Vibration interface goes LIVE
Click to expand...
Click to collapse
F2FS :
f2fs: refactor flush_nat_entries to remove costly reorganizing ops
f2fs: introduce FITRIM in f2fs_ioctl
f2fs: introduce cp_control structure
f2fs: use more free segments until SSR is activated
f2fs: change the ipu_policy option to enable combinations
f2fs: fix to search whole dirty segmap when get_victim
f2fs: fix to clean previous mount option when remount_fs
f2fs: skip punching hole in special condition
f2fs: support large sector size
f2fs: fix to truncate blocks past EOF in ->setattr
f2fs: update i_size when __allocate_data_block
f2fs: use MAX_BIO_BLOCKS(sbi)
f2fs: remove redundant operation during roll-forward recovery
f2fs: do not skip latest inode information
f2fs: fix roll-forward missing scenarios
f2fs: fix conditions to remain recovery information in f2fs_sync_file
f2fs: introduce a flag to represent each nat entry information
f2fs: use meta_inode cache to improve roll-forward speed
f2fs: fix double lock for inode page during roll-foward recovery
f2fs: fix a race condition in next_free_nid
Click to expand...
Click to collapse
Merge remote-tracking branch 'common/android-3.4' into origin/google_mainline:
seccomp: Use atomic operations that are present in kernel 3.4.
seccomp: implement SECCOMP_FILTER_FLAG_TSYNC
introduce for_each_thread() to replace the buggy while_each_thread()
seccomp: allow mode setting across threads
seccomp: introduce writer locking
seccomp: split filter prep from check and apply
sched: move no_new_privs into new atomic flags
ARM: add seccomp syscall
seccomp: add "seccomp" syscall
seccomp: split mode setting routines
seccomp: extract check/assign mode helpers
seccomp: create internal mode-setting function
MAINTAINERS: create seccomp entry
CHROMIUM: ARM: r1->r0 for get/set arguments
CHROMIUM: seccomp: set -ENOSYS if there is no tracer
CHROMIUM: ARM: arch/arm: allow a scno of -1 to not cause a SIGILL
CHROMIUM: arch/arm: select HAVE_ARCH_SECCOMP_FILTER
CHROMIUM: arch/arm: move secure_computing into trace; respect return code
CHROMIUM: arch/arm: add asm/syscall.h
samples/seccomp: fix dependencies on arch macros
seccomp: fix build warnings when there is no CONFIG_SECCOMP_FILTER
seccomp: ignore secure_computing return values
seccomp: use a static inline for a function stub
Documentation: prctl/seccomp_filter
Fix execve behavior apparmor for PR_{GET,SET}_NO_NEW_PRIVS
Add PR_{GET,SET}_NO_NEW_PRIVS to prevent execve from granting privs
Click to expand...
Click to collapse
13/09/14 :
Recovery:
Added twrp-2.8.0.0 supporting mounting f2fs partitions
Click to expand...
Click to collapse
Ramdisk :
[
sync with cm
using lz4 compression algorithm for both ramdisk and kernel image
unified all version into a single kernel : at boot a script check which is the fs of each partition
Click to expand...
Click to collapse
Khaon's kernel :
added lz4 kernel support for decompression
f2fs synced with upstream dev branch.
ARM :
optimized AES and SHA1 routines
sha1: add ARM NEON implementation
support neon in kernel
commits from former kernels
commits from linux/master, google's kernel/common, cyanogenmod's manta branches.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Reserved
Reserved
Thanks a lot for your work.
I'll try it with CM asap.
For more download convenience, can you upload an all-in-one zip with recovery and the 2 kernel somewhere else than github, it could be difficult to download from there. Thanks again.
yeah, i ll put it on mediafire.
Khaon said:
yeah, i ll put it on mediafire.
Click to expand...
Click to collapse
Awesome work man!
F2FS fully working on System/Data/Cache with SlimKat 5.8 weekly 4.4.3 and your F2FSall Ktoonsez kernel...
Nexus 10 is flying now!
EDIT: I'm getting a bunch of freeze-ups which result into reboots, is this happenng to anyone else?
Steps i took:
fastboot flashed kt-twrp
changed settings (including /system)
wiped what needed to be wiped
replaced Rom script( SlimKat weekly build 4.4.3)
installed rom, correct kernel, and gapps
Any advice would be appreciated!
I have some pb too. It's quite impossible for me to copy something from my usb stick to the internal memory. It freezes almost every time.
No problem in ext4 with same ROM.
Only problems I encountered were freezes/reboots for the very first hours of use, been so far in full f2fs with cyanogen M7 no probs here.
However, did you try with only cache+data partition?
Yep, I was on cm nightlies and data/cache only.
Now I'm trying omni, I will try with this ROM
Could you paste the content of the fstab please?
Envoyé de mon MI 2S en utilisant Tapatalk
About the fstab: What updates the fstype for the partitions we choose to convert to F2FS? Is TWRP 'smart' enough to write the proper /fstab.manta? I thought the boot.img in the ROM zip contained this file?
Really excited to switch to F2FS, I've been running it on my Arch boxes for a while now. Anyone worked on an auto updater for the updater-script? I'm on OmniROM and flash daily so it would be nice to not have to hand edit and re-pack the zip every day. I'd look into doing it but I'm not super confident I'd go about it the proper way.
b1g.p0ppa said:
About the fstab: What updates the fstype for the partitions we choose to convert to F2FS? Is TWRP 'smart' enough to write the proper /fstab.manta? I thought the boot.img in the ROM zip contained this file?
Really excited to switch to F2FS, I've been running it on my Arch boxes for a while now. Anyone worked on an auto updater for the updater-script? I'm on OmniROM and flash daily so it would be nice to not have to hand edit and re-pack the zip every day. I'd look into doing it but I'm not super confident I'd go about it the proper way.
Click to expand...
Click to collapse
For now, TWRP can detect when you are wiping your partition what tools it would has to use. I.e : if you choose to wipe data partition, system, etc.
And use the correct tool accordingly. But official version do not mount yet however f2fs partition.
The fstab is in the ramdisk, so contained yep in the boot.img. But there are few mount options, some may need to be activated in case of unstability
Khaon said:
For now, TWRP can detect when you are wiping your partition what tools it would has to use. I.e : if you choose to wipe data partition, system, etc.
And use the correct tool accordingly. But official version do not mount yet however f2fs partition.
The fstab is in the ramdisk, so contained yep in the boot.img. But there are few mount options, some may need to be activated in case of unstability
Click to expand...
Click to collapse
Thank you for your reply. Perhaps the best thing is to create a flashable zip to be run after ROM flash to install fstab.manta?
Also, FWIW, here's some sed commands to update your updater-script per the instructions in the OP:
Code:
sed -i 's/^mount("ext4".*\/system*/run_program\("\/sbin\/busybox", "mount", "\/system"); /' updater-script
sed -i 's/^format("ext4".*\/system*/run_program("\/sbin\/mkfs.f2fs", "\/dev\/block\/platform\/dw_mmc.0\/by-name\/system"); /' updater-script
b1g.p0ppa said:
Thank you for your reply. Perhaps the best thing is to create a flashable zip to be run after ROM flash to install fstab.manta?
Also, FWIW, here's some sed commands to update your updater-script per the instructions in the OP:
Code:
sed -i 's/^mount("ext4".*\/system*/run_program\("\/sbin\/busybox", "mount", "\/system"); /' updater-script
sed -i 's/^format("ext4".*\/system*/run_program("\/sbin\/mkfs.f2fs", "\/dev\/block\/platform\/dw_mmc.0\/by-name\/system"); /' updater-script
Click to expand...
Click to collapse
Hello I just added some executable java program that convert a rom script to be f2fs compatible.
Also, having less issues with lastest kernel build but I tried it on new roms. ROMs fully working so far and stable : liquidSmooth 3.1 & slimkat 4.9.
Before I was using CM11 M7 it was working but was encoutering some freezes/reboot- especially at the beginning - but then it was ok. I can not tell if this is still happening with cm rom.
I haven't test the pc program on windows if anyone could say it does work, thx!
EDIT : thank to @dust40; he told me the tool was working on Windows as well! Should work on mac too then i guess.
Well I successfully converted /data and cache to F2FS. I made the effort way more work than it had to be by preserving my data. WAY more work. Booted in recovery mode I tar'ed up /data to a exfat formatted usb-otg drive then ran the conversion. Ran into 'value too large for defined data type' errors from tar when extracting. I ended up extracting the tarball onto my workstation, deleting the file it crapped out on, tar'ing it all back up to the usb drive and re-running the extraction. Had to repeat this procedure a good dozen times and I ended up with messed up permissions on all my data. I don't suggest anyone try this because it would have taken much less time to just set up a fresh installation, but if you do here's some good commands to fix up permissions (TWRP's fix permissions command doesn't fix what I messed up). I found these commands at http://forum.xda-developers.com/showthread.php?t=2222297 but had to adjust them a little bit. The chown command has to be run when booted to android, the chmod commands can be run from either recovery or android. Reboot immediately after running. Best to run through adb shell than in an app on the tablet.
Code:
find /data/media/ -exec chown 1023,1023 {} \;
find /data/media/ -type d -exec chmod 775 {} \;
find /data/media/ -type f -exec chmod 664 {} \;
@Khaon, can you ask ktoonsez to compile 4.4.4 versions of the kernels? Latest OmniROM update for manta is 4.4.4 but will not boot with this kernel. And obviously I cannot run any other kernel as none others support F2FS. Thanks in advance! And thanks for putting this thread together. Without your good instructions I probably wouldn't have had the guts to convert this early.
One last thing, I can report that OmniROM works perfectly with /data and cache formatted as F2FS (once permissions are set right!). And since I preserved my data I have an apples to apples comparison of performance and it is noticeably faster and smoother!
kt-recovery stuck at splash screen
Hi,
I had originally posted this in ktmanta thread:
I have been running F2FS on cache+data for past 2 weeks and it works very well (still some strange system freezes, i will need to investigate further on that).
However, now, when i boot to recovery, screen stays stuck at splash screen showing "f2fs enabled by Ktoonsez..", and does not go anywhere else. i can still flash using adb, but clearly, it's less than convenient, and using twrp 2.7.10 is not an option, as it can't mount f2fs sdcard properly anyways.
with adb shell, i can see that all is mounted properly, f2fs or not, but obviously, it's less than ideal... i have attached /cache/recovery/log file .
Note: i connect usb cable 2 to 3 mn after waiting for splash screen to go away, and i pulled recovery log at that moment. this was also the only way to get out of this stuck mode, via 'adb reboot' command.
i also tried to re-flash recovery via fastboot, but that made no difference.
any help appreciated !
@ericp2 @b1g.p0ppa
Can you just try this recovery and tell me if you are running any issue? This is just last official twrp 2.7.1.0.
Just formated and installed a new ROM, ran into no issue, guess should be the same for you .
b1g.p0ppa said:
Well I successfully converted /data and cache to F2FS. I made the effort way more work than it had to be by preserving my data. WAY more work. Booted in recovery mode I tar'ed up /data to a exfat formatted usb-otg drive then ran the conversion. Ran into 'value too large for defined data type' errors from tar when extracting. I ended up extracting the tarball onto my workstation, deleting the file it crapped out on, tar'ing it all back up to the usb drive and re-running the extraction. Had to repeat this procedure a good dozen times and I ended up with messed up permissions on all my data. I don't suggest anyone try this because it would have taken much less time to just set up a fresh installation, but if you do here's some good commands to fix up permissions (TWRP's fix permissions command doesn't fix what I messed up). I found these commands at http://forum.xda-developers.com/showthread.php?t=2222297 but had to adjust them a little bit. The chown command has to be run when booted to android, the chmod commands can be run from either recovery or android. Reboot immediately after running. Best to run through adb shell than in an app on the tablet.
Code:
find /data/media/ -exec chown 1023,1023 {} \;
find /data/media/ -type d -exec chmod 775 {} \;
find /data/media/ -type f -exec chmod 664 {} \;
One last thing, I can report that OmniROM works perfectly with /data and cache formatted as F2FS (once permissions are set right!). And since I preserved my data I have an apples to apples comparison of performance and it is noticeably faster and smoother!
Click to expand...
Click to collapse
Glad you like the kernel running this, if I understood correctly, you wanted to back up the internal storage( so /data/media/0) and your apk folder to an exfat usb drive you mounted with otg? If the fs of this one was exfat that is probably the cause of your issues, I am not even sure our tablet nativly supports exfat( isn't a samsung fs that allows 32GB ++ partition size?). Lastest Omni kernel is booting I assume?
Khaon said:
@ericp2 @b1g.p0ppa
Can you just try this recovery and tell me if you are running any issue? This is just last official twrp 2.7.1.0.
Just formated and installed a new ROM, ran into no issue, guess should be the same for you .
Click to expand...
Click to collapse
Issue fixed. this version of TWRP starts correctly, and f2fs formatted sdcard can be listed, so i can again flash CM updates.
many thanks!
Github repo: https://github.com/kernel-killer/android_kernel_huawei_h30u10
All changes I made since last commit are in my private repo.
Install packages (Not sure if it's right):
Code:
sudo apt-get install build-essential
Note: Please run ./mk ckeck-env to verify your build enviroment (Newer GNU MAKE will fail but the code compiles the same with new or older version)
Build:
Code:
./mk bm_new k
Testing your new kernel:
Download both attachments (KernelSwapper and BootimgRestore).
Append headers from stock kernel to zImage (which can be found at ./out/target/product/huawei82_cwet_kk/obj/KERNEL_OBJ/arch/arm/boot/zImage)
In KernelSwapper update 'kernel' with your own generated zImage rename it to 'kernel' and replace it inside zip.
In BootimgRestore replace 'boot.img' with your current ROM's boot.img in case that something goes wrong (e.g.: Phone not booting).
Copy the two new zips into phone's memory (or SD card) and flash KernelSwapper.
===== Reserved #1 =====
Thanks for the awesome work KK. I am on CM 13 3.4.67 kernel. Can i use this or do i have to be in stock rom for testing the kernal?
Sent from my Honor 3C using Tapatalk
---------- Post added at 06:12 AM ---------- Previous post was at 06:02 AM ----------
Update : Flashed the kernel, phone booted but felt laggish while using. I am still testing, will let you know what happens
Sent from my Honor 3C using Tapatalk
karkeankit said:
Thanks for the awesome work KK. I am on CM 13 3.4.67 kernel. Can i use this or do i have to be in stock rom for testing the kernal?
Sent from my Honor 3C using Tapatalk
---------- Post added at 06:12 AM ---------- Previous post was at 06:02 AM ----------
Update : Flashed the kernel, phone booted but felt laggish while using. I am still testing, will let you know what happens
Sent from my Honor 3C using Tapatalk
Click to expand...
Click to collapse
Yes, I'm sure that the kernel has multiple bugs. The phone may feel laggish because there is enabled low-level kernel debugging over UART.
Thank you for testing...
kernel.killer said:
Yes, I'm sure that the kernel has multiple bugs. The phone may feel laggish because there is enabled low-level kernel debugging over UART.
Thank you for testing...
Click to expand...
Click to collapse
You are welcome, wishint you good luck for further development
Sent from my Honor 3C using Tapatalk
Hi, tnx for The kernel
if i Update my kernel VPN bug in CM12.1 will fix?
hamadk said:
Hi, tnx for The kernel
if i Update my kernel VPN bug in CM12.1 will fix?
Click to expand...
Click to collapse
Nope, it's ROM bug not a kernel bug plus I have released only development preview version which has enabled many debugging options and it may be quite buggy.
Thanks, but can this process led to a suitable kernel for CM13?
Does this kernel fixes the video playback problem and the recording problem?(Can't play or capture 720p videos, screen recorder works fine, just the camera.)
Sent from my Huawei Honor 3C using XDA Labs
Lumpbloom7 said:
Does this kernel fixes the video playback problem and the recording problem?(Can't play or capture 720p videos, screen recorder works fine, just the camera.)
Sent from my Huawei Honor 3C using XDA Labs
Click to expand...
Click to collapse
http://forum.xda-developers.com/showpost.php?p=67848925&postcount=8
mhxygh said:
Thanks, but can it this process led to a suitable kernel for CM13?
Click to expand...
Click to collapse
Aim of this project is to make stock kernel sources stable for KitKat ROMs (It is originally for KK) but somebody else may patch them for CM 13. I am not working on this nor I'll do.
Will you be adding extra CPU governors and IO schedulers along with kernel level wakeups for double tap waking?
I was wondering who else is developing kernel 3.10.XX for this device ?
Ms_Julia said:
I was wondering who else is developing kernel 3.10.XX for this device ?
Click to expand...
Click to collapse
Actually, nobody is working on 3.10.X kernel. And I'm rather focusing on LineageOS for now.
What is the defconf for our device in kernel source
imranpopz said:
What is the defconf for our device in kernel source
Click to expand...
Click to collapse
This should include most configs
Code:
/* Mediatek common */
./mediatek/config/common/autoconfig/kconfig/AEE
./mediatek/config/common/autoconfig/kconfig/USER
./mediatek/config/common/ProjectConfig.mk
/* MT6582 common */
./mediatek/config/mt6582/autoconfig/kconfig/platform
./mediatek/config/mt6582/ProjectConfig.mk
/* h30u10 device specific */
./mediatek/config/huawei82_cwet_kk/autoconfig/kconfig/project
./mediatek/config/huawei82_cwet_kk/ProjectConfig.mk
kernel.killer said:
This should include most configs
Code:
/* Mediatek common */
./mediatek/config/common/autoconfig/kconfig/AEE
./mediatek/config/common/autoconfig/kconfig/USER
./mediatek/config/common/ProjectConfig.mk
/* MT6582 common */
./mediatek/config/mt6582/autoconfig/kconfig/platform
./mediatek/config/mt6582/ProjectConfig.mk
/* h30u10 device specific */
./mediatek/config/huawei82_cwet_kk/autoconfig/kconfig/project
./mediatek/config/huawei82_cwet_kk/ProjectConfig.mk
Click to expand...
Click to collapse
Replace Device Name with the configuration file found at:
Source/arch/arm/configs
It's written in this way something_DeviceCodename_user_defconfig
I need for the above step.. ☝☝☝
imranpopz said:
Replace Device Name with the configuration file found at:
Source/arch/arm/configs
It's written in this way something_DeviceCodename_user_defconfig
I need for the above step.. ☝☝☝
Click to expand...
Click to collapse
Well... This is Mediatek, DO NOT expect the sources to look nice. The configs are scattered through ./mediatek subdirectories, *.mk files are parsed and configs are assembled during build. Unfortunatelly, even if you manually assemble .config you will NOT be able to build the kernel. It is full of dirty hacks (Mediatek) and just typing "make" won't work, build will break.
Build:
Code:
$ git clone https://github.com/kernel-killer/android_kernel_huawei_h30u10.git
$ cd android_kernel_huawei_h30u10
$ export ARCH=arm && export ARCH_MTK_PLATFORM=mt6582 && export TARGET_PRODUCT=huawei82_cwet_kk
$ export CROSS_COMPILE=/path-to-your-toolchain/.../bin/arm-linux-androideabi-
$ ./mk n k
Code:
$ ./mk -h
Usage: (makeMtk|mk) [options] project actions [modules]
Options:
-t, -tee : Print log information on the standard-out.
-o, -opt=bypass_argument_to_make
: Pass extra arguments to make.
-h, -help : Print this message and exit.
Projects:
one of available projects.
Actions:
listp, listproject
: List all available projects.
check-env : Check if build environment is ready.
check-dep : Check feature dependency.
n, new : Clean and perform a full build.
c, clean : Clean the immediate files(such as, objects, libraries etc.).
r, remake : Rebuild(target will be updated if any dependency updats).
mrproper : Remove all generated files + config + various backup files in Kbuild process.
bm_new : "new" + GNU make's "-k"(keep going when encounter error) feature.
bm_remake : "remake" + GNU make's "-k"(keep going when encounter error) feature.
mm : Build module through Android native command "mm"
mma : Build module through Android native command "mma"
emigen : Generate EMI setting source code.
nandgen : Generate supported NAND flash device list.
codegen : Generate trace DB(for META/Cather etc. tools used).
drvgen : Generate driver customization source.
custgen : Generate customization source.
javaoptgen : Generate the global java options.
ptgen : Generate partition setting header & scatter file.
bindergen : Generate binder related information
sign-image : Sign all the image generated.
encrypt-image : Encrypt all the image generated.
update-api : Android default build action
(be executed if system setting or anything removed from API).
check-modem : Check modem image consistency.
upadte-modem : Update modem image located in system.img.
modem-info : Show modem version
gen-relkey : Generate releasekey for application signing.
check-appres : Check unused application resource.
sdk : Build sdk package.
win_sdk : Build sdk package with a few Windows tools.
banyan_addon : Build MTK sdk addon.
banyan_addon_x86 :Build MTK sdk x86 addon.
cts : Build cts package.
bootimage : Build boot image(boot.img).
cacheimage : Build cache image(cache.img).
systemimage : Build system image(system.img).
snod : Build system image without dependency.
(that is, ONLY pack the system image, NOT checking its dependencies.)
recoveryimage : Build recovery image(recovery.img).
secroimage : Build secro image(secro.img).
factoryimage : Build factory image(factory.img).
userdataimage : Build userdata image(userdata.img).
userdataimage-nodeps
: Build userdata image without dependency.
(that is, ONLY pack the userdata image, NOT checking its dependencies.)
dump-products : Dump products related configuration(PRODUCT_PACKAGE,PRODUCT_NAME ect.)
target-files-package
: Build the target files package.
(A zip of the directories that map to the target filesystem.
This zip can be used to create an OTA package or filesystem image
as a post-build step.)
updatepackage : Build the update package.
dist : Build distribution package.
Modules:
pl, preloader : Specify to build preloader.
lk : Specify to build little kernel.
md32 : Specify to build DSP md32.
tz, trustzone : Specify to build trusted execution environment.
k, kernel : Specify to build kernel.
dr, android : Specify to build android.
NULL : Specify to build all components/modules in default.
k <module path>
: Specify to build kernel component/module with the source path.
dr <module name>
: Specify to build android component/module with module name.
Other tools:
prebuilts/misc/linux-x86/ccache/ccache -M 10G
: Set CCACHE pool size to 10GB
Example:
./mk -t e1k emigen
: Generate EMI setting source code.
./mk -o=TARGET_BUILD_VARIANT=user e1k n
: Start a user mode full build.
./mk listp : List all available projects.
./mk e1k bootimage
: Build bootimage for e1k project.
./mk e1k bm_new k
: Build kernel for e1k project.
./makeMtk e1k c,bm_remake pl k
: Clean & Build preloader and kernel for e1k project.
./makeMtk e1k n k kernel/xxx/xxx
: Build(full build) kernel component/module
under the path "kernel/xxx/xxx" for e1k project.
./makeMtk e1k r dr Gallery
: Rebuild android module named Gallery for e1k project.
./makeMtk e1k mm packages/apps/Settings
: Change Directory to packages/apps/Settings and execute "mm"
./makeMtk e1k mma packages/apps/Settings
: Change Directory to packages/apps/Settings and execute "mma"
Edit:
I fixed the sources, so menuconfig can be used.
Apply patch:
Code:
$ git am 0001-Fix-build-using-make-command.patch
Build:
Code:
$ cd kernel && export ARCH=arm && export ARCH_MTK_PLATFORM=mt6582 && export TARGET_PRODUCT=huawei82_cwet_kk
$ export CROSS_COMPILE=/path-to-your-toolchain/.../bin/arm-linux-androideabi-
$ make -C $(pwd) O=output h30u10_defconfig menuconfig
$ make -C $(pwd) O=output
Append MTK headers:
Code:
$ ../mediatek/build/tools/mkimage output/arch/arm/boot/zImage KERNEL > output/zImage
*Note: I recommend using AOSP arm-linux-androideabi-4.9 toolchain.
Getting cp: cannot stat 'out/target/product/huawei82_cwet_kk_kernel.log
Make [1]: [kernel ] error 1
Make: *** [remake] error 2
LineageOS is a free, community built, aftermarket firmware distribution of Android 10, which is designed to increase performance and reliability over stock Android for your device.
LineageOS is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. You will need to provide your own Google Applications package (gapps). LineageOS does still include various hardware-specific code, which is also slowly being open-sourced anyway.
Base source code is available in the LineageOS Github repo. And if you would like to contribute to the project, please visit our Gerrit Code Review.
GPL compliance:
Device tree source code: LineageOS/android_device_xiaomi_scorpio
Kernel source code: LineageOS/android_device_xiaomi_msm8996-common
Broken / not yet supported:
Tell Me
Downloads:
LineageOS Downloads
Notice:
No custom kernels are supported in this thread. Only stock kernel and official builds will be supported. No bug reports if that's not the case.
Installation:
Reboot to recovery (TWRP recovery for Mi Note 2 - Direct link)
Format /system, /data and /cache
Install LineageOS zip package
Install [optional] the LineageOS su addon to get root (there are obviously other root methods, but this is the recommended one as it survives to OTA updates)
Install [optional] a Google Apps package of your choice (Open GApps is advisable, but stock and super variants are not recommended!!!)
Credits & collaborations:
joe2k01
.
Finally, all LineageOS team would like to thank everyone involved in helping with testing, coding, debugging & documenting! Enjoy!
Device wiki:
Official wiki link
Contributors
joe2k01
ROM OS Version: 10.x
ROM Kernel: Linux 3.x
ROM Firmware Required: MIUI 8.8.30 Beta
Version Information
Status: Stable
Created 2021-01-19
Last Updated 2021-02-09
I installed lineage 18.1. But no Volte support. Any way to enable it?
There's a bug when opening Settings > System > Buttons. Here's the logcat I found:
Code:
HidlServiceManagement: Waited one second for [email protected]::IKeySwapper/default
hwservicemanager: Since [email protected]::IKeySwapper/default is not registered, trying to start it as a lazy HAL.
HidlServiceManagement: getService: Trying again for [email protected]::IKeySwapper/default...
libc : Unable to set property "ctl.interface_start" to "[email protected]::IKeySwapper/default": error code: 0x20
chatty : uid=0(root) logd identical 10 lines
init : Control message: Could not find '[email protected]::IKeySwapper/default' for ctl.interface_start from pid: 451 (/system/bin/hwservicemanager)
logd : logdr: UID=2000 GID=2000 PID=7072 n tail=0 logMask=99 pid=0 start=0ns timeout=0ns
cc: @fernandodtg @joe2k01
ChessPiece said:
There's a bug when opening Settings > System > Buttons. Here's the logcat I found:
Code:
HidlServiceManagement: Waited one second for [email protected]::IKeySwapper/default
hwservicemanager: Since [email protected]::IKeySwapper/default is not registered, trying to start it as a lazy HAL.
HidlServiceManagement: getService: Trying again for [email protected]::IKeySwapper/default...
libc : Unable to set property "ctl.interface_start" to "[email protected]::IKeySwapper/default": error code: 0x20
chatty : uid=0(root) logd identical 10 lines
init : Control message: Could not find '[email protected]::IKeySwapper/default' for ctl.interface_start from pid: 451 (/system/bin/hwservicemanager)
logd : logdr: UID=2000 GID=2000 PID=7072 n tail=0 logMask=99 pid=0 start=0ns timeout=0ns
cc: @fernandodtg @joe2k01
Click to expand...
Click to collapse
Just flash this vendor in TWRP (install - install image - vendor partition). One of the 4pda's user had corrected buttons settings + google camera fix.
vendor_fix.img
drive.google.com
The
ChessPiece said:
There's a bug when opening Settings > System > Buttons. Here's the logcat I found:
Code:
HidlServiceManagement: Waited one second for [email protected]::IKeySwapper/default
hwservicemanager: Since [email protected]::IKeySwapper/default is not registered, trying to start it as a lazy HAL.
HidlServiceManagement: getService: Trying again for [email protected]::IKeySwapper/default...
libc : Unable to set property "ctl.interface_start" to "[email protected]::IKeySwapper/default": error code: 0x20
chatty : uid=0(root) logd identical 10 lines
init : Control message: Could not find '[email protected]::IKeySwapper/default' for ctl.interface_start from pid: 451 (/system/bin/hwservicemanager)
logd : logdr: UID=2000 GID=2000 PID=7072 n tail=0 logMask=99 pid=0 start=0ns timeout=0ns
cc: @fernandodtg @joe2k01
Click to expand...
Click to collapse
This bug has been fixed in the official build.
Thanks @Wiwern and @LuK1337
Wow, updated my old phone. Love it
Can someone post the build pls, the link of the OP doesn't have any file for the Mi Note 2.
thanks
I took this guide and built a fresh LOS 18.1 for scorpio
Build for scorpio | LineageOS Wiki
wiki.lineageos.org
It was not easy (2 hrs on my i7 12700/64Gb/970Evo+) but succesuful....
Everyone can take it here (or make their own build)
lineage-18.1-20230327-UNOFFICIAL-scorpio.zip
drive.google.com
The only hint is to edit roomservice.py, make it first line #!/usr/bin/env python3 and you can extract proprietary blobs for scorpio.
I'm not responsible for any damage to your device of any sort.By flashing this you take responsibility of anything that happens.Process at your own risk!This firmware was developed for the p905.It doesn't apply to the p905v at this time because of its locked bootloader and flashing a custom recovery isn't possible.
Instructions
1. Install custom recovery
2. Download the zip(s) - firmware and Google Apps additional package (optional)
3. Backup all partitions (it least efs) and store somewhere - it need to do - because you can loose imei
4. Full wipe all
5. Flash firmware and gapps
Known Issues
* can't make phone calls -> you need to edit some files to enable
* security: no SELinux support
* security: old kernel version
* no MHL support
* can not use sdcard as internal storage unless a lockscreen password is set and used
* require extra power when using external hard drive
Works
palm rejection
magisk 25
Downloadhttps://mega.nz/file/VTFWBYJC#9-I6oLW4Fo2r7_mtbfZmUuvKgvdUjzyaUovW3jcFwVc
Notes
* insert and remove stylus from tablet if you can't use it in some cases
* install shelter/insular only in internal storage if you want to use them
to enable sim card
Spoiler
1. edit /system/system/vendor/etc/init/rild.legacy.rc remove all #
2. edit /system/system/vendor/etc/init/hw/init.qcom.rc
Diff:
@@ -824,10 +824,10 @@ service qcamerasvr /vendor/bin/mm-qcamera-daemon
user camera
group camera system inet input graphics bluetooth
-#service qseecomd /vendor/bin/qseecomd
-# class core
-# user root
-# group root
+service qseecomd /vendor/bin/qseecomd
+ class core
+ user root
+ group root
service mpdecision /vendor/bin/mpdecision --avg_comp
class main
@@ -873,10 +873,10 @@ service qmuxd /vendor/bin/qmuxd
user radio
group radio audio bluetooth gps oem_2950 log
-#service netmgrd /vendor/bin/netmgrd
-# class core
-# user root
-# group root wifi wakelock radio inet
+service netmgrd /vendor/bin/netmgrd
+ class core
+ user root
+ group root wifi wakelock radio inet
Sources
Sources: https://github.com/lineageos
Device: https://github.com/Valera1978/android_device_samsung_viennalte
Kernel: https://github.com/Valera1978/android_kernel_samsung_msm8974
Vendor: https://github.com/Valera1978/android_vendor_samsung_viennalte
patch.zip
Donate (bitcoin): bc1qu4p904wyqx8hdsw7ttw72r6xhczy8z3n4g988z
Thanks
Thanks to Valera1978
Thanks to LineageOS Team
As Lineage 18.1 seems to work well now on P905 would you port this to it?
I'm going to try enabling SIM card (calls?) with your instructions on LOS 18...
hernexto said:
As Lineage 18.1 seems to work well now on P905 would you port this to it?
I'm going to try enabling SIM card (calls?) with your instructions on LOS 18...
Click to expand...
Click to collapse
Hey there i didn't find instructions to enable sim card, can you write to me please? I remember that i must edit some files, but the message on xda is gone. Thank you so much
udr1054 said:
I'm not responsible for any damage to your device of any sort.By flashing this you take responsibility of anything that happens.Process at your own risk!This firmware was developed for the p905.It doesn't apply to the p905v at this time because of its locked bootloader and flashing a custom recovery isn't possible.
Instructions
1. Install custom recovery
2. Download the zip(s) - firmware and Google Apps additional package (optional)
3. Backup all partitions (it least efs) and store somewhere - it need to do - because you can loose imei
4. Full wipe all
5. Flash firmware and gapps
Known Issues
* can't make phone calls -> you need to edit some files to enable
* security: no SELinux support
* security: old kernel version
* no MHL support
* can not use sdcard as internal storage unless a lockscreen password is set and used
* require extra power when using external hard drive
Works
palm rejection
magisk 25
Downloadhttps://mega.nz/file/VTFWBYJC#9-I6oLW4Fo2r7_mtbfZmUuvKgvdUjzyaUovW3jcFwVc
Notes
* insert and remove stylus from tablet if you can't use it in some cases
* install shelter/insular only in internal storage if you want to use them
to enable sim card
Spoiler
1. edit /system/system/vendor/etc/init/rild.legacy.rc remove all #
2. edit /system/system/vendor/etc/init/hw/init.qcom.rc
Diff:
@@ -824,10 +824,10 @@ service qcamerasvr /vendor/bin/mm-qcamera-daemon
user camera
group camera system inet input graphics bluetooth
-#service qseecomd /vendor/bin/qseecomd
-# class core
-# user root
-# group root
+service qseecomd /vendor/bin/qseecomd
+ class core
+ user root
+ group root
service mpdecision /vendor/bin/mpdecision --avg_comp
class main
@@ -873,10 +873,10 @@ service qmuxd /vendor/bin/qmuxd
user radio
group radio audio bluetooth gps oem_2950 log
-#service netmgrd /vendor/bin/netmgrd
-# class core
-# user root
-# group root wifi wakelock radio inet
+service netmgrd /vendor/bin/netmgrd
+ class core
+ user root
+ group root wifi wakelock radio inet
Sources
Sources: https://github.com/lineageos
Device: https://github.com/Valera1978/android_device_samsung_viennalte
Kernel: https://github.com/Valera1978/android_kernel_samsung_msm8974
Vendor: https://github.com/Valera1978/android_vendor_samsung_viennalte
patch.zip
Donate (bitcoin): bc1qu4p904wyqx8hdsw7ttw72r6xhczy8z3n4g988z
Thanks
Thanks to Valera1978
Thanks to LineageOS Team
Click to expand...
Click to collapse
Hey there i didn't find instructions to enable sim card, can you write to me please? I remember that i must edit some files, but the message on xda is gone. Thank you so much
Hi
Sorry, but I m afraid I will not be able to access that data til year 2024
But I'm pretty sure you can find it somewhere
I'm ashamed of myself. Instructions to enable sim card is at first post of this thread.
udr1054 said:
I'm not responsible for any damage to your device of any sort.By flashing this you take responsibility of anything that happens.Process at your own risk!This firmware was developed for the p905.It doesn't apply to the p905v at this time because of its locked bootloader and flashing a custom recovery isn't possible.
Instructions
1. Install custom recovery
2. Download the zip(s) - firmware and Google Apps additional package (optional)
3. Backup all partitions (it least efs) and store somewhere - it need to do - because you can loose imei
4. Full wipe all
5. Flash firmware and gapps
Known Issues
* can't make phone calls -> you need to edit some files to enable
* security: no SELinux support
* security: old kernel version
* no MHL support
* can not use sdcard as internal storage unless a lockscreen password is set and used
* require extra power when using external hard drive
Works
palm rejection
magisk 25
Downloadhttps://mega.nz/file/VTFWBYJC#9-I6oLW4Fo2r7_mtbfZmUuvKgvdUjzyaUovW3jcFwVc
Notes
* insert and remove stylus from tablet if you can't use it in some cases
* install shelter/insular only in internal storage if you want to use them
to enable sim card
Spoiler
1. edit /system/system/vendor/etc/init/rild.legacy.rc remove all #
2. edit /system/system/vendor/etc/init/hw/init.qcom.rc
Diff:
@@ -824,10 +824,10 @@ service qcamerasvr /vendor/bin/mm-qcamera-daemon
user camera
group camera system inet input graphics bluetooth
-#service qseecomd /vendor/bin/qseecomd
-# class core
-# user root
-# group root
+service qseecomd /vendor/bin/qseecomd
+ class core
+ user root
+ group root
service mpdecision /vendor/bin/mpdecision --avg_comp
class main
@@ -873,10 +873,10 @@ service qmuxd /vendor/bin/qmuxd
user radio
group radio audio bluetooth gps oem_2950 log
-#service netmgrd /vendor/bin/netmgrd
-# class core
-# user root
-# group root wifi wakelock radio inet
+service netmgrd /vendor/bin/netmgrd
+ class core
+ user root
+ group root wifi wakelock radio inet
Sources
Sources: https://github.com/lineageos
Device: https://github.com/Valera1978/android_device_samsung_viennalte
Kernel: https://github.com/Valera1978/android_kernel_samsung_msm8974
Vendor: https://github.com/Valera1978/android_vendor_samsung_viennalte
patch.zip
Donate (bitcoin): bc1qu4p904wyqx8hdsw7ttw72r6xhczy8z3n4g988z
Thanks
Thanks to Valera1978
Thanks to LineageOS Team
Click to expand...
Click to collapse
Hey there, i did it like you said to enable sim card. I'm entered there and in my 2 files i don't have any # before strings. Now i rebooted and i will see if it works something -.-'
Everythings gone fine