Related
For those of you who want SELinux Permissive, I built this a couple of weeks ago. Set ro.securestorage.support=false in your build.prop if wifi is not working (Credit Morfic).
Flash via Odin
Disclaimer: I'm not responsible if for whatever reason you brick your device
Download
aironite said:
For those of you who want SELinux Permissive, I built this a couple of weeks ago. Set ro.securestorage.support=false in your build.prop if wifi is not working (Credit Morfic).
Flash via Odin
Disclaimer: I'm not responsible if for whatever reason you brick your device
Download
Click to expand...
Click to collapse
Thanks, this is really useful. Have you considered posting this in development?
Also do you plan to do more kernel development, for our device?
Sent from my SM-P600
LMMT said:
Thanks, this is really useful. Have you considered posting this in development?
Also do you plan to do more kernel development, for our device?
Sent from my SM-P600
Click to expand...
Click to collapse
I do plan on moving forward with developing this kernel as soon as Samsung releases kernel updates for their big.LITTLE technology. Namely Heterogenous Multi-Processing.
Wroth hug if samsung doesn't support our device do you think you could adapt their code from the new devices that will? If samsung won't give it to us I imagine a device can
Sent from my SM-P600 using XDA Premium 4 mobile app
I'll continue to develop this kernel and look at posting an update to the dev thread in the next few days. If samsung makes improvements on other devices with the Exynos 5 series, it can surely be ported to our p600's.
Duly.noted said:
Wroth hug if samsung doesn't support our device do you think you could adapt their code from the new devices that will? If samsung won't give it to us I imagine a device can
Sent from my SM-P600 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
aironite said:
I'll continue to develop this kernel and look at posting an update to the dev thread in the next few days. If samsung makes improvements on other devices with the Exynos 5 series, it can surely be ported to our p600's.
Click to expand...
Click to collapse
Thanks for the reply. I really need to turn off auto correct. It always mangles my words when I don't check before I post.
aironite said:
For those of you who want SELinux Permissive, I built this a couple of weeks ago. Set ro.securestorage.support=false in your build.prop if wifi is not working (Credit Morfic).
Flash via Odin
Disclaimer: I'm not responsible if for whatever reason you brick your device
Click to expand...
Click to collapse
This is great. No problems installing. I did need to set ro.securestorage.support=false in /system/build.prop for wifi to work. Now VPNroot and sshdroid work correctly.
I could not find an appropriate place to turn selinux off during boot (i.e. setenforce 0). /init.rc and everything in / seems to revert to original version on boot. I tried sticking it in one of the unrelated startup scripts in the /system folder, but that failed as well. Any suggestions?
Thanks a bunch!
aironite said:
For those of you who want SELinux Permissive, I built this a couple of weeks ago. Set ro.securestorage.support=false in your build.prop if wifi is not working (Credit Morfic).
Flash via Odin
Disclaimer: I'm not responsible if for whatever reason you brick your device
Download
Click to expand...
Click to collapse
Does SElinux Permissive allow us to use Linux Deploy to install linux in chroot on note.
https://play.google.com/store/apps/details?id=ru.meefik.linuxdeploy
My note is running on mk1 rooted with autoroot , however I can't use Linux Deploy to install linux in chroot, maybe SELinux enforcing is the cause.
robertchow said:
Does SElinux Permissive allow us to use Linux Deploy to install linux in chroot on note.
--cut url--
My note is running on mk1 rooted with autoroot , however I can't use Linux Deploy to install linux in chroot, maybe SELinux enforcing is the cause.
Click to expand...
Click to collapse
I am able to use Linux on Android (linuxonandroid.org), which I couldn't before installing this kernel. Also used SeLinuxModeChanger (in playstore) to have selinux set permissive on boot.
Hope that helps.
Linux Works
robertchow said:
Does SElinux Permissive allow us to use Linux Deploy to install linux in chroot on note.
https://play.google.com/store/apps/details?id=ru.meefik.linuxdeploy
My note is running on mk1 rooted with autoroot , however I can't use Linux Deploy to install linux in chroot, maybe SELinux enforcing is the cause.
Click to expand...
Click to collapse
I can say that with this kernel you get a fully functional Linux install. I have not tested Linux Deploy, because I use the Complete Linux Installer(linuxonandroid) and by using the kernel in this thread and then ether use Wanam Xposed and set the system to disable SELinux so it is always Permissive or by using the command "setenforce 0" in a terminal before Linux use then use getenforce it shows Permissive and allows for full Linux function. The command getenforce is not needed to run just for verification.
THANK YOU for this kernel!!!!
Many Thanks for this Kernel
I only registered to say thanks for this kernel. Had to use the build.prop tweak in order to get Wifi back. With this, Selinux Mode Changer, and Complete Linux Installer I was able to get Fedora 19 running on the note. Working great. So, thanks again for your work.
How to install
Can someone tell me please how i can flash this Kernel via Odin?
Amadyl said:
Can someone tell me please how i can flash this Kernel via Odin?
Click to expand...
Click to collapse
Flash it under AP
Sent from my SM-P600 using Tapatalk
---------- Post added at 11:35 PM ---------- Previous post was at 11:34 PM ----------
robertchow said:
Does SElinux Permissive allow us to use Linux Deploy to install linux in chroot on note.
https://play.google.com/store/apps/details?id=ru.meefik.linuxdeploy
My note is running on mk1 rooted with autoroot , however I can't use Linux Deploy to install linux in chroot, maybe SELinux enforcing is the cause.
Click to expand...
Click to collapse
Linux Deploy is working with this flashed.
Sent from my SM-P600 using Tapatalk
Thanks for the help and a big thank you to the developer
It worked
This is very nice i will try to install ubuntu now
Thank you very much !
Amadyl said:
It worked
This is very nice i will try to install ubuntu now
Click to expand...
Click to collapse
You might want to check the Linux thread and especially this post
http://forum.xda-developers.com/showpost.php?p=49347734&postcount=9
It tells of problems with Ubuntu even with Selinux Permissive. In any case, do post your experience there. I prefer RPM based systems as these are my daily work in commercial setups. As openSUSE ARM is still beta, I went for Fedora and it works nicely.
aironite said:
For those of you who want SELinux Permissive, I built this a couple of weeks ago. Set ro.securestorage.support=false in your build.prop if wifi is not working (Credit Morfic).
Flash via Odin
Disclaimer: I'm not responsible if for whatever reason you brick your device
Download
Click to expand...
Click to collapse
what did you change in menuconfig? I am working on enabling some drivers within the kernel and I dont want to lose the chroot linux ability. Thanks.
Sent from my SM-P600 using Tapatalk
Thank you very much for the Kernel, I think i'll try flashing it.
Do you know something about converting ROMs between familiar devices? (The Note 3 and our Note)
Edit:
When trying to install Ubuntu via LinuxOnAndroid, i'm getting the error "Unable to create loop device" (and i already installed the Kernel!).
Help?
ilayron8 said:
i'm getting the error "Unable to create loop device" (and i already installed the Kernel!).
Help?
Click to expand...
Click to collapse
The kernel only allows you to change SELinux mode, it does not change the default mode. Have you switched selinux mode to permissive via a root terminal "setenforce 0" or via an app like SelinuxModeChanger from Play?
caferick said:
The kernel only allows you to change SELinux mode, it does not change the default mode. Have you switched selinux mode to permissive via a root terminal "setenforce 0" or via an app like SelinuxModeChanger from Play?
Click to expand...
Click to collapse
I installed the app and i got from Debian the error "Unable to mount the loop device, after it FOUND the loop.
In Ubuntu, I'm now getting the error "Unable to attach image to loop device".
ilayron8 said:
I installed the app and i got from Debian the error "Unable to mount the loop device, after it FOUND the loop.
In Ubuntu, I'm now getting the error "Unable to attach image to loop device".
Click to expand...
Click to collapse
help?
Hey everyone. I bought this device specifically because I do a lot of work on linux in command line world and I though it would be the perfect device when combined with the Logitech Pro keyboard and Complete Linux Installer (it's an app on Google Play). It turned out to be quite a bit of work getting everything working because of Knox and SELinux. Eventually I got a custom kernel working that allows me to toggle SELinux between permissive and enforcing.
I attached an Odin flashable tar that works on the SM-P900 (wifi version). I am on the North American version, so I have no idea whether it will work in other regions. If you flash this kernel then there are a few things you need to know:
I'm assuming you already have root on your device.
When you boot it will still be in "Enforcing" mode. This change simply allows you to use the "setenforce" terminal command or any of the apps on Google Play that do this for you.
You might experience some wifi weirdness after you flash the kernel. You just need to open up /system/build.prop and change ro.securestorage.support from true to false and then reboot to resolve the issue.
If you have a different version of the device or want to compile it yourself for any reason I wrote an article describing how I compiled it here:
http://graemehill.ca/compiling-permissive-android-kernel/
I also did a few other things to fix the keyboard and get linux running properly, so if you're interested in that I described my setup in more detail here:
http://graemehill.ca/turning-a-galaxy-note-pro-into-a-linux-laptop/
Thank you for this!
Sent from my SM-P900 using Tapatalk
trying to build kernel
I'm trying to follow your guide to compile a kernel from source. I have installed (on my Win 8.1_64 PC) Android SDK/NDK. GnuWin32, JavaJRE, and downloaded SM-P900 kernel source.
I'm getting errors at "Apply Kernel Config" step.
here's the output: http://pastebin.com/yFqDrNY8
Thanks for your help
Don :good:
dodo99x said:
I'm trying to follow your guide to compile a kernel from source. I have installed (on my Win 8.1_64 PC) Android SDK/NDK. GnuWin32, JavaJRE, and downloaded SM-P900 kernel source.
I'm getting errors at "Apply Kernel Config" step.
here's the output: http://pastebin.com/yFqDrNY8
Thanks for your help
Don :good:
Click to expand...
Click to collapse
It looks like you're in Windows. To my knowledge it is not possible to compile a Linux kernel in windows. I would recommend downloading virtual box and installing some Linux distro in there. This is what I was talking about in the "environment" section at the top of the article.
For android development I find that you need access to a lot of tools where some are only available on Windows and others are only available on Linux so a Windows PC with a Linux VM is ideal in my opinion.
Oh ok, no problem. I just misread the guide. I've setup a build environment in a vm before to compile aosp for my Nexus 10. Shouldn't be too hard to do it again. I recently rebuilt my pc so the vm I had got nuked.
Sent from my SM-P900 using Tapatalk
ok I got my Ubuntu VM up and running using this guide
http://forum.xda-developers.com/showpost.php?p=50748836&postcount=25
installed android NDK to ~android/NDK, and unzipped the kernel source to ~android/kernel
followed your guide to build a SELinux permissive kernel but i'm getting some errors when trying to compile. here's the output:
http://pastebin.com/Npdu7J5h
EDIT: retried doing the EXPORT command and now it seems to be compiling
dodo99x said:
EDIT: retried doing the EXPORT command and now it seems to be compiling
Click to expand...
Click to collapse
When you export a variable in the terminal it only exists for that one session, so if you open a new terminal instance you need to run the command again. If you want to set it permanently normally you can just put the export command into ~/.bashrc
Oh I see. I'll give that a try. I was able to create a new boot.img following the rest of your guide. I have yet to try flashing it though. Will have to find some info about all the kernel options that can be set. Hopefully be able to integrate HMP to get all eight cores running at the same time.
Sent from my SM-P900 using Tapatalk
Cool, let us know how that goes. I wonder how much it would affect battery life.
Graeme H said:
Hey everyone. I bought this device specifically because I do a lot of work on linux in command line world and I though it would be the perfect device when combined with the Logitech Pro keyboard and Complete Linux Installer (it's an app on Google Play). It turned out to be quite a bit of work getting everything working because of Knox and SELinux. Eventually I got a custom kernel working that allows me to toggle SELinux between permissive and enforcing.
I attached an Odin flashable tar that works on the SM-P900 (wifi version). I am on the North American version, so I have no idea whether it will work in other regions. If you flash this kernel then there are a few things you need to know:
I'm assuming you already have root on your device.
When you boot it will still be in "Enforcing" mode. This change simply allows you to use the "setenforce" terminal command or any of the apps on Google Play that do this for you.
You might experience some wifi weirdness after you flash the kernel. You just need to open up /system/build.prop and change ro.securestorage.support from true to false and then reboot to resolve the issue.
If you have a different version of the device or want to compile it yourself for any reason I wrote an article describing how I compiled it here:
http://graemehill.ca/compiling-permissive-android-kernel/
I also did a few other things to fix the keyboard and get linux running properly, so if you're interested in that I described my setup in more detail here:
http://graemehill.ca/turning-a-galaxy-note-pro-into-a-linux-laptop/
Click to expand...
Click to collapse
I tried to install this using VBox Odin and I couldnt get it to work. Tried using BOOTLOADER and also PDA. Not sure the correct one but neither worked for me. Also, Moblie ODin hasnt yet worked but when it does, things will be much easier for me at least.
I have a newly rooted SM-900. I will have to find time someday to compile the kernel against what I have. Must be a slightly newer version than the one you posted. That is only thing I can think since I just got my 12.2. Thanks for the detailed info.
Camera?
Hey, thanks for the great kernel. It's working as expected to enable permissive mode, but I'm having one issue with it. When I use your kernel, the camera is disabled (says something like "Camera Failed"), and it won't work even when trying different software besides stock, like Google Camera. Anyway, clearing cache, etc. doesn't do anything, but the camera works again when I flash the stock kernel. Is this related to permissive mode or something else with the settings?
aarstar said:
Hey, thanks for the great kernel. It's working as expected to enable permissive mode, but I'm having one issue with it. When I use your kernel, the camera is disabled (says something like "Camera Failed"), and it won't work even when trying different software besides stock, like Google Camera. Anyway, clearing cache, etc. doesn't do anything, but the camera works again when I flash the stock kernel. Is this related to permissive mode or something else with the settings?
Click to expand...
Click to collapse
The camera fails for me too. I dumped a logcat and isolated the issue here:
W/ActivityManager( 2746): Permission Denial: get/set setting for user asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
V/ApplicationPolicy( 2746): isApplicationStateBlocked userId 0 pkgname com.google.android.GoogleCamera
But... the camera is not a huge deal. It did, however, break wifi. I did not get a logcat of that yet, but I would assume it is also a permission issue.
Wifi works for me using the fix mentioned in the OP. Also, thanks for looking into the camera issue. I agree it's not a big deal, and it's easily fixed by flashing the stock kernel, until someone figures out a proper fix.
aarstar said:
Wifi works for me using the fix mentioned in the OP. Also, thanks for looking into the camera issue. I agree it's not a big deal, and it's easily fixed by flashing the stock kernel, until someone figures out a proper fix.
Click to expand...
Click to collapse
Wow, I totally missed that entire line in the OP... You literally just made my whole day. I fought this all day long, desperate to get ubuntu working. Thank you for pointing that out.
I get "xt_mark.h" is missing (no such file or directory) error. Any idea why that may be?
I'm using the source for p900 international hoping that I may sidestep the camera issue that way (by enabling permissive to the international kernel I mean), but as it stands it does not compile.
I've googled it but until now it was/is to no avail...
Graeme H said:
Hey everyone. I bought this device specifically because I do a lot of work on linux in command line world and I though it would be the perfect device when combined with the Logitech Pro keyboard and Complete Linux Installer (it's an app on Google Play).
Click to expand...
Click to collapse
Hey Graeme H,
we both have the same intention. I am downloading the international Kernel at the moment and will compile it again for you guys. The download takes a little longer as I am at vacations.
I am going this route: doviak.net/debian-kit/debian-kit_p00.html . In the future I would like to have arch linux running on this device but a customized debian would be okay for the beginning, too.
Eventually I will try to use framebuffer instead of vnc or something like that. I would love to use sublime-text and dwm on that device with that resolution
Good luck guys. I will try to update.
Edit: hehe I have dwm in front of me now and the resolution is so high that I am barely able to read
Compiled the kernel and flashed in on my device but my camera is still not working. Maybe we need to edit the config:
# Camera sensor devices
#
# CONFIG_VIDEO_OV7670 is not set
# CONFIG_VIDEO_VS6624 is not set
# CONFIG_VIDEO_MT9M032 is not set
# CONFIG_VIDEO_MT9P031 is not set
# CONFIG_VIDEO_MT9T001 is not set
# CONFIG_VIDEO_MT9V011 is not set
# CONFIG_VIDEO_MT9V032 is not set
# CONFIG_VIDEO_TCM825X is not set
# CONFIG_VIDEO_SR030PC30 is not set
# CONFIG_VIDEO_NOON010PC30 is not set
CONFIG_VIDEO_S5K6B2=y
# CONFIG_S5K6B2_CSI_C is not set
CONFIG_S5K6B2_CSI_D=y
CONFIG_S5K6B2_POSITION_FRONT=y
# CONFIG_S5K6B2_POSITION_REAR is not set
CONFIG_VISION_MODE=y
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_S5K6AA is not set
Click to expand...
Click to collapse
Rather than each people compiles its kernel, could someone put a link to download the international kernel compiled? I think this would allow more people to get this kernel. Thank
PHP:
smylion said:
Rather than each people compiles its kernel, could someone put a link to download the international kernel compiled? I think this would allow more people to get this kernel. Thank
Click to expand...
Click to collapse
Compiled from Kitkat source. [ur#l]erhan.es/upload/sm-p900-permissive-intl.tar[/url] (odin)
Thank you but the link does not work
smylion said:
Thank you but the link does not work
Click to expand...
Click to collapse
Sorry, it is erhan.es/upload/sm-p900-intl-permissive.tar
Hi Everyone,
Hoping someone can help or point me in the right direction please. I have been searching google and xda like crazy but cant find answers or info that could help me clue on to my issue.
I just bought a nexus player. I flashed the factory image of the new 7.0 nougat. I then downloaded the x86_64 fugu kernel source code and toolchain. I have added exfat-nofuse to the fs folder of the kernel source, modified the fs/Kconfig and fs/makefile as instructed and in the kernel config I have added the ExfAt support as module (also tried adding as not module). Source and instructions from here. I have then unpacked the boot.img from the factory image and replaced the kernel with mine and repacked the boot.img and loaded it on my Nexus Player. In the about screen I can see my customer build name so I know the boot.img / kernel is in use. The problem is Android still does not detect drives where I have formatted as ExFat and android just asks if I want to use and format which will be Fat32.
Does anyone know if there are further modifications I need to make to the kernel source to get the ExFat support working? I assume teh kernel should / would auto mount but it seems to not even detect ExFat. I am currently trying to get adb terminal access to run commands and see if the ExFat module is there and loadable or anythign to give me an indication of what my issues are.
Any help greatly appreciated. Thanks in advance,
Paul.
Oh and the kernel is v3.10.20. Looking at the different sources it seems the Nexus Player started with and still is only kernel v3.10.20.
I would love to have ExFAT support on nougat, that's the only thing keeping me from updating my Nexus Player. If you figure it out please let me know. Now I did look at the link you provided about the instructions and what not, and was wondering if that github was for ARM devices only. At the top I believe it mentions android ARM. Not sure if that makes a difference or not
BE WARNED - THIS WILL ERASE EVERYTHING ON YOUR PHONE. DO NOT ATTEMPT THIS IF YOU HAVE NOT MADE A BACKUP AND/OR ARE NOT READY TO REINSTALL EVERYTHING ON YOUR PHONE FROM SCRATCH.
Credit goes to bbedward for his initial thread regarding this concept.
STATUS:
2017/01/08 - Not liking the performance of my Galaxy S3, so I've ordered a new phone (Huawei P8 Lite) for $58 from eBay! Supposedly brand new. I figured I'd have to give it a try just to see. Once I set this phone up I'll start tinkering with my Nexus 6 again. Phone should arrive around 17 Jan!
FOCUS:
Getting F2FS on ANY ROM, but for my purposes, I'm focused on getting F2FS with Flash Kernel to work on Nitrogen OS (if this can be done, then it can be done with any ROM!)
BASICS:
- Need recovery & kernel that support f2fs (tools + kernel driver version must match or be compatible - not sure what the specifics are yet)
Latest New Info:
- The Flash has said that his kernel and crDroid work with F2FS (I haven't tested it myself yet - this version of crDroid actually specifies F2FS support)
2017/01/08
- Found this thread by NABENDU1. It's for Nexus 4, but it gives some good insight on how F2FS works.
- @vprasad1 found another working combination (post #15) - franco.Kernel - r60 Anykernel 7.1.1 with Danvdh's Stock Lite N6F26Q 7.1.1
Explaining a few details:
The issue here is that the exact version of F2FS tools included in most modded recoveries isn't actually specified (that I have found) and the version of tools that end up in the ROM (/system/bin/), which come from the recovery unless built into the ROM, must be compatible. One of the following is true (not sure which one yet):
- the F2FS tools version must be the same or greater than the kernel driver support version
- the F2FS tools version must be the same or less than the kernel driver support version
- the F2FS tools version must match the kernel driver support version
Given that The Flash is consistently including the latest F2FS support in his kernel, and since I've had the most trouble getting F2FS support to work with his kernel and other ROMs that technically don't support F2FS (using bbedward's method mentioned above - link to thread included) I'm inclined to think that the F2FS tools must be the same or greater version compared to the kernel driver support, though I have no way of confirming this yet. Hopefully I'll have different luck with Flash Kernel v1.7!
========
I used:
- Nexus Root Toolkit v2.1.9
- Nitrogen OS 2016-11-19
- MagiKernel v1.1 Stable-1023
- TWRP 3.0.2-0 (modded by xanaxdroid - thread is here)
(TWRP v3.0.2-0 by xanaxdroid mirror) - the original link is down.
I'll take these down if xanaxdroid asks. I have yet to hear from him...
Steps for clean install (and initial install of F2FS recovery / conversion to F2FS):
1) revert to stock (Nexus Root Toolkit)
2) flash recovery with f2fs support (Nexus Root Toolkit)
3) boot into recovery on device
4) full wipe device (normal wipe)
5) convert /cache & /data to f2fs
6) copy over desired kernel and rom to /sdcard
7) install rom & then kernel
8) run adb commands:
# adb shell
# mount -o rw /system
# cp /sbin/fsck.f2fs /system/bin/
# cp /sbin/mkfs.f2fs /system/bin/
# chmod a+x /system/bin/*f2fs*
9) reboot
========
When changing ROMs/kernel (F2FS recovery already installed):
1) boot into recovery
2) do full wipe (f2fs should have stayed from the first time)
3) install rom & then kernel
4) run adb commands:
# adb shell
# mount -o rw /system
# cp /sbin/fsck.f2fs /system/bin/
# cp /sbin/mkfs.f2fs /system/bin/
# chmod a+x /system/bin/*f2fs*
5) reboot
========
More semi-lengthy explanation about fstab:
bbedward suggests a difference in the fstab as being the primary suspect causing the difference in compatibility. Here's the only difference I could find that seemed to be relevant:
- the fstab that worked (MagiKernel + TWRP v3.0.2-0 (by xanaxdroid) + Nitro OS)
/devices/*/xhci-hcd.0.auto/usb* auto auto defaults voldmanaged=usb:auto
- the fstab that didn't work (Flash Kernel + TWRP v3.0.2-0 (by xanaxdroid) + Nitro OS)
*block/sda* auto auto defaults voldmanaged=usbdisk:auto,noemulatedsd
Both fstab files did clearly have the lines needed to mount /data and /cache as f2fs, but they were identical.
NOTE: I also tried TWRP v3.0.0-0 (by xanaxdroid) with Flash Kernel and still no dice. I'm a fan of Flash Kernel since it's my first custom kernel I've played with. I hope to be able to use it some day with Nitrogen OS! Until then, thanks MagiKernel! (maybe I'll convert??? ) <- MagiKernel development has halted for now
========
What I've tried before:
All of the following implies that I've used the previously mentioned adb commands to copy over the f2fs tools and set the proper permissions.
In my experience, it seems that f2fs requires just the right combination of kernel + recovery. For example I used Nitrogen OS (2016-11-19) + Flash Kernel + mod TWRP 3.0.2-0 and it hasn't worked for me, but Nitrogen OS + MagiKernel + mod TWRP v3.0.2-0 did work. The failure for f2fs to work with Nitro OS + Flash Kernel is very reproducible, as is the success with Nitro OS + MagiKernel. (Again using TWRP v3.0.2-0 modded by xanaxdroid).
Keep in mind that the developer of Flash Kernel (developed by The Flash) has tested his kernel with crDroid (a CyanogenMod base ROM) and it worked for him, but I don't know what version of modded TWRP he was using and what version of f2fs tools were in that recovery. From what I've noticed, there seems to be a fundamental difference with CyanogenMod based ROMs when it comes to f2fs support, either that or there's just a version mismatch of f2fs tools between certain recovery + kernel combos. I don't know enough to understand the difference yet, but it is clear that just because a kernel claims to support f2fs doesn't mean that it will work with any ROM, even if you follow bbedward's tutorial mentioned at the top of this post.
The kernel and the recovery must work together (as in what version of mkfs.f2fs / fsck.f2fs supported by kernel & recovery must match (i think - thanks to bbedward again for this info)). The main issue here is that most modded recovery zips/imgs (that I have found) don't list the version of f2fs tools they have. On the other hand usually you can see this info on the main page of any given kernel developer.
I haven't found any specific rhyme or reason yet, but for those looking for Nitrogen OS (2016-11-19 - Android 7.1 - Nougat) + f2fs, this will help you.
NOTE: I'm a clean-freak, so I enjoy clean flashes, so my instructions are geared toward clean flashes, not dirty flashes. Having said that, doing this with a dirty flash is possible, but it will depend on the ROM/kernel you choose as to the details in how you upgrade/switch the ROM/kernel. Done properly, you should only have to switch file systems once and forego any future wiping of your /sdcard or internal storage.
========
NOTE : You'll know your recovery + kernel combo isn't working right when it takes longer than usual to get off the bootloader screen and start with your ROM's animation boot screen. If it's taking too long, you're probably having everything converted back to ext4.
*** WARNING *** WARNING *** WARNING *** WARNING ***
DO NOT INTERRUPT THIS PROCESS DURING BOOT. If you do then you'll render your /data partition inaccessible. It's still fixable with Nexus Root Toolkit > revert to stock, but that's a pain and it takes a while.
This OP will be updated as new info is uncovered!
Thank you for the updated tutorial and information! Been reading up on the benefits and side effects of f2fs. But wasn't sure on whether to do it. Like you I am on nitrogen ROM, 12.4.26. and am a fan of flash kernel. Il will definitely look into this. Also I notice that the link you posted for magikernel isn't working. Either way huge thank you.
Edit - Just read the original thread. Want to thank you again for hoe you asked for his approval first before making a new thread. Very respectful. Not to say people don't respect devs or users in general. Just wanted to add I appreciate you taking the time to reach out him first prior to making this thread.
Thank you again.
Sent from my Nexus 6 using XDA-Developers mobile app
ozzmanj1 said:
Thank you for the updated tutorial and information! Been reading up on the benefits and side effects of f2fs. But wasn't sure on whether to do it. Like you I am on nitrogen ROM, 12.4.26. and am a fan of flash kernel. Il will definitely look into this. Also I notice that the link you posted for magikernel isn't working. Either way huge thank you.
Edit - Just read the original thread. Want to thank you again for hoe you asked for his approval first before making a new thread. Very respectful. Not to say people don't respect devs or users in general. Just wanted to add I appreciate you taking the time to reach out him first prior to making this thread.
Thank you again.
Click to expand...
Click to collapse
Thanks for the feedback!
I'm still researching a way to get Flash Kernel with Nitro OS + f2fs. I have some ideas. I'll update the first post with any new findings.
Edit: unfortunately MagiKernel is dead. So ill be hot on another trail soon. Also MagiKernel isnt as good as Flash out-of-the-box in my experience so far.
ozzmanj1 said:
Also I notice that the link you posted for magikernel isn't working. Either way huge thank you.
Click to expand...
Click to collapse
I actually just tested the link to MagiKernel on my PC and my phone (on XDA Labs) and it worked fine. Are you using another (older) version of XDA forum viewer?
EDIT: OP updated. The "issues" we all run into is a version mismatch between RECOVERY & KERNEL mostly. As long as RECOVERY & KERNEL f2fs tools match, then you can copy over (mkfs.f2fs & fsck.f2fs) from /sbin/ to /system/bin/ and get any ROM to be compatible with F2FS.
EDIT: modified links and removed "" in URL tags. The quotes were necessary for proper display in the XDA Labs app, but not compatible with XDA Legacy app. I've switched to use XDA legacy!
Will this fix low battery throttling and video recording
PunishedSnake said:
Will this fix low battery throttling and video recording
Click to expand...
Click to collapse
LOL, no.
This won't "fix".... ANYTHING.
In fact, this will very likely BREAK things.
Lol how so
No not breaking things here ... Not any more than usual tinkering under the hood... I'm just trying to flush out bbedward's old thread with some more info...
PunishedSnake said:
Will this fix low battery throttling and video recording
Click to expand...
Click to collapse
To give you an answer, no it won't. This info will only "possibly" help you get a ROM to run on f2fs that was not initially designed to do so.
@ozzmanj1
Well the Nitrogen OS ROM developer just let me know he has no plan to include F2FS tools. Looks like we gotta go with plan B...
TheArkive said:
@ozzmanj1
Well the Nitrogen OS ROM developer just let me know he has no plan to include F2FS tools. Looks like we gotta go with plan B...
Click to expand...
Click to collapse
That is a darn shame. Looking at the comparisons of Ext4 and F2FS and it makes me wonder why it has gone more popular. I appreciate your time and work looking into this. Sadly with my schedule I do not have to do a lot of digging with wife, and kids and works....blah blah....lol. Anyways, thank you for letting me know about Nitro.
Side note, any suggestions on another ROM that you are aware of that supports F2FS?
ozzmanj1 said:
That is a darn shame. Looking at the comparisons of Ext4 and F2FS and it makes me wonder why it has gone more popular. I appreciate your time and work looking into this. Sadly with my schedule I do not have to do a lot of digging with wife, and kids and works....blah blah....lol. Anyways, thank you for letting me know about Nitro.
Side note, any suggestions on another ROM that you are aware of that supports F2FS?
Click to expand...
Click to collapse
The Flash said that latest crDroid worked fine. I haven't been able to confirm yet. I have a new smartphone on the way to setup as my primary phone while I experiment on my Nexus 6. Won't get here until Jan 23rd
TheArkive said:
The Flash said that latest crDroid worked fine. I haven't been able to confirm yet. I have a new smartphone on the way to setup as my primary phone while I experiment on my Nexus 6. Won't get here until Jan 23rd
Click to expand...
Click to collapse
Just came across this new kernel that has f2fs support. Based on flash kernel and afew other kernels.
http://forum.xda-developers.com/showthread.php?t=3526034
Going to look into it as flash kernel may drop nexus 6 support soon due to school obligations
Sent from my Nexus 6 using XDA-Developers mobile app
ozzmanj1 said:
Just came across this new kernel that has f2fs support. Based on flash kernel and afew other kernels.
http://forum.xda-developers.com/showthread.php?t=3526034
Going to look into it as flash kernel may drop nexus 6 support soon due to school obligations
Sent from my Nexus 6 using XDA-Developers mobile app
Click to expand...
Click to collapse
Thanks for the news! I'll be checking that out as well.
FYI this works using franco.Kernel - r60 Anykernel 7.1.1 with Danvdh's Stock Lite N6F26Q 7.1.1
Code:
mount | grep f2fs
/dev/block/platform/msm_sdcc.1/by-name/userdata on /data type f2fs (rw,seclabel,nosuid,nodev,noatime,nodiratime,background_gc=on,user_xattr,inline_xattr,acl,inline_data,inline_dentry,flush_merge,extent_cache,mode=adaptive,active_logs=6)
/dev/block/platform/msm_sdcc.1/by-name/cache on /cache type f2fs (rw,seclabel,nosuid,nodev,noatime,nodiratime,background_gc=on,user_xattr,inline_xattr,acl,inline_data,inline_dentry,flush_merge,extent_cache,mode=adaptive,active_logs=6)
I tried Aero 1.0 Linaro kernel with Danvdh's Stock Lite N6F26Q 7.1.1 but it kept forcing /cache and /data to return to ext4.
Could also be that the rom is coded not to allow it as it is not really stable enough. Main reason it is not implemented in Android.
zelendel said:
Could also be that the rom is coded not to allow it as it is not really stable enough. Main reason it is not implemented in Android.
Click to expand...
Click to collapse
Was that in response to my post???
Sent from my SM-N910T using Tapatalk
vprasad1 said:
FYI this works using franco.Kernel - r60 Anykernel 7.1.1 with Danvdh's Stock Lite N6F26Q 7.1.1
I tried Aero 1.0 Linaro kernel with Danvdh's Stock Lite N6F26Q 7.1.1 but it kept forcing /cache and /data to return to ext4.
Click to expand...
Click to collapse
Many thanks for the info! I'm definitely trying to find combinations that in fact do work, and hopefully derive a method for getting it to work on other combinations as well (hopefully).
Thanks again for the help!
TheArkive said:
Many thanks for the info! I'm definitely trying to find combinations that in fact do work, and hopefully derive a method for getting it to work on other combinations as well (hopefully).
Thanks again for the help!
Click to expand...
Click to collapse
Just a quick link I came across. Not sure if it's useful but as it pertains to f2fs I thought I'd share.
https://www.xda-developers.com/xda-...upersu-has-trouble-with-f2fs-data-partitions/
Sent from my Nexus 6 using XDA-Developers Legacy app
What is F2FS
Can Ya Here Me Now
Since many people seem to ask continuously if magisk work with nougat and why supersu sr3 flashable zip by chainfire doesn't work ill try to explain it here.
Since M huawei has updated the kernel to work with nougat they seemed to break some important stuff. Or disabled it. I cannot tell for sure. And since sources aren't out we can't tell for sure if it's disabled or just broken.
Supersu and magisk is relying on loop to get it system less. This requires a .img which is being mounted to the path which is being executed on boot. But with loop being broken or disabled the phone will for some reason not handle this well.
But this is the reason why supersu and magisk isn't working when trying to install it reboots twrp notice that even if you manually patch boot so it contains all info related to magisk or supersu images it won't help you. Because you'll not be able to use magisk since the system will not boot. Due to loop is broken or disabled.
So there will be no magisk for nougat? And when will it come if it'll be working?
Wait until kernel sources are dropped.
So can we get magisk working?
Well yes.
Our best shot is to actually create a folder in /data which is being symlinked to / or if we do a similar approach on how supersu works on nougat. But for now we can't mount images and that's why everything fails.
Hope this sum up things for you.
Sent from my CUBOT_MANITO using Tapatalk
You're far more competent with Android development than me -- is it possible to fork Magisk and modify it to use a ramdisk instead of loop mounting? The Honor 8 has plenty of free RAM, we would probably do a 256MB ramdisk with no issue. Ramdisks don't require loop mounting so conceptually we should just be able to modify the mount / unmount, flash, and image update sections of the script.
Telperion said:
You're far more competent with Android development than me -- is it possible to fork Magisk and modify it to use a ramdisk instead of loop mounting? The Honor 8 has plenty of free RAM, we would probably do a 256MB ramdisk with no issue. Ramdisks don't require loop mounting so conceptually we should just be able to modify the mount / unmount, flash, and image update sections of the script.
Click to expand...
Click to collapse
Hmm maybe. As said we could do a similar approach on how supersu and phh works on nougat. The only downside would be placing all in ramdisk due to lack of storage space. Since it'll be filled too fast.
It could work in theory but not sure if it'll actually work properly
Sent from my CUBOT_MANITO using Tapatalk
LastStandingDroid said:
Hmm maybe. As said we could do a similar approach on how supersu and phh works on nougat. The only downside would be placing all in ramdisk due to lack of storage space. Since it'll be filled too fast.
It could work in theory but not sure if it'll actually work properly
Sent from my CUBOT_MANITO using Tapatalk
Click to expand...
Click to collapse
Has anyone from XDA (or elsewhere) actually got a "contact" at Honor/Huawei that has ever done anything positive for them (in the engineering/development realm)?
It doesn't appear that Honor 8 nougat is supported at all to me, but some things that could easily done with their "private source" of the Nougat kernel would be of great use and would not cause them to look as if they were being generous with their code. (I don't know why they're such dorks about it, but they are).
For example: IF you have some "insider" at Honor, please ask them for the stock emui loadable module (via modprobe or lsmod) for mount.loop support. That would solve the problem as there's not some reason why we can't find a way to load it during startup. If you guys get that, then you probably won't care about them probably never releasing the kernel source. I have no expectations for this company. Nice phone, but they lied about their development support. Too bad, because Kirin 9xx's are becoming nicer and nicer and in some ways are nicer than the heavily supported SD's, which are supported to a much larger extent.
Oh hell. We have working TWRP, so in theory, (and if we get the magical module for loop mount) we could root edit from TWRP and add the modprobe {modname-loop.ko) to whatever is the equivalent of rc.local or one of the startups (rc1.d, etc).
Getting someone to fork, develop and test the magik (sp?) code for one case and one kernel seems like a lean chance.
hachamacha said:
Has anyone from XDA (or elsewhere) actually got a "contact" at Honor/Huawei that has ever done anything positive for them (in the engineering/development realm)?
It doesn't appear that Honor 8 nougat is supported at all to me, but some things that could easily done with their "private source" of the Nougat kernel would be of great use and would not cause them to look as if they were being generous with their code. (I don't know why they're such dorks about it, but they are).
For example: IF you have some "insider" at Honor, please ask them for the stock emui loadable module (via modprobe or lsmod) for mount.loop support. That would solve the problem as there's not some reason why we can't find a way to load it during startup. If you guys get that, then you probably won't care about them probably never releasing the kernel source. I have no expectations for this company. Nice phone, but they lied about their development support. Too bad, because Kirin 9xx's are becoming nicer and nicer and in some ways are nicer than the heavily supported SD's, which are supported to a much larger extent.
Oh hell. We have working TWRP, so in theory, (and if we get the magical module for loop mount) we could root edit from TWRP and add the modprobe {modname-loop.ko) to whatever is the equivalent of rc.local or one of the startups (rc1.d, etc).
Getting someone to fork, develop and test the magik (sp?) code for one case and one kernel seems like a lean chance.
Click to expand...
Click to collapse
Many people probably have but won't try get people fired because of leaks
Their working on to get in touch though
Sent from my CUBOT_MANITO using Tapatalk
Perhaps @MishaalRahman can push on behalf of all of us as a representative of XDA to get the kernel source released faster, and built correctly for once.
Telperion said:
Perhaps @MishaalRahman can push on behalf of all of us as a representative of XDA to get the kernel source released faster, and built correctly for once.
Click to expand...
Click to collapse
I'm not sure how much clout I would have, but it wouldn't hurt to ask.
I think @svetius is more into this.
You should ask him about it tbh
Afaik he's the on that handles this
Sent from my CUBOT_MANITO using Tapatalk
in my p9 lite emui 5.0 magisk is successfully installed !
it worked by flashing a modded boot.img created by @HassanMirza01 and by setting selinux to permissive
big thanks to @Paolo83 because he found this method
@simo255 lol
simo255 said:
in my p9 lite emui 5.0 magisk is successfully installed !
it worked by flashing a modded boot.img created by @HassanMirza01 and by setting selinux to permissive
big thanks to @Paolo83 because he found this method
Click to expand...
Click to collapse
please state more info about which image you use, whether you have stock firmware installed and which steps you took in twrp to install supersu and consecutively, magisk.