Has anyone been able to compile the kernel?

FloRider

Senior Member
Dec 2, 2012
358
111
Have you got the Kernel booting already?
I can build it, but it wont boot.


@FloRider:
I think you shoult build a boot.img and try to boot these.
  • extract the boot.img from your tablet (use dd)
  • extract the boot.img with abootimg
  • put your zImage to this directory
  • build a new boot.img with your Kernel inside
  • try to boot this with fastboot

What I did was to compile my zImage, pull the boot.img from the ROM I'm using, extract the ramdisk using Kernel kitchen, then do a permanent flash using fastboot flash:raw boot <kernel> <ramdisk>. When I boot, I just get the Lenovo logo. Nothing after that. So I save my tail by pulling the kernel from the ROM boot.img with Kernel Kitchen and flash using that kernel and the ramdisk. Boots fine with the ROM zImage. As far as I can tell, this is just a different way to do what you're suggesting -- and a bit easier for a noob like me.
 

FloRider

Senior Member
Dec 2, 2012
358
111
You could package it up in boot.img file and flash it via cwm. This way leaves you the ability to grab a log if the kernel gets far enough in the boot process.

This gets everything from power on until kernel hands over the machine to unit.
Code:
adb shell dmesg

This logs everything after the init starts.
Code:
adb logcat

You can pipe those to text files with standard bash commands or read them off the terminal.
Maybe someone finds this useful.

Dont forget a nandroid backup before you flash.

I'd like to try this. Do I type:
adb reboot
adb shell dmesg

?

I think dmesg will give me the info I want, because as I'm not getting to the bootflash animation, I can't be getting to init, can I?
 
Last edited:

AndreasWatch

Member
Dec 11, 2012
29
9
What I did was to compile my zImage, pull the boot.img from the ROM I'm using, extract the ramdisk using Kernel kitchen, then do a permanent flash using fastboot flash:raw boot <kernel> <ramdisk>. When I boot, I just get the Lenovo logo. Nothing after that. So I save my tail by pulling the kernel from the ROM boot.img with Kernel Kitchen and flash using that kernel and the ramdisk. Boots fine with the ROM zImage. As far as I can tell, this is just a different way to do what you're suggesting -- and a bit easier for a noob like me.
Jeah you are right. I thought you are trying to boot just the zImage..
So you ca only Boot Thema original Kernel too, right?
 

FloRider

Senior Member
Dec 2, 2012
358
111
Jeah you are right. I thought you are trying to boot just the zImage..
So you ca only Boot Thema original Kernel too, right?
Yes, if I reflash the kernel from the ROM I'm using, everything works as before. Maybe we should focus on why my kernel doesn't compile correctly. I can go at it from three directions, as I see it:
  1. Try to find the errors by booting using adb shell dmeg
  2. Look at my compiler warnings and try to figure out what's causing them
  3. Try to troubleshoot my Linux configuration to find out why it won't compile

As I said before, I'm simply trying to compile the Lenovo kernel :(.
 

AndreasWatch

Member
Dec 11, 2012
29
9
I don`t think ist your fault.
Because I talked to gmarkall in the irc and he cant get it running too.
Same for me...builds without errors but it won't Boot :-\
He wants to talk to Lenovo and ask for new sources...
 

FloRider

Senior Member
Dec 2, 2012
358
111
I don`t think ist your fault.
Because I talked to gmarkall in the irc and he cant get it running too.
Same for me...builds without errors but it won't Boot :-\
He wants to talk to Lenovo and ask for new sources...

Do you get many warnings?
 

FloRider

Senior Member
Dec 2, 2012
358
111
A few, but each time I'm compiling a ARM-Linux Kernel ^^.
I don't know Thema warnings you've got, but they shouldnt prevent the kernel form booting

You're not using the toolchain from CodeSourcery (arm-none-linux-gnueabi)? Or are you saying you always get warnings with ARM Linux kernels?
 

mcl630

Senior Member
Dec 3, 2012
171
126
Check gmarkall's latest post on the Lenovo forums. It looks like he got it working by going back to gcc.
 
Top