标签:x86 vdso make sudo 35 内核 Ubuntu Linux2.6 arch
- Ubuntu12.04
- Linux2.6.35
百度:Ubuntu更换内核方法步骤
参考:百度 在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)
修改,在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
解决方式:
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就行了。
标签:x86,vdso,make,sudo,35,内核,Ubuntu,Linux2.6,arch 来源: https://blog.csdn.net/chenhangx/article/details/106736809
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。