今天终于在ubuntu上完成了内核编译,现将过程记录如下。
首先,先装qt一些相关的软件包,若后面提示有错误,很可能是缺少一些软件包,
再使用sudo apt-get install **命令即可下载安装。。。。
1.sudo -i
进入root
2.把交叉编译工具复制到/work/tools/下,并解压arm-linux-gcc-3. 4 . 1.tar .bz2, 步骤省略,如下图所示。
2.把交叉编译器路径添加到系统的路径中:
在 bashrc的最后一行加上如下一行:
PATH=$PATH:/work/tools/usr/local/arm/3.4.1/bin
截图如下:
启动新系统路径:
#source /root/.bashrc
显示新系统路径:
# echo $PATH
查看交叉编译器版本号
# arm-Linux-gcc -v
3.修改 Linux-2.6.8的根目录下的 makfile 文件:
进入Makefile:
如上截图所示,修改如下内容:
ARCH : = arm
CROSS_COMPILE =/work/tools/usr/local/arm/3.4.1/bin
4.运行 #make menuconfig
出错:scripts/kconfig/mconf.c:91: error: static declaration of ‘current_menu’ follows non-static declaration
scripts/kconfig/lkc.h:63: error: previous declaration of ‘current_menu’ was here
make[1]: *** [scripts/kconfig/mconf.o] Error 1
make: *** [menuconfig] Error 2
解决办法:
修改 scripts/kconfig/mconf.c文件 ,通过注释相关代码行问题解决:
找到这一行:static struct menu *current_menu;
注释修改后
//static struct menu *current_menu;
struct menu *current_menu;
5. 再make menuconfig
成功