Linux内核编译

说明:因为在麒麟系统上有个accton命令无法使用,报错:

accton: function not implemented

翻墙查了一下资料,可能是内核没有开启CONFIG_BSD_PROCESS_ACCT这个模块

为了进一步验证,我们准备自己编译一个内核试试,这里准备了一个centos7的x86系统,里面的模块是开着的

  命令也是正常使用

[root@localhost ~]# accton /var

Turning on process accounting, file set to '/var'.

accton: Is a directory

[root@localhost ~]# uname  -r

3.10.0-1062.el7.x86_64

现在我们自己编一个内核,然后把这个模块给去掉再看看,是否也会报那个function not implemented的错误。

kernel源码路径:

Index of /kernel/linux/kernel/(国内加速)

Index of /pub/linux/kernel/

这里我们选择linux-4.4.283这个,下载到本地,解压

这里我们拷贝一份物理机的配置文件到该目录

[root@localhost linux-4.4.283]# cp /boot/config-3.10.0-1062.el7.x86_64 .config

并注释BSD那两个模块

 然后可以通过make menuconfig启动配置文件界面,如果不认识就可以不用修改(像我就不修改......)

然后就可以使用make命令编译了,等待ing,最后如下

编译模块:

make modules_install INSTALL_MOD_PATH=temp

[root@localhost linux-4.4.283]# cp temp/lib/modules/4.4.283/ /lib/modules/ -af

[root@localhost linux-4.4.283]# make install

sh ./arch/x86/boot/install.sh 4.4.283 arch/x86/boot/bzImage \

System.map "/boot"

[root@localhost linux-4.4.283]#

[root@localhost linux-4.4.283]#

[root@localhost linux-4.4.283]# reboot

Connection closing...Socket close.

然后reboot机器即可

 验证一下accton这个命令,报错跟麒麟系统一样。

 

查看config文件,在当前目录生成

[root@localhost linux-4.4.283]# ls -al .config
-rw-r--r--. 1 root root 159718 Sep  3 17:24 .config
[root@localhost linux-4.4.283]# 
[root@localhost linux-4.4.283]# cat .config|grep BSD
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_BSD_DISKLABEL=y
CONFIG_PPP_BSDCOMP=m
# CONFIG_ISDN_PPP_BSDCOMP is not set
# CONFIG_MMC_WBSD is not set
[root@localhost linux-4.4.283]# 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值