近期编译 Linux Kernel 被 header 所在的文件骗了,使用命令例如以下
cd /usr/src/linux-headers-3.11.0-24-generic/ make menuconfig make
make menuconfig都还是正常
make的时候就缺非常多文件,headers 目录以下缺非常多 src文件
后来经过同事指点。使用了以下的步骤。成功了
sudo apt-get install libncurses5-dev kernel-package mkdir ~/kernel cd ~/kernel/ apt-get source linux-image-$(uname -r) cd linux-lts-saucy-3.11.0 make menuconfig export CONCURRENCY_LEVEL=4 time fakeroot make-kpkg --initrd --append-to-version=-binder kernel-image kernel-headers cd .. sudo dpkg -i linux-image-3.11.10.11-binder_3.11.10.11-binder-10.00.Custom_i386.deb sudo dpkg -i linux-headers-3.11.10.11-binder_3.11.10.11-binder-10.00.Custom_i386.deb
使用apt-get source linux-image-$(uname -r) 后,要看src 的目录是什么(这里是 linux-lts-saucy-3.11.0)
make menuconfig 在UI中。选择要编入kernel的驱动。本例选的是Android binder
build 命令是:time fakeroot make-kpkg --initrd --append-to-version=-binder kernel-image kernel-headers,生成 .deb 文件。安装后,用reboot重新启动系统
ref:
http://linuxtweaking.blogspot.co.uk/ubuntu-1204-lts-kernel-compile-guide.html