Nexus S kernel not booting after compiling

210 views
Skip to first unread message

k b

unread,
Mar 28, 2011, 4:37:53 PM3/28/11
to android...@googlegroups.com
Hi everyone,

Has anyone tried compiling and flashing the Nexus S kernel ? I gave it a shot, but am stuck when I try and test my new boot image. With 'fastboot boot newboot.img', it hangs at a screen showing the google logo, an unlocked padlock and a message (FASTBOOT STATUS - okay).

The steps I followed are :
git clone git://android.git.kernel.org/kernel/samsung.git

export PATH=$PATH:/home/<your username>/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/
make ARCH=arm clean
make ARCH=arm herring_defconfig
make -j4 ARCH=arm CROSS_COMPILE=arm-eabi-

To create new boot image
./unpack-bootimg.pl boot.img
cd boot.img-ramdisk/
find . | cpio -o -H newc | gzip > /home/<your username>/NS-bootwork/boot.img-ramdisk/ramdisk-repack.cpio.gz
./mkbootimg --kernel zImage --ramdisk /home/<your username>/NS-bootwork/boot.img-ramdisk/ramdisk-repack.cpio.gz --base 0x30000000 --pagesize 4096 -o newtestboot.img

While booting, logcat keeps throwing out the following error.

E/FramebufferNativeWindow(  108): couldn't open framebuffer HAL (No such device)

I/DEBUG   (   73): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *
**
I/DEBUG   (   73): Build fingerprint: 'unknown'
I/DEBUG   (   73): pid: 108, tid: 116  >>> system_server <<<
I/DEBUG   (   73): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0000005
c
I/DEBUG   (   73):  r0 0000d204  r1 447c5dc4  r2 00000001  r3 00000000
I/DEBUG   (   73):  r4 00212518  r5 002125f8  r6 fffffec0  r7 00000000
I/DEBUG   (   73):  r8 8362c738  r9 001143a0  10 00100000  fp 00000001
I/DEBUG   (   73):  ip 8362c794  sp 447c5d60  lr 80104a10  pc 83619a70  cpsr 600
00030
I/DEBUG   (   73):  d0  0000000000000000  d1  62656d6172662065
I/DEBUG   (   73):  d2  6461657268742076  d3  7420796461657269
I/DEBUG   (   73):  d4  49202e6e7572206f  d5  7a696c616974696e
I/DEBUG   (   73):  d6  7061726720676e69  d7  0000000073636968
I/DEBUG   (   73):  d8  000000021093d43a  d9  0000000000000000
I/DEBUG   (   73):  d10 0000000000000000  d11 0000000000000000
I/DEBUG   (   73):  d12 0000000000000000  d13 0000000000000000
I/DEBUG   (   73):  d14 0000000000000000  d15 0000000000000000
I/DEBUG   (   73):  d16 8330b6f44050e2b0  d17 3fe999999999999a
I/DEBUG   (   73):  d18 42eccefa43de3400  d19 3fbc71c71c71c71c
I/DEBUG   (   73):  d20 4008000000000000  d21 3fd99a27ad32ddf5
I/DEBUG   (   73):  d22 3fd24998d6307188  d23 3fcc7288e957b53b
I/DEBUG   (   73):  d24 3fc74721cad6b0ed  d25 3fc39a09d078c69f
I/DEBUG   (   73):  d26 0000000000000000  d27 0000000000000000
I/DEBUG   (   73):  d28 0000000000000000  d29 0000000000000000
I/DEBUG   (   73):  d30 0000000000000000  d31 0000000000000000
I/DEBUG   (   73):  scr 20000012
I/DEBUG   (   73):
I/DEBUG   (   73):          #00  pc 00019a70  /system/lib/libsurfaceflinger.so
I/DEBUG   (   73):          #01  pc 00019f98  /system/lib/libsurfaceflinger.so
I/DEBUG   (   73):          #02  pc 00024ab8  /system/lib/libsurfaceflinger.so
I/DEBUG   (   73):          #03  pc 0001d8c8  /system/lib/libutils.so
I/DEBUG   (   73):          #04  pc 0001de32  /system/lib/libutils.so
I/DEBUG   (   73):          #05  pc 000118e4  /system/lib/libc.so
I/DEBUG   (   73):          #06  pc 000114b0  /system/lib/libc.so
I/DEBUG   (   73):
I/DEBUG   (   73): code around pc:
I/DEBUG   (   73): 83619a50 ffb8f7ff edd06ca0 23000a0b 6ec7a919
I/DEBUG   (   73): 83619a60 0a07edc4 0a0ced90 0454f8df 0a08ed84
I/DEBUG   (   73): 83619a70 7a17edd7 edc44478 64e37a09 e88cf7fe
I/DEBUG   (   73): 83619a80 9819b940 024cf104 1438f8df 44796945
I/DEBUG   (   73): 83619a90 4798682b e430f8df 0924f10d ad1a2600
I/DEBUG   (   73):
I/DEBUG   (   73): code around lr:
I/DEBUG   (   73): 801049f0 e1853f92 e3530000 1afffffa e8bd8070
I/DEBUG   (   73): 80104a00 e92d4070 e1a04000 e1a05001 ebffffd4
I/DEBUG   (   73): 80104a10 e1950f9f e0802004 e1853f92 e3530000
I/DEBUG   (   73): 80104a20 1afffffa e8bd8070 e1a01000 e3e00000
I/DEBUG   (   73): 80104a30 eafffff2 e1a01000 e3a00001 eaffffef
I/DEBUG   (   73):
I/DEBUG   (   73): stack:
I/DEBUG   (   73):     447c5d20  0021266c
I/DEBUG   (   73):     447c5d24  8362c738
I/DEBUG   (   73):     447c5d28  00100000
I/DEBUG   (   73):     447c5d2c  80e1bb3f  /system/lib/libui.so
I/DEBUG   (   73):     447c5d30  00100000
I/DEBUG   (   73):     447c5d34  afd13ec7  /system/lib/libc.so
I/DEBUG   (   73):     447c5d38  00212518
I/DEBUG   (   73):     447c5d3c  00000000
I/DEBUG   (   73):     447c5d40  00212560
I/DEBUG   (   73):     447c5d44  002125f8
I/DEBUG   (   73):     447c5d48  fffffec0
I/DEBUG   (   73):     447c5d4c  836199d5  /system/lib/libsurfaceflinger.so
I/DEBUG   (   73):     447c5d50  00212518
I/DEBUG   (   73):     447c5d54  002125f8
I/DEBUG   (   73):     447c5d58  df002777
I/DEBUG   (   73):     447c5d5c  e3a070ad
I/DEBUG   (   73): #00 447c5d60  00000000
I/DEBUG   (   73):     447c5d64  00001000
I/DEBUG   (   73):     447c5d68  83626e5a  /system/lib/libsurfaceflinger.so
I/DEBUG   (   73):     447c5d6c  8021dda1  /system/lib/libutils.so
I/DEBUG   (   73):     447c5d70  fffffff8
I/DEBUG   (   73):     447c5d74  0011f048
I/DEBUG   (   73):     447c5d78  00000000
I/DEBUG   (   73):     447c5d7c  00212578
I/DEBUG   (   73):     447c5d80  00000000
I/DEBUG   (   73):     447c5d84  0011f048
I/DEBUG   (   73):     447c5d88  00000001
I/DEBUG   (   73):     447c5d8c  8021dcab  /system/lib/libutils.so
I/DEBUG   (   73):     447c5d90  00000000
I/DEBUG   (   73):     447c5d94  00000000
I/DEBUG   (   73):     447c5d98  00000000
I/DEBUG   (   73):     447c5d9c  00000000
I/DEBUG   (   73):     447c5da0  00000000
I/DEBUG   (   73):     447c5da4  00000001
I/DEBUG   (   73):     447c5da8  00000000
I/DEBUG   (   73):     447c5dac  00100000
I/DEBUG   (   73):     447c5db0  00001000
I/DEBUG   (   73):     447c5db4  00000000
I/DEBUG   (   73):     447c5db8  00000000
I/DEBUG   (   73):     447c5dbc  002125b8
I/DEBUG   (   73):     447c5dc0  fffffff8
I/DEBUG   (   73):     447c5dc4  00212570
I/DEBUG   (   73):     447c5dc8  00212570
I/DEBUG   (   73):     447c5dcc  00000001
I/DEBUG   (   73):     447c5dd0  00000000
I/DEBUG   (   73):     447c5dd4  83626e5a  /system/lib/libsurfaceflinger.so
I/DEBUG   (   73):     447c5dd8  0021258c
I/DEBUG   (   73):     447c5ddc  0021257c
I/DEBUG   (   73):     447c5de0  00000000
I/DEBUG   (   73):     447c5de4  8021dd93  /system/lib/libutils.so
I/DEBUG   (   73):     447c5de8  00000000
I/DEBUG   (   73):     447c5dec  00212578
I/DEBUG   (   73):     447c5df0  8021dcf1  /system/lib/libutils.so
I/DEBUG   (   73):     447c5df4  001143a0
I/DEBUG   (   73):     447c5df8  447c5e84
I/DEBUG   (   73):     447c5dfc  002121f0
I/DEBUG   (   73):     447c5e00  00212518
I/DEBUG   (   73):     447c5e04  001143a0
I/DEBUG   (   73):     447c5e08  00100000
I/DEBUG   (   73):     447c5e0c  8361a00f  /system/lib/libsurfaceflinger.so
I/DEBUG   (   73):     447c5e10  002125a8
I/DEBUG   (   73):     447c5e14  8361a023  /system/lib/libsurfaceflinger.so
I/DEBUG   (   73):     447c5e18  002125a8
I/DEBUG   (   73):     447c5e1c  80215b8f  /system/lib/libutils.so
I/DEBUG   (   73):     447c5e20  00212518
I/DEBUG   (   73):     447c5e24  50a823c7
I/DEBUG   (   73):     447c5e28  8362cc54
I/DEBUG   (   73):     447c5e2c  00212518
I/DEBUG   (   73):     447c5e30  00000000
I/DEBUG   (   73):     447c5e34  447c5e84
I/DEBUG   (   73):     447c5e38  002121f0
I/DEBUG   (   73):     447c5e3c  00212518
I/DEBUG   (   73):     447c5e40  001143a0
I/DEBUG   (   73):     447c5e44  00100000
I/DEBUG   (   73):     447c5e48  00000001
I/DEBUG   (   73):     447c5e4c  83619f9d  /system/lib/libsurfaceflinger.so
I/DEBUG   (   73): #01 447c5e50  00212160
I/DEBUG   (   73):     447c5e54  8362b7cc
I/DEBUG   (   73):     447c5e58  447c5e84
I/DEBUG   (   73):     447c5e5c  83624abd  /system/lib/libsurfaceflinger.so


Thanks and Regards
k b

Steve Modica

unread,
Mar 28, 2011, 4:55:07 PM3/28/11
to android...@googlegroups.com
You have to have that cross compile flag on there for the config stuff too.  that got me.



--
Steve Modica
CTO -  Small Tree Communications
mobile: 651-261-3201






Ian

unread,
Mar 29, 2011, 3:37:28 AM3/29/11
to Android Linux Kernel Development
Hi KB, Steve,

I have exactly the same problem and as you can see from my post
(http://groups.google.com/group/android-kernel/browse_thread/thread/
6719c09c108b977a) I used the CROSS_COMPILE stuff when I built. Steve,
have you done this successfully? What exactly did you do?

Thanks,

Ian.

k b

unread,
Mar 29, 2011, 11:40:48 AM3/29/11
to android...@googlegroups.com, Ian
Hi Steve,

Thanks for your input. I tried the CROSS_COMPILE flag for config as well, but am still facing the same problem. Also :

1. I have checked that it's not because of the way I am recreating boot.img using the new zImage (tried it with split_bootimg.pl as well).

2. A few posts online mentioned that extracting boot.img from your phone using cat /dev/mtd2 > /sdcard/boot.img, might give you a corrupted image, so tried with the one from the gb source code. Didn't work either.

3. My compiled zImage is comparable in size to the image I obtained from my phone. (~2.7 MB)

4. I have also tried wiping the dalvik cache (some blog somewhere mentioned it), but I am still seeing the boot loop of the error I posted above.

Any other ideas ?

Steve Modica

unread,
Mar 29, 2011, 6:51:29 PM3/29/11
to android...@googlegroups.com, Ian
Are you guys running fastboot with the special options for nexus S?

 fastboot -b 0x30000000 -n 4096 

If you don't use these, it will hang.  The base and the page size are different.

Steve Modica

unread,
Mar 29, 2011, 6:58:06 PM3/29/11
to android...@googlegroups.com, Ian


I have exactly the same problem and as you can see from my post
(http://groups.google.com/group/android-kernel/browse_thread/thread/
6719c09c108b977a
) I used the CROSS_COMPILE stuff when I built. Steve,
have you done this successfully? What exactly did you do?

I do the following:
go into gingerbread tree
source build/envsetup.sh
cd into kernel/samsung
make ARCH=arm CROSS_COMPILE=arm-eabi- menuconfig
make ARCH=arm CROSS_COMPILE=arm-eabi-

go to <root>/out/target/product/crespo 
fastboot -b 0x30000000 -n 4096 flash:raw boot ./zImage ./ramdisk.img

I have a feeling you're missing the -b and -n parameters.

k b

unread,
Mar 30, 2011, 3:04:06 PM3/30/11
to android...@googlegroups.com, Steve Modica, Ian
Finally managed to boot using my new kernel. The problem was with the bootloader version I was using. Did the following to get it to work :

1. My Nexus S phone was still on 2.3.0. Updated it manually to 2.3.3 (update.zip). Used Clockwork Mod Recovery to wipe dalvik cache, userdata and cache partition because was facing the same boot loop of crashes.

2. Got latest kernel code and built :
     git clone git://android.git.kernel.org/kernel/samsung.git
     export PATH=$PATH:/home/<uname>/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bn/

     make ARCH=arm clean
     make ARCH=arm herring_defconfig
     make -j4 ARCH=arm CROSS_COMPILE=arm-eabi-

3. Split the boot.img from update.zip and created new ramdisk img
    ./split_bootimg.pl boot.img
    mkdir ramdisk
    cd ramdisk
    gzip -dc ../boot.img-ramdisk.gz | cpio -i
    find . | cpio -o -H newc | gzip > ../newramdisk.cpio.gz

4. Create new boot img using built zImage and newramdisk.cpio.gz
    ./mkbootimg --kernel zImage --ramdisk newramdisk.cpio.gz --base 0x30000000 --pagesize 4096 -o newtestboot.img
    (if it hangs in the boot screen, wipe dalvik cache etc.)

5. To test :
     fastboot boot newtestboot.img
     To flash :
    fastboot flash boot newtestboot.img
   

@Steve : Thanks for your help.
@Ian : Hope this helps.


Steve Modica

unread,
Mar 30, 2011, 3:26:08 PM3/30/11
to android...@googlegroups.com, Ian
Did someone modify fastboot to not require the special options anymore?  I didn't think what you did would work.

Karishma Babu

unread,
Mar 30, 2011, 3:49:39 PM3/30/11
to android...@googlegroups.com, Steve Modica, Ian
I am using the options you provided while creating my new boot image.

" ./mkbootimg --kernel zImage --ramdisk newramdisk.cpio.gz --base 0x30000000 --pagesize 4096 -o newtestboot.img "

Also, a slight typo in the make instructions
  export PATH=$PATH:/home/<uname>/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/
  make ARCH=arm clean
  make ARCH=arm CROSS_COMPILE=arm-eabi- herring_defconfig
  make -j4 ARCH=arm CROSS_COMPILE=arm-eabi-
Reply all
Reply to author
Forward
0 new messages