Related
KERNEL FOR SM-N9005 - SNAPDRAGON 800 MODEL
Successfully changed SELinux status to permissive. Able to restore apps with Titanium Backup with data without force closes.
This is the stock samsung kernel source, but changed the SELinux policy from enforcing to permissive.
In the settings app, it still shows as "Permissive", see the attached image.
Flash at your own risk. Please have an available flashable tar file of a working boot.img just in case, however it works fine on my phone!
Link to stock kernels: http://forum.xda-developers.com/showthread.php?t=2459328&highlight=stock+roms
Known Issues
Wifi and exfat external storage not working
WiFi not working. To fix: modify build.prop ro.securestorage.support=true - Change to false. WiFi works on reboot (Thanks to freeza)
ExFAT external storage not working. To fix: Use https://github.com/dorimanx/exfat-nofuse
Download Here: https://www.dropbox.com/s/8ze2xzk2mcbagyc/DJT_N9005_KERNEL.tar
TODO:
- Add ExFAT to kernel
- Add Busybox / init.d capability
- Add CPU overclocking
For other kernel devs, there is new feature in Snapdragon 800 mtd where you need a different version of mkbootimg tools.
More Information
Some more info:
In the build config specified by Samsung, there is the following:
Code:
CONFIG_SEC_RESTRICT_ROOTING=y
CONFIG_SEC_RESTRICT_SETUID=y
CONFIG_SEC_RESTRICT_FORK=y
CONFIG_SEC_RESTRICT_ROOTING_LOG=y
And the build notes for the kernel say this:
$ make VARIANT_DEFCONFIG=msm8974_sec_hlteeur_defconfig msm8974_sec_defconfig SELINUX_DEFCONFIG=selinux_defconfig
And if we look at the SELINUX Makefile:
Code:
ifeq ($(SEC_BUILD_OPTION_SELINUX_ENFORCE),true)
EXTRA_CFLAGS += -DCONFIG_ALWAYS_ENFORCE=true
endif
My guess is that because we are "supposed" to build with the SELinux flag, then the Makefile picks this up and sets ALWAYS ENFORCE to true. So I am now rebuilding kernel now to try it without that line.
it dose not work on my stock rom
After flashing over Omega ROM 1.0 i lost WIFI (could not activate it) and external storage access.
Still SELinux was indeed permissive and data restore with Titanium was working.
bubbl3 said:
After flashing over Omega ROM 1.0 i lost WIFI (could not activate it) and external storage access.
Still SELinux was indeed permissive and data restore with Titanium was working.
Click to expand...
Click to collapse
Thankyou I will look at fixing this. I also realised lost wifi.
Sent from my SM-N9005 using xda app-developers app
danieljamie said:
Thankyou I will look at fixing this. I also realised lost wifi.
Sent from my SM-N9005 using xda app-developers app
Click to expand...
Click to collapse
Woa, how can you able to flash kernel with locked bootloader ?, how do i create tar and boot.img from the zImage ?
Thanks
rheza02 said:
Woa, how can you able to flash kernel with locked bootloader ?, how do i create tar and boot.img from the zImage ?
Thanks
Click to expand...
Click to collapse
boot.img consists of the kernel and ramdisk. You need ramdisk compiled from source, or ripped from a current working boot.img.
Then use tool mkboot to package zImage and ramdisk into boot.img (not just any mkboot, there is a special one updated for usage with snapdragon 800).
Then just use tar command in linux: tar -cvf mykernel.tar boot.img
Then flash in odin
Does this work with SM-N900W8 version?
Sorry for Out of topic,
do you compile the boot.img with the dt.img ?
Thanks
rheza02 said:
Sorry for Out of topic,
do you compile the boot.img with the dt.img ?
Thanks
Click to expand...
Click to collapse
Yes...
Use this:
https://github.com/xiaolu/mkbootimg_tools
Can you please do it for SM-900 version also ?
Sent from my SM-N900 using XDA Premium 4 mobile app
How do we make the modules for wifi and external storage ?, I able to compile my own kernel now. but can't access external storage and wifi.
rheza02 said:
How do we make the modules for wifi and external storage ?, I able to compile my own kernel now. but can't access external storage and wifi.
Click to expand...
Click to collapse
I'm wondering the same thing brother. I want to open a thread regarding kernel compiling but don't know where to do it or where to get help. Feel so stuck.
Then my dev environment died on me and make started throwing me errors randomly after I did apt-get upgrade.
Sent from my SM-N9005 using xda app-developers app
danieljamie said:
I'm wondering the same thing brother. I want to open a thread regarding kernel compiling but don't know where to do it or where to get help. Feel so stuck.
Then my dev environment died on me and make started throwing me errors randomly after I did apt-get upgrade.
Sent from my SM-N9005 using xda app-developers app
Click to expand...
Click to collapse
Do you have google+ ?, can we chat while doing this. hehe!
rheza02 said:
Do you have google+ ?, can we chat while doing this. hehe!
Click to expand...
Click to collapse
Yeah I will send you a PM
Hi, I'm in the same boat as you guys. I have compiled a kernel successfully and while WiFi works, sdcard/exfat doesn't.
We need to figure out how to get to the bottom of this! Oddly enough, kernel modules are no longer in /system/lib/modules. I guess they're baked into the kernel?
feel free to add me on google+. my xda username @ gmail
freeza said:
Hi, I'm in the same boat as you guys. I have compiled a kernel successfully and while WiFi works, sdcard/exfat doesn't.
We need to figure out how to get to the bottom of this! Oddly enough, kernel modules are no longer in /system/lib/modules. I guess they're baked into the kernel?
feel free to add me on google+. my xda username @ gmail
Click to expand...
Click to collapse
How did you get wifi working???
Sent from my SM-N9005 using xda app-developers app
And what about Exynos kernel?
Code:
parentDir
|-- mkbootimg
|--/XXDEV-ramdisk/
+--/Kernel-folder/
Code:
makeKernel
Code:
#!/bin/sh
export KDIR=`readlink -f ../Kernel-folder/`
if [ -z ${1} ]; then
echo "Enter the device code"
exit 1;
else
export DEV=$1
fi
case $DEV in
XXDEV) export DEFCONFIG="XXDEV_defconfig";
export RDIR="XXDEV-ramdisk";;
*) echo "Not a valid device"
exit 2;;
esac;
cd $KDIR;
echo "Making $DEFCONFIG";
if [ -z $3 ]; then
make $DEFCONFIG ARCH=arm || exit 3;
nice -n 10 make modules -j4 ARCH=arm || exit 4;
nice -n 10 make -j4 ARCH=arm || exit 5;
else
echo "Bypassing kernel make."
fi
find -name '*.ko' -exec cp -av {} ../$RDIR/lib/modules/ \;
chmod 644 ../$RDIR/lib/modules/* ;
cd ..;
cd ./$RDIR
pwd;
find . | cpio -o -H newc | gzip -9 > ../$RDIR.cpio.gz
cd ..
./mkbootimg --kernel $KDIR/arch/arm/boot/zImage --ramdisk $RDIR.cpio.gz -o boot.img && echo "Made boot image."
tar cf ./Finished/Kernel-$2-$DEV.tar boot.img
echo "Made Kernel-$2-$DEV.tar"
exit 0;
Code:
parentDir/makeKernel XXDEV whateverVersionNumber
Now stop pestering me, I'm not a helpdesk. All of the above is easily found if you search for it.
I've managed to fix both sdcard(EXFAT) and WiFi
I'm going to show you how to build a custom kernel, and a custom boot.img.
Requirements
A linux OS
Kernel source code from Samsung
Android Image Kitchen (Required for the SEANDROID metadata it appends automatically)
GCC Cross Compilation Toolchain 4.8 (You may just clone the repo with git, or download a zip)
Hypothetical workspace directory on the filesystem: /workspace, now prepare it like this:
/workspace/kernel - this is where the kernel source code will be, this is what we will build. Extract the downloaded Kernel.tar.gz here
/workspace/build - this is the kernel compilation result, populated by the build
/workspace/toolchain - this is the required cross-compilation toolchain you download or check-out from the google link
/workspace/kitchen - Extract Android Image Kitchen here
Click to expand...
Click to collapse
Go to http://opensource.samsung.com/reception.do and search for SM-J415, download one of the results, extract Kernel.tar.gz to /workspace/kernel. I believe SWA stands for South West Asia, and MAE - Middle-east Africa, it doesn't matter which you pick, it is related to radio regulations.
Now overwrite the file /workspace/kernel/build_kernel.sh with:
Code:
#!/bin/bash
# The cross compilation toolchain path
export TOOLCHAIN=$(pwd)/../toolchain/arm-linux-androideabi-4.8
# This is the directory for the compiled kernel
export OUTDIR="O=$(pwd)/../build"
export PATH=$TOOLCHAIN/bin:$PATH
export ARCH=arm
export CROSS_COMPILE=arm-linux-androideabi-
export THREADS=$(nproc --all)
export COMMON_ARGS="-j$THREADS $OUTDIR arch=arm CFLAGS_MODULE=-fno-pic arch=arm"
if [ "$1" == "build" ]; then
make $COMMON_ARGS j4primelte_sea_open_defconfig
make $COMMON_ARGS
elif [ "$1" == "rebuild" ]; then
make $COMMON_ARGS
elif [ "$1" == "clean" ]; then
make $COMMON_ARGS distclean
make $COMMON_ARGS clean
else
echo "./build_kernel.sh build|rebuild|clean"
fi
Building kernel source code
Run the script:
$ cd /workspace/kernel/
edit: /workspace/kernel/arch/arm/configs/j4primelte_sea_open_defconfig
change CONFIG_SECURITY_DEFEX=y to CONFIG_SECURITY_DEFEX=n
$ bash build_kernel.sh build
It should build normally, if it fails there's something wrong with your OS setup. After a long time, you should see the compiled and compressed kernel with the DTP appended at:
/workspace/target/arch/arm/boot/zImage-dtb
The kernel configuration it created from the defconfig files in the kernel source tree is at
/workspace/target/.config
Build a new boot.img
$ cd /workspace/kitchen
$ bash unpackimg.sh /path/to/a/boot/or/recovery.img
Now you will have the unpacked kernel in: /workspace/kitchen/split_img/boot.img-zImage
Delete it
$ rm split_img/boot.img-zImage
Link the built custom kernel there instead
$ ln -s /workspace/target/arch/arm/boot/zImage-dtb /workspace/kitchen/split_img/boot.img-zImage
Now each time you create the boot.img, it will include your custom kernel instead.
Tweak the files and ramdisk as much as you want, and repackage the boot.img
$ bash repackimg.sh
Now you have a boot.img at /workspace/kitchen/image-new.img that is ready to flash to the device. You can unpack custom recoveries the same way as you unpacked boot.img to make them use your custom kernel.
Kernel configurations tried
CONFIG_SECURITY=n - boot loop
CONFIG_SECURITY_SELINUX=n - boot loop
CONFIG_SECURITY_DEFEX=n - works
CONFIG_DM_VERITY=n - works, does not prevent initramfs from using DM-VERITY, you still need some sort of ramdisk hack to disable verification of the next boot phase after initrd.
Often when editing the defconfig files, the same variables are declared in many different files so you might be better off using "sed' to change the variables, example:
$ grep -lr "CONFIG_SECURITY=y" | while read line; do sed -i 's/CONFIG_SECURITY=y/CONFIG_SECURITY=n/g' $line; done
When running "build_kernel.sh build", it will print "configuration written to .config" so verify that the variable was actually changed in the final config /workspace/build/.config
kapmino269 said:
and I think ,They aren't kernel see
Click to expand...
Click to collapse
No that is the latest kernel source code running on the latest firmware. You can use either of those 2 downloads from opensource.samsung.com
kapmino269 said:
it isn't working .
Click to expand...
Click to collapse
The kernel source code is on the Samsung opensource website.... there are two versions one that is MEA ( for Middle East and Africa roms) and the other one for SWA. It works if compiled properly
kapmino269 said:
ok
i have questions loop device depend on kernel and if it is .
How to add support?
Click to expand...
Click to collapse
It seems it depends on the kernel support but I haven't actually tried messing around that stuff
kapmino269 said:
it isn't working .
Click to expand...
Click to collapse
You need to install gcc, python and make before you run the command bash build_kernel.sh build
sudo apt install gcc make python
kapmino269 said:
I knew steps man I used Ubuntu for 2 years without windows .
thank you .
Click to expand...
Click to collapse
Do you tried make mrproper and make clean before you run build_kernel.sh?
kapmino269 said:
ok
i have questions loop device depend on kernel and if it is .
How to add support?
Click to expand...
Click to collapse
Type "make xconfig" in the kernel directory, and a window will open for configuring the .config file in that same directory.
Search for "Loopback device support" and add a checkmark (not a dot, so that the module is built into the kernel.)
kapmino269 said:
it isn't working .
Click to expand...
Click to collapse
Can you please provide a log or something? It sounds like you are missing dependencies in your operating system for building kernels.
how do you flash the new boot.img with a samsung device?
kapmino269 said:
By twrp
Click to expand...
Click to collapse
Thanks!!
I ended up using https://forum.xda-developers.com/showthread.php?t=2446269 which is pretty easy as well.
I am now stuck on how to enable wifi after flashing a different kernal.
Kernal = samsung opensource
Rom = nouget 7.1.1 (different to opensource kernal)
Any suggestions?
heavy load said:
Thanks!!
I ended up using https://forum.xda-developers.com/showthread.php?t=2446269 which is pretty easy as well.
I am now stuck on how to enable wifi after flashing a different kernal.
Kernal = samsung opensource
Rom = nouget 7.1.1 (different to opensource kernal)
Any suggestions?
Click to expand...
Click to collapse
Install the Magisk module LIBSECURE_STORAGE COMPANION
ashyx said:
Install the Magisk module LIBSECURE_STORAGE COMPANION
Click to expand...
Click to collapse
Thanks Ashyx, I had a play with your kernal on github, nice work there!
I ended up downloading a stock rom matching the samsung opensource kernal build number, worked out of the box.
kapmino269 said:
See that :
@ashyx any help
I NEED TO ADD SOME MODULES.
Click to expand...
Click to collapse
It's telling you the path to the defconfig doesn't exist.
Either the name is wrong or it doesn't exist in the config directory.
kapmino269 said:
This, I solved it yesterday, Thanks .
But I have 2 problems :
1- Device is arm and at bulid_kernel.sh tell me to use toolchain arch64 ,
Which I should Use arm or arm64 ,
I confused as cpu is arm64 .
https://www.qualcomm.com/products/snapdragon/processors/425
Or
Ndk
https://developer.android.com/ndk/downloads/index.html
2- Which command I should write after menuconfig
./build_kernel.sh
Or
make -jX .
Click to expand...
Click to collapse
Just use whichever is in the build script.
You will need to add menuconfig to build_kernel.sh before make or your changes will be lost.
Then run build_kernel.sh
kapmino269 said:
@ashyx ,all is ok .
The error from clang and there is 2 config files .
Fixed and I will test kernel but I have problem when compiling I choose lz4 type ,do U see I should choose another .
Also where is zimage now ,i compiled manually not with build_kernel.sh .
Click to expand...
Click to collapse
You don't need the export arguments which are contradictory anyway, as you have already defined your toolchain and architecture before hand.
Also the boot image does not need to be lz4. The compiler will tell you where the finished zImage is when completed. You should find it in the boot directory of the arm64 directory if you are not using OUT_DIR statements.
kapmino269 said:
Sorry ashyx this is last thing ,
-You told me later that device is arm not arm64 .
In Your twrp thread .
-Also defconfig of device in /arch/arm .
-Arch=arm in build_kernel.sh .
-Gsi system armaonly only work on the device .
-All apps told that device is arm .
I confused ,
Please tell that it is right to use arm64 tool chain .
Or How did U build it ?
By arm64 toolchain or arm toolchain ?
Very Thank U .
Click to expand...
Click to collapse
I was just going by the screen shot you posted. Like I said your commands are contradictory.
You have both arm and arm64 toolchains defined in the same script.
You also have an export statement for arm64 directly under a statement for an arm toolchain.
Not sure why you added both?
As far as I can see the architecture you're compiling for is arm, so you need an arm toolchain.
kapmino269 said:
It contains errors
Click to expand...
Click to collapse
This is the script I use.
You will need to modify the path to your toolchain.
can i use the source code to build kernel for android 10 one ui if the source built for mm
What's working:
Wi-Fi
Bluetooth
Mobile Network (Calling, Data, etc.)
Audio (Stereo Speakers)
Camera
Fingerprint Sensor
S-Pen Basics
Call Recording
HWC
Signal Indicator
GPS
HDMI
NFC
MTP
What's not working:
Iris sensor does not work because AOSP upstream does not support that yet.
IMS services (VoLTE, VoWiFi, etc). Samsung has their own proprietary implementation. It is not really possible to easily port that to LineageOS.
Bugs:
S-Pen/Mouse will cause small graphical glitches during button animations sometimes.
Instructions:
Make sure TWRP has been installed and functional
Reboot to recovery
Wipe data and cache (required if you switch from other ROMs)
Flash the latest build (then gapps and magisk if needed)
Reboot
THE VENDOR.IMG IS PROVIDED AS PART OF THE ROM. FLASHING ANOTHER VENDOR WILL CAUSE A BOOTLOOP.
How to update builds?
Do not wipe anything unless stated in the changelog
Flash only the rom.zip and it will automatically reinstall your gapps, magisk, vendor etc
use /system/addon.d if you would like to keep system mods after an update
Downloads:
Galaxy Note 9 Exynos (N960F): https://mega.nz/#!P6gT1KrZ!qMh3yx9EI2vipcISnfm19LulRZT73Ns-N2oISlM0H5s
Google Apps: https://opengapps.org/
Changelog:
28/01/2020
January Patch
SELinux Enforcing
Apex Enabled
Kernel upstreamed to 210
New WiFi Firmware
OTA enabled
Q friendly partition mounts
New ramdisk
GPS Locking more reliable
New bluetooth HAL
Offline charging fixed
New Lights HAL to stop max brightness bug
08/01/2020
MTP/USB should be a bit more stable
Fixed NFC (Requires factory reset if on earlier build)
WiFi **should** behave a bit more.
23/12/2019
Hardware decoding of UHD video no longer lags/stutters
Bluetooth call audio working
UHD video recording with the camera app fixed
Built against LOS december sources
20/12/2019
Wireless hotspot now enables
Kernel upstreamed to 4.9.206
19/12/2019
DRM protected content will no longer crash the device (YouTube, Spotify, Netflix, etc)
SFingerprint scanner now works properly
18/12/2019
GPS is now able to get a more accurate location
Sensors work (gyro, light sensor, etc)
Fixed issue with Gapps causes bootloop after installing an update
16/12/2019
First Build
Telegram Group:
[N960F][LineageOS 17.0][UNOFFICIAL]
Paypal:
abtekk
Source Code: https://github.com/LineageOS/
Kernel: https://github.com/evilexecutable/android_kernel_samsung_universal9810-crown/tree/lineage-17.0
ROM OS Version: 10 (Q)
ROM Kernel: Linux 4.9.197
XDA:DevDB Information
Lineage-17.0, ROM for the Samsung Galaxy Note 9
Contributors
abtekk
Source Code: https://github.com/evilexecutable/android_kernel_samsung_universal9810-crown/tree/lineage-17.0
ROM OS Version: Android 10
ROM Kernel: Linux 4.x
Version Information
Status: Stable
Stable Release Date: 2020-01-28
Beta Release Date: 2019-12-16
Created 2019-12-16
Last Updated 2020-01-29
Camera is not working right now. To fix:
adb shell
mount -o rw,remount /vendor
cd /vendor/lib
ln -s /vendor/lib/egl/libGLES_mali.so libOpenCL.so
ln -s /vendor/lib/egl/libGLES_mali.so libOpenCL.so.1
ln -s /vendor/lib/egl/libGLES_mali.so libOpenCL.so.1.1
cd /vendor/lib64
ln -s /vendor/lib64/egl/libGLES_mali.so libOpenCL.so
ln -s /vendor/lib64/egl/libGLES_mali.so libOpenCL.so.1
ln -s /vendor/lib64/egl/libGLES_mali.so libOpenCL.so.1.1
Then reboot, then camera will work.
It will be fixed really soon.
Edit: Its fixed. Redownload it.
Super tempting... Thanks for this
Good job
Well done , happy to see progress :highfive:
Sent from my Samsung Galaxy S9+ using XDA Labs
Vodes said:
Camera is not working right now. To fix:
adb shell
mount -o rw,remount /vendor
cd /vendor/lib
ln -s /vendor/lib/egl/libGLES_mali.so libOpenCL.so
ln -s /vendor/lib/egl/libGLES_mali.so libOpenCL.so.1
ln -s /vendor/lib/egl/libGLES_mali.so libOpenCL.so.1.1
cd /vendor/lib64
ln -s /vendor/lib64/egl/libGLES_mali.so libOpenCL.so
ln -s /vendor/lib64/egl/libGLES_mali.so libOpenCL.so.1
ln -s /vendor/lib64/egl/libGLES_mali.so libOpenCL.so.1.1
Then reboot, then camera will work.
It will be fixed really soon.
Click to expand...
Click to collapse
As of this message, this is no longer necessary. If you downloaded a build earlier, please redownload it from the link in the thread.
Will try this on next update
The only apps downloadable from OpenGapps.com are for version 9.0 or older. The version 10 download is grayed out. It says, "Version 10.0 requires a patched ROM for proper WebView Support".
That said, I'm trying the ROM out anyway.
BRB
_________
Installer doesn't work. TWRP says:
Updater process ended with ERROR: 7
Error installing zip file '........(etc)'
E3004: This package is for device: crownltexx, this device is starlte.
Starting LOS 16 restore now.....
crhylove said:
The only apps downloadable from OpenGapps.com are for version 9.0 or older. The version 10 download is grayed out. It says, "Version 10.0 requires a patched ROM for proper WebView Support".
That said, I'm trying the ROM out anyway.
BRB
_________
Installer doesn't work. TWRP says:
Updater process ended with ERROR: 7
Error installing zip file '........(etc)'
E3004: This package is for device: crownltexx, this device is starlte.
Starting LOS 16 restore now.....
Click to expand...
Click to collapse
Well the rom is for the note 9 only right now. You tried to flash it on a S9.
Yep. I'm an idiot.
crhylove said:
Yep. I'm an idiot.
Click to expand...
Click to collapse
S9/+ released here
https://forum.xda-developers.com/ga...-s9--s9-cross-device-development/rom-t4020939
New build uploaded
Changelog:
18/12/2019
GPS is now able to get a more accurate location
Sensors work (gyro, light sensor, etc)
Fixed issue with Gapps causes bootloop after installing an update
abtekk said:
New build uploaded
Changelog:
18/12/2019
GPS is now able to get a more accurate location
Sensors work (gyro, light sensor, etc)
Fixed issue with Gapps causes bootloop after installing an update
Click to expand...
Click to collapse
This is it :laugh:
So battery life/performance? smoothness? Comments in general?
Changelog:
19/12/2019
DRM protected content will no longer crash the device (YouTube, Spotify, Netflix, etc)
Fingerprint scanner now works properly
Temp fix for MTP
To make MTP working go to system/system/build.prop and change
persist.sys.usb.config=adb,mtp
To
persist.sys.usb.config=mtp
and reboot
New Note 9 build uploaded
- Wireless hotspot now enables
- Kernel upstreamed to 4.9.206
There is no need to flash additional Vendor.zip package. Is this correct?
---------- Post added at 10:47 PM ---------- Previous post was at 10:38 PM ----------
crhylove said:
The only apps downloadable from OpenGapps.com are for version 9.0 or older. The version 10 download is grayed out. It says, "Version 10.0 requires a patched ROM for proper WebView Support".
That said, I'm trying the ROM out anyway.
BRB
_________
Installer doesn't work. TWRP says:
Updater process ended with ERROR: 7
Error installing zip file '........(etc)'
E3004: This package is for device: crownltexx, this device is starlte.
Starting LOS 16 restore now.....
Click to expand...
Click to collapse
Are we to use Opengapps version 9.0 then?
Gandicela said:
There is no need to flash additional Vendor.zip package. Is this correct?
---------- Post added at 10:47 PM ---------- Previous post was at 10:38 PM ----------
Are we to use Opengapps version 9.0 then?
Click to expand...
Click to collapse
No, there's a version 10 somewhere.... just not on the opengapps site. I got it from telegram I think.....
https://web.telegram.org/#/[email protected]
New Note 9 Build uploaded
23/12/2019
- Hardware decoding of UHD video no longer lags/stutters
- Bluetooth call audio working
- UHD video recording with the camera app fixed
- Built against LOS december sources
PREREQUISITE
- adb enabled [developer options]
- root [Magisk/SU]
- original /vendor partition [flashed with official update/firmware]
- File/Root Explorer
- adb for Windows [Minimal ADB and Fastboot, provided]
- UKA [Unpacker Kitchen for Android] - Send me a PM
- USB cable always connected
Reserved
You can do the same steps for the other logical partitions [system & product]
At the end you do :
System
tune2fs -L / /data/local/UnpackerSystem/system.new.img
tune2fs -O ^read-only /data/local/UnpackerSystem/system.new.img
tune2fs -O ^has_journal /data/local/UnpackerSystem/system.new.img
adb shell
su
dd if=/sdcard/system.img of=/dev/block/dm-2
(just copy/past to avoid errors !)
Reboot your phone right away !
Product
must be renamed vendor because the Magisk Module still doesn't support this name yet ... just rename it vendor.img before taking any action ... and after creating your image, do :
tune2fs -L product /data/local/UnpackerSystem/vendor.new.img
tune2fs -O ^read-only /data/local/UnpackerSystem/vendor.new.img
tune2fs -O ^has_journal /data/local/UnpackerSystem/vendor.new.img
NOW you can rename it product.img
adb shell
su
dd if=/sdcard/product.img of=/dev/block/dm-0
Reboot your phone right away !
"Houston, we have problem!"
Now what? Is this only for MIUI users? I have flashed Nusantara ROM right now...
Also it is possible, that you can create "default" RW images for surya, upload them somewhere on cloud (one RW system please! medium rare, thank you ... 12.0.7 is fine for me...)
... but anyway, thanks for your hard work...
BTW @brigudav already created flashable RW vendor for Surya, can that be done also for system?
jeryll said:
"Houston, we have problem!"
View attachment 5232079
Now what? Is this only for MIUI users? I have flashed Nusantara ROM right now...
Also it is possible, that you can create "default" RW images for surya, upload them somewhere on cloud (one RW system please! medium rare, thank you ... 12.0.7 is fine for me...)
... but anyway, thanks for your hard work...
BTW @brigudav already created flashable RW vendor for Surya, can that be done also for system?
Click to expand...
Click to collapse
Check your Mount Namespace Mode in Magisk Manager
No it's not only for miui, it's for all roms ! (btw i'm on LOS 17.1 ... and i never used MIUI)
Yes, you can do that for the 3 logical partitions ... this tutorial is for all devices with dynamic paritition aka super.img (not limited to poco x3 nfc !!!)
I will put a clean vendor.img later (with RW enabled and AVB-Verity Disabled)
I will put a modded version of Magisk 20.4 too if someone would use it (like me)
janhammer504 said:
Check your Mount Namespace Mode in Magisk Manager
No it's not only for miui, it's for all roms ! (btw i'm on LOS 17.1 ... and i never used MIUI)
Click to expand...
Click to collapse
- thanks for the answer, but I must say I'm unable to continue, because I'm unable to install UKA module on A11 ROM
- regardless of Mount Namespace Mode - I checked all three - with reboot - result is the same
- I'm also unable to install magisk 20.4 on A11 ROM - and with v21.0 or higher - UKA will not install
- so Id say this guide is for now useable only for A10 users
- I will test A10 ROM in a few days
- maybe there is a problem with my phone, but I reflashed full recovery version of latest MIUI before flashing custom rom together with encryption disabler, so my super partition should be cleaned up
- so using unencrypted storage could be another problem for this to work?
jeryll said:
- thanks for the answer, but I must say I'm unable to continue, because I'm unable to install UKA module on A11 ROM
- regardless of Mount Namespace Mode - I checked all three - with reboot - result is the same
- I'm also unable to install magisk 20.4 on A11 ROM - and with v21.0 or higher - UKA will not install
- so Id say this guide is for now useable only for A10 users
- I will test A10 ROM in a few days
- maybe there is a problem with my phone, but I reflashed full recovery version of latest MIUI before flashing custom rom together with encryption disabler, so my super partition should be cleaned up
- so using unencrypted storage could be another problem for this to work?
Click to expand...
Click to collapse
Hi, flash an official MIUI for your device.
Do the dirty job and save your vendor.img
Reflash your rom !
(i have already uploaded a clean vendor.img here)
I close this thread too since a lot of features have been added to this work ... and since there are many disrespectful developers-like around who steal my work and give no credit !
Check my custom vendor thread to learn more about this work !
If you have any question, send me a PM, i will check first if you are not a troll : if you get no answer from me, then understand by yourself !
@janhammer504 Hi. For the sake of the community it's always sad to see someone taking their work from XDA.
If you've got issues with other people using your work without credit here on XDA you can always reach out to someone on the moderator team for help. Or better yet, one of us on the Developer Relations team. We can help you solve any disputes and make sure you get proper credit.
You can find a list of moderators here:
https://docs.google.com/document/d/1lK5rP103OL3StU3q9iqwX9LU_k8XABeSQIAT3EHCqgM/pub
PHP:
/*
* I'm not responsible for bricked devices, dead SD cards, thermonuclear war, or you getting fired because the alarm app failed (like it did for me...).
* Please do some research if you have any concerns about features included in the products you find here before flashing it!
* YOU are choosing to make these modifications, and if you point the finger at me for messing up your device, I will laugh at you.
* Your warranty will be void if you tamper with any part of your device / software.
* Same statement for XDA.
*/
FEATURES
. The first, the one and the only custom vendor for dynamic partition in the world : I challenge you all to show me who did it before !
. If you find any custom rom with similar work since the first release of this one : it is just a copied and a stolen work [fake Google roms +++] !!!
. Compatible with all regions / basebands / firmwares / device variants
. Works with All AOSP/CAF based ROMs [10] & [11], Experimental, Official & Unofficial [TESTED]
. May works on fake Google roms but i don't take any responsibility
. Mount RO/RW available with no bootloop after reboot ! [Magisk/SU required]
. SafetyNet passed
. Full test passed : audio, ril, wifi, bt, fm radio, camera, sensors, fp scanner, nfc, ...
. All known hardware issues on custom roms are fixed : camera, wifi, bt, hdr playback, chrome ... and overheating !
. Custom Kernel with stock zImage [untouched +++]
IMPORTANT !
. NO firmware change is needed from the user side, so don't repeat this question many times ... just read up again !
. Formatting /data is required when you flash this vendor the first time +++
. Never go back to the previous versions due to the possible build.fingerprint change [Old releases are automatically removed] +++
. Dirty Update : always delete with file/root explorer or in TWRP this folder :
/data/property and reboot
You must delete these files & folders in /product partition from your custom rom
[File/Root explorer needed] :
/product/vendor_overlay/29/etc/audio
/product/vendor_overlay/29/etc/audio_policy_configuration.xml
/product/vendor_overlay/29/etc/audio_policy_engine_configuration.xml
/product/vendor_overlay/29/lib/soundfx
/product/vendor_overlay/29/lib64/soundfx
&
/product/vendor_overlay/29/etc/wifi
/product/vendor_overlay/29/overlay
& finally
/product/vendor_overlay/29/etc/qdcm_calib_data_nt36672c_huaxing_fhd_video_mode_dsi_panel.xml
/product/vendor_overlay/29/etc/qdcm_calib_data_nt36672c_tianma_fhd_video_mode_dsi_panel.xml
Already included in this vendor ... and since i'm the original author !
[ OPTIONAL ]
If you have the madness and the paranoia with security like Google, you can still relock /vendor again to the stock RO state ... But you will not be able to mount /vendor RW again even with root until you reflash the provided vendor.zip again !
How to [terminal or adb shell] :
su
tune2fs -O verity /dev/block/dm-1
*******
!!!
MIUI Users : sorry for you, but this is for custom ROMS " ONLY "
TROLLS & NOOBS, stay away ... Please !
!!!
Prerequisite:
POCO X3 NFC = surya
POCO X3 [no NFC] = karna
No matter where you live : india, china, russia, europe, usa or africa ... !
Kernel Source [Prebuilt] : Here
Created : 2021-02-27
Latest Update : 2021-03-21
DOWNLOAD
RESERVED for "Changelog"
Update : [2021-03-21] Highly Recommended !
- overlay folder [/vendor] : secure & total remove ... R.I.P forever !
You can now remove it from here too ... with no issue :
/product/vendor_overlay/29/overlay
[As always : no /data formatting is required if done in the previous builds !]
Update : [2021-03-20]
fix compatibility with all custom roms [10] & [11] +++ :
- build : preserve AVB structure [R/W still available in root mode]
- tune2fs : restore some stock feature flags [dir_index, huge_file, extra_isize]
- fstab [kernel & vendor] : small update
- vendor selinux : property_contexts fix
- build.prop : clean-up
Update : [2021-03-18]
clean-up & rework from scratch :
. all audio config [over 20 files +++]
. all media_codecs config
. new mixer_paths
[=> Exclusive]
- true resampling fix : r.i.p audio crackling and all audio issues in UX, Dialer, emulators ... etc [forever]
- improve audio & camera recording
- audio/video playback [Speaker, Headphones & BT] : Hi-Fi quality, loud & noiseless
[but first, you must delete these files with your File/Root Explorer:
/product/vendor_overlay/29/etc/audio
/product/vendor_overlay/29/etc/audio_policy_configuration.xml
/product/vendor_overlay/29/etc/audio_policy_engine_configuration.xml
/product/vendor_overlay/29/lib/soundfx
/product/vendor_overlay/29/lib64/soundfx]
Update : [2021-03-12]
- move to global 12.0.8.0 as firmware base [boot & vendor]
- ramdisk :
. disable mi_thermald and re-enable again thermal-engine
[on all custom roms : mi_thermald breaks the proximity sensor & suspend service in deepsleep => avoid hand wave gesture & AOD to work properly !]
. clean up & update
- vendor_selinux : add more camera permissions in property_contexts
- media_codecs : remove unused .xml
- ueventd.rc : rework from scratch
Update : [2021-03-07]
- ramdisk :
. update cpuset & schedtune settings
. improve memory multitasking
. make that "damn" fingerprint truly responsive
. enable UFS powersaving
. some clean-up & disable MIUI audio service
- media_profiles :
. rework from scratch
. add slow motion profile support : up to 1080p/120 fps & 720p/960 fps
. front video camera : add 4K support
- build.prop :
=> update parameters for : camera, ril, performance, playback ... and more
Update : [2021-03-05]
- rework from scratch : init.qcom.sh & init.qcom.post_boot.sh
- ramdisk : clean-up and add init.qcom.power.rc
. fix CPU instability : set 300 mHz as CPU minimum frequency for all cores / update schedutil governor parameters
. cpu_boost : improve touch responsiveness
. add built-in display power saving [for both huaxing & tianma panels]
- vendor permissions : rebuild from scratch / fix wronlgy settled paths (by Xiaomi) in some qti.xml
- camera : rework from scratch ISO/lowlight config
- remove dummy hbtp folder ... since there is no binary to load or device specific config
- targetconfig : update CoreCtlCpu to [0,6]
- build.prop : clean up and move NFC parameters to build_surya.prop
- [Bonus] : Wi-Fi signal improved (x2) !!!
. 2.4 Ghz : 144 => 300
. 5 GHz : 433 => 866
[but first, you must delete this folder, with your File/Root Explorer :
/product/vendor_overlay/29/etc/wifi ]
Update : [2021-03-01]
- update msm_irqbalance.conf
- update audio_effects.conf & remove audio_effects.xml
- universal vbmeta & vbmeta_system added
Update : [2021-02-27]
- initial release
- rework all build.prop (vendor & odm) from scratch
- debloated from unused MIUI folders, files & configs
- Kernel :
. enforcing selinux by default
. workqueue enabled in cmdline => better dynamic refresh rate handling by the CPU & stellar deep-sleep
. fstab reworked from scratch
the image you made is for enable rw or not?
my phone is poco x3 nfc surya
janhammer504 said:
To make things clear :
POCO X3 NFC = surya
POCO X3 (no NFC) = karna
No matter where you live (india, china, russia, europe, usa or africa) ... Choose the right vendor.img for your device !
[Both images were tested by me]
Click to expand...
Click to collapse
please share the surya image
aallii2 said:
please share the surya image
Click to expand...
Click to collapse
check the DOWNLOAD link up !
janhammer504 said:
check the DOWNLOAD link up !
Click to expand...
Click to collapse
tnx bro i'm downloading n i'll test
its not working after restart didnt boot n just go to recovry
aallii2 said:
its not working after restart didnt boot n just go to recovry
Click to expand...
Click to collapse
Wich firmware version you had just before flashing ???
The vendor provided must match the firmware version that you have !!!
janhammer504 said:
PREREQUISITE
- adb enabled (developer options)
- root (Magisk/SU)
- adb for Windows (Minimal ADB and Fastboot, provided)
- USB cable always connected
LIVE Flashing :
adb shell
su
dd if=/sdcard/vendor.img of=/dev/block/dm-1
View attachment 5232189
Reboot your phone right away ... then use your File/Root Explorer to test the mount RO/RW option and reboot again to check that there is no bootloop !
(Optional)
If you have the madness and the paranoia with security like Google, you can still re-enable AVB/Verity again ... But you will not be able to mount /vendor RW again even with root until you reflash the provided vendor.img again !
tune2fs -O verity /dev/block/dm-1
Check the full tutorial here to build your own custom vendor ... if you want !
DOWNLOAD
Click to expand...
Click to collapse
... so, I can confirm that this is indeed working nicely, flashed RW vendor for Surya, just for the sake of the functionality, because I'm not sure about benefits I can get from writeable vendor (forgive my ignorance)...
... Thank you very much for your hard work...
just FYI I did flash it in Ofox recovery in built-in terminal, and also directly from running Android via Termux, so you don't need PC for it, just saying...
jeryll said:
... so, I can confirm that this is indeed working nicely, flashed RW vendor for Surya, just for the sake of the functionality, because I'm not sure about benefits I can get from writeable vendor (forgive my ignorance)...
... Thank you very much for your hard work...
just FYI I did flash it in Ofox recovery in built-in terminal, and also directly from running Android via Termux, so you don't need PC for it, just saying...
Click to expand...
Click to collapse
i use adb shell because terminal is too small for me, and for making tutorial.
the benefit ??? well there are a bunch of fixes to do in /vendor... check here for example
(the images i provided are clean with no modification, so i let developers or users doing their own modifications)
janhammer504 said:
Wich firmware version you had just before flashing ???
The vendor provided must match the firmware version that you have !!!
Click to expand...
Click to collapse
india 12.0.9
magisk 21.4
jeryll said:
... so, I can confirm that this is indeed working nicely, flashed RW vendor for Surya, just for the sake of the functionality, because I'm not sure about benefits I can get from writeable vendor (forgive my ignorance)...
... Thank you very much for your hard work...
just FYI I did flash it in Ofox recovery in built-in terminal, and also directly from running Android via Termux, so you don't need PC for it, just saying...
Click to expand...
Click to collapse
hey bro how you flashed in orangefox?
i tried but this happened:
sh: adb: command not found
aallii2 said:
hey bro how you flashed in orangefox?
i tried but this happened:
sh: adb: command not found
Click to expand...
Click to collapse
in recovery adb not needed, just use
dd if=/sdcard/vendor.img of=/dev/block/dm-1
now i cant install any rom :
updater process ended with error 7
pls help
aallii2 said:
now i cant install any rom :
updater process ended with error 7
pls help
Click to expand...
Click to collapse
O.M.G
it looks like you never used terminal
this is not a flashable file, it's a command line.
open terminal in your recovery to do that.
or use adb shell
janhammer504 said:
O.M.G
it looks like you never used terminal
this is not a flashable file, it's a command line.
open terminal in your recovery to do that.
or use adb shell
Click to expand...
Click to collapse
jeryll said:
in recovery adb not needed, just use
dd if=/sdcard/vendor.img of=/dev/block/dm-1
Click to expand...
Click to collapse
Now this came:
write error: Operation not permitted
jeryll said:
in recovery adb not needed, just use
dd if=/sdcard/vendor.img of=/dev/block/dm-1
Click to expand...
Click to collapse
Now this came:
write error: Operation not permitted
Use Minimal ADB and Fastboot.zip, it's the simplest and the fastest way.
Unzip and click on Minimal ADB and Fastboot.exe
type :
adb shell
su
It works like terminal in Windows. You can't go wrong !
Follow the instructions (1 post) !
aallii2 said:
india 12.0.9
magisk 21.4
Click to expand...
Click to collapse
wtf man, you should pick vendor.img from karna folder not surya !
janhammer504 said:
Use Minimal ADB and Fastboot.zip, it's the simplest and the fastest way.
Unzip and click on Minimal ADB and Fastboot.exe
type :
adb shell
su
It works like terminal in Windows. You can't go wrong !
Follow the instructions (1 post) !
Click to expand...
Click to collapse
i installed 12.0.7.0 global with magisk 22.0 then flashed vendor.img v12.0.7.0 but when restarted it stucked n i pressed power .phone boot but root explorer can't mount rw n just added shell in magisk