如何给linux安装新内核?
答案:2 悬赏:60 手机版
解决时间 2021-03-09 04:52
- 提问者网友:眉目添风霜
- 2021-03-08 14:09
如何给linux安装新内核?
最佳答案
- 五星知识达人网友:山有枢
- 2021-03-08 14:44
第二步:清除垃圾(这一步:一般是在就内核重新编译时使用,在编译新的内核是不需要);
make clean及make mrproper;
第三步:进行内核裁减配置;
内核裁减配置的原则:
从实际出发。
如:根据支持的硬件设备来决定需要选择的驱动模块,根据需要选择所支持的文件系统格式等;
具体配置命令为:
make config :通过命令接口,依次要求你设定每个选项,如果.config文件存在,会根据该文件来设置默认值;
make menuconfig :显示以curses为基础的、终端式的配置菜单。
make xconfig :图形界面,显示以Tk为基础X Window配置菜单。
最常用的为:make menuconfig(注:需要ncurses的rpm包)。
说明:这一步中选择为M模式的,编译到/lib/modules/下相关目录文件中;选择为*模式的,编译到内核中即/boot/vmlinuz中,启动时加载到内核中。
具体内核裁减配置参阅其它资料。
第四步:生成依赖关系(make dep)
内核源码树中大多数文件都会与一些头文件有依存关系,要想编译内核顺利,在正式编译前必须让内核源码树中的各个Makefile文件知道这些依存关系。
依存关系建立期间会在内核源码树中每个子目录里产生一个隐藏的.depend文件,此文件内含子目录里各个文件所依存的头文件清单。
第五步:建立内核映像和模块
2.4内核:make bzImage :在arch/YOUR_ARCH/boot/中生成在在zImage内核映像文件;
make modules :在相应目录下生成内核模块(即驱动模块)
2.6内核:make :作用相当于make bzImage与make modules
第六步:安装模块(make modules_install)
让make modules或make 过程中产生的.o驱动模块拷入/lib/modules/下相应目录中;
第七步:安装内核
第一种情况:直接使用make install命令即可。
第二中情况:先采用cp arch/i386/boot/bzImage /boot/×××(×××表示自己随意的命名)
mkinitrd /boot/×××.img 2.6.12.6(内核版本号)
make clean及make mrproper;
第三步:进行内核裁减配置;
内核裁减配置的原则:
从实际出发。
如:根据支持的硬件设备来决定需要选择的驱动模块,根据需要选择所支持的文件系统格式等;
具体配置命令为:
make config :通过命令接口,依次要求你设定每个选项,如果.config文件存在,会根据该文件来设置默认值;
make menuconfig :显示以curses为基础的、终端式的配置菜单。
make xconfig :图形界面,显示以Tk为基础X Window配置菜单。
最常用的为:make menuconfig(注:需要ncurses的rpm包)。
说明:这一步中选择为M模式的,编译到/lib/modules/下相关目录文件中;选择为*模式的,编译到内核中即/boot/vmlinuz中,启动时加载到内核中。
具体内核裁减配置参阅其它资料。
第四步:生成依赖关系(make dep)
内核源码树中大多数文件都会与一些头文件有依存关系,要想编译内核顺利,在正式编译前必须让内核源码树中的各个Makefile文件知道这些依存关系。
依存关系建立期间会在内核源码树中每个子目录里产生一个隐藏的.depend文件,此文件内含子目录里各个文件所依存的头文件清单。
第五步:建立内核映像和模块
2.4内核:make bzImage :在arch/YOUR_ARCH/boot/中生成在在zImage内核映像文件;
make modules :在相应目录下生成内核模块(即驱动模块)
2.6内核:make :作用相当于make bzImage与make modules
第六步:安装模块(make modules_install)
让make modules或make 过程中产生的.o驱动模块拷入/lib/modules/下相应目录中;
第七步:安装内核
第一种情况:直接使用make install命令即可。
第二中情况:先采用cp arch/i386/boot/bzImage /boot/×××(×××表示自己随意的命名)
mkinitrd /boot/×××.img 2.6.12.6(内核版本号)
全部回答
- 1楼网友:封刀令
- 2021-03-08 16:12
当在编译一个设备驱动模块时,需要在系统中安装内核头文件。内核头文件同样在编译与内核直接链接的用户空间程序时需要。当在这些情况下安装内核头文件时,必须确保内核头文件精确地与当前内核版本匹配(比如:3.13.0-24-generic)。
如果内核是发行版自带的内核版本,或者使用默认的包管理器的基础仓库升级的(比如:apt-ger、aptitude或者yum),也可以使用包管理器来安装内核头文件。
另一方面,如果下载的是kernel源码并且手动编译的,可以使用make命令来安装匹配的内核头文件。
使用apt-get命令来安装匹配的内核头文件:
1、首先,使用dpkg-query命令检查是否有可用的内核头文件。
$ dpkg-query -s linux-headers-$(uname -r)
dpkg-query: package 'linux-headers-3.11.0-26-generic' is not installed and no information is available
2、接着使用下面的命令安装匹配的内核头文件。
$ sudo apt-get install linux-headers-$(uname -r)
3、验证头文件是否成功安装。
$ dpkg-query -s linux-headers-$(uname -r)
package: linux-headers-3.11.0-26-genericstatus: install ok installed
4、debian、ubuntu、linux mint默认头文件在/usr/src下。
使用yum命令来安装匹配的内核头文件:
1、首先,用下面的命令检查系统是否已经安装了头文件。如果下面的命令没有任何输出,这就意味着还没有头文件。
$ rpm -qa | grep kernel-headers-$(uname -r)
2、接着用yum命令安装头文件。这个命令会自动找出合适的头文件并安装。
$ sudo yum install kernel-headers
3、验证包安装的状态。
$ rpm -qa | grep kernel-headers-$(uname -r)
kernel-headers-3.10.0-123.9.3.el7.x86_64
4、fedora、centos 或者 rhel上默认内核头文件的位置是/usr/include/linux。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯