Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[GUIDE] Virtualizing unRAID in Xen / KVM on Arch Linux

Featured Replies

should I be using pygrub as originally posted in your one config?

  • Replies 247
  • Views 64.3k
  • Created
  • Last Reply
  • Author

should I be using pygrub as originally posted in your one config?

 

This is the type of question that drive Arch Linux "snobs" crazy and why people on the Arch Forums tell you to RTFM and get short with you.

 

You should try running your VM without pygrub and see what happens and then run it with it and see if it works.

 

To answer your question... Yes. Otherwise it won't boot. The only time you do not use a bootloader (pygrub) is when you are booting directly into a kernel and ramfs that you loaded directly on the host. unRAID is an example of that with the bzroot and bzimage.

very odd why I need to CTRL+] just to make the system boot.

  • Author

very odd why I need to CTRL+] just to make the system boot.

 

Dude... I told you WHY above.

 

Go learn grub, how to automatically start without a timer or make it so you see grub like I said above.

 

I am kicking you out of the nest. I learned via google and now you are too.

haha, I added the items you said to add.  Maybe it is good to make sure I did it in the right spot.

 

/etc/default/grub

#GRUB_CMDLINE_LINUX_DEFAULT="quiet" <--- this is what was there
GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,38400n8"

 

I also added the serial stuff to the bottom

 

updated grub.  I thought it would work without removing the timer.

 

 

So, just now I changed

GRUB_TIMEOUT=0

 

It was 5, made it 0 and now it is fine...I was being stubborn, thought the first part would work and never proceeded to remove the timer.  Once the timer was out of the way it works.  You should have just said to do so,  :)

 

stupid timer.

 

Looking back at what you said is the cause, the grub menu popping up and not visible interrupting things.  I thought your steps were to make it so I see it, hence not removing the timer, but whatever, with the time gone it seems to boot without issue.

 

YAY! >:(

 

 

  • Author

Looking back at what you said is the cause, the grub menu popping up and not visible interrupting things.  I thought your steps were to make it so I see it, hence not removing the timer, but whatever, with the time gone it seems to boot without issue.

 

I did. Last thing I said in post #173...

 

Of course you could make it default without a timer straight into the VM too. Google is your friend.

 

You have a history of not reading everything (RTFM), skipping steps and wondering off into the wilderness.

 

It's a great way to learn but you need to learn to google / stay on the Arch Linux forums.

 

Now when you boot into the VM you should see the grub menu.

 

Of course you could make it default without a timer straight into the VM too. Google is your friend.

 

"could" not do... :D

 

OK, I am not gonna worry.  Just move on to the rest of the fun.

 

Im hurt.

You have a history of not reading everything (RTFM), skipping steps and wondering off into the wilderness.

 

I dont do it on purpose, but all this command line stuff makes it easy to miss steps.  So, lets not confuse "skipping' with accidentally "missing" because all the other text around the commands.

 

If I could only dump my google history for you to see, this "project" has consumed me.  I want it to work so bad, but at the same time the little hangups are aggravating.  As long as I can fix them though, I accept it all. (well you fix them)

 

I am glad I have you.... You have been an inspiration.

 

I probably shouldn't even begin to discuss the next big task, pfsense.  I know you say it is possible, but my google searches reveal no guide, so this ought to be fun.

 

Please don't boot me from the party.  Think of the wealth of issued discussed and fixed in this thread.  See, a positive.

 

 

Yeah! Vote him off the island! :)

 

But seriously I find the best thing when Im stuck is a short walk and then when I come back to.the PC its always those next 5 mins that are the most productive.

 

Sent from my Nexus 5 using Tapatalk

 

 

er, is there a vmware tools equivalent in xen?  I mean the best I found was https://aur.archlinux.org/packages/xen-tools/, but that doesnt sound like what I need.

 

Just trying to see if such a thing is needed for a driver pack of sorts or does it not matter with xen?

 

The Arch Xen wiki doesn't say anything either, so my guess is no, but still curious.  https://wiki.archlinux.org/index.php/xen

 

Need to get back in the nest, I did my own research, now I just need my findings confirmed.

  • Author

Need to get back in the nest, I did my own research, now I just need my findings confirmed.

 

Good sense of humor. You could use xen-tools.

 

I'm old school...

 

I just make a cfg file. Name, CPU, memory, NIC, Disk (disk where it's installed and ISO where I install it from), etc. I can create a cfg in a minute or two.

want to make sure we are talking the same thing.  I am referring to the tools/drivers installed inside of the vm itself, like vmware has.

 

your mention of the config file, do you keep a generic one you copy and edit as needed

  • Author

want to make sure we are talking the same thing.  I am referring to the tools/drivers installed inside of the vm itself, like vmware has.

 

your mention of the config file, do you keep a generic one you copy and edit as needed

 

We were talking about something different. I thought you were talking about xen-tools that assists you in creating VMs and automatically downloading Debian, Ubuntu, Fedora, etc. and installing it automatically.

 

I'm curious what features that VMWare Tools has in their VMs that you are looking for in a Xen one.

Typically it is drivers and then some parts that help it talk back to vcenter

OK, another question.  Not so much an issue, but an oddity and I am curious if it is normal.

 

Say I connect to console on domu.  Everything is fine.  Then my putty is closed without exiting the console.  I assume the console remains open.  I then try connecting again and it does not appear to work/want to.  Things simple hang.  ctrl+] does nothing.  Essentially the only thing I found to work is start a new putty to connect to dom0.  So, is there a way to kill console sessions or cennect back to them or see them without needing to destroy domU?

 

 

edit:

 

Well, no good reason why, but it would appear my issue has returned from last night, the one that if I boot with -c (console) I need to ctrl+] to boot, even with my 0 timer, unless there is even more to make it all vanish...

 

Regardless, there are two things to think about.  the first is how often will i really be needing -c at boot as opposed to booting the vm without -c and connecting the console after if I need to.  I mean really.  The only issue being that I know in my head thins aren't perfect.  So I ponder KVM.

 

Do I need to completely remove XEN to use KVM or do i need to just not boot into the xen kernel?  I am wondering if I wouldnt have some better luck there.  Plus I get the help of a GUI as opposed to mostly cmdline.  Sure i can install and configure a gui for xen, but I feel the issue might be there.  It is the whole reason I was going to try opensuse, to try kvm, but since then I learned I can use my Arch install for that too, so I am thinking that might be the smart route.  Plus, based on what was said, I am not an enterprise so KVM should suffice.  Heck, I even ponder straight xenserver...

 

edit 2:

OK, not going to quit just yet, enabled the hidden timeout menu and now I am booting OK again.  Now I am back to figuring out what happened to my console sessions.  it would connected, but the I had no input, so either the system crashed sort of or something else, but killing it and creating it has got me back in to configure...obviously not the best fix, but it was the only one I had, so for now I am going with it, even if it is not the best idea

 

edit3:

Seems hit and miss, sometimes things boot OK with console and sometimes no.  Heck, I need to confirm, but I think I saw things fail when I don't even use the console, so it is weird.  Still pondering the idea of KVM

  • Author

Still pondering the idea of KVM

 

Dude...

 

1. I told you I kicked you out of the nest.

 

2. This isn't an Arch Linux / Xen Forum.

 

3. I don't think you and Arch play well together.

 

4. Goto the unRAID CentOS Edition thread I created and read through the ENTIRE THREAD. You might find a couple of links to other guides that might interest you.

They aren't as helpful. No idea why.

 

Is centos as modular as arch? I like arch,  just have little issues

  • Author

Fly little birdie...fly.  :)

 

The force is strong in you. You fly like a champ.

I'm sorry, I have not finished reading this whole thread yet, but wanted to see if there was any discussion of 'best' hardware to use?

 

I'm getting excited about all this, and have figured which 2 machines (or more) will get consolidated, and my motherboard will handle VT-x, but not my processor.  This whole research has led me to look for a place to discuss the hardware specific side of this project.  Things like 'best' way to keep it low-power, and which hardware bits provide most/best functionality, etc.

 

I don't think this is probably the best thread, but before I started something else, I figured I'd see what grumpy thinks about it.

 

Thanks again for your contributions to this area!!

I'm sorry, I have not finished reading this whole thread yet, but wanted to see if there was any discussion of 'best' hardware to use?

 

I'm getting excited about all this, and have figured which 2 machines (or more) will get consolidated, and my motherboard will handle VT-x, but not my processor.  This whole research has led me to look for a place to discuss the hardware specific side of this project.  Things like 'best' way to keep it low-power, and which hardware bits provide most/best functionality, etc.

 

I don't think this is probably the best thread, but before I started something else, I figured I'd see what grumpy thinks about it.

 

Thanks again for your contributions to this area!!

 

The most cost effective Intel processor I could find was an i5 3470 (note not the K model as they don't support vt-d whereas the non K series do). There are tons of cheaper motherboards but none are guaranteed exactly because not only does the chipset (h67 or whatever) need to support vt-d but also your EXACT BIOS revision too.

 

Plenty of options with AMD but I found the costs competitive with Intel and I'm an Intel guy so guess which way I jumped?

 

My sig contains a known good system and you can bet that any 'server grade' board will work too.

 

Good luck!

 

Sent from my Nexus 5 using Tapatalk

 

 

OK, so a I finally decided the issue is my VM, so re-installed.  In all my hunting I leaned I didnt need to actually install grub.  I was not comprehending this the other day, so yeah, manually did grub.cfg this time and it behaves better.  I occasionally see it hang still but I have more information.

 

running early hook [lvm2]

 

searching this takes me here: https://wiki.archlinux.org/index.php/Mkinitcpio#Using_LVM

 

but this is in the domu,  lvm is on dom0.  so what I am trying to understand is does the domu vm see the drive as an LVM2 still or is it simply a normal disk?

 

if it still sees lvm, I will make the change, but I thought to avoid breaking the system requiring booting to the iso to fix grub.  Hope this makes sense what I am asking.

I've been having a whale of a time over the past 4-5 weeks learning as much as I can about virtualisation with the objective of configuring a unified server to run;

  • unRAID
  • mediaportal server (windows VM) with DVB-S2 tuner cards passed through
  • at least one mediaportal client (windows VM) with GPU & USB passed through

 

I've bought and built a new machine for this (see blog link in my sig) and I've been playing variously with OpenSuSe, Manjarobox (love it) and now vanilla ArchLinux. With all of the above I've tried both Xen and KVM.

 

I've been enjoying the discussion here around unRAID ACE but am hedging my bets and want to become very familiar with setting up a system like this where unRAID can run either on the host system or in a VM.

 

Rather than try to do everything at once, I've decided it's best to take baby steps. My objective right now now is to build an ArchLinux system with Xen. Once established, I'll play with that, get familiar with making VMs etc. and then later move on to configuring passthrough.

 

From my tests so far, I've settled on Xen as gpu passthrough seems to be a bit more straightforward than on KVM (or I just haven't found a good KVM guide yet)

 

Anyway, the work of IronicBadger and GrumpyButFun here has been inspirational and I've been following their threads, posts and guides with deep interest.

 

However, while all the steps for building such a system are there in their output (and is very basic for those guys), what I've found is that the required info is fragmented. Some guides are incomplete, others assume a certain level of knowledge or take shortcuts or refer to other (unlinked) documents.

 

What I'm attempting to do is build a consolidated meta-guide that lists all the steps in an efficient order and includes any clarifications or gotchas I've found, investigated and resolved in following the instructions from the guys. Essentially, the response of a user with basic linux skills drawing together all the bits and pieces,(and a reference for myself for when I want to re-do this at some point in the future).

 

 

So, below I reproduce yagxup v0.1 (yet another guide for xen and unraid with passthrough).

 

I'm posting this here for two reasons;

 

 

1. A sanity check. I'd appreciate if people could have a read and let me know if I've missed anything or are there any ways this could be shortened?

 

2. I have a few of questions arising from implementing this for which I'm hoping for answers. These are;

 

 

Question 1

I ran through this in a VirtualBox VM on my Mac and it worked great. The only surprise was that when I rebooted (selecting the Xen kernel), logging in as non-root user and issuing xl info, I got;

 

xc: error: could not obtain handle on privileged command interface (13 = Permission Denied): Internal error
libxl: error: libxl.c:94:libxl_ctx_alloc: cannot open libxc handle: Permission denied
cannot init xl context

 

Doing this under su or logging in as root produces the correct/anticipated output. Would this be the expected behaviour and will it cause any problems as I progress (conducting business under user account)?

 

 

Question 2

I also implemented this process on my physical hardware yesterday and had a problem with the grub mkconfig step. It turned out that there was no /boot/grub/ folder. When I added that directory manually, makeconfig worked but the boot loader did not pick it up.

 

I'm going to try the process again tonight but wondered if anyone could offer any pointers as to why /boot/grub might be missing (depute my having installed grub as part of the Arch setup process)

 

 

Question 3

In what circumstances is the repair grub step required (step 4.2, below)?

 

 

So, here we go...

 


 

pre-install notes

 

This is a work in progress. While I've run through it and it (mostly) works, I would not recommend using it right now. Let's wait until it's had some feedback and validation. I'll post the final version here and to my blog.

 

UPDATE: This guide has been updated following comments in this thread. The updated version can be found on my blog: http://mediaserver8.blogspot.ie/2014/01/standing-on-shoulders-of-giants.html

 

prerequisites

 

  • be familiar with issuing linux command in CLI
  • be familiar with editing files in nano

 

 

STEP 1 - Install ArchLinux

 

Follow IronicBadger's ArchLinux install guide which utilises ArchBoot with a visual installer (as opposed to cli espoused on ArchWiki beginners guide)

 

http://blog.ktz.me/?p=131

 

This gets to the stage of booting ArchLinux and allowing root login.

 

Gotchas:

The ISO image link in the guide is broken. This appears to be the current ISO link;

http://mirror.cinosure.com/archlinux/iso/archboot/latest/archlinux-2013.10-1-archboot-network.iso

 

 

 

STEP 2 - Post Install Setup

 

2.1 Grub Update Bug Fix

 

nano /etc/default/grub

 

Add to it;

 

GRUB_DISABLE_SUBMENU=y

 

(From http://blog.ktz.me/?p=308)

 

(is this still required?)

 

 

 

2.2 Edit /etc/pacman.conf

 

uncomment [multilib] block and add;

 

[archlinuxfr]

SigLevel = Never

Server = http://repo.archlinux.fr/$arch

 

 

 

2.3 Update and install yaourt

 

pacman -Syyu
pacman -S yaourt

 

(is yaourt required if installing precompiled xen?)

 

 

 

2.4 Install SSH

 

pacman -S openssh
systemctl enable sshd.service
systemctl start sshd.service

 

 

 

2.5 Create a user

 

useradd -m -g users -s /bin/bash <username>
usermod -a -G wheel <username>
passwd <username>

 

 

 

 

2.6 Configure nano as default

 

in /etc/bash.bashrc add;

 

export EDITOR=nano

 

 

 

 

2.7 Configure sudo

 

pacman -S sudo
EDITOR=nano visudo

 

uncomment this line;

 

%wheel ALL=(ALL) NOPASSWD: ALL

 

 

 

 

2.8 Install utilities

 

pacman -S unzip
pacman -S wget

 

 

 

 

STEP 3 - Install Xen

 

 

3.1 Download precompiled Xen

 

navigate to a suitable directory and download IronicBadgers Xen package;

 

wget http://blog.ktz.me/wp-content/uploads/2013/09/xen-4.3.1-2-x86_64.pkg_.tar.xz_.zip

 

OR download as linked by GrumpyButFun;

 

https://drive.google.com/file/d/0B396mkxPBhWrZU9ySThQZzZFYnc/edit?usp=sharing

 

(are these the same thing?)

 

 

 

 

3.2 Install

 

unzip *.zip
su
pacman -U xen-4.3.1-2-x86_64.pkg_.tar.xz

 

 

 

 

3.3 Update grub

 

grub-mkconfig -o /boot/grub/grub.cfg

 

 

 

 

3.4 Set Up services

 

systemctl enable xenstored.service
systemctl enable xenconsoled.service
systemctl enable xendomains.service

 

 

 

 

3.5 Reboot selecting Xen kernel

 

reboot

 

 

 

 

STEP 4 - Post-Xen install

 

4.1 Set up network bridge

 

Follow grumpybutfun's guide at the start of this post;

http://lime-technology.com/forum/index.php?topic=30980.msg279094#msg279094

 

 

4.2 Repair grub

 

(is this necessary???)

 

Follow grumpybutfun's guide at the end of this post;

http://lime-technology.com/forum/index.php?topic=30980.msg279094#msg279094

 

 

 

 

STEP 5 - Set up libvirt (optional)

 

Follow grumpybutfun's guides to enabling libvirt and configuring ssh/tcp;

 

http://lime-technology.com/forum/index.php?topic=30980.msg279083#msg279083

http://lime-technology.com/forum/index.php?topic=30980.msg279084#msg279084

 

 

 

 

 

REFERENCES & SOURCES

 

ArchLinux Installation guide;

https://wiki.archlinux.org/index.php/Installation_Guide

 

ArchLinux Beginners guide;

https://wiki.archlinux.org/index.php/Beginners%27_Guide

 

ArchLinux Network Bridge setup guide;

https://wiki.archlinux.org/index.php/xen#Creation_of_a_network_bridge

 

IronicBadger's ''How to install ArchLinux'

http://blog.ktz.me/?p=131

 

IronicBadger's 'perfect media server setup with Arch Linux, Xen and XBMC'

http://blog.ktz.me/?p=120

 

GrumpyButFun's '[GUIDE] Virtualizing unRaid in Xen / KVM on Arch Linux'

http://lime-technology.com/forum/index.php?topic=30980.0

OK, so a I finally decided the issue is my VM, so re-installed.  In all my hunting I leaned I didnt need to actually install grub.  I was not comprehending this the other day, so yeah, manually did grub.cfg this time and it behaves better.  I occasionally see it hang still but I have more information.

 

running early hook [lvm2]

 

searching this takes me here: https://wiki.archlinux.org/index.php/Mkinitcpio#Using_LVM

 

but this is in the domu,  lvm is on dom0.  so what I am trying to understand is does the domu vm see the drive as an LVM2 still or is it simply a normal disk?

 

if it still sees lvm, I will make the change, but I thought to avoid breaking the system requiring booting to the iso to fix grub.  Hope this makes sense what I am asking.

 

Your VM sees an ext4 partition (or whatever file system you used) and doesn't care the LVM structure present on the host.

 

Sent from my Nexus 5 using Tapatalk

 

 

Meep - awesome work and great to see you flying so well from the nest!

 

Q1. XL is a command which controls the xen toolstack and as such requires root, this is normal.

 

Q2. Depends if you have formatted as GPT or MBR disk. Get back to me on that.

 

Q3. See below

 

Step 2.1 is not required with the January iso.

 

Step 2.3 - yaourt automates building packages thus if you have a precompiled package all you need is pacman -U pkgname.tar.xz

 

3.1 probably

4.2 I've not needed to do this but its useful info if you break something or a UUID doesn't quite match up.

 

Phew. Good work dude.

 

Sent from my Nexus 5 using Tapatalk

 

Meep - awesome work and great to see you flying so well from the nest!

 

Q1. XL is a command which controls the xen toolstack and as such requires root, this is normal.

 

Q2. Depends if you have formatted as GPT or MBR disk. Get back to me on that.

 

 

 

Thanks. It was GPT. My MB us UEFI but I definitely selected BIOS/GRUB in Arch Setup.

 

I'm going to give the whole things another go tonight now that I'm a bit more comfortable with it.

 

Got a link to Archboot Jan iso (or do we wait a while for it to go up on mirrors?). Downloading ISOs from archlinux site itself confused me as they seem to contain only cli install?

 

Peter

 

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.