1.查看当前系统原码版本
gavin@ubuntu:/usr/src$ apt-cache search linux-source
linux-source - Linux kernel source with Ubuntu patches
linux-source-2.6.35 - Linux kernel source for version 2.6.35 with Ubuntu patches
2.下载源码
gavin@ubuntu:/usr/src$ sudo apt-get install linux-source-2.6.35
下载完成后,在/usr/src目录中,可以看到压缩包
gavin@ubuntu:/usr/src$ ls
linux-headers-2.6.35-22 linux-source-2.6.35
linux-headers-2.6.35-22-generic linux-source-2.6.35.tar.bz2
3.编译
gavin@ubuntu:/usr/src$ sudo tar -xjvf linux-source-2.6.35.tar.bz2
gavin@ubuntu:/usr/src/linux-source-2.6.35$ sudo make menuconfig
HOSTCC scripts/basic/fixdep
HOSTCC scripts/basic/docproc
HOSTCC scripts/basic/hash
HOSTCC scripts/kconfig/conf.o
scripts/kconfig/conf.c: In function ‘conf_askvalue’:
scripts/kconfig/conf.c:105: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result
scripts/kconfig/conf.c: In function ‘conf_choice’:
scripts/kconfig/conf.c:307: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result
HOSTCC scripts/kconfig/kxgettext.o
*** Unable to find the ncurses libraries or the
*** required header files.
*** 'make menuconfig' requires the ncurses libraries.
***
*** Install ncurses (ncurses-devel) and try again.
***
make[1]: *** [scripts/kconfig/dochecklxdialog] 错误 1
make: *** [menuconfig] 错误 2
缺少ncurses库,安装
gavin@ubuntu:/usr/src/linux-source-2.6.35$ sudo apt-get install libncurses5-dev
重新编译成功。也可以使用系统原来的配置来编译,oldconfig
gavin@ubuntu:/usr/src/linux-source-2.6.35$ sudo make oldconfig #编译内核
gavin@ubuntu:~/linux_驱动开发$ make modules #编译模块
gavin@ubuntu:~/linux_驱动开发$ make modules_install #安装模块
本文详细介绍了如何在Ubuntu系统中查看、下载并编译Linux内核源码。首先,通过`apt-cache search`查找并安装特定版本的内核源码。接着,下载完成后解压并进行`make menuconfig`配置,过程中遇到了ncurses库缺失的问题,通过`apt-get install libncurses5-dev`解决。最后,执行`make oldconfig`、`make modules`和`make modules_install`完成内核编译与模块安装。
886

被折叠的 条评论
为什么被折叠?



