内核修改

ant参数列表过长-问题实验

版本:CentOS7 3.10.0-693.el7.x86_64

问题:ant编译时报错“参数列表过长”

实验解决方法: 修改内核文件 include/linux/binfmts.h 的参数限制

本次以实验为主,并不建议作为实际参考

结论: 重新编译内核升级难度较高,并不是按照文档操作即可,可能会有意料之外的问题,请谨慎。

  1. 查看内核版本: cat /proc/version 或 uname -r

  2. 源码包:http://vault.centos.org/7.4.1708/os/Source/SPackages/kernel-3.10.0-693.el7.src.rpm

  3. 安装依赖包:

    yum install rpm-build redhat-rpm-config asciidoc hmaccalc perl-ExtUtils-Embed pesign xmlto
    yum install audit-libs-devel binutils-devel elfutils-devel elfutils-libelf-devel
    yum install ncurses-devel newt-devel numactl-devel pciutils-devel python-devel zlib-devel bison
    
  4. 创建源码的编译目录树,目的源码存放地址

      mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
      echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros
    
  5. 安装到编译目录 在kernel-3.10.0-693.el7.src.rpm所在的目录下

    rpm -i kernel-3.10.0-693.el7.src.rpm
    cd ~/rpmbuild/SPECS
    rpmbuild -bp --target=$(uname -m) kernel.spec
    
  6. 源码目录

    /root/rpmbuild/BUILD/kernel-3.10.0-693.el7/linux-3.10.0-693.el7.centos.x86_64

    此次修改文件: include/linux/binfmts.h #define MAX_ARG_PAGES 32 --> 64

  7. 内核配置

    • make menuconfig # 显示类似图形界面的方式来挑选内核功能
    • make oldconfig # 使用已经存在的 ./.config 文件内容 ,本次采用方式
    • make xconfig # 以Qt为图形界面基础功能的图形化界面显示
    • make gconfig # 通过以Gtk为图形接口基础功能的图形化界面显示
    • make config # 以条件式的一条一条的列出让你选择
  8. 编译

    1. make -j 4 clean #先清除临时文件
    2. make -j 4 bzImage #先编译内核
    3. make -j 4 modules #再编译模块
  9. 安装

    1. 安装实际模块: make modules_install

    2. 安装新内核:

      cp -rf /root/rpmbuild/BUILD/kernel-3.10.0-693.el7/linux-3.10.0-693.el7.centos.x86_64/arch/x86/boot/bzImage /boot/vmlinuz-3.10.0
      
      cp -rf /root/rpmbuild/BUILD/kernel-3.10.0-693.el7/linux-3.10.0-693.el7.centos.x86_64/.config /boot/config-3.10.0
      
      chmod  a+x  /boot/vmlinuz-3.10.0
      
      dracut  -v  /boot/initramfs-3.10.0.img 3.10.0
      
      grub2-mkconfig  -o  /boot/grub2/grub.cfg
      
  10. 重启选择新内核

结论:

​重新编译内核影响比较严重,尤其是需要在生产环境操作时,如果可以做快照,那你尽情尝试吧。

ant编译报错最好还是从报错的参数来处理,参数长度过长时,就需要用将一些没有依赖到的文件进行排除,减少参数的长度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值