size expression for do_hypervisor_callback does not evaluate to a constant

来源:互联网 发布:淮南大数据公司老总 编辑:程序博客网 时间:2024/05/28 17:05

2.6.35内核编译:

  AS      arch/x86/kernel/entry_64.o

/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

论坛,我的解决方式是:END(do_hypervisor_callback)改为END(xen_do_hypervisor_callback)


  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


真没办法,可能是我想用X86_64的gcc编译出i386的执行文件的出错,然后就arch/x86/vdso/Makefile里面-m elf_x86_64 -Wl换成-m64 -Wl,-m elf_i386 -Wl换成-m32 -Wl


在写一写编译kernel的步骤:

make dep ---- 建立文件依赖关系

make localmodconfig ----本人觉得执行这步后就很省事啦
make menuconfig
make (bzImage)
make modules_install


cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.35
cp System.map /boot/System.map-2.6.35
cp .config /boot/config-2.6.35


cd /boot
mkinitramfs -o initrd.img-2.6.35 2.6.35 ----(这里的名字可在Makefile配置)
depmod -a


update-grub ----更新GRUB


原文地址:http://blog.csdn.net/w627947015/article/details/7718065

原创粉丝点击