2014-09-04
编译linux内核
环境:
windows7 VMware 10 Ubuntu 10.4
Linux 2-6.18
基本步骤:
make menuconfig --先生成.config文件
make [bzImage] ---产生了bzImage 在linux/arch/i386/boot下,这个是打包后的image (可以使用-j4 是编译更快)
make install --安装 安装在本机 (如果不想安装的本机,想使用这个image在别的机器上启动,可以将image文件copy到其他机器的启动boot下,然后修改启动文件里选择该
image)reboot即可
在make menuconfig的时候,出现,缺少curses.h应该是在/user/include/ncursesw目录下的
但是我的虚拟机下面并没有ncusersesw。。。所以我把另外一台机器上的/usr/include文件夹拷贝到我的虚拟机上面,上面那个错误没有了,但是又提示缺少/usr/include/gnu/stubs-32.h, 我拷贝过的里面是64bit的stubs-64.h
----解决:缺少某些指定的包(ps: unable to locate package,如果是刚安装ubuntu的话,sudo apt-get update 更新系统管理库,或者就是包的名字错误:
1.在64bit下面编译linux 2.6.18 x86_64时,/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory ----安装 glib-devel or glibc-devel org++-multilib 的包
2.上面缺少跟curses相关的文件,需要安装 sudo apt-get ncurses-dev
参考文章:
http://www.yesky.com/458/1853958all.shtml#p1853958?qq-pf-to=pcqq.group linux内核系统编译详解
linux设备驱动程序LDD3