Related
For some weeks I've been trying to set up an environment in which I'm able to compile the stock kernel for my LG2X on my own. Following various tips and hints were unsuccessful and several restarts were required until a kernel which was compiled on my own box was running on my phone. Since I had to patch together all the information because there was no complete guide available/findable, I'd like to list here all the steps from the beginning which I had to perform to boot my own compiled kernel. Maybe this is also useful for others. Note: again, this approach is for compiling STOCK kernel sources which are based on the public sources from LG. (The build process for CM is different and cannot be applied to stock kernels)
I began with a freshly installed Ubuntu 11.10 32bit (http://www.ubuntu.com/download/ubuntu/download) running in a VMware virtual machine. In it I entered a shell and switched to root to be able to perform the required actions:
Code:
sudo su -
The next step was to add the package-sources for the cross-compiler toolchain (see next step) and to bring the system up to the latest state.
Code:
add-apt-repository ppa:linaro-maintainers/toolchain
apt-get update
apt-get upgrade
This takes some time but after it's finished I installed the cross-compiler toolchain to be able to compile applications for the LGs ARM platform
Code:
apt-get install gcc-linaro
apt-get install gcc-linaro-arm-linux-gnueabi
After this I've been ready to begin with the source-works. I closed the root-shell and opened up a new one (required to make sure that all paths are correctly set and recognized again). Test it by executing
Code:
arm-linux-gnueabi-gcc --version
When this executed without error I started with downloading the sources for version 20q from http://www.lg.com/global/support/opensource/opensource-detail.jsp?detailCustomerModelCode=LGP990 into a new directory.
When the file 'LGP990_Android_Gingerbread_V20Q.zip' had finished downloading I unzipped the complete package by
Code:
unzip LGP990_Android_Gingerbread_V20Q.zip
resulting in three files. A README, one .tar.gz with the ROM sources and finally one .tar.gz with the kernel sources. To unpack the kernel sources I issued
Code:
tar xvzf P990_Stardop_IFX_GingerBread_V20Q_KERNEL.tar.gz
and the complete LG 20q kernel sources were finally located in a new 'kernel' subdirectory.
The kernel sources themselves are not yet ready to be compiled. This is because LG most probably has a different/special build environment and our standard environment produces errors and unbootable kernels. Some patching is required to succeed to a running kernel.
Firstly the compilation options for the wireless module have to be tweaked as the default settings break compilation at some unused variables in the source. This is set to be just treated as warnings for the wireless-module by applying following patch:
Code:
diff -u -r original/kernel/drivers/net/wireless/bcm4329/Makefile kernel/drivers/net/wireless/bcm4329/Makefile
--- original/kernel/drivers/net/wireless/bcm4329/Makefile 2012-01-31 04:36:22.000000000 -0800
+++ kernel/drivers/net/wireless/bcm4329/Makefile 2012-02-14 11:41:59.972467559 -0800
@@ -53,7 +53,7 @@
-DBCMLXSDMMC \
-DBCMPLATFORM_BUS \
-DSDIO_ISR_THREAD \
- -Wall -Wstrict-prototypes -Werror \
+ -Wall -Wstrict-prototypes -Werror -Wno-unused-but-set-variable -Wno-array-bounds \
-I$(SRCROOT) \
-I$(SRCROOT)/include \
-I$(SRCROOT)/shared \
Also the main Makefile requires tuning to contain the proper compilation options to produce code which correctly runs on the phone (thanks to spica1234 for providing me with the correct options).
Code:
diff -u -r original/kernel/Makefile kernel/Makefile
--- original/kernel/Makefile 2012-01-31 04:36:21.000000000 -0800
+++ kernel/Makefile 2012-02-28 13:21:20.038003539 -0800
@@ -323,12 +323,12 @@
CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
-Wbitwise -Wno-return-void $(CF)
-MODFLAGS = -DMODULE
-CFLAGS_MODULE = $(MODFLAGS)
+MODFLAGS = -DMODULE -mfloat-abi=softfp -mfpu=vfpv3-d16 -mtune=cortex-a9 -march=armv7-a -fno-common -fsingle-precision-constant -fno-gcse -funsafe-math-optimizations -ffinite-math-only -fgcse-las -fgcse-sm -fivopts -fbtr-bb-exclusive -fvect-cost-model -fmodulo-sched -fmodulo-sched-allow-regmoves
+CFLAGS_MODULE = $(MODFLAGS)
AFLAGS_MODULE = $(MODFLAGS)
LDFLAGS_MODULE = -T $(srctree)/scripts/module-common.lds
-CFLAGS_KERNEL =
-AFLAGS_KERNEL =
+CFLAGS_KERNEL = -mfloat-abi=softfp -mfpu=vfpv3-d16 -mtune=cortex-a9 -march=armv7-a -fno-common -fsingle-precision-constant -fno-gcse -funsafe-math-optimizations -ffinite-math-only -fgcse-las -fgcse-sm -fivopts -fbtr-bb-exclusive -fvect-cost-model -fmodulo-sched -fmodulo-sched-allow-regmoves
+AFLAGS_KERNEL = -mfloat-abi=softfp -mfpu=vfpv3-d16 -mtune=cortex-a9 -march=armv7-a -fno-common -fsingle-precision-constant -fno-gcse -funsafe-math-optimizations -ffinite-math-only -fgcse-las -fgcse-sm -fivopts -fbtr-bb-exclusive -fvect-cost-model -fmodulo-sched -fmodulo-sched-allow-regmoves
CFLAGS_GCOV = -fprofile-arcs -ftest-coverage
# 20100705, [email protected],[LGE_START]
@@ -544,7 +544,8 @@
ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
KBUILD_CFLAGS += -Os
else
-KBUILD_CFLAGS += -O2
+KBUILD_CFLAGS += -Ofast
+KBUILD_CFLAGS += $(call cc-option, -Wno-unused-but-set-variable)
endif
We're not finished yet. We've to create the correct kernel configuration and (again) apply some patches. I'm not so sure about these changes but the kernel refused to boot on my phone without them. It is again provided by spica1234 and contains a number of changes. I did not research which of these changes allowed to boot since most of them are generally useful and I didn't do the work trying them out one-by-one.
Code:
make ARCH=arm star_ifx_defconfig
Code:
--- .config.orig 2012-02-28 13:22:09.322001449 -0800
+++ .config.spica_working 2012-03-02 08:41:21.757696988 -0800
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.32.9-HP_2X_Xtreme_RC12-RevOTF
-# Tue Feb 28 13:22:09 2012
+# Tue Feb 28 13:24:15 2012
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -56,16 +56,16 @@
CONFIG_LOG_BUF_SHIFT=18
CONFIG_GROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
-# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_RT_GROUP_SCHED=y
# CONFIG_USER_SCHED is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
# CONFIG_CGROUP_NS is not set
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CGROUP_DEVICE=y
+# CONFIG_CGROUP_FREEZER is not set
+# CONFIG_CGROUP_DEVICE is not set
# CONFIG_CPUSETS is not set
-CONFIG_CGROUP_CPUACCT=y
+# CONFIG_CGROUP_CPUACCT is not set
# CONFIG_RESOURCE_COUNTERS is not set
# CONFIG_SYSFS_DEPRECATED_V2 is not set
CONFIG_RELAY=y
@@ -121,7 +121,8 @@
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
-# CONFIG_SLOW_WORK is not set
+CONFIG_SLOW_WORK=y
+# CONFIG_SLOW_WORK_DEBUG is not set
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
@@ -146,10 +147,10 @@
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
-# CONFIG_DEFAULT_DEADLINE is not set
-CONFIG_DEFAULT_CFQ=y
+CONFIG_DEFAULT_DEADLINE=y
+# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_DEFAULT_IOSCHED="deadline"
CONFIG_FREEZER=y
#
@@ -1676,16 +1677,25 @@
# File systems
#
CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
-# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT2_FS_XATTR=y
+# CONFIG_EXT2_FS_POSIX_ACL is not set
+# CONFIG_EXT2_FS_SECURITY is not set
+CONFIG_EXT2_FS_XIP=y
CONFIG_EXT3_FS=y
CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
CONFIG_EXT3_FS_XATTR=y
# CONFIG_EXT3_FS_POSIX_ACL is not set
# CONFIG_EXT3_FS_SECURITY is not set
-# CONFIG_EXT4_FS is not set
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_XATTR=y
+# CONFIG_EXT4_FS_POSIX_ACL is not set
+# CONFIG_EXT4_FS_SECURITY is not set
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_FS_XIP=y
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
+CONFIG_JBD2=y
+# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
@@ -1769,7 +1779,22 @@
# CONFIG_ROMFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
-# CONFIG_NETWORK_FILESYSTEMS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+# CONFIG_NFS_FS is not set
+# CONFIG_NFSD is not set
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_WEAK_PW_HASH is not set
+# CONFIG_CIFS_UPCALL is not set
+# CONFIG_CIFS_XATTR is not set
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_DFS_UPCALL is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
#
# Partition Types
After these patches, were finally ready to compile the kernel
Code:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- STAR_TMUS_REV=TMUS_10 TARGET_STAR_HWREV=TMUS_E TARGET_MODEM=ifx
Now go grab some coffee. This takes a while. When it's finished, the compressed kernel-image is found in
arch/arm/boot/zImage
For the experienced kernel-hackers this might be enough. It wasn't for me and I wanted to have it easily installable like other kernels from the forum. So I downloaded a kernel zip package, eg. the one from spica1234 at http://forum.xda-developers.com/showpost.php?p=18253696&postcount=1
Any version will do as long as the kernel is contained in a .zip archive and installable via CWM. In my case I downloaded the kernel zip in a new directory 'build' and unpacked it.
Code:
unzip HP_2x_RC12-RevOTF-PRO.zip
This creates the subdirectories 'data', 'kernel', 'META-INF' and 'system'. Here we now have to replace the kernel and the kernel-modules with our self-compiled versions.
Code:
cd ~build/kernel
rm zImage
cp ~kernel/arch/arm/bootzImage ./zImage
cd ../system/lib/modules
rm *.ko
find ~kernel/ -name "*.ko" -exec cp '{}' . \;
cd ../../..
One last step, creating the zip which carries the new kernel:
Code:
zip -r -FS new_kernel.zip data/ kernel/ META-INF/ system/
This new_kernel.zip can now be flashed with CWM and should boot without problems.
For easier usage, I've attached the three patched files in the build_set.zip attachment so you don't have to patch the stock files by hand. Just extract it in the kernel directory and overwrite the existing files.
I hope I did not make any error in the compilation of this information and that it can be helpful for the interested reader.
Thanks goes especially to spica1234 and the material which he provided me to come through to a successful boot.
Very good explanation. I wish such useful info available b4 an year for me while i published 1st kernel at samdroid for my older device
Sent from my LG-P990 using Tapatalk
Bloody hell! I never realised it took so much to simply compile!!!! (I build JEE systems at work, but we scripted most of it, stuff that used to take a day and half now takes a few minutes).
Excellent guide Kosi! I'm a linux and kernel n00b and I understand your instructions pretty well.
Ubuntu 11 is not the best choice though I currently use it myself. v11 can cause problems, especially when not compiling kernels but compiling Android ROMs.
Ubuntu 10 is the better choice.
Also there is a VMware Android Developer Environment available for download, providing nearly all the necessary tools for compilation preinstalled and set-up.
http://forum.xda-developers.com/showthread.php?t=1386918
You can compile your kernel directly in the virtual machine p.ex. on your Windows 7 PC. That's the way I do it for my kernel. VMware Player is available for free, so you can just run the image.
Also install VMware tools, so you can set up a directory for exchanging files between your Windows Host and the virtual Machine Ubuntu. In this directory I usually paste the compiled kernel for further use under Win7 (making the CWM update ZIPs).
Just note that you should have a dual/quadcore CPU strong enough to host the linux and compile the kernel in an acceptable time (usually it takes me 1-2 minutes for complete kernel compilation under virtual machine ubuntu using -j24 option on make).
Can u guys add a bit in this tutorial, example, at which file / folder need to edit for OCUV, add swap function, enable ext4, etc.. seriously like this thread..
Sent from my LG-P990 using XDA
ghadap said:
Can u guys add a bit in this tutorial, example, at which file / folder need to edit for OCUV, add swap function, enable ext4, etc.. seriously like this thread..
Click to expand...
Click to collapse
As the topic of this thread is just how to get the stock kernel compiling I won't step into modifying it. Please open a separate thread for that.
Small hints though, OCUV requires deeper code changes, swap and ext4 can just be enabled in the kernel config.
Hey,
I follow the guide, but ubuntu (11.04 64 bit) doesn't find the pack
Code:
apt-get install gcc-linaro
so I can't install the pack
Code:
apt-get install gcc-linaro-arm-linux-gnueabi
Edit: With Ubuntu 11.10, it works.
Has anyone compiled and booted a kernel successfully with this guide? Can't get mine to boot, so before I look any further I'd thought I'd check if anyone else has gotten a workable kernel out of it.
TrymHansen said:
Has anyone compiled and booted a kernel successfully with this guide? Can't get mine to boot, so before I look any further I'd thought I'd check if anyone else has gotten a workable kernel out of it.
Click to expand...
Click to collapse
Which version it shows "arm-linux-gnueabi-gcc --version"
If its 4.6.2?
Sent from my LG-P990 using Tapatalk
Stefan Gündhör said:
Ubuntu 11 is not the best choice though I currently use it myself. v11 can cause problems, especially when not compiling kernels but compiling Android ROMs.
Ubuntu 10 is the better choice.
Also there is a VMware Android Developer Environment available for download, providing nearly all the necessary tools for compilation preinstalled and set-up.
http://forum.xda-developers.com/showthread.php?t=1386918
You can compile your kernel directly in the virtual machine p.ex. on your Windows 7 PC. That's the way I do it for my kernel. VMware Player is available for free, so you can just run the image.
Also install VMware tools, so you can set up a directory for exchanging files between your Windows Host and the virtual Machine Ubuntu. In this directory I usually paste the compiled kernel for further use under Win7 (making the CWM update ZIPs).
Just note that you should have a dual/quadcore CPU strong enough to host the linux and compile the kernel in an acceptable time (usually it takes me 1-2 minutes for complete kernel compilation under virtual machine ubuntu using -j24 option on make).
Click to expand...
Click to collapse
Ubuntu 11.xx is still a good choise if you want to build ROMs it is very easy to set it up (it is just one step more then on 10.xx)
i also use ubuntu 11.10 and it is working fine for me with building android ROMs
and of course it can take 1-2 minutes but it also can take up to an hour for a kernel to compile
it all depends on how good your computer is
on my home computer i build a kernel in a matter of seconds (clobber builds)
but when i am at my girlfriend my build (also clobber) on her craptop will take up to 20 minutes
nice guide kosi2801!
spica1234 said:
Which version it shows "arm-linux-gnueabi-gcc --version"
If its 4.6.2?
Click to expand...
Click to collapse
Yap. This
Code:
arm-linux-gnueabi-gcc (Ubuntu/Linaro 4.6.2-14ubuntu2~ppa1) 4.6.2
to be specific.
Trymhanson, Try to downgrade with 4.5.3. 4.6.2 is causing this unable to boot issue which was not happening earlier with 4.6.1
try this
apt-get install gcc-4.5-arm-linux-gnueabi
apt-get install g++-4.5-arm-linux-gnueabi
rm /usr/bin/arm-linux-gnueabi-gcc
ln -s /usr/bin/arm-linux-gnueabi-gcc-4.5 /usr/bin/arm-linux-gnueabi-gcc
Thanks, that did it. I also had to change the -Ofast flag back to -O2 as -Ofast wasn't recognized by the 4.5.3 version. So now I'm thinking maybe the -Ofast flag was to blame, so I'll try a fresh 4.6.2 install with -O2. Thanks again.
TrymHansen said:
Thanks, that did it. I also had to change the -Ofast flag back to -O2 as -Ofast wasn't recognized by the 4.5.3 version. So now I'm thinking maybe the -Ofast flag was to blame, so I'll try a fresh 4.6.2 install with -O2. Thanks again.
Click to expand...
Click to collapse
no may be ofast is not to blame but 4.6.2. Ofast was introduced with 4.6.0 and doesnt work with < 4..6. 4.6.2 doesnt even work with o2. And IMHO kernel compiled with 4.5.3 ismore stable
Sent from my LG-P990 using Tapatalk
http://db.tt/jN4fU9Vz
Thisis my recent sr3r2 patch created against original v20Q sourceswith Full OTF V2.0. Anybody interested can use it. It will transform to fully noo oc version of SR3r2
It wont work with CM but only stock v20q
Sent from my LG-P990 using Tapatalk
For anyone interested, currently I'm building with
arm-linux-gnueabihf-gcc (Ubuntu/Linaro 4.6.1-7ubuntu2) 4.6.1
For my usage patterns the kernel works pretty well, but YMMV.
Thanks spica for the updated patch!
kosi2801 said:
For anyone interested, currently I'm building with
arm-linux-gnueabihf-gcc (Ubuntu/Linaro 4.6.1-7ubuntu2) 4.6.1
For my usage patterns the kernel works pretty well, but YMMV.
Thanks spica for the updated patch!
Click to expand...
Click to collapse
Use my recent cflags its most stable and used in sr3r2
As you are using gnueabihf relace mfloat-abi=softfp with mfloat-abi=hard
Sent from my LG-P990 using xda premium
spica1234 said:
Use my recent cflags its most stable and used in sr3r2
As you are using gnueabihf relace mfloat-abi=softfp with mfloat-abi=hard
Click to expand...
Click to collapse
Thanks for the tip. I already thought about that some time ago but forgot again. Gained some additional performance points
Can someone upload a compiled stock v20q kernel flashable zip? Thanks!
Note : this thread is intended only for dev disscusion , working as i m getting things mixed in my beanstalk thread So, decided to create this thread thanks @DomusX10 and @[NUT] for idea
this is work to make Kitkat working on xperia 2011 devices
Source : github.com/cyanogemod
https://github.com/rebelos/msm7x30-3.4.x-nAa
Test Build 1 link :- http://www.mediafire.com/download/5zkr6d5dxzl7zdr/cm-11-20131110-UNOFFICIAL-anzu.zip
Test Build #2
Link : http://www.mediafire.com/download/ww4p6srrs0d58kd/cm-11-20131118-UNOFFICIAL-anzu.zip
Add this line in build prop before flashing..
Code:
#ADB
ro.debuggable=1
persist.sys.usb.config=adb
thank you!
current status : stuck at bootanim [on build #1] on build #2 needed to be verified
credits : Mikeioannia , legacy xperia , saki3d ,cyanogenmod , fxp ,szezso , munjeni
how to build guide
Code:
[B]How To Make Your Own Cm_11 builds for Anzu , urushi and smultron[/B]
1. mkdir cm
2. repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
3. mkdir -p ~/cm/.repo/local_manifests
4. curl https://raw.github.com/rebelos/local_manifests/cm-11.0/semc.xml > ~/cm/.repo/local_manifests/semc.xml
5. repo sync -j1
6. curl https://raw.github.com/rebelos/local_manifests/cm-11.0/updates.sh > ~/cm/updates.sh
7. chmod a+x updates.sh
8. ./updates.sh
9. cd ~/cm/vendor/cm
10. ./get-prebuilts
11. cd ~/cm
12. . build/envsetup.sh
13. breakfast <device>
14. brunch <device>
guys build it .. try it.. debug it ..
[Dev][Krt16m][4.4] unofficial_cyanogenmod-11
I am running now the 4.4 on my n4 it don't have new kernel but it have some new resources that the devs will take and they optimization the performance.. My n4 flying I hope to see my arc s flying to..
Sent from my Nexus 4 using XDA Premium 4 mobile app
nokiagye said:
I am running now the 4.4 on my n4 it don't have new kernel but it have some new resources that the devs will take and they optimization the performance.. My n4 flying I hope to see my arc s flying to..
Sent from my Nexus 4 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
this evening I read about which sony device reiceve kitkat, and I read that xperia V and T will receive 4.3 officially.
Hope of 4.4 on Arc S never die. Obviously with a cooked ROM from xda...:good:
[Dev][Krt16m][4.4] unofficial_cyanogenmod-11
any experienced user here who knows how to do logcat cause i needed few testers for 4.4
[Dev][Krt16m][4.4] unofficial_cyanogenmod-11
officiallysonyrebel said:
any experienced user here who knows how to do logcat cause i needed few testers for 4.4
Click to expand...
Click to collapse
OK i can test and maybe ask @besttt & @vishal_android freak
which link to download?
cheers
officiallysonyrebel said:
any experienced user here who knows how to do logcat cause i needed few testers for 4.4
Click to expand...
Click to collapse
stuck with me at kernel logo using provided kernel
Cheers
[Dev][Krt16m][4.4] unofficial_cyanogenmod-11
elguneid said:
Me too confused about that ...
Sent from my LT18i using xda app-developers app
Click to expand...
Click to collapse
fixed....
Code:
[B]How To Make Your Own Cm_11 builds for Anzu , urushi and smultron[/B]
1. mkdir cm
2. repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
3. mkdir -p ~/cm/.repo/local_manifests
4. curl https://raw.github.com/rebelos/local_manifests/cm-11.0/semc.xml > ~/cm/.repo/local_manifests/semc.xml
5. repo sync -j1
6. curl https://raw.github.com/rebelos/local_manifests/cm-11.0/updates.sh > ~/cm/updates.sh
7. chmod a+x updates.sh
8. ./updates.sh
9. cd ~/cm/vendor/cm
10. ./get-prebuilts
11. cd ~/cm
12. . build/envsetup.sh
13. breakfast <device>
14. brunch <device>
guys build it .. try it.. debug it ..
[Dev][Krt16m][4.4] unofficial_cyanogenmod-11
officiallysonyrebel said:
fixed....
Code:
[B]How To Make Your Own Cm_11 builds for Anzu , urushi and smultron[/B]
1. mkdir cm
2. repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
3. mkdir -p ~/cm/.repo/local_manifests
4. curl https://raw.github.com/rebelos/local_manifests/cm-11.0/semc.xml > ~/cm/.repo/local_manifests/semc.xml
5. repo sync -j1
6. curl https://raw.github.com/rebelos/local_manifests/cm-11.0/updates.sh > ~/cm/updates.sh
7. chmod a+x updates.sh
8. ./updates.sh
9. cd ~/cm/vendor/cm
10. ./get-prebuilts
11. cd ~/cm
12. . build/envsetup.sh
13. breakfast <device>
14. brunch <device>
guys build it .. try it.. debug it ..
Click to expand...
Click to collapse
I have an ARC, no coding experience though...
Before I try this:
No need to get blobs for 4.4?
officiallysonyrebel said:
i saw u on Z forum u have created XZ dual recovery ...
everything is updated on my github..nothing needed but the problem i m not able to surpass boot screen with no adb shell access according to mikeioanniai busybox is broken ... currently trying to fix up things ... plz if u can try it for fixing these thigns then that will be great
best regards
Officiallysonyrebel
Click to expand...
Click to collapse
XZDualRecovery, yes, that's me
PM me your hangouts email, I'll attempt a build ASAP and we will be able to do some live debugging while you code
officiallysonyrebel said:
fixed....
Code:
[B]How To Make Your Own Cm_11 builds for Anzu , urushi and smultron[/B]
[STRIKE]1. mkdir cm[/STRIKE]
[STRIKE]2. repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0[/STRIKE]
[STRIKE]3. mkdir -p ~/cm/.repo/local_manifests[/STRIKE]
[STRIKE]4. curl https://raw.github.com/rebelos/local_manifests/cm-11.0/semc.xml > ~/cm/.repo/local_manifests/semc.xml[/STRIKE]
[STRIKE]5. repo sync -j1[COLOR="Red"][B]0[/B][/COLOR][/STRIKE]
[STRIKE]6. curl https://raw.github.com/rebelos/local_manifests/cm-11.0/updates.sh > ~/cm/updates.sh[/STRIKE]
[STRIKE]7. chmod a+x updates.sh[/STRIKE]
[STRIKE]12. . build/envsetup.sh[/STRIKE] [COLOR="Green"][B]needed to do here!!![/B][/COLOR]
[STRIKE]8. ./updates.sh[/STRIKE]
[COLOR="Green"][B]Open and comment cherries 53164, 51130, 51224, 52888 and 53495: ALREADY MERGED![/B][/COLOR]
[STRIKE]9. cd ~/cm/vendor/cm[/STRIKE]
[STRIKE]10. ./get-prebuilts[/STRIKE]
[STRIKE]11. cd ~/cm[/STRIKE]
[STRIKE]13. breakfast anzu[/STRIKE]
14. brunch anzu [COLOR="Red"][B]RUNNING[/B][/COLOR]
guys build it .. try it.. debug it ..
Click to expand...
Click to collapse
Doing this now, will strike off everything done sofar to show progress
-- EDIT --
Man, CM is so freaking big, even with my 2 (yes, really) 20Mbit connections it's taking for ever
@officiallysonyrebel
Code:
# breakfast anzu
including vendor/cm/vendorsetup.sh
build/core/product_config.mk:238: *** _nic.PRODUCTS.[[device/semc/anzu/cm.mk]]: "hardware/ti/wlan/mac80211/wl127x-wlan-products.mk" does not exist. Stop.
Device anzu not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_semc_anzu
Default revision: cm-11.0
Checking branch info
Default revision cm-11.0 not found in android_device_semc_anzu. Bailing.
Branches found:
cm-9.0.0
gb-release-7.2
gingerbread
gingerbread-release
ics
ics-release
jellybean
jellybean-stable
cm-7.1.0
Use the ROOMSERVICE_BRANCHES environment variable to specify a list of fallback branches.
build/core/product_config.mk:238: *** _nic.PRODUCTS.[[device/semc/anzu/cm.mk]]: "hardware/ti/wlan/mac80211/wl127x-wlan-products.mk" does not exist. Stop.
** Don't have a product spec for: 'cm_anzu'
** Do you have the right repo manifest?
Any idea how to get this fixed? For some reason, repo breakfast is not picking up your repository as a valid one... I can't find why
The path device/semc/anzu is there... breakfast somehow thinks it's not
---------- Post added at 01:31 AM ---------- Previous post was at 01:30 AM ----------
arc_n_krizt said:
How big data source for cm???
Sent from my Xperia Arc S using xda app-developers app
Click to expand...
Click to collapse
22Gb sofar... no idea if it will grow even more...
[NUT] said:
@officiallysonyrebel
Code:
# breakfast anzu
including vendor/cm/vendorsetup.sh
build/core/product_config.mk:238: *** _nic.PRODUCTS.[[device/semc/anzu/cm.mk]]: "hardware/ti/wlan/mac80211/wl127x-wlan-products.mk" does not exist. Stop.
Device anzu not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_semc_anzu
Default revision: cm-11.0
Checking branch info
Default revision cm-11.0 not found in android_device_semc_anzu. Bailing.
Branches found:
cm-9.0.0
gb-release-7.2
gingerbread
gingerbread-release
ics
ics-release
jellybean
jellybean-stable
cm-7.1.0
Use the ROOMSERVICE_BRANCHES environment variable to specify a list of fallback branches.
build/core/product_config.mk:238: *** _nic.PRODUCTS.[[device/semc/anzu/cm.mk]]: "hardware/ti/wlan/mac80211/wl127x-wlan-products.mk" does not exist. Stop.
** Don't have a product spec for: 'cm_anzu'
** Do you have the right repo manifest?
Any idea how to get this fixed? For some reason, repo breakfast is not picking up your repository as a valid one... I can't find why
The path device/semc/anzu is there... breakfast somehow thinks it's not
---------- Post added at 01:31 AM ---------- Previous post was at 01:30 AM ----------
22Gb sofar... no idea if it will grow even more...
Click to expand...
Click to collapse
Hi,
see if these works:
First, check if in cm\device folder there is "semc\anzu\..."
if not, local manifest should be changed
if there is anzu folder in cm\device\ then try one of these:
breakfast cm_anzu
breakfast cm_anzu-eng
or alternatively just type lunch and select anzu from the list
[NUT] said:
@officiallysonyrebel
Code:
# breakfast anzu
including vendor/cm/vendorsetup.sh
build/core/product_config.mk:238: *** _nic.PRODUCTS.[[device/semc/anzu/cm.mk]]: "hardware/ti/wlan/mac80211/wl127x-wlan-products.mk" does not exist. Stop.
Device anzu not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_semc_anzu
Default revision: cm-11.0
Checking branch info
Default revision cm-11.0 not found in android_device_semc_anzu. Bailing.
Branches found:
cm-9.0.0
gb-release-7.2
gingerbread
gingerbread-release
ics
ics-release
jellybean
jellybean-stable
cm-7.1.0
Use the ROOMSERVICE_BRANCHES environment variable to specify a list of fallback branches.
build/core/product_config.mk:238: *** _nic.PRODUCTS.[[device/semc/anzu/cm.mk]]: "hardware/ti/wlan/mac80211/wl127x-wlan-products.mk" does not exist. Stop.
** Don't have a product spec for: 'cm_anzu'
** Do you have the right repo manifest?
Any idea how to get this fixed? For some reason, repo breakfast is not picking up your repository as a valid one... I can't find why
The path device/semc/anzu is there... breakfast somehow thinks it's not
---------- Post added at 01:31 AM ---------- Previous post was at 01:30 AM ----------
22Gb sofar... no idea if it will grow even more...
Click to expand...
Click to collapse
its easy ..
cd ~/cm/hardware/ti/wlan
git fetch http://review.cyanogenmod.org/CyanogenMod/android_hardware_ti_wlan refs/changes/24/51224/7 && git cherry-pick FETCH_HEAD
only if it show some wired thing then
git commit --allow-empty
source is aroung 30 gb's
yup we can use hangouts [email protected] -- if anybody has problem regarding kk then can contact me at hangouts .. thnx
after it u might get librpc error [maybe] the n go in hardware / gps / delete lib rpc .. i m updating sources to upstream changes..
best regards
officiallysonyrebel
officiallysonyrebel said:
its easy ..
cd ~/cm/hardware/ti/wlan
git fetch http://review.cyanogenmod.org/CyanogenMod/android_hardware_ti_wlan refs/changes/24/51224/7 && git cherry-pick FETCH_HEAD
only if it show some wired thing then
git commit --allow-empty
source is aroung 30 gb's
yup we can use hangouts [email protected] -- if anybody has problem regarding kk then can contact me at hangouts .. thnx
after it u might get librpc error [maybe] the n go in hardware / gps / delete lib rpc .. i m updating sources to upstream changes..
best regards
officiallysonyrebel
Click to expand...
Click to collapse
gosssss.... it more 5 days to finish in my country!!! does anyone have the cd form .... it's like a repository in linux right??
arc_n_krizt said:
gosssss.... it more 5 days to finish in my country!!! does anyone have the cd form .... it's like a repository in linux right??
Click to expand...
Click to collapse
whats u r bandwidth..?
officiallysonyrebel said:
its easy ..
cd ~/cm/hardware/ti/wlan
git fetch http://review.cyanogenmod.org/CyanogenMod/android_hardware_ti_wlan refs/changes/24/51224/7 && git cherry-pick FETCH_HEAD
only if it show some wired thing then
git commit --allow-empty
source is aroung 30 gb's
yup we can use hangouts [email protected] -- if anybody has problem regarding kk then can contact me at hangouts .. thnx
after it u might get librpc error [maybe] the n go in hardware / gps / delete lib rpc .. i m updating sources to upstream changes..
best regards
officiallysonyrebel
Click to expand...
Click to collapse
The git fetch line fixed it indeed :good: I did need to remove the hardware/qcom/gps/librpc folder though, so that was a smart move
officiallysonyrebel said:
whats u r bandwidth..?
Click to expand...
Click to collapse
i cant share in this forum... whether there is a link than github??
Great!
Now it is much easier to discuss progress with kit kat on xperia 2011 lines! :good::good:
Boy, that split was a hassle
Anyway... ROM compile still running... I'm afraid to stop it, but I forgot to add export USE_CCACHE=1 and to have brunch run with a -j3 switch (which will enable it to use multicore systems)...
It's been running since 7:30 AM (GMT+1) ...
-- EDIT --
If you use the -j switch, take the amount of cores and add 1 to determine the number of threads it can handle. For every 4 cores you can add 1 extra thread. So a dual-core CPU can handle 3, a quad-core can handle 5 but an octo-core can handle 10.
Don't mix up HYPERTHREADING (HT) with actual number of cores, if you have a Pentium series CPU with HT, half the number of cores you might see in your /proc/cpuinfo, HT is doubling your core count but while compiling, it will hinder the processing power of your CPU more then it helps
That clearly does not work on lunch,brunch and breakfast ... too bad!
:victory: FINALY it was done ... or so I thought...
Code:
In file included from external/chromium_org/content/common/android/hash_set.cc:5:0:
/storage/home/nut/development/xperia/cyanogen/beanstalk/out/target/product/anzu/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:10:26: error: extra tokens at end of #ifndef directive [-Werror]
/storage/home/nut/development/xperia/cyanogen/beanstalk/out/target/product/anzu/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:11:26: error: missing whitespace after the macro name [-Werror]
target thumb C++: content_content_common_gyp <= external/chromium_org/content/common/android/surface_texture_peer.cc
In file included from external/chromium_org/content/common/android/hash_set.cc:5:0:
/storage/home/nut/development/xperia/cyanogen/beanstalk/out/target/product/anzu/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:24:20: error: expected initializer before '<' token
/storage/home/nut/development/xperia/cyanogen/beanstalk/out/target/product/anzu/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:26:17: error: expected initializer before '<' token
/storage/home/nut/development/xperia/cyanogen/beanstalk/out/target/product/anzu/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:29:22: error: expected '{' before '<' token
/storage/home/nut/development/xperia/cyanogen/beanstalk/out/target/product/anzu/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:29:22: error: expected unqualified-id before '<' token
external/chromium_org/content/common/android/hash_set.cc:30:1: error: expected '}' at end of input
cc1plus: all warnings being treated as errors
make: *** [/storage/home/nut/development/xperia/cyanogen/beanstalk/out/target/product/anzu/obj/STATIC_LIBRARIES/content_content_common_gyp_intermediates/content/common/android/hash_set.o] Error 1
make: *** Waiting for unfinished jobs....
Lets see if I can fix that...
-- EDIT --
I thought it might have been a typo somewhere ... but I'm lost already
Need help
Ok I am trying to compile a kernel for S5830 but everytime I use make clean && make mrproper command it gives me the error displayed in the screenshot. This is the first time I am compiling a kernel so please forgive my noobness if any. I am using Fedora 20 with ndk version r10b 64bit. Need Help.Thanx
I have installed ncurses-devel but still the same problem.
anyone??
Mandark52 said:
Ok I am trying to compile a kernel for S5830 but everytime I use make clean && make mrproper command it gives me the error displayed in the screenshot. This is the first time I am compiling a kernel so please forgive my noobness if any. I am using Fedora 20 with ndk version r10b 64bit. Need Help.Thanx
I have installed ncurses-devel but still the same problem.
Click to expand...
Click to collapse
I haven't much experience with it, but maybe @Mardon could give you a hand
Hello,
You have to make 4 small changes:
drivers/Makefile:
Search this line:
Code:
obj-$(CONFIG_RFS_FSR)
replace it with:
Code:
#obj-$(CONFIG_RFS_FSR)
Search this line:
Code:
obj-$(CONFIG_MSM_PARAM) += param/
replace it with:
Code:
#obj-$(CONFIG_MSM_PARAM) += param/
drivers/Kconfig
Search this line:
Code:
# for FSR
source "drivers/fsr/Kconfig"
replace it with:
Code:
# for FSR
#source "drivers/fsr/Kconfig"
Search this line:
Code:
source "drivers/param/Kconfig"
replace it with:
Code:
#source "drivers/param/Kconfig"
Mm7 said:
Hello,
You have to make 4 small changes:
drivers/Makefile:
Search this line:
Code:
obj-$(CONFIG_RFS_FSR)
replace it with:
Code:
#obj-$(CONFIG_RFS_FSR)
Search this line:
Code:
obj-$(CONFIG_MSM_PARAM) += param/
replace it with:
Code:
#obj-$(CONFIG_MSM_PARAM) += param/
drivers/Kconfig
Search this line:
Code:
# for FSR
source "drivers/fsr/Kconfig"
replace it with:
Code:
# for FSR
#source "drivers/fsr/Kconfig"
Search this line:
Code:
source "drivers/param/Kconfig"
replace it with:
Code:
#source "drivers/param/Kconfig"
Click to expand...
Click to collapse
Well I changed the code in drivers/makefile but the code in drivers/Kconfig was the same so no need to replace that one. After that I got this....
Mandark52 said:
Well I changed the code in drivers/makefile but the code in drivers/Kconfig was the same so no need to replace that one. After that I got this....
Click to expand...
Click to collapse
OK:
fs/Makefile
replace this
Code:
obj-$(CONFIG_RFS_FS) += rfs/
with
Code:
#obj-$(CONFIG_RFS_FS) += rfs/
fs/Kconfig
replace this
Code:
source "fs/rfs/Kconfig"
with
Code:
#source "fs/rfs/Kconfig"
Mm7 said:
OK:
fs/Makefile
replace this
Code:
obj-$(CONFIG_RFS_FS) += rfs/
with
Code:
#obj-$(CONFIG_RFS_FS) += rfs/
fs/Kconfig
replace this
Code:
source "fs/rfs/Kconfig"
with
Code:
#source "fs/rfs/Kconfig"
Click to expand...
Click to collapse
everything that you mentioned was as it was i.e. it was not commented in the fs/makefile and kconfig.
You should comment
Code:
obj-$(CONFIG_RFS_FS) += rfs/
and
Code:
source "fs/rfs/Kconfig"
Mm7 said:
You should comment
Code:
obj-$(CONFIG_RFS_FS) += rfs/
and
Code:
source "fs/rfs/Kconfig"
Click to expand...
Click to collapse
Still no luck. I guess you are very close in solving this.
You have to select a config or create one from scratch.
The base configuration for Galaxy Ace (cooper) is cooper_rev03_defconfig, I strongly raccomand you to use it.
So, If you want use it as is:
Code:
export ARCH=arm
make cooper_rev03_defconfig
and then you can build the kernel
Code:
make
Instead If you want customize it:
Code:
export ARCH=arm
make cooper_rev03_defconfig
make menuconfig
After changing, you can run the build:
Code:
make
If you want to create a new config from scratch:
Code:
make menuconfig
and then you can build the kernel:
Code:
make
P.S.: In your screenshot you mispelled "mrpropper" for "mrproper"
Mm7 said:
You have to select a config or create one from scratch.
The base configuration for Galaxy Ace (cooper) is cooper_rev03_defconfig, I strongly raccomand you to use it.
So, If you want use it as is:
Code:
export ARCH=arm
make cooper_rev03_defconfig
and then you can build the kernel
Code:
make
Instead If you want customize it:
Code:
export ARCH=arm
make cooper_rev03_defconfig
make menuconfig
After changing, you can run the build:
Code:
make
If you want to create a new config from scratch:
Code:
make menuconfig
and then you can build the kernel:
Code:
make
P.S.: In your screenshot you mispelled "mrpropper" for "mrproper"
Click to expand...
Click to collapse
That worked for me!!!
Just got a T280 - would like to get Nougat on it. I saw @jedld did awesome work on T285 and @_mone did with TWRP, however, I was hoping to create a thread to consolidate any ongoing efforts for T280 in one place, and see where I could help.
This is what I know of the state of the T280 development.
TWRP and root has been available for the T280 for some time, almost at the same time the T285 version has. There is no non-stock based rom available yet.
Custom T280 kernel here courtesy of @_mone, there are reports that it works with an updated T280 stock firmware.
Before flashing a generated boot.img note that it requires special headers for the T280 here: https://forum.xda-developers.com/showpost.php?p=68843058&postcount=81. There is at least one developer in this forum that is looking to make this process easier.
Assumming this works with the T280 stock firmware, the steps that I see are the following:
1. Patch the N and M related linux kernel patches to the T280 kernel http://jeffvanderstoep.blogspot.com/2016/05/selinux-kernel-patches-for-android-n.html. Update the arm defconfig to the latest recommended by android.
2. Create a lineage device tree, you can use my gtexslte manifest as a starting point https://github.com/jedld/android.git. Probably just need to take out the RIL related modules.
awesome - i'll give this a go.. right now I'm just testing building samsung's stock opensource kernel.
It's people like you that make me love xda. Thanks!
Downloading source code.....
@jedld I downloading lineage14.1 src and gtexslte kernel/device trees
How to create gtexswifi device tree based gtexslte?
tdukazudon said:
@jedld I downloading lineage14.1 src and gtexslte kernel/device trees
How to create gtexswifi device tree based gtexslte?
Click to expand...
Click to collapse
You can start by renaming gtexslte to gtexswifi, I believe flash partitions sizes and mountpoints are about the same for both SM-T285 and SM-T280 so you don't need to change much. You probably need to remove phone related configs. You also need to use the SM-T280 kernel also. I don't know if there are other hardware differences from the T280 and T285 (gps?) If this is your first time doing any sort of porting, this can be a daunting task, so I suggest you try to learn how to extract the stock boot and system images, modify some files and then flash it back as an exercise. There might already be a gtexswifi device tree in progress somewhere, I suggest that you contact those devs or probably set up an irc channel to coordinate your efforts.
@jedld - I'm confused - for the M/N Patches to the kernel, it seems like 2 sets of patches undo each other, namely:
Revert "SELinux: per-command whitelisting of ioctls" - https://android-review.googlesource.com/162275
selinux: extended permissions for ioctls - https://android-review.googlesource.com/162279
and
Revert "security: lsm_audit: add ioctl specific auditing" - https://android-review.googlesource.com/162276
security: add ioctl specific auditing to lsm_audit - https://android-review.googlesource.com/162278
What'd you do for those?
chiefwigms said:
@jedld - I'm confused - for the M/N Patches to the kernel, it seems like 2 sets of patches undo each other, namely:
Revert "SELinux: per-command whitelisting of ioctls" - https://android-review.googlesource.com/162275
selinux: extended permissions for ioctls - https://android-review.googlesource.com/162279
and
Revert "security: lsm_audit: add ioctl specific auditing" - https://android-review.googlesource.com/162276
security: add ioctl specific auditing to lsm_audit - https://android-review.googlesource.com/162278
What'd you do for those?
Click to expand...
Click to collapse
I ignored the reverts at first. I can't remember if it worked after that. Though I ended up just doing a straight diff with the selinux modules based on the aosp 3.10.y kernel sources and just merging them.
jedld said:
I ignored the reverts at first. I can't remember if it worked after that. Though I ended up just doing a straight diff with the selinux modules based on the aosp 3.10.y kernel sources and just merging them.
Click to expand...
Click to collapse
Sound good - i'll just diff w/ your repo Thx!
@jedld
This build error happened.Do you have solution?
hardware/sprd/libmemion/MemoryHeapIon.cpp:614:30: error: variable has incomplete type 'struct ion_kmap_data'
struct ion_kmap_data kmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:614:16: note: forward declaration of 'ion_kmap_data'
struct ion_kmap_data kmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:618:27: error: use of undeclared identifier 'ION_SPRD_CUSTOM_MAP_KERNEL'; did you mean 'ION_SPRD_CUSTOM_MAP'?
custom_data.cmd = ION_SPRD_CUSTOM_MAP_KERNEL;
^~~~~~~~~~~~~~~~~~~~~~~~~~
ION_SPRD_CUSTOM_MAP
/home/aletheia/smt280/out/target/product/gtexswifi/obj/KERNEL_OBJ/usr/include/video/ion_sprd.h:54:2: note: 'ION_SPRD_CUSTOM_MAP' declared here
ION_SPRD_CUSTOM_MAP,
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:638:32: error: variable has incomplete type 'struct ion_kunmap_data'
struct ion_kunmap_data kunmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:638:16: note: forward declaration of 'ion_kunmap_data'
struct ion_kunmap_data kunmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:642:27: error: use of undeclared identifier 'ION_SPRD_CUSTOM_UNMAP_KERNEL'; did you mean 'ION_SPRD_CUSTOM_UNMAP'?
custom_data.cmd = ION_SPRD_CUSTOM_UNMAP_KERNEL;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
ION_SPRD_CUSTOM_UNMAP
/home/aletheia/smt280/out/target/product/gtexswifi/obj/KERNEL_OBJ/usr/include/video/ion_sprd.h:55:2: note: 'ION_SPRD_CUSTOM_UNMAP' declared here
ION_SPRD_CUSTOM_UNMAP,
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:663:30: error: variable has incomplete type 'struct ion_kmap_data'
struct ion_kmap_data kmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:663:16: note: forward declaration of 'ion_kmap_data'
struct ion_kmap_data kmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:667:27: error: use of undeclared identifier 'ION_SPRD_CUSTOM_MAP_KERNEL'; did you mean 'ION_SPRD_CUSTOM_MAP'?
custom_data.cmd = ION_SPRD_CUSTOM_MAP_KERNEL;
^~~~~~~~~~~~~~~~~~~~~~~~~~
ION_SPRD_CUSTOM_MAP
/home/aletheia/smt280/out/target/product/gtexswifi/obj/KERNEL_OBJ/usr/include/video/ion_sprd.h:54:2: note: 'ION_SPRD_CUSTOM_MAP' declared here
ION_SPRD_CUSTOM_MAP,
^
Import includes file: /home/aletheia/smt280/out/target/product/gtexswifi/obj/SHARED_LIBRARIES/libRSCpuRef_intermediates/import_includes
hardware/sprd/libmemion/MemoryHeapIon.cpp:690:32: error: variable has incomplete type 'struct ion_kunmap_data'
struct ion_kunmap_data kunmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:690:16: note: forward declaration of 'ion_kunmap_data'
struct ion_kunmap_data kunmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:694:27: error: use of undeclared identifier 'ION_SPRD_CUSTOM_UNMAP_KERNEL'; did you mean 'ION_SPRD_CUSTOM_UNMAP'?
custom_data.cmd = ION_SPRD_CUSTOM_UNMAP_KERNEL;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
ION_SPRD_CUSTOM_UNMAP
/home/aletheia/smt280/out/target/product/gtexswifi/obj/KERNEL_OBJ/usr/include/video/ion_sprd.h:55:2: note: 'ION_SPRD_CUSTOM_UNMAP' declared here
ION_SPRD_CUSTOM_UNMAP,
^
8 errors generated.
tdukazudon said:
@jedld
This build error happened.Do you have solution?
hardware/sprd/libmemion/MemoryHeapIon.cpp:614:30: error: variable has incomplete type 'struct ion_kmap_data'
struct ion_kmap_data kmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:614:16: note: forward declaration of 'ion_kmap_data'
struct ion_kmap_data kmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:618:27: error: use of undeclared identifier 'ION_SPRD_CUSTOM_MAP_KERNEL'; did you mean 'ION_SPRD_CUSTOM_MAP'?
custom_data.cmd = ION_SPRD_CUSTOM_MAP_KERNEL;
^~~~~~~~~~~~~~~~~~~~~~~~~~
ION_SPRD_CUSTOM_MAP
/home/aletheia/smt280/out/target/product/gtexswifi/obj/KERNEL_OBJ/usr/include/video/ion_sprd.h:54:2: note: 'ION_SPRD_CUSTOM_MAP' declared here
ION_SPRD_CUSTOM_MAP,
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:638:32: error: variable has incomplete type 'struct ion_kunmap_data'
struct ion_kunmap_data kunmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:638:16: note: forward declaration of 'ion_kunmap_data'
struct ion_kunmap_data kunmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:642:27: error: use of undeclared identifier 'ION_SPRD_CUSTOM_UNMAP_KERNEL'; did you mean 'ION_SPRD_CUSTOM_UNMAP'?
custom_data.cmd = ION_SPRD_CUSTOM_UNMAP_KERNEL;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
ION_SPRD_CUSTOM_UNMAP
/home/aletheia/smt280/out/target/product/gtexswifi/obj/KERNEL_OBJ/usr/include/video/ion_sprd.h:55:2: note: 'ION_SPRD_CUSTOM_UNMAP' declared here
ION_SPRD_CUSTOM_UNMAP,
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:663:30: error: variable has incomplete type 'struct ion_kmap_data'
struct ion_kmap_data kmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:663:16: note: forward declaration of 'ion_kmap_data'
struct ion_kmap_data kmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:667:27: error: use of undeclared identifier 'ION_SPRD_CUSTOM_MAP_KERNEL'; did you mean 'ION_SPRD_CUSTOM_MAP'?
custom_data.cmd = ION_SPRD_CUSTOM_MAP_KERNEL;
^~~~~~~~~~~~~~~~~~~~~~~~~~
ION_SPRD_CUSTOM_MAP
/home/aletheia/smt280/out/target/product/gtexswifi/obj/KERNEL_OBJ/usr/include/video/ion_sprd.h:54:2: note: 'ION_SPRD_CUSTOM_MAP' declared here
ION_SPRD_CUSTOM_MAP,
^
Import includes file: /home/aletheia/smt280/out/target/product/gtexswifi/obj/SHARED_LIBRARIES/libRSCpuRef_intermediates/import_includes
hardware/sprd/libmemion/MemoryHeapIon.cpp:690:32: error: variable has incomplete type 'struct ion_kunmap_data'
struct ion_kunmap_data kunmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:690:16: note: forward declaration of 'ion_kunmap_data'
struct ion_kunmap_data kunmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:694:27: error: use of undeclared identifier 'ION_SPRD_CUSTOM_UNMAP_KERNEL'; did you mean 'ION_SPRD_CUSTOM_UNMAP'?
custom_data.cmd = ION_SPRD_CUSTOM_UNMAP_KERNEL;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
ION_SPRD_CUSTOM_UNMAP
/home/aletheia/smt280/out/target/product/gtexswifi/obj/KERNEL_OBJ/usr/include/video/ion_sprd.h:55:2: note: 'ION_SPRD_CUSTOM_UNMAP' declared here
ION_SPRD_CUSTOM_UNMAP,
^
8 errors generated.
Click to expand...
Click to collapse
You need so sync up the kernel ion drivers and include files with the one used by the gtexslte
Pardon my stupidity, but from your post here with the custom t280 header, how would I go about modifying the degas-mkbootimg command with the permissive kernel that I have?
chiefwigms said:
Pardon my stupidity, but from your post here with the custom t280 header, how would I go about modifying the degas-mkbootimg command with the permissive kernel that I have?
Click to expand...
Click to collapse
best approach I believe would be to leave mkbootimg as is and just create another commandline utility that takes an exisitng boot.img and prepend the T280 header to it. I'll try to create a C program that does it if I have time.
jedld said:
best approach I believe would be to leave mkbootimg as is and just create another commandline utility that takes an exisitng boot.img and prepend the T280 header to it. I'll try to create a C program that does it if I have time.
Click to expand...
Click to collapse
I'll clone your repo & add something to repack the t280 boot.img. Sorry - had to read through that post a few times - didn't realize the seandroid header was at the end of the file..
Kernel question : the zImage I compile is ~ 5 megs (Image is ~12) - when i unpack the stock boot.img (or the ones that @_mone made), they're around ~10 megs. Any ideas?
chiefwigms said:
I'll clone your repo & add something to repack the t280 boot.img. Sorry - had to read through that post a few times - didn't realize the seandroid header was at the end of the file..
Kernel question : the zImage I compile is ~ 5 megs (Image is ~12) - when i unpack the stock boot.img (or the ones that @_mone made), they're around ~10 megs. Any ideas?
Click to expand...
Click to collapse
boot.img also contains the ramdisk aside from the compressed kernel image.
jedld said:
best approach I believe would be to leave mkbootimg as is and just create another commandline utility that takes an exisitng boot.img and prepend the T280 header to it. I'll try to create a C program that does it if I have time.
Click to expand...
Click to collapse
jedld said:
boot.img also contains the ramdisk aside from the compressed kernel image.
Click to expand...
Click to collapse
Right, but I'm talking about zImage.. doesn't that remain untouched?
chiefwigms said:
Right, but I'm talking about zImage.. doesn't that remain untouched?
Click to expand...
Click to collapse
If you are comparing to stock size, samsung might have less flags enabled when they built their kernel as compared to the sources available to us so it could be smaller
jedld said:
If you are comparing to stock size, samsung might have less flags enabled when they built their kernel as compared to the sources available to us so it could be smaller
Click to expand...
Click to collapse
I don't know - I merged most of your def config to mine, and rebuilt stock, _mone, the modified one ive been working on, and your performance_2 branch for the t285 - all the zImages are around 5 MB :
[email protected]:/gtaba# ls -la kernel_samsung_gtexslte/arch/arm/boot/*Image*
-rwxr-xr-x 1 root root 12788984 Aug 26 23:06 kernel_samsung_gtexslte/arch/arm/boot/Image
-rwxr-xr-x 1 root root 5622664 Aug 26 23:06 kernel_samsung_gtexslte/arch/arm/boot/zImage
[email protected]:/gtaba# ls -la android_kernel_samsung_gtexswifi/arch/arm/boot/*Image*
-rwxr-xr-x 1 root root 12516984 Aug 25 21:05 android_kernel_samsung_gtexswifi/arch/arm/boot/Image
-rwxr-xr-x 1 root root 5488912 Aug 25 21:05 android_kernel_samsung_gtexswifi/arch/arm/boot/zImage
chiefwigms said:
I don't know - I merged most of your def config to mine, and rebuilt stock, _mone, the modified one ive been working on, and your performance_2 branch for the t285 - all the zImages are around 5 MB :
[email protected]:/gtaba# ls -la kernel_samsung_gtexslte/arch/arm/boot/*Image*
-rwxr-xr-x 1 root root 12788984 Aug 26 23:06 kernel_samsung_gtexslte/arch/arm/boot/Image
-rwxr-xr-x 1 root root 5622664 Aug 26 23:06 kernel_samsung_gtexslte/arch/arm/boot/zImage
[email protected]:/gtaba# ls -la android_kernel_samsung_gtexswifi/arch/arm/boot/*Image*
-rwxr-xr-x 1 root root 12516984 Aug 25 21:05 android_kernel_samsung_gtexswifi/arch/arm/boot/Image
-rwxr-xr-x 1 root root 5488912 Aug 25 21:05 android_kernel_samsung_gtexswifi/arch/arm/boot/zImage
Click to expand...
Click to collapse
For the gtexslte the size is about similar as well:
[email protected]:~/android-work/kernel/samsung/gtexslte/arch$ ls -la arm/boot/*Image*
-rwxrwxr-x 1 jedld jedld 12672968 Aug 28 07:00 arm/boot/Image
-rwxrwxr-x 1 jedld jedld 5566008 Aug 28 07:00 arm/boot/zImage
jedld said:
For the gtexslte the size is about similar as well:
[email protected]:~/android-work/kernel/samsung/gtexslte/arch$ ls -la arm/boot/*Image*
-rwxrwxr-x 1 jedld jedld 12672968 Aug 28 07:00 arm/boot/Image
-rwxrwxr-x 1 jedld jedld 5566008 Aug 28 07:00 arm/boot/zImage
Click to expand...
Click to collapse
Alright.. I'll try that.. and just to make sure, you repack zImage not image right? Just curious why when I unpack _mone it's 2x the size
Introduction
Hello everyone, this is a thread to introduce both users and kernel developers to the concept of linux-stable as well as give developers some tips and a tree to either merge into their own, use as a base, or just as a reference. Feel free to ask questions and enjoy!
What is it?
linux-stable is, as the name implies, the stable branch of the Linux kernel, the base of Android. The phone could not run without the Linux kernel (at least not without reworking a lot of stuff). The Android kernels are based on the longterm stable trees:
Longterm
There are usually several "longterm maintenance" kernel releases provided for the purposes of backporting bugfixes for older kernel trees. Only important bugfixes are applied to such kernels and they don't usually see very frequent releases, especially for older trees.
Click to expand...
Click to collapse
Source: https://www.kernel.org/category/releases.html
All Linux development happens on the master branch, which is governed by Linus Torvalds. When issues are discovered there, the fixes are applied then backported to these various stable trees for consumption. It is not uncommon for a fix to need to go back a few years.
There is a LOT more information available in the notes repo in the android-linux-stable organization if you care to learn more in-depth: https://github.com/android-linux-stable/notes
What does this mean for me?
If you are a developer, this means you should be merging these changes into your own tree. These are vetted, stable fixes to real world problems and they are being handed out for free. It does not take long to get up to date (as you can just merge this tree directly into your own or do it yourself using the tree as a reference) and once you are up to date, there is usually a release once every two weeks, give or take. I provide a rebuttal to a lot of various complaints here. If you still feel like there is a good reason not to do this, please let me know, I'll be happy to try and debate on it!
If you are a user, it means that you should be looking for and using kernels that have these fixes, as it shows the developers care for your security and stability. The current version for this device is 4.9.65 on OxygenOS 5.x and 4.9.106 on OxygenOS 9.0/Open Beta while the current version upstream is 4.9.135 so all you need to do is go into Settings > About phone and look at the kernel version to know if you are up to date.
How do I use?
If you are a developer, the reference tree is located in the android-linux-stable organization: https://github.com/android-linux-stable/op6
This can either be merged into your existing kernel tree if you have one or be used as a fresh base. You do not need my permission to use it nor do you need to give me credit (although it would be appreciated).
If you are a user, use a kernel that has the changes added in!
Getting notified about updates
There are a few ways to get notified of linux-stable updates:
The linux-kernel-announce mailing list: http://vger.kernel.org/vger-lists.html#linux-kernel-announce
The android-linux-stable Telegram channel: https://t.me/alsupdates
Subscribe to this thread
Follow me on Google+ or Twitter
Getting help
If you have any issues with getting these changes into your tree or want to ask a question, there are a few different ways to do it:
Post in this thread
Join the linux-stable support chat on Telegram: https://t.me/joinchat/C1UAJ1EMSX31PCFdwLnOSg
File an issue either in the android-linux-stable notes repo or the android-linux-stable repo for this device
When requesting help, please give some solid details as to what you are struggling with, as I am happy to provide assistant and clarity but not to do something for you (unless I screwed up).
God damn ! You here ! I'm feeling lucky ! Nexus 6P, Oneplus 5 and now Oneplus 6 damn :')
Thanks for your hard work !
Yea boiii
Imma flashing it rn <3
Thanks
Thank you @nathanchance for your efforts. Much needed for the new 4.9 kernel.
Nice one man!!
Sent from my OnePlus6 using XDA Labs
Who got 1 star ? really ?
btw, @nathanchance you have 5 star from me, good work ,and it is nice to see you here.
As always, good job with informing users , waiting for your kernel
Thanks a lot! :good:
marko94 said:
Who got 1 star ? really ?
btw, @nathanchance you have 5 star from me, good work ,and it is nice to see you here.
As always, good job with informing users , waiting for your kernel
Click to expand...
Click to collapse
Ratings mean absolutely nothing and I feel sorry for anyone who puts any stock in them but thanks
My kernel should be out tonight.
Hey, can you explain me we can install upper kernel version on the last firmware? And how to do it if we can?
Thank and good thread!
Devices : OnePlus 6
4.9.108 has been merged in.
black_file said:
Hey, can you explain me we can install upper kernel version on the last firmware? And how to do it if we can?
Thank and good thread!
Devices : OnePlus 6
Click to expand...
Click to collapse
Flash a kernel that has these changes. At this moment, I am the only one who has done so: https://forum.xda-developers.com/oneplus-6/development/op6-flash-kernel-1-00-t3801652
4.9.109 has been merged in.
Could you please provide instructions on how to flash a kernel?
Earlier, I could just extract the boot.img file from one of the ROM images and then extract+repackage with my built Image.gz-dtb using mkbootimg.
The newer Android ROMs seem to only contain a package.bin file instead.
phenoxis said:
Could you please provide instructions on how to flash a kernel?
Earlier, I could just extract the boot.img file from one of the ROM images and then extract+repackage with my built Image.gz-dtb using mkbootimg.
The newer Android ROMs seem to only contain a package.bin file instead.
Click to expand...
Click to collapse
Easiest way is to temporarily boot TWRP on stock then run
Code:
adb shell dd if=/dev/block/bootdevice/by-name/boot$(getprop ro.boot.slot_suffix) of=/tmp/boot.img
adb pull /tmp/boot.img .
then just unpack like you have before.
Sent from my Pixel 2 XL using XDA Labs
nathanchance said:
Easiest way is to temporarily boot TWRP on stock then run
Code:
adb shell dd if=/dev/block/bootdevice/by-name/boot$(getprop ro.boot.slot_suffix) of=/tmp/boot.img
adb pull /tmp/boot.img .
then just unpack like you have before.
Click to expand...
Click to collapse
I followed your advice with both the original OnePlus 6 kernel source and your android-linux-stable repo. I was able to build the kernel, repack it and flash it, but with both repos, the device is sitting with the bootanimation for about half hour or so. Do both repositories need additional work before it can boot?
I packaged boot.img with the following command:
Code:
mkbootimg --base 0 --pagesize 4096 --kernel_offset 0x00008000 --ramdisk_offset 0x01000000
--second_offset 0x00f00000 --tags_offset 0x00000100
--cmdline 'androidboot.hardware=qcom androidboot.console=ttyMSM0 video=vfb:640x400,bpp=32,memsize=3072000
msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 swiotlb=2048
androidboot.configfs=true androidboot.usbcontroller=a600000.dwc3 buildvariant=user' --kernel kernel --ramdisk ramdisk -o boot_1.img
phenoxis said:
I followed your advice with both the original OnePlus 6 kernel source and your android-linux-stable repo. I was able to build the kernel, repack it and flash it, but with both repos, the device is sitting with the bootanimation for about half hour or so. Do both repositories need additional work before it can boot?
I packaged boot.img with the following command:
Code:
mkbootimg --base 0 --pagesize 4096 --kernel_offset 0x00008000 --ramdisk_offset 0x01000000
--second_offset 0x00f00000 --tags_offset 0x00000100
--cmdline 'androidboot.hardware=qcom androidboot.console=ttyMSM0 video=vfb:640x400,bpp=32,memsize=3072000
msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 swiotlb=2048
androidboot.configfs=true androidboot.usbcontroller=a600000.dwc3 buildvariant=user' --kernel kernel --ramdisk ramdisk -o boot_1.img
Click to expand...
Click to collapse
They shouldn't... Did you use Image.gz-dtb as the kernel?
nathanchance said:
They shouldn't... Did you use Image.gz-dtb as the kernel?
Click to expand...
Click to collapse
Yes, I'm certain I did.
My full script is:
Code:
unmkbootimg --kernel kernel --ramdisk ramdisk -i boot.img.bk #This is what I obtained from your dd if=... of=/tmp/boot.img command
cp /android/kernel/opo6-stable/arch/arm64/boot/Image.gz-dtb kernel
mkbootimg --base 0 --pagesize 4096 --kernel_offset 0x00008000 --ramdisk_offset 0x01000000
--second_offset 0x00f00000 --tags_offset 0x00000100
--cmdline 'androidboot.hardware=qcom androidboot.console=ttyMSM0 video=vfb:640x400,bpp=32,memsize=3072000
msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 swiotlb=2048
androidboot.configfs=true androidboot.usbcontroller=a600000.dwc3 buildvariant=user'
--kernel kernel --ramdisk ramdisk -o boot_1.img
fastboot flash boot boot_1.img
phenoxis said:
Yes, I'm certain I did.
My full script is:
Code:
unmkbootimg --kernel kernel --ramdisk ramdisk -i boot.img.bk #This is what I obtained from your dd if=... of=/tmp/boot.img command
cp /android/kernel/opo6-stable/arch/arm64/boot/Image.gz-dtb kernel
mkbootimg --base 0 --pagesize 4096 --kernel_offset 0x00008000 --ramdisk_offset 0x01000000
--second_offset 0x00f00000 --tags_offset 0x00000100
--cmdline 'androidboot.hardware=qcom androidboot.console=ttyMSM0 video=vfb:640x400,bpp=32,memsize=3072000
msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 swiotlb=2048
androidboot.configfs=true androidboot.usbcontroller=a600000.dwc3 buildvariant=user'
--kernel kernel --ramdisk ramdisk -o boot_1.img
fastboot flash boot boot_1.img
Click to expand...
Click to collapse
Try using this boot image: https://nathanchance.me/downloads/kernels/op6/stock/oos-5.1.8-boot.img
You may also check out Android Image Kitchen too, that's what I used before TWRP.
First, thanks a ton for taking the time to help me out.
I tried unpacking/repacking with your boot.img file, and that didn't work either. However, your boot.img itself works just fine.
I just realized that my build produces a ton of warnings.
Code:
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/qcom,[email protected] has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/qcom,[email protected] has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/qcom,[email protected] has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/qcom,[email protected] has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/[email protected] has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/[email protected] has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
...
This is probably why my kernels are failing to boot. I'm essentially following the instructions you laid out on the github issue for this kernel.
Code:
export ARCH=arm64
export CROSS_COMPILE=/android/projects/cross-compile/aarch64-linux-android-4.9/bin/aarch64-linux-android-
make O=out sdm845-perf_defconfig
./scripts/config --file ./out/.config -e BUILD_ARM64_DT_OVERLAY
make O=out olddefconfig
make O=out DTC_EXT=dtc -j16
Following the comments in that issue, I'm running archlinux with the following software versions:
gcc
Code:
[email protected]:/android/kernel/opo6-stable$ gcc --version
gcc (GCC) 8.1.1 20180531
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
dtc
Code:
[email protected]:/android/kernel/opo6-stable$ dtc --version
Version: DTC 1.4.6
phenoxis said:
First, thanks a ton for taking the time to help me out.
I tried unpacking/repacking with your boot.img file, and that didn't work either. However, your boot.img itself works just fine.
I just realized that my build produces a ton of warnings.
Code:
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/qcom,[email protected] has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/qcom,[email protected] has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/qcom,[email protected] has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/qcom,[email protected] has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/[email protected] has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/[email protected] has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
...
This is probably why my kernels are failing to boot. I'm essentially following the instructions you laid out on the github issue for this kernel.
Code:
export ARCH=arm64
export CROSS_COMPILE=/android/projects/cross-compile/aarch64-linux-android-4.9/bin/aarch64-linux-android-
make O=out sdm845-perf_defconfig
./scripts/config --file ./out/.config -e BUILD_ARM64_DT_OVERLAY
make O=out olddefconfig
make O=out DTC_EXT=dtc -j16
Following the comments in that issue, I'm running archlinux with the following software versions:
gcc
Code:
[email protected]:/android/kernel/opo6-stable$ gcc --version
gcc (GCC) 8.1.1 20180531
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
dtc
Code:
[email protected]:/android/kernel/opo6-stable$ dtc --version
Version: DTC 1.4.6
Click to expand...
Click to collapse
That's normal, I've hidden all of the warnings.
https://github.com/nathanchance/op6/commits/1d0f0ea36c0814efa36ef8b5c0c1ad9cb74cfe81
Those were the commits I used for my first boot. There is nothing in there that should be necessary to boot, just to make certain things work.
4.9.110 has been merged in.