CentOS 作为 VirtualBox 的客端操作系统
把 CentOS 安装为客端操作系统与在实体硬件上安装非常相似。首先,请从一个 CentOS 镜站下载你希望用来安装的 ISO 档。
创建一台虚拟机器
利用 Virtual Machine Wizard 创建一台新的虚拟机器(VM),选择 Linux 作为 OS Type 及 Red Hat 或 Red Hat (64 bit) 作为操作系统。内存最少要有 768MB 才能应用图像化安装。接着虚拟硬盘向导便会运行。操作系统的碟盘最少要有 8GB。请为近乎完整的安装配置最少 15GB,否则你可采用所有缺省值。有需要的话,额外的碟盘可在日后添加。
创建 VM 后,选择 Settings,进入 Storage,然后在 IDE Controller 部份点击左方的 CD 图示,接着选择位于右方的 CD 图示并从选单中选择 Choose a virtual CD/DVD。请进入放置 ISO 映像档的目录并选择其中一个,例如 CentOS-5.7-x86_64-bin-DVD-1of2.iso 或 CentOS-6.2-i386-bin-DVD1.iso。更改其它设置,例如:虚拟显示卡的内存尺寸、采用 NAT 抑或桥接网络等。首次安装时把请尽量少改动缺省值。
引导 VM 并进行图像化安装,你也可选用文字模式安装。安装完成后,重新开机并进行 firstboot 设置。
安装客端附加程序
你需成为 root 身份来进行下列步骤。请登录 root 指命壳或在一个终端機窗口执行 "su -"。
安装 VB 将会须要创建内核模块。如果 DKMS(动态内核模块支持)已被安装,它将会被应用,及简化内核的更新。我们推荐你先从 RPMforge 或 EPEL 安装 DKMS,然后才安装 VirtualBox。请不要忘记设置 yum-priorities 插件。视乎组件的来源,安装 DKMS 或许会引入它所依赖的开发用组件。
yum --enablerepo rpmforge install dkms
如果你不采用 DKMS,客端附加程序必须在每次内核更新后重装。
要是你仍未安装开发环境及内核源代码:
yum groupinstall "Development Tools" yum install kernel-devel
你亦可选择安装个别的开发组件(除了 kernel-devel 外,至少需要 gcc 及 make),而不运用 groupinstall 这个被某些人视为杀鸡用牛刀的方法。如果你在 CentOS-5 上采用 PAE 内核,请以 kernel-PAE-devel 替换 kernel-devel。要是你并非采用标准的 CentOS 内核,你必须从该内核的来源地取得及安装它的源代码。切勿尝试在客端操作系统上安装 Xen 内核,或执行 KVM 或其它虚拟化监督器。
从 VM 的 Devices 选单选择 Install Guest Additions...。要是图像界面在执行中,客端附加程序的虚拟 CD 映像将会自动被挂载 —— 譬如在 CentOS-6 的 KDE 环境,它会被挂载于 /media/VBOXADDITIONS_4.1.8_75467。要是图像界面的自动播放功能已打开,它或许会通过窗口询问你应否让程序自动执行,及取得 root 的权限。采用全部缺省值后,安装便会完成。
要是图像界面不存在,或者欠缺 autorun,请以 root 身份(视乎需要)把它挂载在 /dev/cdrom 并 cd 至挂载点。输入 ./VBoxLinuxAdditions.run 来进行安装。
CentOS 6.2 针对 VBOXADDITIONS_4.1.8 的修正
CentOS 6.2 内有一个错误导致 3D 客端驱动程序不能正确地被创建。有位论坛用户提供了修正档及连结至收录了更多数据的 VB 论坛讨论议题。
请按上述步骤挂载客端附加程序的 ISO,但不要执行安装程序。把以下的修正剪贴至一个文件内,例如 el6.patch。
--- vboxvideo_drm.c_orig 2011-12-19 08:05:26.000000000 -0500
+++ vboxvideo_drm.c 2012-01-03 15:04:11.181357021 -0500
@@ -112,7 +112,7 @@
.poll = drm_poll,
.fasync = drm_fasync,
},
-#if LINUX_VERSION_CODE < KERNEL_VERSION (2, 6, 39)
+#if LINUX_VERSION_CODE < KERNEL_VERSION (2, 6, 39) && !defined(DRM_RHEL61)
.pci_driver =
{
.name = DRIVER_NAME,
@@ -127,7 +127,7 @@
.patchlevel = DRIVER_PATCHLEVEL,
};
-#if LINUX_VERSION_CODE >= KERNEL_VERSION (2, 6, 39)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION (2, 6, 39) || defined(DRM_RHEL61)
static struct pci_driver pci_driver =
{
.name = DRIVER_NAME,
@@ -137,7 +137,7 @@
static int __init vboxvideo_init(void)
{
-#if LINUX_VERSION_CODE < KERNEL_VERSION (2, 6, 39)
+#if LINUX_VERSION_CODE < KERNEL_VERSION (2, 6, 39) && !defined(DRM_RHEL61)
return drm_init(&driver);
#else
return drm_pci_init(&driver, &pci_driver);
@@ -146,7 +146,7 @@
static void __exit vboxvideo_exit(void)
{
-#if LINUX_VERSION_CODE < KERNEL_VERSION (2, 6, 39)
+#if LINUX_VERSION_CODE < KERNEL_VERSION (2, 6, 39) && !defined(DRM_RHEL61)
drm_exit(&driver);
#else
drm_pci_exit(&driver, &pci_driver);
请执行以下步骤。这是 x86_64(又名为 amd64)的样例。
cd /media/VBOXADDITIONS_4.1.8_75467/ ./VBoxLinuxAdditions.run --noexec --target ~/TMP/ cd ~/TMP/ mkdir ../TMP2 tar jxvf VBoxGuestAdditions-amd64.tar.bz2 -C ../TMP2/ cd ../TMP2/src/vboxguest-4.1.8/vboxvideo/ cat > el6.patch # copy/paste patch code above - end with <Ctrl-D> patch -p0 < el6.patch cd ~/TMP2/ tar jcvf ../TMP/VBoxGuestAdditions-amd64.tar.bz2 * cd ~/TMP ./install.sh
针对 i386,请在上述步骤以 x86 替换 amd64。
这页的英文版本由 PhilSchaffner 创建及维护。欢迎其它 Wiki 用户作出更正、添加、或修改。
Translation of revision 6
