has anyone here rebuilt the CM10 nightly kernel before? I am trying to rebuild it and install it myself (which I've done on many other devices), but for some reason after installing my kernel I'm getting stuck in a bootloop.
I have a SGS3 AT&T, but from what I've read all US versions use a unified kernel. By digging through the Cyanogenmod github repositories, I found that this is the CM10 kernel:
https://github.com/CyanogenMod/android_kernel_samsung_d2
The kernel configuration that it ends up using is: cyanogen_d2_defconfig ... so to build the kernel I do:
Code:
make ARCH=arm clean
make ARCH=arm cyanogen_d2_defconfig
make -j2 ARCH=arm CROSS_COMPILE=arm-eabi-
Now, I need to create boot.img and pack the ramdisk. I extracted the ramdisk from one of the CM10 nightlies, and I do:
Code:
./mkbootfs ramdisk | gzip > ramdisk.gz
cp arch/arm/boot/zImage .
./mkbootimg --kernel zImage --ramdisk ramdisk.gz --cmdline "androidboot.hardware=qcom user_debug=31" -o boot.img --base 0x80200000 --pagesize 2048
I got the command line using unpackbootimg:
Code:
$ ../unpackbootimg -i boot.img
BOARD_KERNEL_CMDLINE androidboot.hardware=qcom user_debug=31
BOARD_KERNEL_BASE 80200000
BOARD_PAGE_SIZE 2048
Finally, I took the updater script from this kernel, replacing its boot.img with my boot.img, as well as placing my kernel modules in system/lib/modules. In the end, I have no created the following update zip file to flash in CWM. Feel free to download it and verify the updater script, however here is the updater code:
Code:
show_progress(0.500000, 0);
mount("ext4", "EMMC", "/dev/block/mmcblk0p14", "/system");
package_extract_dir("system", "/system");
unmount("/system");
assert(package_extract_file("boot.img", "/cache/boot.img"),
write_raw_image("/cache/boot.img", "/dev/block/mmcblk0p7"),
delete("/cache/boot.img"));
show_progress(0.100000, 0);
But like I said, whenever I go to install this kernel it just gives me a bootloop, so something doesn't seem right. I get no errors/warnings when building the kernel, I extracted the ramdisk correctly... can anyone pick out something I'm missing? maybe mkbootimg?
Thanks!
Why do you need to do this?
Sent from my SGH-I747 using xda app-developers app
because I'm creating a custom kernel, and I figured before I modified it I would just try a simple rebuild...
Look at my repo and match up everything or just use it whole and create the folders for Package and Ramdisk that it wants, then replace the toolchain/cross_compile that I use with the path of yours.
Build script:
https://github.com/ktoonsez/KT747-JB/blob/jellybean/build_d2att_aosp.sh
Alos replace your existing "mkbootfs" and "mkbootimg" files with mine.
thanks a bunch for the pointer to your scripts! I am now using your mkbootfs and mkbootimg, and I also noticed that you included the following in your mkbootimg, which I didn't:
Code:
--ramdiskaddr 0x81500000
So, I added this and now I actually boot but my screen is not working I get the Samsung logo, then the Samsung Galaxy SIII boot screen, then my screen never turns on. I am able to grab dmesg and logcat now though, so I am digging through to narrow down the problem as I continue to go through your scripts!
if I don't want to overclock with my kernel, can I skip including 00post-init.sh which runs these commands:
Code:
#Set governor items
echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq;
echo 1512000 > /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq;
echo 1512000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo $(date) END of post-init.sh
I was trying to jump on the bandwagon and build KT747 but I encounter the following errors:
Code:
/home/trevor/programming/android/linaro4.7/bin/arm-eabi-ld: error: arch/arm/boot/compressed/piggy.gzip.o: unknown CPU architecture
/home/trevor/programming/android/linaro4.7/bin/arm-eabi-ld: error: arch/arm/boot/compressed/lib1funcs.o: unknown CPU architecture
/home/trevor/programming/android/linaro4.7/bin/arm-eabi-ld: error: arch/arm/boot/compressed/ashldi3.o: unknown CPU architecture
Anyone know why this is happening? I am using GCC 4.7 and the appropriate toolchain. More detailed log: http://pastebin.com/Kb3PWYtq
so I am still having issues where my phone goes through the entire boot process, but my screen does not re-activate after the Samsung Galaxy SIII logo. So I never end up seeing the Cyanogen animation.
Here are relevant logs:
No screen logcat: http://pastebin.com/W4v6Xk9g
No screen dmesg: http://pastebin.com/ydGtj216
With screen logcat: http://pastebin.com/DjENx2gE
With screen dmesg: http://pastebin.com/f3sAzjZa
The "with screen" cases are using the prebuilt CM10 nightlies
Rocket Nine said:
I was trying to jump on the bandwagon and build KT747 but I encounter the following errors:
Code:
/home/trevor/programming/android/linaro4.7/bin/arm-eabi-ld: error: arch/arm/boot/compressed/piggy.gzip.o: unknown CPU architecture
/home/trevor/programming/android/linaro4.7/bin/arm-eabi-ld: error: arch/arm/boot/compressed/lib1funcs.o: unknown CPU architecture
/home/trevor/programming/android/linaro4.7/bin/arm-eabi-ld: error: arch/arm/boot/compressed/ashldi3.o: unknown CPU architecture
Anyone know why this is happening? I am using GCC 4.7 and the appropriate toolchain. More detailed log: http://pastebin.com/Kb3PWYtq
Click to expand...
Click to collapse
where did you download your linaro 4.7 binaries from?
Components > Android > android-toolchain 4.7 (ICS, JB)
http://www.linaro.org/downloads/
Sent from my SAMSUNG-SGH-I747 using xda app-developers app
Rocket Nine said:
Components > Android > android-toolchain 4.7 (ICS, JB)
http://www.linaro.org/downloads/
Sent from my SAMSUNG-SGH-I747 using xda app-developers app
Click to expand...
Click to collapse
thanks! So, in another thread ktoonsez said to use the :June 2012 build. That one seems to be from September. Here is the June link:
http://releases.linaro.org/12.06/co...12.06-3-2012-06-19_14-52-07-linux-x86.tar.bz2
using the June toolchain, the kernel almost builds entirely successfully until the last few links when I get these errors:
Code:
SYSMAP System.map
SYSMAP .tmp_System.map
OBJCOPY arch/arm/boot/Image
Building modules, stage 2.
MODPOST 13 modules
Kernel: arch/arm/boot/Image is ready
CC arch/arm/mach-msm/dma_test.mod.o
AS arch/arm/boot/compressed/head.o
GZIP arch/arm/boot/compressed/piggy.gzip
CC arch/arm/mach-msm/msm-buspm-dev.mod.o
CC arch/arm/mach-msm/reset_modem.mod.o
CC crypto/ansi_cprng.mod.o
CC drivers/crypto/msm/qce40.mod.o
CC drivers/crypto/msm/qcedev.mod.o
CC drivers/crypto/msm/qcrypto.mod.o
CC drivers/input/evbug.mod.o
CC drivers/media/video/gspca/gspca_main.mod.o
CC drivers/net/wireless/bcmdhd/dhd.mod.o
CC drivers/net/wireless/btlock/btlock.mod.o
CC drivers/scsi/scsi_wait_scan.mod.o
CC drivers/spi/spidev.mod.o
LD [M] arch/arm/mach-msm/dma_test.ko
CC arch/arm/boot/compressed/misc.o
LD [M] arch/arm/mach-msm/msm-buspm-dev.ko
LD [M] arch/arm/mach-msm/reset_modem.ko
LD [M] crypto/ansi_cprng.ko
LD [M] drivers/crypto/msm/qce40.ko
LD [M] drivers/crypto/msm/qcedev.ko
LD [M] drivers/crypto/msm/qcrypto.ko
LD [M] drivers/input/evbug.ko
LD [M] drivers/media/video/gspca/gspca_main.ko
LD [M] drivers/net/wireless/bcmdhd/dhd.ko
CC arch/arm/boot/compressed/decompress.o
LD [M] drivers/net/wireless/btlock/btlock.ko
LD [M] drivers/scsi/scsi_wait_scan.ko
LD [M] drivers/spi/spidev.ko
CC arch/arm/boot/compressed/string.o
SHIPPED arch/arm/boot/compressed/lib1funcs.S
SHIPPED arch/arm/boot/compressed/ashldi3.S
AS arch/arm/boot/compressed/piggy.gzip.o
AS arch/arm/boot/compressed/lib1funcs.o
AS arch/arm/boot/compressed/ashldi3.o
LD arch/arm/boot/compressed/vmlinux
/home/owner/Documents/android-wmon/core/linaro-android-toolchain/bin/arm-eabi-ld: error: DIV usage mismatch between arch/arm/boot/compressed/misc.o and output
/home/owner/Documents/android-wmon/core/linaro-android-toolchain/bin/arm-eabi-ld: error: DIV usage mismatch between arch/arm/boot/compressed/lib1funcs.o and output
make[2]: *** [arch/arm/boot/compressed/vmlinux] Error 1
make[1]: *** [arch/arm/boot/compressed/vmlinux] Error 2
hedpe said:
using the June toolchain, the kernel almost builds entirely successfully until the last few links when I get these errors:
Code:
SYSMAP System.map
SYSMAP .tmp_System.map
OBJCOPY arch/arm/boot/Image
Building modules, stage 2.
MODPOST 13 modules
Kernel: arch/arm/boot/Image is ready
CC arch/arm/mach-msm/dma_test.mod.o
AS arch/arm/boot/compressed/head.o
GZIP arch/arm/boot/compressed/piggy.gzip
CC arch/arm/mach-msm/msm-buspm-dev.mod.o
CC arch/arm/mach-msm/reset_modem.mod.o
CC crypto/ansi_cprng.mod.o
CC drivers/crypto/msm/qce40.mod.o
CC drivers/crypto/msm/qcedev.mod.o
CC drivers/crypto/msm/qcrypto.mod.o
CC drivers/input/evbug.mod.o
CC drivers/media/video/gspca/gspca_main.mod.o
CC drivers/net/wireless/bcmdhd/dhd.mod.o
CC drivers/net/wireless/btlock/btlock.mod.o
CC drivers/scsi/scsi_wait_scan.mod.o
CC drivers/spi/spidev.mod.o
LD [M] arch/arm/mach-msm/dma_test.ko
CC arch/arm/boot/compressed/misc.o
LD [M] arch/arm/mach-msm/msm-buspm-dev.ko
LD [M] arch/arm/mach-msm/reset_modem.ko
LD [M] crypto/ansi_cprng.ko
LD [M] drivers/crypto/msm/qce40.ko
LD [M] drivers/crypto/msm/qcedev.ko
LD [M] drivers/crypto/msm/qcrypto.ko
LD [M] drivers/input/evbug.ko
LD [M] drivers/media/video/gspca/gspca_main.ko
LD [M] drivers/net/wireless/bcmdhd/dhd.ko
CC arch/arm/boot/compressed/decompress.o
LD [M] drivers/net/wireless/btlock/btlock.ko
LD [M] drivers/scsi/scsi_wait_scan.ko
LD [M] drivers/spi/spidev.ko
CC arch/arm/boot/compressed/string.o
SHIPPED arch/arm/boot/compressed/lib1funcs.S
SHIPPED arch/arm/boot/compressed/ashldi3.S
AS arch/arm/boot/compressed/piggy.gzip.o
AS arch/arm/boot/compressed/lib1funcs.o
AS arch/arm/boot/compressed/ashldi3.o
LD arch/arm/boot/compressed/vmlinux
/home/owner/Documents/android-wmon/core/linaro-android-toolchain/bin/arm-eabi-ld: error: DIV usage mismatch between arch/arm/boot/compressed/misc.o and output
/home/owner/Documents/android-wmon/core/linaro-android-toolchain/bin/arm-eabi-ld: error: DIV usage mismatch between arch/arm/boot/compressed/lib1funcs.o and output
make[2]: *** [arch/arm/boot/compressed/vmlinux] Error 1
make[1]: *** [arch/arm/boot/compressed/vmlinux] Error 2
Click to expand...
Click to collapse
I am having the same errors now but this post apparently has a fix. Trying now.
Rocket Nine said:
I am having the same errors now but this post apparently has a fix. Trying now.
Click to expand...
Click to collapse
thanks! tried that fix but getting some memcpy issue despite string.h being included... still digging!
hedpe said:
thanks! tried that fix but getting some memcpy issue despite string.h being included... still digging!
Click to expand...
Click to collapse
Try replacing your arch/arm/boot/compressed/Makefile with this http://pastebin.com/J0m6ka26
It compiles successfully now :good:
Rocket Nine said:
Try replacing your arch/arm/boot/compressed/Makefile with this http://pastebin.com/J0m6ka26
It compiles successfully now :good:
Click to expand...
Click to collapse
Thanks bud! I'm having one last error, not sure if it was an issue with your paste:
Code:
/home/owner/Documents/android-wmon/core/KT747-JB/arch/arm/boot/compressed/Makefile:112: *** missing separator. Stop.
make[1]: *** [arch/arm/boot/compressed/vmlinux] Error 2
Here is the relevant part of the Makefile:
Code:
$(addprefix $(obj)/,$(libfdt) $(libfdt_hdrs)): $(obj)/%: $(srctree)/scripts/dtc/libfdt/%
$(call cmd,shipped) <----- this is line 112
The odd thing is that this exists in the original Makefile unmodified
----
EDIT: Sorry! I got this working now, it was an issue with tabs/spaces from copying and pasting
I believe that is caused by wrong indentation. Did you copy the code from the webpage? My browser (Chrome) copies the tabs as spaces. Try downloading the paste and flat out replace the file with it.
I copied the META-INF folder out of a KT747 zip to my build and according to TWRP it flashes successfully. Now we are on the same page with the boot loop.
Rocket Nine said:
I believe that is caused by wrong indentation. Did you copy the code from the webpage? My browser (Chrome) copies the tabs as spaces. Try downloading the paste and flat out replace the file with it.
I copied the META-INF folder out of a KT747 zip to my build and according to TWRP it flashes successfully. Now we are on the same page with the boot loop.
Click to expand...
Click to collapse
Thanks a bunch! I got it to build successfully.
I'm officially dumbfounded. I no longer get the bootloop in either one of my kernels (stock CM10 or the KT747 rebuild), but in both cases my phone boots without the display working. I have NO clue why my display doesn't work when I rebuild these kernels.
Let me help you get your bootloop fixed though first... then I'm curious if your screen will work.
I think what was causing my bootloop was a lack of this parameter when using mkbootfs:
Code:
--ramdiskaddr 0x81500000
However, if you're using ktoosez script, that should already be included. Also, make sure to clear your cache, dalvik, and fix permissions.
also, come to #cyanogenmod on irc.freenode.net, we might be able to work through this more quickly there
finalllyyyyy i have a display working! Apparently I was using too old of a version of userspace that did not match with my kernel. So my nightly was too old with the kernel rebuilds I was using. Let me know if you still have issues.
Related
did someone could provide a minimal guide for compile kernel ? got some problem with using gcc prebuilt in samsung source. can you tell what defconfig you used ?
once used defconfig versatile_defconfig and .config saved i have got the following error:
[email protected]:~/Downloads/android-source/GalaxyS/linux-2.6.29# make ARCH=arm CROSS_C
OMPILE=/root/Downloads/android-source/opensrc/prebuilt/linux-x86/toolchain/arm-e
abi-4.2.1/bin/arm-eabi-
CHK include/linux/version.h
make[1]: `include/asm-arm/mach-types.h' is up to date.
CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-arm
CALL scripts/checksyscalls.sh
<stdin>:1097:2: warning: #warning syscall fadvise64 not implemented
<stdin>:1265:2: warning: #warning syscall migrate_pages not implemented
<stdin>:1321:2: warning: #warning syscall pselect6 not implemented
<stdin>:1325:2: warning: #warning syscall ppoll not implemented
<stdin>:1365:2: warning: #warning syscall epoll_pwait not implemented
CC init/main.o
In file included from init/main.c:79:
include/linux/kernel_sec_common.h:9:22: error: mach/map.h: No such file or direc
tory
include/linux/kernel_sec_common.h:10:29: error: plat/regs-clock.h: No such file
or directory
make[1]: *** [init/main.o] Error 1
make: *** [init] Error 2
I tried also with s3c6400_config with the following error:
[email protected]:~/Downloads/android-source/GalaxyS/linux-2.6.29# make ARCH=arm CROSS_C
OMPILE=/root/Downloads/android-source/opensrc/prebuilt/linux-x86/toolchain/arm-e
abi-4.2.1/bin/arm-eabi-
scripts/kconfig/conf -s arch/arm/Kconfig
net/ipv6/netfilter/Kconfig:165:warning: config symbol defined without type
CHK include/linux/version.h
Generating include/asm-arm/mach-types.h
CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-arm
CC kernel/bounds.s
GEN include/linux/bounds.h
CC arch/arm/kernel/asm-offsets.s
GEN include/asm/asm-offsets.h
CALL scripts/checksyscalls.sh
<stdin>:1097:2: warning: #warning syscall fadvise64 not implemented
<stdin>:1265:2: warning: #warning syscall migrate_pages not implemented
<stdin>:1321:2: warning: #warning syscall pselect6 not implemented
<stdin>:1325:2: warning: #warning syscall ppoll not implemented
<stdin>:1365:2: warning: #warning syscall epoll_pwait not implemented
CC scripts/mod/empty.o
HOSTCC scripts/mod/mk_elfconfig
MKELF scripts/mod/elfconfig.h
HOSTCC scripts/mod/file2alias.o
HOSTCC scripts/mod/modpost.o
HOSTCC scripts/mod/sumversion.o
HOSTLD scripts/mod/modpost
HOSTCC scripts/ihex2fw
HOSTCC scripts/kallsyms
HOSTCC scripts/conmakehash
CC init/main.o
CHK include/linux/compile.h
UPD include/linux/compile.h
CC init/version.o
CC init/do_mounts.o
CC init/do_mounts_rd.o
CC init/do_mounts_initrd.o
LD init/mounts.o
CC init/initramfs.o
CC init/calibrate.o
LD init/built-in.o
HOSTCC usr/gen_init_cpio
GEN usr/initramfs_data.cpio.gz
AS usr/initramfs_data.o
LD usr/built-in.o
CC arch/arm/kernel/compat.o
CC arch/arm/kernel/elf.o
AS arch/arm/kernel/entry-armv.o
AS arch/arm/kernel/entry-common.o
CC arch/arm/kernel/irq.o
CC arch/arm/kernel/process.o
arch/arm/kernel/process.c: In function 'arm_machine_restart':
arch/arm/kernel/process.c:107: error: 'S5P_INFORM5' undeclared (first use in thi
s function)
arch/arm/kernel/process.c:107: error: (Each undeclared identifier is reported on
ly once
arch/arm/kernel/process.c:107: error: for each function it appears in.)
make[1]: *** [arch/arm/kernel/process.o] Error 1
make: *** [arch/arm/kernel] Error 2
How about pulling the config directly from the device, did you try that? (BTW I didn't get to compiling just yet, I only have SGS for two busy days now, so no direct experience yet, just asking).
Case_ said:
How about pulling the config directly from the device, did you try that? (BTW I didn't get to compiling just yet, I only have SGS for two busy days now, so no direct experience yet, just asking).
Click to expand...
Click to collapse
dont know if and where the config is stored on SGS, apparently theres no .config
I have downloaded the AOSP eclair build and am trying to compile it.
It's still compiling.
I believe(stress on believe) you have to download the Samsung firmware from wesgamer and he has a sh file that gets rid of dream and other htc code.
Also he might have a different config
I am not experienced at android rom compiling.
Please take extreme care with whatever you do.
HOLY CRAP!!! I'm so sorry. I must have missed the readme.txt
Follow neldar.
If you have the latest sourcecode from opensource.samsung.com
then you should take a look into the README.txt and build_kernel.sh.
Everything you need to know to successfully build the kernel + modules is described in these files.
husq510 said:
dont know if and where the config is stored on SGS, apparently theres no .config
Click to expand...
Click to collapse
Yeah, sorry, I thought it could be pulled from /proc/config.gz as usual and didn't verify, but as I see now with adb, apparently Samsung has this disabled in their kernel.
I've compiled the kernel as per the readme file, but after I flash it, I get a kernel panic. Are there any other steps needed that are not in the readme? The kernel I created is around 2.5mb
vibez said:
I've compiled the kernel as per the readme file, but after I flash it, I get a kernel panic. Are there any other steps needed that are not in the readme? The kernel I created is around 2.5mb
Click to expand...
Click to collapse
you need the initramfs (contains the initial / with drivers and other stuff). check out this http://forum.samdroid.net/wiki/show...amsung+Spica+i5700?highlight=zImage+initramfs it's not for the i9000 but it works like that. you just have to take the other initramfs.
hope this helps, i just got it finished here myself
edit:
* my zImage is 6051460 bytes ...
* the right initramfs is also on leshak's git. explanation is on samdroid.net
Hi there,
I 've followed the instrucions in the README.txt.
No errors, but my zImage is just 2.5 mb
I assume the .config which is in the linux-2.6.29 directory is default one.The only change I made is to enable USB_ETH for RNDIS support.
make menuconfig
then
build kernel
Am i missing something?
I recompiled serveral time the linux kernel on standard computers, this time it might need a different setup.
thanks
Found that there is this useful discussion already
http://forum.xda-developers.com/showthread.php?t=727357
gettons said:
I 've followed the instrucions in the README.txt.
No errors, but my zImage is just 2.5 mb
I assume the .config which is in the linux-2.6.29 directory is default one.The
...
Am i missing something?
Click to expand...
Click to collapse
please read before posting! you are missing initramfs as i wrote in my post above yours!
I'm getting confused with the linking of capela_defconfig
Can anyone explain in more detail please
EDIT: Ok it seems the build script is overwriting whatever I set in the .config file
EDIT 2 Ok it seems .config gets overwritten by contents of arc/arm/configs/aries_rev03_defconfig
So I added the 3 lines about initramfs to the aries_rev03_defconfig and changed the path to now point towards the source downloaded from github. Compiling now....
ups. sorry. delete plz anyone?
Ok it seems the build script is overwriting whatever I set in the .config file
Click to expand...
Click to collapse
yeah i had this too so i didn't use the build_kernel.sh script. just make ARCH=arm CROSS_COMPILE=tool-chain-path_and_prefix after make menuconfig. worked like a charm. have you tried to boot your kernel yet?
No I still get a file 2.5mb in size
Can you point me in the right direction?
Which config file are you using?
anyone has a mirror of the source code #2 posted sometime back? samsung hv removed from their site.. dont know if the current source code is the old or new code (#2)..
vibez said:
No I still get a file 2.5mb in size
Can you point me in the right direction?
Which config file are you using?
Click to expand...
Click to collapse
i did a "./build_kernel.sh Clean"
then i made "make menuconfig" and set the initramfs from leshak. you have to modify the initrd.arm.initramfs_list file to fit your file tree.
after that i did the make .... in the "linux-2.6.29" directory
edit: i did not change the .config file!
raspdeep said:
anyone has a mirror of the source code #2 posted sometime back? samsung hv removed from their site.. dont know if the current source code is the old or new code (#2)..
Click to expand...
Click to collapse
i think the currently available code is the newest one. it's slightly bigger and contains the build scripts/readme etc. additionally i had problems with uncompressing the code with the linux zip program. i suspect the archive was damaged somehow...
mine is 6MB, using the .config default and leshak initramfs and just make ARCH=arm CROSS_COMPILE=path-gcc
didnt use build_kernel.sh at all.
If you want to change the .config, then you should run once build_kernel.sh and then comment out line 75 in build_kernel.sh , like this:
Code:
#make ARCH=arm $PROJECT_NAME"_rev"$HW_BOARD_REV"_defconfig"
This will keep your .config and you could still use build_kernel.sh.
neldar said:
If you want to change the .config, then you should run once build_kernel.sh and then comment out line 75 in build_kernel.sh , like this:
Code:
#make ARCH=arm $PROJECT_NAME"_rev"$HW_BOARD_REV"_defconfig"
This will keep your .config and you could still use build_kernel.sh.
Click to expand...
Click to collapse
Thanks, I've commented out that line and it seems to be actually trying to load initramfs now
you have to modify the initrd.arm.initramfs_list file to fit your file tree.
Click to expand...
Click to collapse
Ah, I didn't realise the contents of this file needed to be edited too (I see now it's pointed to leshak's folder tree). So i've made the changes to point to my initramfs dir and recompiling now. Fingers crossed this time.....
EDIT
Success! I now have an image 6003928 bytes in size Thanks for all the help!
Right, any tips on how to patch in ext4 support?
i flashed my kernel before and it does work quite well. i am not able to root with the update.zip however. adb gives me root access to the device but i can not get root directly on the phone (#su gives me "su: uid 10085 not allowed to su"). this is quite strange because the root methods works well with the stock kernel...hm
Okay I've been reading and reading and finally got all the tools to build a kernel from the source that Samsung had on their site for DJ30. Since these are very identical to the other galaxy s devices they should overclock decently. Will report with more progress later.
-------------------------
Status - Downloaded source and repo and building configuration to make kernel.
Sent from my SPH-P100 using XDA App
Interested in your development... my Sprint Tab arrives tomorrow, decided to give it a 30 day try before I try the Nook Color.
Doesn't appear to be a lot of development yet, hoping to see that change.
One question, is the Zroot method still the preferred method to rooting the device?
I used superoneclick 1.5.5
Sent from my SPH-P100 using XDA App
------------------------------------------------------------
Trying to compile a test kernel to make sure everything is going to work correctly and running into this crazy error if any of the dev's can chime in please do I already installed all the repo's and linked them.
[email protected]:~/.Tab_Kernel_sources/Kernel$ make ARCH=arm CROSS_COMPILE=../home/max/GalaxyTab/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/
make: ../home/max/GalaxyTab/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/gcc: Command not found
CHK include/linux/version.h
make[1]: `include/asm-arm/mach-types.h' is up to date.
CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-arm
CC kernel/bounds.s
/bin/sh: ../home/max/GalaxyTab/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/gcc: not found
make[1]: *** [kernel/bounds.s] Error 127
make: *** [prepare0] Error 2
seems like you're missing (a part of) the gcc compiler... the part to compile for ARM it would seem...
maxjivi05 said:
I used superoneclick 1.5.5
Sent from my SPH-P100 using XDA App
------------------------------------------------------------
Trying to compile a test kernel to make sure everything is going to work correctly and running into this crazy error if any of the dev's can chime in please do I already installed all the repo's and linked them.
[email protected]:~/.Tab_Kernel_sources/Kernel$ make ARCH=arm CROSS_COMPILE=../home/max/GalaxyTab/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/
make: ../home/max/GalaxyTab/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/gcc: Command not found
CHK include/linux/version.h
make[1]: `include/asm-arm/mach-types.h' is up to date.
CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-arm
CC kernel/bounds.s
/bin/sh: ../home/max/GalaxyTab/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/gcc: not found
make[1]: *** [kernel/bounds.s] Error 127
make: *** [prepare0] Error 2
Click to expand...
Click to collapse
Made it a bit farther, got that error fixed had to install lsb along with a few other things now I'm sitting on this error. Any and all help is greatly appreciated! We can get this working!
------------------------------------
[email protected]:~/.Tab_Kernel_sources/Kernel$ make
CHK include/linux/version.h
make[1]: `include/asm-arm/mach-types.h' is up to date.
CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-arm
CC kernel/bounds.s
GEN include/linux/bounds.h
CC arch/arm/kernel/asm-offsets.s
GEN include/asm/asm-offsets.h
CALL scripts/checksyscalls.sh
HOSTCC scripts/genksyms/genksyms.o
SHIPPED scripts/genksyms/lex.c
SHIPPED scripts/genksyms/parse.h
SHIPPED scripts/genksyms/keywords.c
HOSTCC scripts/genksyms/lex.o
SHIPPED scripts/genksyms/parse.c
HOSTCC scripts/genksyms/parse.o
HOSTLD scripts/genksyms/genksyms
CC scripts/mod/empty.o
HOSTCC scripts/mod/mk_elfconfig
MKELF scripts/mod/elfconfig.h
HOSTCC scripts/mod/file2alias.o
HOSTCC scripts/mod/modpost.o
scripts/mod/modpost.c: In function ‘get_markers’:
scripts/mod/modpost.c:1562: warning: ignoring return value of ‘asprintf’, declared with attribute warn_unused_result
scripts/mod/modpost.c: In function ‘add_marker’:
scripts/mod/modpost.c:1982: warning: ignoring return value of ‘asprintf’, declared with attribute warn_unused_result
HOSTCC scripts/mod/sumversion.o
HOSTLD scripts/mod/modpost
HOSTCC scripts/selinux/mdp/mdp
HOSTCC scripts/kallsyms
scripts/kallsyms.c: In function ‘read_symbol’:
scripts/kallsyms.c:112: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result
HOSTCC scripts/conmakehash
CC init/main.o
In file included from init/main.c:85:
include/linux/kernel_sec_common.h:7:22: error: mach/map.h: No such file or directory
include/linux/kernel_sec_common.h:8:29: error: mach/regs-clock.h: No such file or directory
make[1]: *** [init/main.o] Error 1
make: *** [init] Error 2
[email protected]:~/.Tab_Kernel_sources/Kernel$ make ARCH=arm CROSS_COMPILE=../home/max/GalaxyTab/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/
make: ../home/max/GalaxyTab/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/gcc: Command not found
CHK include/linux/version.h
make[1]: `include/asm-arm/mach-types.h' is up to date.
CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-arm
CC kernel/bounds.s
/bin/sh: ../home/max/GalaxyTab/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/gcc: not found
make[1]: *** [kernel/bounds.s] Error 127
make: *** [prepare0] Error 2
I'm not a dev, but I sure can test on my sprint tablet
I have a Linux blade at home, what are the tools necessary to compile from source, and what repo are you using for the sprint tab drivers and such?
Simple solution here is that you are missing GCC or have an incorrect version installed. I wrote a how to compile thread in the Streak section a few months bak ill dig it up and post it here.
try
apt-get install build-essential
Already installed build essential.
Sent from my SPH-P100 using XDA App
The readme file tells you where to get the compiler from, decompress it to /opt/toolchain.
And this thread has pretty good explanations on how to build the kernel http://forum.xda-developers.com/showthread.php?t=837170
A little farther int he process of getting this sucker compiled... Got this error now... *I forgot how much of a pain it was to go through setting things up perfectly! lol.. any and all help is greatly appreciated!
-------------------------------------
make[1]: /opt/toolchains/arm-2009q3/bin/arm-none-linux-gnueabi-gcc: Command not found
cp: cannot stat `/home/max/.Tab_Kernel_sources/Kernel/modules.order': No such file or directory
make[1]: *** [_modinst_] Error 1
make: *** [sub-make] Error 2
[email protected]:~/.Tab_Kernel_sources/Kernel$
This is the most disappointing thread ever.
maxjivi05 said:
A little farther int he process of getting this sucker compiled... Got this error now... *I forgot how much of a pain it was to go through setting things up perfectly! lol.. any and all help is greatly appreciated!
-------------------------------------
make[1]: /opt/toolchains/arm-2009q3/bin/arm-none-linux-gnueabi-gcc: Command not found
cp: cannot stat `/home/max/.Tab_Kernel_sources/Kernel/modules.order': No such file or directory
make[1]: *** [_modinst_] Error 1
make: *** [sub-make] Error 2
[email protected]:~/.Tab_Kernel_sources/Kernel$
Click to expand...
Click to collapse
It's pretty obvious from that line that it can't find that particular binary in your toolchain directory...
I followed the instructions in the readme file and compiled the kernel already, it was extremely simple. You ran the build_kernel.sh file right... after editing it?
Yes I did and its been 5 years since I've done anything with Linux so its a rather learning curve to get anything done. With lack of development on tab thought it would be a good place to start. I've done normal kernel build before but nothing for a phone and it wasn't rather hard either it was just a few commands and everything was already in the right directories
Sent from my SPH-P100 using XDA App
FYI I grabbed the kernel source and cross toolchain, installed the toolchain to /opt (on my desktop Linux box) added the toolchain's bin directory to the start of $PATH, edited the (iirc - am posting from a Windows box) build.sh script and the kernel built fine first time.
I need to set the path to the raminitfs file in .config and then try again and make sure it boots ok
Anyway just a post to say that it must be your setup. I see you have installed the toolchain to /home/max/GalaxyTab/prebuilt/linux-x86/toolchain/ and in your latest post there's the following error: make[1]: /opt/toolchains/arm-2009q3/bin/arm-none-linux-gnueabi-gcc: Command not found
So there's obviously a path problem there. I also see you're using a plain "make" command without setting the ARCH env var.
I'd recommend giving the build.sh script a go (after editing the toolchain path), as it sets up all the env vars, etc., for you automatically.
okay, I was missing a file went I was doing my repo sync... which didn't make sense but i got it worked out... finally able to compile going to apply the patches and recompile and will repo, but thanks for the people who did help figure out the issue...
maxjivi05 said:
With lack of development on tab
Click to expand...
Click to collapse
HUH?
10 characters
Does anyone have an untouched sprint kernel pulled from a device? I rooted mine and it's seeminly impossible to pull the initrd out of it.
jstigall said:
Does anyone have an untouched sprint kernel pulled from a device? I rooted mine and it's seeminly impossible to pull the initrd out of it.
Click to expand...
Click to collapse
Nevermind, I got it... I have a booting Sprint kernel that works great.
Do you have a link to the patches you want to include, I may be able to get the CPU frequency adjustments you want to make built.
jstigall said:
Nevermind, I got it... I have a booting Sprint kernel that works great.
Do you have a link to the patches you want to include, I may be able to get the CPU frequency adjustments you want to make built.
Click to expand...
Click to collapse
Currently there are 2 files that tell the kernel the freq to run at, and 3 spots at the bottom of each that need changed. Located in /ARM/ARCH/OMAP something I need to get more info when I get home I'll edit this post and let you know but there is a file called cpu24xx.c and cpu34xx.c, I was going to compile a working kernel with those files edited to run 1200MHz to test and see if that would work if that didn't work there were some patches made on the other galaxy s devices I have links to thanks to SetiroN for providing, which they are a little different then the files for the galaxy source but I'll post it when I get home and have time!
I've tried a hundred different settings, tweaking Samsung's original c1_rev05_na_spr_defconfig file.
c1_rev05_na_spr_defconfig is the .config file given by Samsung in the open source code for those of you who don't know.
When you can correctly compile the kernel with the settings in this .config file, you should be able to end up with a stock zImage that works but right now, these kernels end up in a boot-loop or boot-freeze.
I suspect it's settings in the .config file (off the c1_rev05_na_spr_defconfig) that could be at fault. I am not an expert at this (by any means) but perhaps those of you who are can recommend me any changes to the settings.
There's also an older c1_rev02_na_spr_defconfig but it doesn't compile so...
as ive stated in other threads, you wanna double check your kernels use tools to unpack the zimage.. if you dont have the initramfs in there then its not gunna boot
shabbypenguin said:
as ive stated in other threads, you wanna double check your kernels use tools to unpack the zimage.. if you dont have the initramfs in there then its not gunna boot
Click to expand...
Click to collapse
It's definitely in there, here's a copy and paste from my make menuconfig:
[ ] Namespaces support x x
x x [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support x x
x x () Initramfs source file(s) x x
x x [*] Support initial ramdisks compressed using gzip x x
x x [ ] Support initial ramdisks compressed using bzip2 x x
x x [ ] Support initial ramdisks compressed using LZMA x x
x x [ ] Support initial ramdisks compressed using LZO
Bro, it's not that simple, you have to set the initramfs path in the config to a folder on your local machine and what Shabby is saying is that nobody has unpacked the stock zImage on the phone (or found out how to) to have an initramfs to load into the zImage you are compiling.
Just find a way to pull the stock zImage and unpack the initramfs and load the correct path, or it will keep having the same problems.
bubby323 said:
Bro, it's not that simple, you have to set the initramfs path in the config to a folder on your local machine and what Shabby is saying is that nobody has unpacked the stock zImage on the phone (or found out how to) to have an initramfs to load into the zImage you are compiling.
Just find a way to pull the stock zImage and unpack the initramfs and load the correct path, or it will keep having the same problems.
Click to expand...
Click to collapse
Ok, I actaully tried unpacking initramfs from zImage but it seems like it doesn't exist....
zedomax said:
Ok, I actaully tried unpacking initramfs from zImage but it seems like it doesn't exist....
Click to expand...
Click to collapse
..and that is the problem. Without the initramfs android WILL NOT boot, since it doesn't know how, the zImage itself only houses the drivers and such. It's useless without the initramfs.
bubby323 said:
..and that is the problem. Without the initramfs android WILL NOT boot, since it doesn't know how, the zImage itself only houses the drivers and such. It's useless without the initramfs.
Click to expand...
Click to collapse
can something like this work?
http://forum.xda-developers.com/showthread.php?t=777380
---------- Post added at 05:05 PM ---------- Previous post was at 05:02 PM ----------
Here's my build output during compile, it seems like initramfs has been compiled correctly, no?
scripts/kconfig/conf -s arch/arm/Kconfig
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CC init/initramfs.o
CC arch/arm/kernel/setup.o
CC arch/arm/kernel/traps.o
CC arch/arm/kernel/machine_kexec.o
AS arch/arm/kernel/relocate_kernel.o
CC arch/arm/kernel/atags.o
CC kernel/panic.o
CC kernel/printk.o
LD init/built-in.o
CC drivers/base/cpu.o
LD arch/arm/kernel/built-in.o
CC kernel/sys.o
LD drivers/base/built-in.o
CC kernel/ksysfs.o
CC kernel/kexec.o
LD drivers/built-in.o
LD kernel/built-in.o
LD vmlinux.o
MODPOST vmlinux.o
WARNING: modpost: Found 13 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
GEN .version
CHK include/generated/compile.h
UPD include/generated/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
KSYM .tmp_kallsyms1.S
AS .tmp_kallsyms1.o
LD .tmp_vmlinux2
KSYM .tmp_kallsyms2.S
AS .tmp_kallsyms2.o
LD vmlinux
SYSMAP System.map
SYSMAP .tmp_System.map
OBJCOPY arch/arm/boot/Image
Building modules, stage 2.
MODPOST 6 modules
Kernel: arch/arm/boot/Image is ready
GZIP arch/arm/boot/compressed/piggy.gzip
SHIPPED arch/arm/boot/compressed/lib1funcs.S
AS arch/arm/boot/compressed/lib1funcs.o
AS arch/arm/boot/compressed/piggy.gzip.o
LD arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
It may compile correctly but your not injecting the initramfs into it...so it won't boot your phone.
bubby323 said:
It may compile correctly but your not injecting the zImage into it...so it won't boot your phone.
Click to expand...
Click to collapse
injecting the zImage to where?
zedomax said:
injecting the initramfs to where?
Click to expand...
Click to collapse
The initramfs into the zImage.
bubby323 said:
The initramfs into the zImage.
Click to expand...
Click to collapse
This is pretty frustrating, didn't have to do that on HTC open source, it shouldn't be so hard to compile a kernel, ARGHHH, I am about to give up.
Never give up, just find somebody to pull the stock zImage.
bubby323 said:
Never give up.
Click to expand...
Click to collapse
Yeah, don't give up. Good things take time
Sent from my SPH-D700 using xda premium
I can do this but I have no idea how to flash to and use odin
Sent from my sprint galaxy s2
bbedward said:
I can do this but I have no idea how to flash to and use odin
Sent from my sprint galaxy s2
Click to expand...
Click to collapse
Compile the kernel, then compress zImage it using tar:
tar cvf blahblah.tar zImage
Use Odin and select blahblah.tar under PDA then hit Start.
But don't do this as the kernel will put you in bootloop or boot freeze for now.
I get that much, but is the tar supposed to be setup with the same directory structure as the phone?
That's the .pit files job bro.
Yea this is my first samsung experience lol
Sent from my sprint galaxy s2
thanks bubby, i kept saying it again and again.. yet no one was listening
anyways only way we are gunna get it is by having root
shabbypenguin said:
thanks bubby, i kept saying it again and again.. yet no one was listening
anyways only way we are gunna get it is by having root
Click to expand...
Click to collapse
Well... Whosdaman or Korey usually releases the tars for odin on officail releases... S lets hope for that..
Sent from my SPH-D710 using XDA App
Im compiling the google play edition stock kernel for the htc one m8 varient. The kernel is 3.4.0-gb1b6fb1 for android 4.4.4. Im using Ubuntu 14.04.1 LTS. I used the following command:
make -j2 ARCH=arm CROSS_COMPILE=/home/richard/Workspace/toolchains/arm-eabi-linaro-4.6.2/bin/arm-eabi-.
So here is the error:
LD drivers/video/built-in.o
LD drivers/built-in.o
LD vmlinux.o
MODPOST vmlinux.o
GEN .version
CHK include/generated/compile.h
UPD include/generated/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
drivers/built-in.o: In function `dwc3_msm_probe':
/home/richard/Workspace/kernel1/drivers/usb/dwc3/dwc3-msm.c:2561: undefined reference to `rom_stockui'
make: *** [.tmp_vmlinux1] Error 1
Click to expand...
Click to collapse
How can I fix this? Im working on a project that is due in two days. Any help is appreciated!
I am a total noob trying to compile kernel for 4.1.2 stock with sources downloaded from http://developer.sonymobile.com/dow...ves/open-source-archive-for-build-15-1-c-2-9/
Compiling seems to stop at this line:
Code:
CC drivers/input/mouse/trackpoint.o
LD drivers/input/mouse/psmouse.o
LD drivers/input/mouse/built-in.o
LD drivers/input/sensors/built-in.o
LD drivers/input/touchscreen/synaptics-rmi/FIH-touch-tool/built-in.o
LD drivers/input/touchscreen/synaptics-rmi/built-in.o
LD drivers/input/touchscreen/built-in.o
LD drivers/input/built-in.o
Makefile:949: recipe for target 'drivers' failed
make: *** [drivers] Error 2
what I did:
Code:
make clean && make mrproper
make proj_S3A_user_defconfig
make -j8 ARCH=arm CROSS_COMPILER=arm-none-eabi-
this is my cross compiler version:
Code:
arm-none-eabi-gcc --version
arm-none-eabi-gcc (Arch Repository) 5.1.0
Running 64-bit Arch with multilibs.
Code:
uname -a
Linux killer-arch 3.14.43-2-lts #1 SMP Fri May 22 03:36:10 UTC 2015 x86_64 GNU/Linux
Any helps appreciated.
This problem was fixed using 4.9 Linaro and exporting both CROSS_COMPILE & ARCH variables first.