ubuntu 下 linux 2.6.18.tar.gz 内核编译,Ubuntu安装Linux2.6.35内核编译

Ubuntu12.04

参考:百度 在ubuntu安装Linux2.6.35内核

https://www.linuxidc.com/Linux/2011-08/40124.htm

http://www.mamicode.com/info-detail-2101399.html

https://blog.csdn.net/xin_yu_xin/article/details/42184899

第一步:下载解压内核源代码linux-2.6.35.tar.gz

sudo tar -xvf linux-2.6.35.tar.xz -C /usr/src/

cd /usr/src

第二步:

安装编译内核时需要的工具(sudo apt install)

sudo apt-get install build-essential kernel-package libncurses5-dev

第三步:配置编译源码

切换至root用户 sudo su

make menuconfig

make

报错及解决方案

报错1内核函数错误

size expression for do_hypervisor_callback does not evaluate to a constant

/tmp/ccINj1Ii.s: Assembler messages:

/tmp/ccINj1Ii.s: Error: .size expression for do_hypervisor_callback does not evaluate to a constant

make[2]: *** [arch/x86/kernel/entry_64.o] 错误 1

make[1]: *** [arch/x86/kernel] 错误 2

make: *** [arch/x86] 错误 2

解决方式:

vi arch/x86/kernel/entry_64.S

END(do_hypervisor_callback)改为END(xen_do_hypervisor_callback)

5fefa07b2e22d0c59f5e427e69bb90f3.png

修改,在do前面加上xen_(wq保存退出再make)

报错2

CC arch/x86/vdso/vgetcpu.o

CC arch/x86/vdso/vvar.o

VDSO arch/x86/vdso/vdso.so.dbg

gcc: 错误: elf_x86_64:没有那个文件或目录

make[2]: *** [arch/x86/vdso/vdso.so.dbg] 错误 1

make[1]: *** [arch/x86/vdso] 错误 2

make: *** [arch/x86] 错误 2

50c4a1377ebe1958b249da07ca0e72b6.png

解决方式:

vi arch/x86/vdso/Makefile

进去:set nu显示行号 找对应行

1 修改28行,将-m elf_x86_64 修改为-m64;

2 修改72行,将-m elf_i386 修改为-m32

报错3

duplicate member ‘page’

这个错排完就能正常make了

第四步:执行sudo make modules_install install,这部应该是可以直接编译和安装模块,就不需要先make modules(编译内核)再make modules_install(安装内核)了。

第五步:执行sudo make install安装内核;

第六步:配置grub引导。

执行命令sudo gedit /etc/default/grub,配置/etc/default/grub文件在文件中添加GRUB_TIMEOUT_STYLE=menu,GRUB_HIDDEN_TIMEOUT=0改为大于0的数即可,执行命令update-grub;执行完这一步基本上就完成了内核的编译和安装,重启ubuntu就行了。

18df277180b5cec69ecbd60b5f65df63.png

标签:x86,vdso,make,sudo,35,内核,Ubuntu,Linux2.6,arch

来源: https://blog.csdn.net/chenhangx/article/details/106736809

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值