Not a member of Pastebin yet?Sign Up, it unlocks many cool features!
I decided to share my experience installing on a computer motherboard that supports hardware resource sharing (Intel VT-d) between virtual machines, three operating systems. If you notice any omissions, errors, please let us know. Copy-paste can be anywhere, if you can find here something useful.
Why should it? Well, for example, want to have a familiar Linux as the underlying operating system, and all around full of all sorts of devices that want or Windows, or Mac, and Linux under flatly refuse to work.
Put it all on a separate partition is not desirable, because it is inconvenient, because the support of others in these file systems, operating systems leaves much to be desired. Yes, and you get used to one environment. Also, sometimes I would like to proprietary closed system was carried out in the sandbox, but not dictate its terms to the user to use PC, but this is not a technical question.
Fortunately, Intel has enabled us to create not just virtual machines, such as 'poluvirtualnye' when the OS can work directly with the glands, which she will identify the user. This technology is called 'virtualization vvodv O' (Virtualization Technology for directed I / O), and is available not only in Hi-End market segments, as one might have thought, but at the cost of conventional Chinese-Taiwanese 'mother' like Gigabyte GA-Q35M-S2.
In terms of software the situation is somewhat worse: there are not many operating systems support the normal operation of such a 'zoopaprka' on one computer. Of the free software you can currently select two products:
Linux KVM - embedded system virtualization Linux. Starting with the 2.6.28 kernel has learned to work with the mapping DMA, which is the basis virtualtizatsii periphery.
Xen - a hypervisor, open source, unlike the KVM does not require the so-called 'Host OS', and runs directly on hardware, sharing the resources of a single physical computer into multiple virtual machines, called domains.
VirtualBox, VMWare, and other widely known virtualizer have not yet learned to share hardware, although there are reports that support VT-d is in the Parallels Workstation for Mac.
At the time of this writing, the best 'iron divider' is Xen. At least, unlike the KVM it more correctly forwarding an USB-bus, which is important to work with Windows-only and Mac OS X-only devices. About him further and will lead it.
Xen is a hypervisor - a small core that works in privileged mode and share computer resources among different domains (virtual machines).
Domains are of two types: lead (Dom0, it is always in the system) and slave (DomU, there may be several). Leading domain is loaded in the first place and controls the slave domains as well as by Xen, contains the device drivers used by Xen, to highlight the trailing domain part of the resources provided by leading domain. So, often, a leading domain name is identified with a host system in traditional systems of virtualization, in fact, it is a virtual machine.
Xen supports two virtualization technologies:
Para is when the operating system specially adapted to work in Xen. At present, there are Xen-OS Linux, NetBSD and Solaris (OpenSolaris) and work is underway to transfer the other free OS.
Hardware virtualization is virtualization on the level of the 'iron'. Most modern computers have processors with built-in support for virtual machines, but the motherboards with support for virtualization periphery until a little bit. But, if you wish, you can always find such even, as mentioned above, among the budget models.
Leading domain in Xen always paravirtualen. Can be used by the operating system Linux, NetBSD and Solaris (OpenSolaris), but the most interesting features is only available under Linux.
A computer with a motherboard that supports the technology Intel VT-d. Without VT-d and all will work but will not be able to share physical devices between domains. Will be available only virtual devices emulated qemu-dm, the periphery of the emulator included in the delivery of Xen. AMD IOMMU was not tested, but is officially supported by Xen. In our example, used a motherboard Gigabyte GA-Q35M-S2 with the latest BIOS (F7). F4 version below do not include tables DMAR, respectively, virtualization peripherals available.
The Intel technology to support VT (Vanderpool). Without VT will not be able to establish 'normal' operating system (like Mac OS X or Windows), but only a paravirtualized machine. AMD Pacifica has not been tested, and possibly going to work.
Established distribution on Linux. According to your taste. In this example we will use Arch Linux x86-64 (Arch64).
Step One - Set hypervisor Xen.
1) Download version 3.4.2 Xen distribution or newer. It is strongly recommended to put out the sources, as may have problems that are described below and the hypervisor will have to patch.
2) Install the dev86 and bin86:
pacman-S bin86
3) Putting Xen. In the folder with the source giving the command 'make xen'. If the build was successful, install a hypervisor command 'make install-xen'.
4) Putting xen-tools. In the folder with the source giving the command 'make tools'. If the build was successful, the team set TOOLS 'make install-tools'.
5) Download the development-snapshot of the Linux kernel with support for leading domain Xen (ordinary nuclei can only be a slave, will support leading into the next version of the mainline kernel). The kernel is available via git-repository:
If you do not want to mess with git'om, you can just take a snapshot here from the middle of November 2009.
6) Configure the kernel options you want to include Xen:
7) Collect the kernel. If all goes well, install module command 'make modules-install'. Core file arch/boot/x86/bzImage put in a folder / boot named vmlinuz-xen.
Of course, tuning of file systems and kernel parameters need to put your own.
9) By default when you start xend persists in trying to translate the network card in bridge mode, but when there are multiple setevushek makes it pretty crooked. Disable this feature by replacing the contents of the script network-bridge, network-nat, network-route, vif-bridge, vif-nat, vif-route to / etc / xen / scripts on-line:
#! / Bin / sh
Subsequently, we cmozhem fill them with something useful, and configure the network on its own with the help of the same bridge-utils.
10) It is mandatory to prohibit any GUI startup during the boot process. This is necessary to avoid potential problems with switching to graphics mode under Xen (true for some on-board card Intel).
11) Reboot. If all goes well, then our Linux running in Xen master domain, and we have the opportunity to create a slave domains.
12) If you are using onboard graphics card from Intel, you may encounter the following problem: after loading Xen with iommu = 1 screen becomes green-striped (or shows any other debris), and will persistently refuse to show anything else (at the addresses 0B8000h-0BFFFFh found immutable byte 0FFh, which suggests that videopyamyat have displayed somewhere 'not there'). In this case you will have to patch for Xen to hide DMA for the onboard video card. We use the same method that uses normal Linux, supports DMAR.
Grab this patch. Before applying it to the tree source Xen, looking at it the line '/ * UGLY HACK * /', and, in the line below if ((bus X) & & (path-> dev Y) & & (path-> fn Z)) instead of X: YZ is entered bus number, slot and function of our cards, which can be found using the utility lspci. There are 0:2.0, for on-board card is almost always placed in the second slot, then replace nothing. After that, apply the patch and Rebuild Xen. The problem should disappear, and Linux should boot correctly.
13) Try to run the X Window and GUI. If it runs fine, then we have nice, restore startup, and you can proceed to Step 17. If not, try to start the X's in the mode of VESA. Of course, with all the hardware acceleration will have to leave, but if you have an onboard card, then most likely they are to you and not really needed.
14) If you have a card-board from Intel, a widescreen monitor and 'X does not want to start, but in VESA mode, there are disparities screen, then look for utility 915resolution. Unfortunately, the author abandoned her, but there is a third-party patches to support new chipsets. Already patched version can be taken here. Putting the utility.
15) You may need to remove the driver intel-agp. If he built the module, simply remove the module file, or exclude a driver from the configuration and compiling the kernel.
16) Run the '915resolution-l'. See the list of modes supported by the BIOS. Now select the closest to the desired mode and run the command '915resolution <mode> <width> <height>'. Propatchatsya well as all other modes with variable resolution mode on selection. There is nothing to fear should not be, because this utility is not very patches BIOS, and its image in RAM. Accordingly, it should be run and each time you boot your computer. Start the X's, and check that everything works as expected.
17) Set up the devices to the main domain (our Arch Linux). By default, the main domain are allocated all the resources of the computer. Part of them can be excluded. First, you can limit the memory of Linux, Xen parameter passing 'dom0_mem = XXXX'. Secondly, you can disable some PCI (-E) device, a kernel Linux (namely the kernel, not Xen!) Parameter 'pciback.hide = (B1: D1.F1) (B2: D2.F2 )...', These devices Linux will ignore them and drivers will not load. In consequence, we can give them to other domains. So watch list of PCI-devices command 'lspci' and configuration rules GRUB:
In this example, we have hidden from the Linux network interface card (0:19.0), one of the controllers USB (0:1 a.0, 0:1 a.1, 0:1 a.2 and 0:1 a.7), and on-board sound card ( 0:1 b.0). The second controller is USB, sound card, standing in a PCI slot, and any other peripherals remain under Linux. For the convenience of on-board sound output can be directed to enter a default sound card as it used to do with TV-tuners, having only analog audio output and headphones to listen to some sound from all domains. The memory will not be cut, put the balloon-driver turns the dynamic memory from Xen Dom0 for on request.
18) Reboot, and see the disabled and the device in the system are not visible (although they still can be found using lspci).
19) Set up a Linux interface bridges using bridge-utils. Making the main interface bridge. Xen scripts will work with them automatically, enough to register the name of the interface (br0, for example) in your domain configuration.
20) Mount the file system / proc / xen (and all set up, register to / etc / fstab) and start xend:
xend start
Everything. Our Xen ready to go!
Step Two - Installation of Mac OS X Leopard to the domain.
1) Get the Installation CD Mac OS X Leopard for Hakintosha. In the example used in release 10.5.6 of XxX.
2) Allocate space for the domain. It is recommended to allocate a separate volume or partition, but you can do it in just a large file, but there will be some loss of performance of disk operations.
3) Select physical devices for the domain. In our example, we select one of the buses and on-board USB sound card.
4) Turn off the devices from the leading domain name (if not already done so in the previous step), as described above. Reboot (if you changed the configuration).
5) Create a domain configuration file (for example, / etc / xen / leo):
# Loader domain
builder = 'hvm'
# Memory
name = 'leo'
Select # 1 chip, multi-processor core is not working AnV
cpus = ['2 ']
# Expansion of PAE should necessarily be included
acpi = 1
# APIC must necessarily be included
hpet = 1
# Set the maximum 'weight'. It can be from 0 to 65535. Parameter indicates
# Priority domain in the scheduler. The higher it is, the more CPU time Xen
cpu_weight = 65 535
Timer Mode # 0 - 'floating', 1 - the internal clock domain linked to real time
# Streamlining timer interrupts. It seems that in Mac OS X, this option may not affect anything.
# Mask is available processors. Similarly to the previous item visible changes option does not.
# Network interface which. br0 - name of the bridge interface. mac-address must be sure to specify a static,
# Else every time you boot into Mac OS X will need to adjust to the new network.
Well, the driver for onboard sound card to drive them XxX just darkness.
8) If all went well, to set the crack and download the service pack to 10.5.8 by iDeneb, but updates are not yet rolls.
9) Be sure to keep the folder / System / Library / Extensions and / mach_kernel, copying them somewhere in a separate folder.
10) update rolls (iDeneb.MacOSx86ComboUpd10.5.8.pkg), but do not reboot. Remove IOATAFamily.kext and replace it with the old, in the folder Extensions, stored in the preceding paragraph. Kekst the update not work under Xen. Do not reboot. Start iDeneb.Tool.v10.5.8.mpkg and set the kernel of AnV. In any case not update butts, otherwise everything will fly off and have them recover from a disk XxX.
11) Reboot with the parameters-f-v. The system will boot, but it automatically goes into a reboot. Then boot normally.
12) to replay the updates from Apple (except system).
All, Mac OS X installed!
To date, test the functionality of one of the on-board USB-bus. And, then, we have, scanners, cameras, iPhone. With sound (ALC888) as long as the problem - card is recognized, but the sound is ragged. Most likely, the problem of incorrect work of one of the timers (APIC or HPET). Solving the problem while looking for. May help to use other drivers (while using patched AppleHDA from Taruga).
Step Three - Installation of the Microsoft Windows domain.
There is no special wisdom, all doing the same perdyduschemu stage, even easier. Fortunately, all sorts of guides on the Internet sea. Unlike Mac OS X, works fine under Windows onboard sound drivers provided with all the charms. However, before the first boot Mac OS X. After that, work stops and must restart your computer. While this problem has been found.
What can be done with VT-d? Well, for example, to create another small domain with some FreeBSD, give her a network card, and Linux, Windows and Mac OS X to put through this gateway. And there - all sorts of firewalls, Apache, and other husk, looking to bare his back to the Internet without the possibility of easy access to the internal domains. In general, a lot of room for imagination.
Also, now the developer community is working on Xen bouncing cards in DomU-domains, which may provide the ability to run 3D-games without a reboot and repartition the disk! Already even have some success, but so far only in a very early stage in the test versions of Xen. But who has a configuration similar to that used by video, can even try yourself. Good luck!
It does not look like Citrix have done any work to make Mac OS X an officially supported guest operating system for Xenserver. This does not mean it is completely impossible but it does mean as you have found that your on your own.
Xenu's Link Sleuth is not available for Mac but there are plenty of alternatives that runs on macOS with similar functionality. The most popular Mac alternative is Screaming Frog SEO Spider.It's not free, so if you're looking for a free alternative, you could try Integrity or Beam Us Up.If that doesn't suit you, our users have ranked 46 alternatives to Xenu's Link Sleuth and 12 are available. XenServer does not support Apple Mac OS X as a guest operating system. Additional Resources. For more information, refer the supported list on the vm on XenServer Citrix XenServer ® 6.5 Service Pack 1 Virtual Machine User's Guide. Was this page helpful? Sorry to hear that.
Xen Mac Os X
This contrasts with both VMware ESXi which does officially support Mac guests in ESXi running on a Mac, and Parallels Server. Both do this by doing two important things, firstly enforcing Apple's license conditions which only allow this if run on real Mac hardware and secondly by emulating the extra hardware that makes a Mac a Mac rather than a PC, they only get Apple's permission to do the later by agreeing to the former.
Hint - the issue that is preventing you running OS X in Xenserver is the same as that which prevents Virtualbox from running OS X.
Xen For Mac Os X 10.8
Xen For Mac Os X 10.10
Ignoring technical issues the Apple licensing terms allow you to run up to two virtual Macs on a Mac and this is only for Mac OS X 10.6 Server, or OS X 10.7 Lion (client or server), or OS X 10.8 Mountain Lion (client or server), or OS X 10.9 Mavericks (client or server). You are not allowed to run Mac OS X 10.6 (client).