2014年6月13日星期五

Linux_070:RHEL 7 下 VirtualBox Guest Additions安装失败问题

环境:RHEL 7 + VirtualBox 4.3.12

RHEL 7 昨天刚刚发布,于是装上尝个鲜。
首先在VirtualBox 中安装好RHEL 7,接着安装VirtualBox Guest Additions。

1.  安装编译工具:yum groupinstall "开发工具"

2.  安装kernel-devel:yum install kernel-devel
之所以安装这个,是因为不安装会报出kernel编译错误。
安装后,运行:rpm -qa | grep kernel,看到如下软件包就对了:

kernel-tools-3.10.0-123.1.2.el7.x86_64
kernel-debug-devel-3.10.0-123.1.2.el7.x86_64
kernel-3.10.0-123.el7.x86_64
kernel-headers-3.10.0-123.1.2.el7.x86_64
kernel-devel-3.10.0-123.1.2.el7.x86_64
kernel-tools-libs-3.10.0-123.1.2.el7.x86_64
kernel-3.10.0-123.1.2.el7.x86_64
abrt-addon-kerneloops-2.1.11-12.el7.x86_64

3. 进入VBoxGuestAdditioins.iso目录,运行:./VBoxLinuxAdditions.run
此时,还是不能编译成功,会报出以下错误:
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c: In function ‘rtR0MemObjNativeMapUser’:
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1542:26: error: ‘struct mm_struct’ has no member named ‘numa_next_reset’
                 pTask->mm->numa_next_reset = jiffies + 0x7fffffffffffffffUL;
                          ^
make[2]: *** [/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.o] Error 1
make[1]: *** [_module_/tmp/vbox.0] Error 2
make: *** [vboxguest] Error 2

几经查找,终于确认这是一个BUG。
一位高人写了个Patch,见参考文献2,下载后,解压,执行 sudo ./install.sh,这次终于安装成功了。

参考文献:
1. https://forums.virtualbox.org/viewtopic.php?f=3&t=59094
2. http://matthewcasperson.blogspot.in/2014/06/rhel-7-virtualbox-guest-additions.html

没有评论: