ubuntu 编译内核

来源:互联网 发布:coex mall有mac么 编辑:程序博客网 时间:2024/06/01 18:10

在ubuntu14.04上编译内核 linux4.0.4

1.从https://mirrors.tuna.tsinghua.edu.cn/清华镜像源下载内核 linux.4.0.4.tar.gz  wget

2.解压 tar -zxvf linux.4.0.4.tar.gz           

3.安装debian软件包   apt-get build-dep kernel-package

4.安装libncurses5-dev      apt-get install libncurses5-dev //在centOS 里是ncurses-devel

5.然后先make mrproper make clean

6.make menuconfig  选择内核的配置

7.make bzImage  编译内核 编译结束后会放置到linux-4.0.4/arch/x86/boot/bzImage里面// 缺少bc   yum install bc

8.make modules  编译模块

9.make modules_install 安装模块 会安装到/lib/modules

10.cp arch/x86/boot/bzImage /boot/vmlinuz-4.0.4-ch 实际内核放的位置

11.cp .config /boot/config-4.0.4-ch

12.mkinitmfs -o /boot/initrd.img.4.0.4-ch 创建initrd     //10 11 12 直接用 make install 就可以

13.grub-mkconfig -o /boot/grub/grub.cfg  自动更新grub    // update-grub 自动更新

14.重启


正常来说自己编译、安装module分为两种情况:

1、内核中原来没有,厂家提供的,那么我们就下载下来 好好看看readme 然后照着文档安装就好了

2、内核中原来有的,但是之前在make config的时候没选上所以没有编译成module。这个时候我们用make menuconfig把该模块选上,然后执行make module就会把对应的模块编译好了,然后放入/lib/module/中对应的目录中就好了

因为是要改nfs这个module,所以和2差不多,就是改完源码执行一遍make module,然后把他扔到/lib/module中对应的目录中替换掉原来的。


之前在ubuntu上做的,ubuntu上会开机自动启动nfs rpc等服务,nfsd模块就一直被占用,把nfs服务关掉,nfsd模块仍然被占用 used by 2但是不知道是被什么进程占用。

搞了半天没搞明白,索性还是换centos干吧,因为之前学长也是在centos上搞的,说不定是环境问题。

centos装好之后,yum用不了,解析镜像源的时候一直有问题,给的提示里有一些ipv6的信息,ping ipv6网站ping不通,我就以为是因为网卡配置了ipv6地址,但是由于其他原因用不了导致访问ipv6镜像源的时候无法访问,所以不行。在网上找了各种centos7禁用ipv6的解决方法,都没有用。后来更改yum的镜像源到清华tuna镜像源,但是

mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=osbaseurl=http://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/
只是改了baseurl 没改mirrolist。然后我就发现。***这是个外国网站啊,实验室vpn挂了,我登陆的是免费地址,连不上这个网站。。好吧 连上vpn 没事了。

编译内核的时候大致学习了一下Makefile 了解了一下Kconfig是干什么的。还需要继续探索和学习,加了个油



0 0
原创粉丝点击