[Q] Exynos 5433 dtbTool binary - Android Q&A, Help & Troubleshooting

I will shortly be the owner of a Samsung Galaxy Note Edge SM-N915S (Korean Exynos 5433) device and have downloaded the kernel sources and successfully compiled the zImage.
The problem is:
After compile the zImage, I think I will need a Exynos 5433 dtbTool binary to create a master dt.img for boot.img re-pack. (There is a dt.img inside the stock boot.img). I have tried the qualcomm dtbTool but it shows 0 images. Although I'm just a "hack" and don't profess to be a Dev, my build environment is setup correctly as I've built many Exynos and also Qualcomm kernels (with dt.img) in the past.,
One thing I do notice though is that 5433 is not found in SM-N915-SkyHigh-Kernel/arch/arm/boot/dts/Makefile , all Exynos are commented out. Maybe they need to be added in as well so any working dtbTool will make the dt.img ?
In my defconfig (not committed to github), I try also with
Code:
CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y
CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES=""
If anyone [ @AndreiLux - @ketut.kumajaya - @xiaolu ] could please share a suitabe Exynos 5433 dtbTool binary or further guidance would be much appreciated.

Why would you even do this. The kernel image is a normal image as has always been AFAIK.

Not a real solution for you but some great information: https://github.com/kumajaya/android_kernel_samsung_universal5422/blob/master/README.md, https://github.com/kumajaya/android...mmit/26a6298340a2ff09fd00fad8ca53c32118a1527a, and https://github.com/kumajaya/mkdtbhbootimg
Upload the original boot.img also a good idea, I'll analysis it in my spare time.

AndreiLux said:
Why would you even do this. The kernel image is a normal image as has always been AFAIK.
Click to expand...
Click to collapse
My SM-T705 5420 kernel doesn't have a dt.img
within the stock boot.img, the SM-N915S does. As i said, Qualcomm Note 3 N9005 was similar having the dt.img and requiring it made after compiling zImage. It needed to be included with boot.img for OC functions etc to work. I was thinking the same thing for the 5433, but doesn't look like it.
ketut.kumajaya said:
Not a real solution for you but some great information: https://github.com/kumajaya/android_kernel_samsung_universal5422/blob/master/README.md, https://github.com/kumajaya/android...mmit/26a6298340a2ff09fd00fad8ca53c32118a1527a, and https://github.com/kumajaya/mkdtbhbootimg
Upload the original boot.img also a good idea, I'll analysis it in my spare time.
Click to expand...
Click to collapse
Thanks, I'll take a read tomorrow and upload the stock boot.img if needed.
I've just managed to compile a basic kernel and re-pack into stock ramdisk + dt.img using the mkbootimg_dtb binary and flashed successfully. Haven't tried yet whether it'll flash without the dt.img though.
Just wonder what's the use of it when nothing is made in kernel source?
Thanks for sparing your time guys, , appreciated.
Cheers.
UITA

deleted .......... just woke up

@AndreiLux
New something was missing............. Thanks for committing it and sharing the rest of your work.
I see some of your commits for the 5433 Makefile and more. Cheers mate !

UpInTheAir said:
@AndreiLux
New something was missing............. Thanks for committing it and sharing the rest of your work.
I see some of your commits for the 5433 Makefile and more. Cheers mate !
Click to expand...
Click to collapse
Did you test it out? I didn't actually use that DTB yet.

AndreiLux said:
Did you test it out? I didn't actually use that DTB yet.
Click to expand...
Click to collapse
Just added as you did, but adjusted for my device: exynos5433-trlte_eur_open_12.dtb. zImage compiled OK and have only briefly tested kernel repack and boot. Haven't had much more time at hand than that afraid. Can't use my source as Sammy needs to update it for newer firmware base (no wifi/data connectivity, baseband or recognise SIM etc)..............
An old dtbtool binary still didn't see it, I assume it's in-built via the Makefile (didn't check terminal log) ? But suppose to re-pack it with the boot.img though.......

UpInTheAir said:
Just added as you did, but adjusted for my device: exynos5433-trlte_eur_open_12.dtb. zImage compiled OK and have only briefly tested kernel repack and boot. Haven't had much more time at hand than that afraid. Can't use my source as Sammy needs to update it for newer firmware base (no wifi/data connectivity, baseband or recognise SIM etc)..............
An old dtbtool binary still didn't see it, I assume it's in-built via the Makefile (didn't check terminal log) ? But suppose to re-pack it with the boot.img though.......
Click to expand...
Click to collapse
https://github.com/kumajaya/mkdtbhbootimg/issues/1
I'll still have to make something to automate the extracting and packing of that process.

AndreiLux said:
https://github.com/kumajaya/mkdtbhbootimg/issues/1
I'll still have to make something to automate the extracting and packing of that process.
Click to expand...
Click to collapse
Fingers and toes crossed here. Far beyond my comprehension, but of course keen to know of more development.

Related

[OCT30] Custom kernel... [build3!]

Okay, I managed to fix the sources and got it compiled.
This is based on 4.06/4.08 sources with 4.08 ramdisk.
Use it at your own risk. If you brick your phone, it will be your fault, not mine.
I do not own a Dell Venue and therefore cannot test this.
zImage :
fastboot flash zimage zImage
fastboot reboot
boot.img :
fastboot flash boot boot.img
fastboot reboot
Download :
dell-venue-dbg1.zip
dell-venue-dbg2.zip
dell-venue-dbg3.zip
WiFi module :
dhd.ko-dbg1.zip
Thanks.
Yes, we would.
Cool, right now I have a hard time finding the right defconfig.
In case someone could point me to the right file :
https://github.com/adridu59/dell-venue-kernel/tree/master/arch/arm/configs
Edit :
It seems to be codenamed "toucan".
adridu59 said:
Cool, right now I have a hard time finding the right defconfig.
In case someone could point me to the right file :
https://github.com/adridu59/dell-venue-kernel/tree/master/arch/arm/configs
Edit :
It seems to be codenamed "toucan".
Click to expand...
Click to collapse
I think you'll try all of them, then test on your real device and.....
)
nguyen_vh said:
I think you'll try all of them, then test on your real device and.....
)
Click to expand...
Click to collapse
I made an overlap comparaison and I think that this is it.
Right now I am fixing the sources, they are crap tbh.
adridu59 said:
i made an overlap comparaison and i think that this is it.
Right now i am fixing the sources, they are crap tbh.
Click to expand...
Click to collapse
thanks for your effort :d
Yes
Venue have Custom Kernel! I have one
Kinda busy right now working on my own device but you can contribute if ya want. github.com/adridu59
I'm excited about this topic! Please keep me up to date with this. BTW, I also think that v4.06 source from Dell OpenSource is crappy. Could you please public your change list after you complete the work, it's very helpful to us.
chacona said:
I'm excited about this topic! Please keep me up to date with this. BTW, I also think that v4.06 source from Dell OpenSource is crappy. Could you please public your change list after you complete the work, it's very helpful to us.
Click to expand...
Click to collapse
Well check my github, I haven't worked on this for a while but I'm not letting it down.
First build on first post, follow instructions. Thanks.
406 and 408 apparently use the same kernel according to dell. Though we've had the suspicion that there were differences, apparently there isnt.
TheManii said:
406 and 408 apparently use the same kernel according to dell. Though we've had the suspicion that there were differences, apparently there isnt.
Click to expand...
Click to collapse
Yes, that's what I was thinking. And otherwise they would've published the sources.
I tried to flash your zImage, what I received is "Flashing Error -2", in red background in fast boot mode.
BTW, I would like to ask the way you build the kernel. Did you build directly from /kernel folder (with .config), or you build from ROM's source tree (/kernel folder's parent, using "build/envsetup", then "choosecombo")? I would like to get my hands dirty with this work too!
If my dev pc wasnt broken at the moment, I could glue it together with the stock ramdisk and make a flashable zip.
Here's the stock 408 kernel: boot-408.img
You can glue it together with that ram disk if desired, but shouldnt it also generate a ramdisk when building the kernel?
Just as much the ramdisk's contents arnt that unusual, you could prob guess at a few things and reconstruct it without issue.
chacona said:
I tried to flash your zImage, what I received is "Flashing Error -2", in red background in fast boot mode.
BTW, I would like to ask the way you build the kernel. Did you build directly from /kernel folder (with .config), or you build from ROM's source tree (/kernel folder's parent, using "build/envsetup", then "choosecombo")? I would like to get my hands dirty with this work too!
Click to expand...
Click to collapse
Thanks for testing.
I just use the corresponding defconfig, that is the usual way to do it.
I don't really see what you mean by ROM source tree...
TheManii said:
If my dev pc wasnt broken at the moment, I could glue it together with the stock ramdisk and make a flashable zip.
Here's the stock 408 kernel: boot-408.img
You can glue it together with that ram disk if desired, but shouldnt it also generate a ramdisk when building the kernel?
Just as much the ramdisk's contents arnt that unusual, you could prob guess at a few things and reconstruct it without issue.
Click to expand...
Click to collapse
Nao, the ramdisk isn't compiled code. Usually you extract it from the stock kernel and build with mkbootimg or any similar tool.
Thanks for the link BTW.
Okay, I built the boot.img. Offset is 0x20000000.
Check first post, thanks.
adridu59 said:
Thanks for testing.
I just use the corresponding defconfig, that is the usual way to do it.
I don't really see what you mean by ROM source tree...
Thanks for the link BTW.
Click to expand...
Click to collapse
Sorry for not making it clear. By saying "from ROM source tree", I mean the way below (ftp.dell.com/opensource/venue/v4.06/Venue-HOW-TO-BUILD.txt)
Code:
kernel
1) download source tree of android froyo from Qualcomm.
2) replace kernel
3) build kernel by
. build/envsetup.sh
choosecombo
...
5) make -j4 kernel
# update on 4/27/2012 - 23:18 GMT+7
I built an update.zip, with all the files including boot.img and system/lib/modules. What I got is, the Dell logo is hung there like being fallen into an infinite loop.
chacona said:
Sorry for not making it clear. By saying "from ROM source tree", I mean the way below (ftp.dell.com/opensource/venue/v4.06/Venue-HOW-TO-BUILD.txt)
Code:
kernel
1) download source tree of android froyo from Qualcomm.
2) replace kernel
3) build kernel by
. build/envsetup.sh
choosecombo
...
5) make -j4 kernel
Click to expand...
Click to collapse
First time I see this kind of instructions.
Code:
export ARCH=arm
export CROSS_COMPILE=~/toolchains/arm-eabi-4.4.3/prebuilt/linux-x86/bin/arm-eabi-
make toucan-perf_defconfig
make
chacona said:
# update on 4/27/2012 - 23:18 GMT+7
I built an update.zip, with all the files including boot.img and system/lib/modules. What I got is, the Dell logo is hung there like being fallen into an infinite loop.
Click to expand...
Click to collapse
Would you try again using fastboot please ? thanks.
@Adridu59: still fail, flashing boot.img using fastboot gives the same result as I described above. I will try to get your config files and build a copy myself to see what's going on!

Kexec-hardboot patch

In this post, I would like to explain what kexec-hardboot patch is.
@kernel developers: I would like to ask you to merge this patch to your kernels, because it is essential part of MultiROM - it allows me to boot any kernel without changing the boot partition. I realize that it is no small request, but the patch is not big, touches relatively stable parts of kernel and should not cause any problems. Thank you.
What is kexec?
It is syscall of Linux kernel, which allows you to boot another Linux kernel without restarting the device - "Linux boots itself". The functionality is equivalent to fastboot -c *cmdline* boot zImage initrd.img, but without PC and fastboot. It is fairly known thing, so more info at wikipedia and man kexec.
Standard kexec call unfortunatelly does not work on Nexus 4. It freezes somewhere, and it is very difficult to find out where - probably some of the drivers are not shut down/re-initialized properly, it is a commong thing among Android devices, which is why kexec-hardboot was made.
What is the difference between normal and hardboot exec?
Kexec-hardboot patch adds a real device restart to that process, so that all the drivers can be properly reinitialized. It stores new kernel to RAM, reboots the device as usual, and kernel from boot partition immediately jumps to the one which was stored to RAM before reboot.
Unlike grouper's kexec-hardboot patch, this one only requires the host kernel to be patched. This is one of the improvements I made, and I think it is pretty significant.
To sumarize the process:
kexec --load-hardboot.... is called and kernel it loaded into RAM.
kexec -e is called. Special info is written to memory (to area which is not overwritten on reboot) and the device is rebooted.
After reboot, very early in the boot process, kernel checks if that special info is present in RAM and if so, it loads new kernel from RAM and jumps to it.
Kexecd' kernel starts and boots.
For more info, read the original thread.
Patches:
Kernel patch: https://gist.github.com/Tasssadar/6766757, 4.3 AOSP kernel repo, cm 10.2 kernel repo
This is the kernel patch. Only the host kernel needs to be patched.
Related CONFIG options:
CONFIG_KEXEC=y
CONFIG_KEXEC_HARDBOOT=y
CONFIG_ATAGS_PROC=y
All these options must be enabled.​
Userspace kexec binary: https://github.com/Tasssadar/kexec-tools
I had to change some things in kexec userspace binary because of some kernel bugs, complete description is in that repository. You can get statically built binary at https://github.com/Tasssadar/multirom/blob/master/install_zip/prebuilt-installer/multirom/kexec​
Usage:
Once you have the kernel patches and kexec userspace binary in place, just run following command to boot into new kernel:
Code:
kexec --load-hardboot zImage --initrd=initrd.img --mem-min=0x85000000 --command-line="$(cat /proc/cmdline)"
kexec -e
Note the command line parameter - cmdline from bootloader is not added automatically, you have to put it there by yourself.
Authors:
This patch was made by Mike Kasick for Samsung Epic 4G. Since that, it was ported to several devices, one of them is Asus Transformer TF201 - I used patch from TF201 and modified it a bit (basically just changed few SoC specific constants). People at #ubuntu-arm helped me out with that, thanks.
For flo, I've improved the patch a bit - only the host needs to be patched now and I also fixed a bug with /proc/atags not reading all tags.
Thanks, added.
Actual kexec testing would have to go to kexec users after kernel passes normal use testing.
Also merged, thanks Tassadar!
I will be merging.... Thank you
Sweet..time.
Sent from my Nexus 4 using xda app-developers app
hope my previous port over to mako helped you
@ramgear
Sent from my Nexus 4 using Tapatalk 4
Added to my cm10.2 caf kernel.
thanks a lot
what would be the benefit for end user? Or is it just for devs to try kernels faster?
Sent from teh void
asim0 said:
what would be the benefit for end user? Or is it just for devs to try kernels faster?
Sent from teh void
Click to expand...
Click to collapse
The primary benefit is so that users can run Multi-ROM and have different kernel based ROMs.
Is it possible to find a nice German guy who can request on http://www.android-hilfe.de/custom-...ss15j-jwr66v-hells-core-b38-19-09-2013-a.html to add this patch to hellscore ?
Thanks
-=-=-
hellsgod Pm-ed , let`s hope
Sent from my Nexus 4 using Tapatalk 2
xanthrax said:
Is it possible to find a nice German guy who can request on http://www.android-hilfe.de/custom-...ss15j-jwr66v-hells-core-b38-19-09-2013-a.html to add this patch to hellscore ?
Thanks
Sent from my Nexus 4 using Tapatalk 2
Click to expand...
Click to collapse
+1 on that mate
I already asked the dev to implement this Patch. He wants to implement this patch in some later builds, to be sure the patch works correctly.
Hellsgood said that the patch will be implemented on v40 ! :good:
Merged - Thank you Tasssadar
hells
any1 found 4.2.2 kernel that has kexec?
aqsede said:
any1 found 4.2.2 kernel that has kexec?
Click to expand...
Click to collapse
Check multirom thread. Tasssadar posted one there.
http://forum.xda-developers.com/showthread.php?p=46596551
Sent from my Nexus 4 using Tapatalk
@Tasssadar
I don't know if you're around this thread much anymore, but would it be possible to implement this patch alone in another model of phone's kernels?
I have an Optimus G which is almost identical to the N4 and am trying to read as much as I can on this patch but am not finding if it is device specific, and if it is, how much needs to be changed to be used on a different device (even if it is almost the same phone).
I know there are kernels that have this patch enabled but I don't know where it came from if it's not yours. I have been told it is not possible with a stock based kernel for the O.G. but I see you have some stock kernels for the N4.
I know almost is not exact, but I think so much of them are the same that it doesn't normally take much. Thank you for your time and work put into this.
dopy25 said:
@Tasssadar
I don't know if you're around this thread much anymore, but would it be possible to implement this patch alone in another model of phone's kernels?
I have an Optimus G which is almost identical to the N4 and am trying to read as much as I can on this patch but am not finding if it is device specific, and if it is, how much needs to be changed to be used on a different device (even if it is almost the same phone).
I know there are kernels that have this patch enabled but I don't know where it came from if it's not yours. I have been told it is not possible with a stock based kernel for the O.G. but I see you have some stock kernels for the N4.
I know almost is not exact, but I think so much of them are the same that it doesn't normally take much. Thank you for your time and work put into this.
Click to expand...
Click to collapse
the kernel part itself you probably wont need to modify the patch, however you probably will need to change the offssets in multirom itself. if i recall, there is a guide on how to port multirom for other devices
opssemnik said:
the kernel part itself you probably wont need to modify the patch, however you probably will need to change the offssets in multirom itself. if i recall, there is a guide on how to port multirom for other devices
Click to expand...
Click to collapse
Thank you but I am already using multirom on my phone (Lg Optimus G on Sprint). It works like a champ, but I am trying to see if it can be applied to a stock rom. I am having issues with stock roms not using already patched kernels and would like to know if it is possible to use the patch mentioned here on another phone. The N4 and Optimus G are basically the same phone so I thought it might work.

[k3gxx][G900H][CWM Advanced Edition] PhilZ Touch

Main thread + features + install instructions + dev support
http://forum.xda-developers.com/showthread.php?t=2201860
PhilZ Touch is a CWM Advanced Edition that adds all the features you could ever miss in CWM
It is a well proven recovery for many phones
It also adds a full touch interface a completely configurable GUI
Please give your feedback, what works, and any bug you could encounter
Read the features, and check if you are missing something
To take a screen shot, just long press outside a menu (2 sec and slightly change pressure after the delay)
Also, do not forget to read about the powerful aroma file manager integration and double tap shortcut
Download links
Last version can be found here:
Galaxy S5 Exynos - G900H (k3gxx)
http://goo.im/devs/philz_touch/CWM_Advanced_Edition/k3gxx
Click to expand...
Click to collapse
Thanks @Chenglu for parts of his ramdisk and his dtb tools
XDA:DevDB Information
[k3gxx][CWM Advanced Edition] PhilZ Touch, Tool/Utility for the Samsung Galaxy S 5
Contributors
Phil3759
Version Information
Status: Stable
Created 2014-04-17
Last Updated 2014-10-16
Status: stable
Galaxy S5 3G - SM-G900H
Tested and not working.
Its stays on logo of Samsung..
Airboner said:
Galaxy S5 3G - SM-G900H
Tested and not working.
Its stays on logo of Samsung..
Click to expand...
Click to collapse
Try this one, it worked for me:
g900h-cwm-recovery-6.0.4.7(0404).tar
@Phil3759 for your info, @Chenglu CWM for G900H runs without issues. Maybe you should check it to release another test file of your recovery.
Cheers,
djigane said:
Try this one, it worked for me:
g900h-cwm-recovery-6.0.4.7(0404).tar
@Phil3759 for your info, @Chenglu CWM for G900H runs without issues. Maybe you should check it to release another test file of your recovery.
Cheers,
Click to expand...
Click to collapse
I know
I just prefer using another approach
Stock kernel is too big in your case
Still waiting for someone providing results from:
Code:
cat /proc/partitions
I will try to compile a light version based on stock kernel this time, and debug it once it boots
djigane said:
Try this one, it worked for me:
g900h-cwm-recovery-6.0.4.7(0404).tar
@Phil3759 for your info, @Chenglu CWM for G900H runs without issues. Maybe you should check it to release another test file of your recovery.
Cheers,
Click to expand...
Click to collapse
Ok dude i will try it tomorrow and report cauze i go for sleep...
Phil3759 said:
I know
I just prefer using another approach
Stock kernel is too big in your case
Still waiting for someone providing results from:
Code:
cat /proc/partitions
I will try to compile a light version based on stock kernel this time, and debug it once it boots
Click to expand...
Click to collapse
Here it is, @Phil3759
Update v2
- use stock kernel
- handle dt.img
Click to expand...
Click to collapse
Download: http://d-h.st/2mx
Seems like exynos also has now a dt.img!
djigane said:
Try this one, it worked for me:
g900h-cwm-recovery-6.0.4.7(0404).tar
Click to expand...
Click to collapse
i tested and i confirm that it works
Airboner said:
i tested and i confirm that it works
Click to expand...
Click to collapse
Many thanks
I can now continue debugging and using a kernel compiled from source
Never thought exynos also would use separated dt.img to handle dtc info
Phil3759 said:
Many thanks
I can now continue debugging and using a kernel compiled from source
Never thought exynos also would use separated dt.img to handle dtc info
Click to expand...
Click to collapse
sry dude i didnt test yours,i tested the other recovery who the guy posted :/
however i dont know if its yours
Airboner said:
sry dude i didnt test yours,i tested the other recovery who the guy posted :/
however i dont know if its yours
Click to expand...
Click to collapse
hopefully I did not press the :good: button
Will wait for someone to flash v2
Phil3759 said:
hopefully I did not press the :good: button
Will wait for someone to flash v2
Click to expand...
Click to collapse
i will test it in few hours and i report back
It works... I flashed the zip from chenglu cwm recovery. Thank you @Philz3759. Maybe you should also provide an Odin .tar file for those who can't flash it from a previous cwm recovery (not already installed)
djigane said:
It works... I flashed the zip from chenglu cwm recovery. Thank you @Philz3759. Maybe you should also provide an Odin .tar file for those who can't flash it from a previous cwm recovery (not already installed)
Click to expand...
Click to collapse
Great and thank you
Once final, I will provide zip and tar
I will release a v3, a bit experimental, but hope it works
v3 experimental
http://d-h.st/rBr
I hope someone can test this experimental build
I used a prebuilt dt.img combined with a compiled kernel from source
v2 was fine but I prefer having a cleaner solution by building kernel from sources. The issue is that I did not find how to build the dt.img file as dtb files are not built during make provided by Samsung
At worst, it won't boot to recovery and you have to use odin to flash another recovery or previous v2
Phil3759 said:
v3 experimental
http://d-h.st/rBr
I hope someone can test this experimental build
I used a prebuilt dt.img combined with a compiled kernel from source
v2 was fine but I prefer having a cleaner solution by building kernel from sources. The issue is that I did not find how to build the dt.img file as dtb files are not built during make provided by Samsung
At worst, it won't boot to recovery and you have to use odin to flash another recovery or previous v2
Click to expand...
Click to collapse
OK, flashed. Unfortunatelly, phone during reboots were going straight into download mode with red info saying: "cannot boot normal mode" or similar.
restored previous revovery and all seems fine.
sebarkh said:
OK, flashed. Unfortunatelly, phone during reboots were going straight into download mode with red info saying: "cannot boot normal mode" or similar.
restored previous revovery and all seems fine.
Click to expand...
Click to collapse
Thanks
I was expecting it as dtb must be compiled along kernel
However, Samsung sources are not compiling the needed dtb files needed by dtbtool
I am trying to learn how to compile dtb files from the dts scripts along the zImage
However, without a guinea pig device, it is time expensive
Meanwhile, I will provide you with a decent build using a cracked adbd binary to have adb shell with root privileges
I notify @Chenglu as he did a huge work on the dtbtool part
Found this reading:
http://www.armadeus.com/wiki/index.php?title=Kernel-with-device-tree
Will work from there and try a v4 soon
I could generate the dtb files
However, there is only dtbTool for Qcom
Dropping this until we have more decent sources from a developer more used to kernels or Samsung releases info for it if not yet

[Kernel Source / Tutorial] Custom Kernel 101

This thread is NOT for general Q & A about using the kernel or configuring a specific version.
This thread IS for sharing source code or attempting to apply debugging to code changes.
In English: This is what a development thread really looks like. No downloads, No user manual.
Note to Mods: OT is welcome, so long as it is relevant to the kernel developer experience
Building the kernel 101:
A clean branch with only the build tools, ramdisks, and MacOS updates is at:
https://github.com/StarKissed/starkissed-kernel-trlte/tree/master
The stockish branch adds Linux patches, mainline updates, and SELinux mods
The deported branch is the customized version described in the OP feature list
You are going to need a few things, especially if building this kernel for MacOS.
GCC 4.7 (This is the version Samsung's documentation listed)
An updated mkbootimg (Must have DTS support)
A dtbtool (Included in the source, but only for Linux)
Insomnia (Not a requirement, but it will help you in the long run)
For MacOS, the tools are available from the following repositories:
https://github.com/StarKissed/android-toolchain-eabi-4.7
https://github.com/StarKissed/starkissed-build-tools
Let's jump ahead a moment for those of you who have built kernels and notice your boot.img is only around 11 MB while the versions you see listed here are all roughly 14 MB. This is where the new mkbootimg and dtbtool are necessary.
Attempting to retrieve the commandline arguments from the boot.img will not tell you one important piece:
Code:
./dtbtool -o dt.img -s 4096 -p ../scripts/dtc/ ../arch/arm/boot/dts/
chmod a+r dt.img
mkbootfs (ramdisk creation)
mkbootimg (mkbootimg params) --dt dt.img
This takes the DTSI that was built into a dtb as one of the first steps in the compile process and turns it into an image that is appended to the end of the boot.img. The dt.img just happens to be about 3 MB. (11 MB + 3 MB = 14 MB)
If you grabbed the original Samsung kernel source, you may notice that their default compile script directs the build to an "out" folder in the root of the kernel directory.
The obvious advantage to this is that their clean command runs into some errors, so the clean process is simply deleting the "out" folder and making a new one.
This doesn't work for a lot of the custom components you may want to add to your kernel, though. Some modifications, such as intelli-thermal, rely on a subdirectory that is referenced in the Makefile.
Building to this out folder will result in an error because it cannot find the output of that component, but building in the tree, or actual source, will also result in an error. The lesser of two evils is to fix in-tree builds.
Code:
Instructions for TRACE_INCLUDE_FILE in include/trace/define_trace.h say
"the path is relative to define_trace.h, not the file including it".
Fix in-tree compilation by making the path relative to define_trace.h.
What this means is that when you have a line that refers to the TRACE_INCLUDE_PATH or an include reference to a file that uses a relative location instead of a global, these need to be updated
The only two files that currently require updates in the stock source code are
Code:
drivers/scsi/ufs/ufs_test.c
#include -> #include "../sd.h"
and
Code:
drivers/video/msm/mdss/mdss_mdp_trace.h
#define TRACE_INCLUDE_PATH . -> #define TRACE_INCLUDE_PATH ../../drivers/video/msm/mdss/
If you want to be able to debug your kernel, you will need to enable last_kmsg.
Open up the arch/arm/configs/apq8084_sec_defconfig and add
Code:
CONFIG_SEC_DEBUG_NOCACHE_LOG_IN_LEVEL_LOW=y
CONFIG_PRINTK_PROCESS=y
CONFIG_SEC_DEBUG_LOW_LOG=y
More to come soon...
This is a great idea!
Looking fwd to seeing this thread take off...it will be very interesting for sure.
Sent from my SM-N910W8 using Tapatalk 2
@ktoonsez im back ready to play my man 
 @twistedumbrella my man i hope i dont become a ball buster on this thread but i have the 1st 2 questions on this thread:
1. How do you patch your kernels? (i use the p1 command.. is there another way?)
2. How did you manage to make the OC values show?
Disclaimer: I may have a lot of follow up questions
friedrich420 said:
@ktoonsez im back ready to play my man
@twistedumbrella my man i hope i dont become a ball buster on this thread but i have the 1st 2 questions on this thread:
1. How do you patch your kernels? (i use the p1 command.. is there another way?)
2. How did you manage to make the OC values show?
Disclaimer: I may have a lot of follow up questions
Click to expand...
Click to collapse
I use git am -3 so that any issue defaults to a merge then git mergetool to resolve it.
Switching the index in the dtsi that was modified was the only change to show it that I remember needing.
https://github.com/StarKissed/stark...mmit/695abe187620acf513b33237042925d60a99f0c1
friedrich420 said:
@ktoonsez im back ready to play my man
@twistedumbrella my man i hope i dont become a ball buster on this thread but i have the 1st 2 questions on this thread:
1. How do you patch your kernels? (i use the p1 command.. is there another way?)
2. How did you manage to make the OC values show?
Disclaimer: I may have a lot of follow up questions
Click to expand...
Click to collapse
Im back too.
ktoonsez said:
Im back too.
Click to expand...
Click to collapse
right on
any thoughts my man?
friedrich420 said:
right on
any thoughts my man?
Click to expand...
Click to collapse
Im in the process of just starting over from the "F" source and looking for testers on INTL thread. I wish I didnt have to start over but looks like Im going to have to
ktoonsez said:
Im in the process of just starting over from the "F" source and looking for testers on INTL thread. I wish I didnt have to start over but looks like Im going to have to
Click to expand...
Click to collapse
we know for sure that your source without bfq works fine... now its a matter of figuring out what of all the additions from yesterday's source to today's source caused the bootloop..
friedrich420 said:
we know for sure that your source without bfq works fine... now its a matter of figuring out what of all the additions from yesterday's source to today's source caused the bootloop..
Click to expand...
Click to collapse
I wonder if its any of the top 4 commits from here:
https://github.com/ktoonsez/KTNOTE4/commits/tw4.4?page=2
ktoonsez said:
I wonder if its any of the top 4 commits from here:
https://github.com/ktoonsez/KTNOTE4/commits/tw4.4?page=2
Click to expand...
Click to collapse
give me a little bit of time and ill revert it manually and compile again the one i compiled in the afternoon (your morning)
I got lost in Freedom Wars for a bit. I need to figure out an issue with thermal then I'll be back
friedrich420 said:
give me a little bit of time and ill revert it manually and compile again the one i compiled in the afternoon (your morning)
Click to expand...
Click to collapse
Here is a test one starting all over again, just has OC and Voltage control:
http://ktoonsez.jonathanjsimon.com/note4/TW/KT-NOTE4-KK4.4-TW-N910-11.13.2014D.zip
ktoonsez said:
Here is a test one starting all over again, just has OC and Voltage control:
http://ktoonsez.jonathanjsimon.com/note4/TW/KT-NOTE4-KK4.4-TW-N910-11.13.2014D.zip
Click to expand...
Click to collapse
Unfortunately same bahavior my man..
friedrich420 said:
Unfortunately same bahavior my man..
Click to expand...
Click to collapse
LOL, really? I just had 3 people boot up successfully, finally. You have the "F" or the "G"?
EDIT:
The guy I am testing with has the "G".
ktoonsez said:
LOL, really? I just had 3 people boot up successfully, finally. You have the "F" or the "G"?
Click to expand...
Click to collapse
the F...
friedrich420 said:
the F...
Click to expand...
Click to collapse
Just edited my post above, the guy that is answering me quick has the "G". Now Im really getting PISSED!!!!!!!!!! WTH!!
ktoonsez said:
Just edited my post above, the guy that is answering me quick has the "G". Now Im really getting PISSED!!!!!!!!!! WTH!!
Click to expand...
Click to collapse
Did anyone diff the ramdisk? If not, I can throw the two in git and see if anything lights up. I have the visual editor for Mac for exactly that.
ktoonsez said:
Just edited my post above, the guy that is answering me quick has the "G". Now Im really getting PISSED!!!!!!!!!! WTH!!
Click to expand...
Click to collapse
this may or may not confuse you more...
i made a test git repository : https://github.com/friedrich420/Note4-AEL-Kernel2
all i did was cherry pick your oc and voltage control commits..
It booted im running it @2.99ghz right now and its fine...
Could it be that you need the F source my man?
twistedumbrella said:
Did anyone diff the ramdisk? If not, I can throw the two in git and see if anything lights up. I have the visual editor for Mac for exactly that.
Click to expand...
Click to collapse
I started with stock N910F ramdisk in version "C", version "D" went back to my original universal ramdisk you can try the "C" and see if anything changes:
http://ktoonsez.jonathanjsimon.com/note4/TW/KT-NOTE4-KK4.4-TW-N910-11.13.2014C.zip
friedrich420 said:
this may or may not confuse you more...
i made a test git repository : https://github.com/friedrich420/Note4-AEL-Kernel2
all i did was cherry pick your oc and voltage control commits..
It booted im running it @2.99ghz right now and its fine...
Could it be that you need the F source my man?
Click to expand...
Click to collapse
That is exactly what I just merged in so the "D" that wont boot for you is pretty much the same thing, lol. See what happens on the "C" version which is stock N910F ramdisk.

N915F kernel with SeLinux Permissive - done

Hello,
This is a stock SeLinux permissive kernel and init.d activated for Samsung Galaxy Note Edge (N915F) for Lollipop 5.0.1.
There are inputs that is working also on N915FY.
The kernel was compiled from Samsung source LL_CIS kernel using Google toolcahin v4.8.
If you want to test it, please flash in cwm the attached file and report back. Please make a backup of your actual kernel (boot.img) befor flashing this one.
Special thanks to @Micky387 who advised me to update the source kernel (MH driverI), @Wuby986 for his support and guidance and @daxgirl for his advices.
My kernel source for N915F (N915FOXE1BOC6) is here.
Happy flashing.
PS. Kernel updated. Same functionality but some different info in "About".
Well you got further than I did .. Kept getting some driver file referenced so it would not complied.. Thanks for effort I hope you work it out soon.. Unfortunately I don't have time at the moment ..
starbucks2010 said:
Hello,
Since few days I struggle to build a SeLinux permissive kernel for Samsung Galaxy Note Edge with Lollipop 5.0.1 but without success. Or with partial success.
I followed several guides from xda and other sites but it seems that everyone has his different way of doing it.
What I have done so far:
- I installed Ubuntu 14.04 with all updates and apt-get xxx
- I installed the Google toolchain arm-eabi-4.8
- I Installed Samsung kernel source for N915F_CIS from here
- I changed the path to the toolchain in Makefile and build_kernel.sh
- I run from kernel source folder: ./build_kernel.sh
- After 10-15 min of compilation I get a zImage file in //output/arch/arm/boot of ~ 9.8 Mb
- Using Android Image Kitchen v2.2 I integrated the zImage into a boot.img to be flashed with cwm
I flashed this new boot.img but the phone is rebooting every minute and in about I have "unknown"as baseband.
Anyone have an idea how to fix this?
Thank you in advance.
Click to expand...
Click to collapse
hi man. How are you ?
So many thing are change in lollipop . the modem and firmware modem dont call same as KK ROM.
So be sure you are this commit https://github.com/CyanogenMod/andr...mmit/784aa9a84b77090fa591bff77045341c3e3c6293
and add MHI module into tblte_defconfig
https://github.com/CyanogenMod/andr...mmit/1dd44659ee26c2d8b313c1346192e2bfa2ac7bb9
dont delete 18 and 19 line if you build for TW rom .
Try and report
micky387 said:
hi man. How are you ?
So many thing are change in lollipop . the modem and firmware modem dont call same as KK ROM.
So be sure you are this commit https://github.com/CyanogenMod/andr...mmit/784aa9a84b77090fa591bff77045341c3e3c6293
and add MHI module into tblte_defconfig
https://github.com/CyanogenMod/andr...mmit/1dd44659ee26c2d8b313c1346192e2bfa2ac7bb9
dont delete 18 and 19 line if you build for TW rom .
Try and report
Click to expand...
Click to collapse
Bonjour Mickey,
Thank you for your advice. I'll try it and let you know how it goes. Do you know if I have to flash also the modules together with the new kernel or only the boot.img alone ?
Merci.
starbucks2010 said:
Bonjour Mickey,
Thank you for your advice. I'll try it and let you know how it goes. Do you know if I have to flash also the modules together with the new kernel or only the boot.img alone ?
Merci.
Click to expand...
Click to collapse
No need to flash module. The MHI module will be in the kernel so you have boot.img with all inside.
starbucks2010 said:
Hello,
Since few days I struggle to build a SeLinux permissive kernel for Samsung Galaxy Note Edge with Lollipop 5.0.1 but without success. Or with partial success.
I followed several guides from xda and other sites but it seems that everyone has his different way of doing it.
What I have done so far:
- I installed Ubuntu 14.04 with all updates and apt-get xxx
- I installed the Google toolchain arm-eabi-4.8
- I Installed Samsung kernel source for N915F_CIS from here
- I changed the path to the toolchain in Makefile and build_kernel.sh
- I run from kernel source folder: ./build_kernel.sh
- After 10-15 min of compilation I get a zImage file in //output/arch/arm/boot of ~ 9.8 Mb
- Using Android Image Kitchen v2.2 I integrated the zImage into a boot.img to be flashed with cwm
I flashed this new boot.img but the phone is rebooting every minute and in about I have "unknown"as baseband.
Anyone have an idea how to fix this?
Thank you in advance.
Click to expand...
Click to collapse
Wait one more day..
Or maybe earlier
Finally done.
Make backup of your actual kernel, flash the attached zip from post 1in cwm and please report back.I didn't check the init.d support but it should work.
Good, I'll try.
Dev.
Just a small request please.
If you could please make sure a link to YOUR kernel sources in OP.
Any Linux kernel publicly released must have source to compile the exact binary (zImage) as repacked into your distributed boot.img. This must be current at time of every released version.
This is not just a XDA rule, but a legal GPL requirement, applying to all, even if modification is only minor. This is open-source
I would suggest the use of a github repo that helps keep track of your changes (commits), promotes open transparency, sharing and colaboration
If you have any questions on how to go about this, i would be happy to help via pm (but currently away with work), but would suggest to contact our friendly forum Mod.
Best of luck with your project. :thumbup:
Cheers.
UITA
Any chance that you would be willing to make this kernel compatible with the Sprint variety? Man.... I need my viper4android bro. Please. Lol
UpInTheAir said:
Dev.
Just a small request please.
If you could please make sure a link to YOUR kernel sources in OP.
Any Linux kernel publicly released must have source to compile the exact binary (zImage) as repacked into your distributed boot.img. This must be current at time of every released version.
This is not just a XDA rule, but a legal GPL requirement, applying to all, even if modification is only minor. This is open-source
I would suggest the use of a github repo that helps keep track of your changes (commits), promotes open transparency, sharing and colaboration
If you have any questions on how to go about this, i would be happy to help via pm (but currently away with work), but would suggest to contact our friendly forum Mod.
Best of luck with your project. :thumbup:
Cheers.
UITA
Click to expand...
Click to collapse
Thank you for your advices.The link to Samsung kernel source was already there . Anyway, I added it one more time just to be sure that is more visible.
For the github repo, I have to create an account and then I'll upload the files.
Best regards.
Well done mate ..... Yea
---------- Post added at 08:32 AM ---------- Previous post was at 07:36 AM ----------
Boot and works fine , nice one
Can this be used on N915FY as well?
I don't have any reports from N915FY users. You can try and tell us
Don't forget to make a backup first.
starbucks2010 said:
Thank you for your advices.The link to Samsung kernel source was already there . Anyway, I added it one more time just to be sure that is more visible.
For the github repo, I have to create an account and then I'll upload the files.
Best regards.
Click to expand...
Click to collapse
Hey, no problem.
Just to clarify....
If you've made any (even minor) change to "Samsung" source, then you have to upload "your" complete source and link "your" source, not "Samsung" So if you've made the kernel permissive or even use a different toolchain or path, technically you have modified from original and is now "your" source If you use a custom defconfig, don't forget it too
github is well worth the pain I Google for answers all the time (how to do this and that), but still screw things up (sometimes majorly) now and then.
dubart said:
Can this be used on N915FY as well?
Click to expand...
Click to collapse
Using this kernel with a N915FY. Great job btw I can finally use viper audio which I've missed so much. Major props dude!
I'm gonna flash this on sprint variant either that or throw this device out my window
dinaps86 said:
I'm gonna flash this on sprint variant either that or throw this device out my window
Click to expand...
Click to collapse
Lol it booted just no data. Yaaayyy!!!
I see that there are other people who are interested in Selinux permissive kernels.
So, if you want, I can add selinux permissive to any samsung kernel as long as you provide me 2 files: your original kernel (boot.img) from the ROM you want to flash and the Kernel.tar.gz - source kernel from Samsung site. In order to get Kernel.tar.gz file you'll need to download the kernel source file (~ 1Gb) from Samsung site, open the archive and upload ONLY the Kernel.tar.gz (~ 100-150 Mb) and the readme file from the archive to some sharing site. Then, I'll try to compile that kernel for you.
There are also downsides. I cannot stay up to date will all new commits done to the kernel source so I'll compile your kernels only with info that I have at that date. If you fork the github and find kernel source updates, I can add them.
PS. I only set up a working PC with Ubuntu and Google toolchain v4.8. If you find any information that this setup is not suitable for compiling your kernel, then there is no point of providing me the above files.
Best regards.
OP updated with some Antutu screen shots.

Categories

Resources