Archive:Install Kodi for Linux on Arch Linux: Difference between revisions
>Jskube84 No edit summary |
>Jskube84 No edit summary |
||
Line 1: | Line 1: | ||
'''DISCLAIMER!''' This is a unofficial guide. Unofficial as in the XBMC Team will not support this type of install, answer your questions, assist you with problems or anything along those lines. Unofficial means just that, this is not the official install method for XBMC and is not recommend, supported or endorsed by the XBMC Team. This guide makes no promises that this will work with your system, that it will not break your computer, and that it will not steal your girlfriend. If you are comfortable will all of this then feel free to continue! | '''DISCLAIMER!''' This is a unofficial guide. Unofficial as in the XBMC Team will not support this type of install, answer your questions, assist you with problems or anything along those lines. Unofficial means just that, this is not the official install method for XBMC and is not recommend, supported or endorsed by the XBMC Team. This guide makes no promises that this will work with your system, that it will not break your computer, and that it will not steal your girlfriend. If you are comfortable will all of this then feel free to continue! | ||
Line 5: | Line 4: | ||
Last, if you have questions or problems SEARCH, SEARCH, and SEARCH SOME MORE. The wiki and forums for XBMC and Arch Linux are full of knowledge. If you have a question or problem chances are someone else has had the same one. So please search before you ask a question. | Last, if you have questions or problems SEARCH, SEARCH, and SEARCH SOME MORE. The wiki and forums for XBMC and Arch Linux are full of knowledge. If you have a question or problem chances are someone else has had the same one. So please search before you ask a question. | ||
= Introduction = | = Introduction = | ||
This guide is intended to be a step by step guide to getting XBMC up and running on a dedicated PC running Arch Linux. I will walk you through setting up all the hardware that is needed to get you the ultimate media p.c. experience. I will explain how to get all of my current hardware to work. Over time I hope to have people contribute to this guide so it will cover a wider array of hardware. This may seem like a long guide but just stick to it and you will come out on top. | This guide is intended to be a step by step guide to getting XBMC up and running on a dedicated PC running Arch Linux. I will walk you through setting up all the hardware that is needed to get you the ultimate media p.c. experience. I will explain how to get all of my current hardware to work. Over time I hope to have people contribute to this guide so it will cover a wider array of hardware. This may seem like a long guide but just stick to it and you will come out on top. | ||
Line 24: | Line 21: | ||
* Up to date VIDEO (graphics) driver. | * Up to date VIDEO (graphics) driver. | ||
* LIRC (Microsoft MCE Remote will work out-of-the-box, however if you have any other remotes and/or LCD displays then you are on your own to solve the individual LIRC and LCDproc issues). | * LIRC (Microsoft MCE Remote will work out-of-the-box, however if you have any other remotes and/or LCD displays then you are on your own to solve the individual LIRC and LCDproc issues). | ||
= Obtaining Arch Linux = | = Obtaining Arch Linux = | ||
So you haven't bailed on me yet! Now lets us start down the path of Arch Linux. First we need to | So you haven't bailed on me yet! Now lets us start down the path of Arch Linux. First we need to | ||
download Arch, we will use [http://en.wikipedia.org/wiki/BitTorrent_(protocol) Bittorent] to acquire the needed images. If you cant use Bittorrent or | download Arch, we will use [http://en.wikipedia.org/wiki/BitTorrent_(protocol) Bittorent] to acquire the needed images. If you cant use Bittorrent or | ||
would rather use a more traditional method please reference the [http://www.archlinux.org/download/ Arch download page.] | would rather use a more traditional method please reference the [http://www.archlinux.org/download/ Arch download page.] | ||
== Thumb Drive Installation == | == Thumb Drive Installation == | ||
ftp://ftp.archlinux.org/iso/2009.02/archlinux-2009.02-2-ftp-i686.img.torrent | ftp://ftp.archlinux.org/iso/2009.02/archlinux-2009.02-2-ftp-i686.img.torrent | ||
Line 42: | Line 35: | ||
<span style="color:red">'''This will erase everything on your thumb drive so please back up anything you may need on it.'''</span> | <span style="color:red">'''This will erase everything on your thumb drive so please back up anything you may need on it.'''</span> | ||
=== Windows === | === Windows === | ||
Download [http://www.chrysocome.net/rawwrite RawWrite.] | Download [http://www.chrysocome.net/rawwrite RawWrite.] | ||
Run RawWrite and select the image you downloaded and the your thumb drive and then let it do its thing. | Run RawWrite and select the image you downloaded and the your thumb drive and then let it do its thing. | ||
=== Linux / OSX === | === Linux / OSX === | ||
You should already have [http://en.wikipedia.org/wiki/Dd_(Unix) dd] available to you, simply run dd in this syntax: | You should already have [http://en.wikipedia.org/wiki/Dd_(Unix) dd] available to you, simply run dd in this syntax: | ||
==== Linux ==== | ==== Linux ==== | ||
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA"> | <div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA"> | ||
Line 72: | Line 59: | ||
You should see Linux detect your thumb drive being detected by Linux and where its assigned to in /dev/ | You should see Linux detect your thumb drive being detected by Linux and where its assigned to in /dev/ | ||
==== OSX ==== | ==== OSX ==== | ||
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA"> | <div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA"> | ||
Line 86: | Line 71: | ||
== CD Installation == | == CD Installation == | ||
ftp://ftp.archlinux.org/iso/2009.02/archlinux-2009.02-ftp-i686.iso.torrent | ftp://ftp.archlinux.org/iso/2009.02/archlinux-2009.02-ftp-i686.iso.torrent | ||
Line 93: | Line 77: | ||
Now that we have our CD, we need to reboot or boot the computer we are going to install this on. You will probably have to go into your BIOS to boot of the cd drive. This varies by motherboard so just poke around. On my Zotac Mini-ITX board I just had to set the first boot object to cd. | Now that we have our CD, we need to reboot or boot the computer we are going to install this on. You will probably have to go into your BIOS to boot of the cd drive. This varies by motherboard so just poke around. On my Zotac Mini-ITX board I just had to set the first boot object to cd. | ||
= Installing Arch Linux = | = Installing Arch Linux = | ||
If you would like a more in depth guide please reference the [http://wiki.archlinux.org/index.php/Official_Arch_Linux_Install_Guide Offical Arch Install Guide ] | If you would like a more in depth guide please reference the [http://wiki.archlinux.org/index.php/Official_Arch_Linux_Install_Guide Offical Arch Install Guide ] | ||
Line 107: | Line 89: | ||
Now that we are in the Arch installer we need to setup a few things. | Now that we are in the Arch installer we need to setup a few things. | ||
== Package Source == | == Package Source == | ||
First we need to set the source. Since we are using the FTP installer go ahead and select the FTP method. | First we need to set the source. Since we are using the FTP installer go ahead and select the FTP method. | ||
== Network Setup == | == Network Setup == | ||
Next you need to setup your network. If you use a static IP you will need that information if not just set it to DHCP and go about your business. | Next you need to setup your network. If you use a static IP you will need that information if not just set it to DHCP and go about your business. | ||
== Package Mirror == | == Package Mirror == | ||
Now we need to choose a mirror, try to find something thats close to you so you can get the best download speed for obvious reasons. | Now we need to choose a mirror, try to find something thats close to you so you can get the best download speed for obvious reasons. | ||
== Clock Setup == | == Clock Setup == | ||
You will now need to set your clock. Most will set their clock to localtime. If you clock is set to GMT then by all means set it to GMT. | You will now need to set your clock. Most will set their clock to localtime. If you clock is set to GMT then by all means set it to GMT. | ||
== Hard drive Setup == | == Hard drive Setup == | ||
How and what is the best way to do this is up for huge debate but I am not going to really tell you how to do this. If you know how to do it I am sure you have a way you prefer. If you just want to get it up and running go ahead and choose auto prepare. Auto prepare will give you the following setup: | How and what is the best way to do this is up for huge debate but I am not going to really tell you how to do this. If you know how to do it I am sure you have a way you prefer. If you just want to get it up and running go ahead and choose auto prepare. Auto prepare will give you the following setup: | ||
Line 148: | Line 120: | ||
== Package Installation == | == Package Installation == | ||
Now we are down to the big part, what packages to install! Just leave what it has set to default we will install anything we need later on down the road. The install will take a few minutes so this maybe the time to get a new bottle of water if need be. | Now we are down to the big part, what packages to install! Just leave what it has set to default we will install anything we need later on down the road. The install will take a few minutes so this maybe the time to get a new bottle of water if need be. | ||
== System Configuration == | == System Configuration == | ||
This is where we setup some important things, like your network and what services you want running. | This is where we setup some important things, like your network and what services you want running. | ||
=== Hostname === | === Hostname === | ||
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA"> | <div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA"> | ||
HOSTNAME="whateveryouwantyourboxcalled" | HOSTNAME="whateveryouwantyourboxcalled" | ||
</div> | </div> | ||
=== Modules === | === Modules === | ||
Next setup your Modules. This is where you setup what modules you want loaded on boot up. | Next setup your Modules. This is where you setup what modules you want loaded on boot up. | ||
Line 177: | Line 142: | ||
If you lead the module name with a ! that will blacklist the module and prevent the system from loading it. Helpful for pesky audio drivers. | If you lead the module name with a ! that will blacklist the module and prevent the system from loading it. Helpful for pesky audio drivers. | ||
=== Network === | === Network === | ||
Ok network time. Under interfaces you will setup your network. If you are using dhcp then | Ok network time. Under interfaces you will setup your network. If you are using dhcp then | ||
Line 209: | Line 172: | ||
=== Daemons === | === Daemons === | ||
Last in rc.conf you will see DAEMONS, this is where you will setup what services you want to start on boot. We will leave this alone for now. | Last in rc.conf you will see DAEMONS, this is where you will setup what services you want to start on boot. We will leave this alone for now. | ||
=== Root Password === | === Root Password === | ||
Last scroll down and set your root password. Pick what you want just dont forget it! | Last scroll down and set your root password. Pick what you want just dont forget it! | ||
=== Boot Loader === | === Boot Loader === | ||
Now follow the on screen steps to installing grub. After grub is installed its time to reboot into our new Arch System! | Now follow the on screen steps to installing grub. After grub is installed its time to reboot into our new Arch System! | ||
= Installing Software = | = Installing Software = | ||
Now we need to go through and install XBMC and all other supporting pieces of software. Now that we have booted into our new Arch install you must be asking now what? Ok first lets setup a user account. | Now we need to go through and install XBMC and all other supporting pieces of software. Now that we have booted into our new Arch install you must be asking now what? Ok first lets setup a user account. | ||
== Adding the XBMC user == | == Adding the XBMC user == | ||
This is the user we will be running xbmc under. You can run xbmc under root but that is a very bad idea. To create the user is simple. | This is the user we will be running xbmc under. You can run xbmc under root but that is a very bad idea. To create the user is simple. | ||
Line 240: | Line 194: | ||
# adduser xbmc | # adduser xbmc | ||
</div> | </div> | ||
== Installing Yaourt == | == Installing Yaourt == | ||
[http://archlinux.fr/yaourt-en Yaourt] is a very hand program. This is a repository tool that wraps around pacman that allows you to easily install packages from the AUR or what is know as the user repository of packages for Arch. I guess these packages are close to what user repositories are on Debian/Ubuntu. | [http://archlinux.fr/yaourt-en Yaourt] is a very hand program. This is a repository tool that wraps around pacman that allows you to easily install packages from the AUR or what is know as the user repository of packages for Arch. I guess these packages are close to what user repositories are on Debian/Ubuntu. | ||
Line 259: | Line 211: | ||
# pacman -Sy yaourt | # pacman -Sy yaourt | ||
</div> | </div> | ||
== Installing NVIDIA Beta Drivers == | == Installing NVIDIA Beta Drivers == | ||
I dont have an ATi video card so hopefully so one can add that to this guide! | I dont have an ATi video card so hopefully so one can add that to this guide! | ||
Line 296: | Line 246: | ||
== Installing ATI Drivers == | == Installing ATI Drivers == | ||
I dont have an ATi video card so this may need some tweaking. | I dont have an ATi video card so this may need some tweaking. | ||
Line 313: | Line 262: | ||
== Installing ALSA == | == Installing ALSA == | ||
Sound is important in a setup like this so lets go ahead install alsa. | Sound is important in a setup like this so lets go ahead install alsa. | ||
Line 334: | Line 282: | ||
Use left and right to scroll around and press 'm' to mute and unmute. | Use left and right to scroll around and press 'm' to mute and unmute. | ||
=== HDMI Audio === | === HDMI Audio === | ||
If you are using an HDMI connection to pass audio to your reciever or TV you need to edit your /etc/asound.conf and add the following | If you are using an HDMI connection to pass audio to your reciever or TV you need to edit your /etc/asound.conf and add the following | ||
Line 349: | Line 295: | ||
} | } | ||
</div> | </div> | ||
== Install XBMC == | == Install XBMC == | ||
We are going to use the SVN version of XBMC because the binary version in AUR has VDPAU disabled and there is no fun in that. AUR has an SVN package that can be installed via Yaourt: | We are going to use the SVN version of XBMC because the binary version in AUR has VDPAU disabled and there is no fun in that. AUR has an SVN package that can be installed via Yaourt: | ||
Line 388: | Line 332: | ||
== Boot directly into XBMC == | == Boot directly into XBMC == | ||
Now to get xbmc to start immediately after boot we need to make some changes | Now to get xbmc to start immediately after boot we need to make some changes | ||
Line 447: | Line 390: | ||
== Thermal monitoring == | == Thermal monitoring == | ||
So you playing some high bitrate 1080p video and you got the sound blasting and everything is great. Well sometimes things get hot in that box so lets go ahead and setup [http://www.lm-sensors.org/ lm_sensors] so we have an idea of how hot it is in there. | So you playing some high bitrate 1080p video and you got the sound blasting and everything is great. Well sometimes things get hot in that box so lets go ahead and setup [http://www.lm-sensors.org/ lm_sensors] so we have an idea of how hot it is in there. | ||
Line 480: | Line 422: | ||
Now XBMC should be able to monitor how hot things are getting inside of your little media center. | Now XBMC should be able to monitor how hot things are getting inside of your little media center. | ||
== Speed Up Grub == | == Speed Up Grub == | ||
Go ahead and edit /boot/grub/menu.lst | Go ahead and edit /boot/grub/menu.lst | ||
Line 498: | Line 438: | ||
TIMEOUT=0 | TIMEOUT=0 | ||
</div> | </div> | ||
== Boot Splash == | == Boot Splash == | ||
Lets go ahead and get one of those fancy boot splash thingys going on that all the kids love these days. | Lets go ahead and get one of those fancy boot splash thingys going on that all the kids love these days. | ||
Line 570: | Line 508: | ||
== Antec Mult-Station Premier == | == Antec Mult-Station Premier == | ||
Now we need to get lirc working correctly before we can setup the lcd screen. Lirc should have already been installed with XBMC and if for some reason it is not go ahead and install it. | Now we need to get lirc working correctly before we can setup the lcd screen. Lirc should have already been installed with XBMC and if for some reason it is not go ahead and install it. | ||
=== Remote === | === Remote === | ||
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA"> | <div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA"> | ||
Line 607: | Line 542: | ||
=== LCD Screen === | === LCD Screen === | ||
This is pretty hardware specific but maybe this will help someone out. Now we need to get the LCD screen working, this is probably the easiest part. | This is pretty hardware specific but maybe this will help someone out. Now we need to get the LCD screen working, this is probably the easiest part. | ||
Line 725: | Line 659: | ||
= Credit = | = Credit = | ||
Sadly I cant think of everyone who helped me and I wish I could thank them all. Here are a few who I know off hand that helped me out. | Sadly I cant think of everyone who helped me and I wish I could thank them all. Here are a few who I know off hand that helped me out. |
Revision as of 23:57, 30 May 2009
DISCLAIMER! This is a unofficial guide. Unofficial as in the XBMC Team will not support this type of install, answer your questions, assist you with problems or anything along those lines. Unofficial means just that, this is not the official install method for XBMC and is not recommend, supported or endorsed by the XBMC Team. This guide makes no promises that this will work with your system, that it will not break your computer, and that it will not steal your girlfriend. If you are comfortable will all of this then feel free to continue!
This guide was written with the intent of help those who would like to try a different distribution of Linux. Though there is nothing wrong with Ubuntu Linux some just prefer a choice. The minimal install and rolling release style of Arch Linux compared to Ubuntu is seen as a benefit to some users. Instead of having to deal with the lag of updating packages in some cases on Ubuntu you can always have access to the latest and greatest at times. In some ways this is bad and others it is good. As with anything its all about preference. Though with this flexibility you lose some ease of use. If you are not comfortable with the command line and manually editing a config file with vi or nano THIS IS NOT THE GUIDE FOR YOU. This guide assumes you have some basic knowledge of Linux.
Last, if you have questions or problems SEARCH, SEARCH, and SEARCH SOME MORE. The wiki and forums for XBMC and Arch Linux are full of knowledge. If you have a question or problem chances are someone else has had the same one. So please search before you ask a question.
Introduction
This guide is intended to be a step by step guide to getting XBMC up and running on a dedicated PC running Arch Linux. I will walk you through setting up all the hardware that is needed to get you the ultimate media p.c. experience. I will explain how to get all of my current hardware to work. Over time I hope to have people contribute to this guide so it will cover a wider array of hardware. This may seem like a long guide but just stick to it and you will come out on top.
Please note:
- The guide is for using XBMC on a dedicated HTPC, so there is no window manager and/ or any additional applications installed.
- You need minimum 1GB size Flash drive or blank cd to create the install media.
- Since you will use this PC only as a media center. I assume that you use digital audio pass-through (S/PDIF or HDMI) to a receiver/amplifier with built-in Dolby Digital (AC3) decoder.
- Please also think twice, if you want to use any of the below sections in it's own, without following the guide step-by-step from the begining
You will get:
- A dedicated HTPC which auto-boots directly to XBMC Media Center.
- Latest XBMC SVN version.
- Upgraded ALSA (audio) driver.
- Up to date VIDEO (graphics) driver.
- LIRC (Microsoft MCE Remote will work out-of-the-box, however if you have any other remotes and/or LCD displays then you are on your own to solve the individual LIRC and LCDproc issues).
Obtaining Arch Linux
So you haven't bailed on me yet! Now lets us start down the path of Arch Linux. First we need to download Arch, we will use Bittorent to acquire the needed images. If you cant use Bittorrent or would rather use a more traditional method please reference the Arch download page.
Thumb Drive Installation
ftp://ftp.archlinux.org/iso/2009.02/archlinux-2009.02-2-ftp-i686.img.torrent
Download this torrent and load it up into your favorite bittorrent client. Note that an installation on x86_64 is possible, but not recommended as there are still issues with xbmc, like a non-working web interface or segfaults sometimes. Please have a look http://trac.xbmc.org/browser/branches/9.04_Babylon-linux-osx-win32/XBMC/known_issues.txt to learn more about this. Once the download is completed you will have the img you need to write to you thumb drive. No we need to write that image to your thumb drive.
This will erase everything on your thumb drive so please back up anything you may need on it.
Windows
Download RawWrite.
Run RawWrite and select the image you downloaded and the your thumb drive and then let it do its thing.
Linux / OSX
You should already have dd available to you, simply run dd in this syntax:
Linux
# dd if=/where/the/image/is/archlinux-2009.02-2-ftp-i686.img of=/dev/sdX
If you dont know what /dev/ object to use try
# tail -n 25 /var/log/messages
You should see Linux detect your thumb drive being detected by Linux and where its assigned to in /dev/
OSX
# dd if=/where/the/image/is/archlinux-2009.02-2-ftp-i686.img of=/dev/discX
If you don't know what /dev/ object to use try Disk Manager and find your thumb drive and in the right pane you should see what device it is. Make sure to unmount the volume before writing your thumb drive. It should be mount in /Volumes
Now that we have our image on our thumb drive. Now we need to reboot or boot the computer we are going to install this on. You will probably have to go into your BIOS to boot of the thumb drive. This varies by motherboard so just poke around. On my Zotac Mini-ITX board I just had to set the first boot object to USB.
CD Installation
ftp://ftp.archlinux.org/iso/2009.02/archlinux-2009.02-ftp-i686.iso.torrent
Download this torrent and load it up into your favorite Bittorrent client. Once that is completed you will have the img you need to write to you thumb drive. No we need to write that image to your thumb drive. This will erase everything on your thumb drive so please back up anything you may need on it. Download this torrent and load it up into your favorite Bittorrent client. Once that is completed you will have the iso you need to write to a blank CD. This should be pretty straight forward in what ever operating system you are using so I wont go into detail. You can use Nero on Windows, cdrecord on Linux, and OSX's built in iso burner.
Now that we have our CD, we need to reboot or boot the computer we are going to install this on. You will probably have to go into your BIOS to boot of the cd drive. This varies by motherboard so just poke around. On my Zotac Mini-ITX board I just had to set the first boot object to cd.
Installing Arch Linux
If you would like a more in depth guide please reference the Offical Arch Install Guide
Once arch boots up go ahead and run
# /arch/setup
Now that we are in the Arch installer we need to setup a few things.
Package Source
First we need to set the source. Since we are using the FTP installer go ahead and select the FTP method.
Network Setup
Next you need to setup your network. If you use a static IP you will need that information if not just set it to DHCP and go about your business.
Package Mirror
Now we need to choose a mirror, try to find something thats close to you so you can get the best download speed for obvious reasons.
Clock Setup
You will now need to set your clock. Most will set their clock to localtime. If you clock is set to GMT then by all means set it to GMT.
Hard drive Setup
How and what is the best way to do this is up for huge debate but I am not going to really tell you how to do this. If you know how to do it I am sure you have a way you prefer. If you just want to get it up and running go ahead and choose auto prepare. Auto prepare will give you the following setup:
* 32 MB ext2 /boot partition * 256 MB swap partition * 7.5 GB root partition * /home partition with the remaining space
Note that in order to have Suspend-To-Disk working, you need a swap partition of at least the size of your RAM. So if you got 2GB RAM, make your swap partition at least 2GB big.
THIS WILL ERASE EVERYTHING ON YOUR HARDDRIVE!!
Package Installation
Now we are down to the big part, what packages to install! Just leave what it has set to default we will install anything we need later on down the road. The install will take a few minutes so this maybe the time to get a new bottle of water if need be.
System Configuration
This is where we setup some important things, like your network and what services you want running.
Hostname
HOSTNAME="whateveryouwantyourboxcalled"
Modules
Next setup your Modules. This is where you setup what modules you want loaded on boot up.
MODULES="Whatevermodule"
If you lead the module name with a ! that will blacklist the module and prevent the system from loading it. Helpful for pesky audio drivers.
Network
Ok network time. Under interfaces you will setup your network. If you are using dhcp then
eth0="dhcp"
If you have a static ip you will need to a bit more. Here is an example:
eth0="eth0 192.168.1.3 netmask 255.255.255.0 broadcast 192.168.1.255"
Also add your gateway if you need one:
gateway="default gw 192.168.1.1" ROUTES=(gateway)
If you setup a static IP you will need to edit resolv.conf, If you use dhcp you can skip this step. You will need to add a name server.
nameserver <routers ip address>"
Or you can add any known DNS server. If you dont do this you wont be able to get out to internet.
Daemons
Last in rc.conf you will see DAEMONS, this is where you will setup what services you want to start on boot. We will leave this alone for now.
Root Password
Last scroll down and set your root password. Pick what you want just dont forget it!
Boot Loader
Now follow the on screen steps to installing grub. After grub is installed its time to reboot into our new Arch System!
Installing Software
Now we need to go through and install XBMC and all other supporting pieces of software. Now that we have booted into our new Arch install you must be asking now what? Ok first lets setup a user account.
Adding the XBMC user
This is the user we will be running xbmc under. You can run xbmc under root but that is a very bad idea. To create the user is simple.
# adduser xbmc
Installing Yaourt
Yaourt is a very hand program. This is a repository tool that wraps around pacman that allows you to easily install packages from the AUR or what is know as the user repository of packages for Arch. I guess these packages are close to what user repositories are on Debian/Ubuntu.
Add the following lines to /etc/pacman.conf
[archlinuxfr] Server = http://repo.archlinux.fr/i686
Now sync and install
# pacman -Sy yaourt
Installing NVIDIA Beta Drivers
I dont have an ATi video card so hopefully so one can add that to this guide!
You can use yaourt to install the latest beta drivers which are available from the AUR:
yaourt -Sy nvidia-utils-beta nvidia-beta
That way you can assure that there are no leftovers if you intend to update or remove the driver.
Not recommended, but possible is an installation directly from the nvidia driver package:
First download the latest drivers ( As of 29 May 09 )
Once that is done install them
# ./NVIDIA-Linux-x86-185.19-pkg0.run
Follow the on screen prompts and it will complain that it cant find a precompiled kernel interface. Thats fine we want it to compile the drivers to our current kernel.
Now lets install the nvidia-utils program (skip this if you installed your driver the yaourt way above).
# pacman -S nvidia-utils
Installing ATI Drivers
I dont have an ATi video card so this may need some tweaking.
Once that is done install them
# ./ati-driver-installer-8-12-x86.x86_64.run
This is incomplete and I really dont know beyond this.
Installing ALSA
Sound is important in a setup like this so lets go ahead install alsa.
# pacman -S alsa-lib alsa-utils
Once everything is installed go ahead and edit /etc/rc.conf and add alsa to your daemons line. Reboot.
# reboot
Now that you have restarted we need to go ahead and unmute all of the audio interfaces.
# alsamixer
Use left and right to scroll around and press 'm' to mute and unmute.
HDMI Audio
If you are using an HDMI connection to pass audio to your reciever or TV you need to edit your /etc/asound.conf and add the following
pcm.!default { type plug slave { pcm "hdmi" } }
Install XBMC
We are going to use the SVN version of XBMC because the binary version in AUR has VDPAU disabled and there is no fun in that. AUR has an SVN package that can be installed via Yaourt:
yaourt -Sy xbmc-svn
This will pull all dependencies, checkout a recent version of xbmc from the SVN repository, patch some files for 64bit compatibility and finally compile, package and install xbmc. Feel free to add your experience or recommendations to the AUR comment page at http://aur.archlinux.org/packages.php?ID=20156.
If you have problems with this version, you could always try the manual way:
First we are going to need to install a bunch of dependcies, easy enough.
# pacman -S curl enca faac freetype2 fribidi gawk glew hal jasper libjpeg libmad libmysqlclient libxrandr lzo2 sdl_image sdl_mixer sqlite3 tre unzip libcdio libsamplerate python subversion autoconf automake boost cmake gcc gperf libtool make nasm patch pkgconfig zip flex bison lirc pmount smbclient unrar avahi
Whew that was a lot. That should pull in everything you need along with any dependencies need by those packages. Now lets download xbmc.
# svn checkout https://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/linuxport/XBMC
# cd XBMC
# ./configure --prefix=/usr --disable-pulse
# make
# make install
All of those will take some time so once one command finishes move onto the next. Depending on how fast your system is will depend on how long this takes. If you need another bottle of water this is the time. If not be amazed by the fast scrolling text!
Boot directly into XBMC
Now to get xbmc to start immediately after boot we need to make some changes
# yaourt -S minigetty
now edit /etc/inittab
Change this:
c1:2345:respawn:/sbin/agetty 38400 vc/1 linux c2:2345:respawn:/sbin/agetty 38400 vc/2 linux c3:2345:respawn:/sbin/agetty 38400 vc/3 linux c4:2345:respawn:/sbin/agetty 38400 vc/4 linux c5:2345:respawn:/sbin/agetty 38400 vc/5 linux c6:2345:respawn:/sbin/agetty 38400 vc/6 linux
to this:
c1:2345:respawn:/sbin/mingetty --autologin xbmc vc/1 linux c2:2345:respawn:/sbin/agetty 38400 vc/2 linux
This is a security hole but this is also a media pc so it should be fine.
Also we deleted some of 4 of the other virtual terminals. You wont be using them and it saves a smidge of memory. If you want to keep them go ahead but I doubt youll use them.
Now that we have the user logged in we need it to autostart XBMC.
Edit /home/xbmc/.bashrc and add the following
startx
Almost there
Edit /home/xbmc/.xinitrc and add the following
exec ck-launch-session /usr/bin/xbmc-standalone
Another way of autostarting xbmc (and make sure that it's idiotproof even if it segfaults), you could start xbmc directly from inittab. Add the following line to /etc/inittab and comment out (#) all other lines beginning with "x:5:".
x:5:respawn:/bin/su xbmc -l -c "/bin/bash --login -c startx >/dev/null 2>&1"
You will also need to edit your /home/xbmc/.xinitrc as stated above.
Thermal monitoring
So you playing some high bitrate 1080p video and you got the sound blasting and everything is great. Well sometimes things get hot in that box so lets go ahead and setup lm_sensors so we have an idea of how hot it is in there.
# pacman -S lm_sensors
Now we need to figure out what sensors you have.
# sensors-detect
When you run sensors-detect it will spit out a lot of questions, just hit enter. The last question you will have to type out yes. Go ahead and do that. When its all done lets test and make sure that everything was loaded right and we can see the information we want to see.
sensors -u
You should see a bunch of info about your system to include temp., voltage, and fan speeds. Now to make xbmc understand what exactly is going on.
edit /home/xbmc/.xbmc/system/advancedsettings.xml
add the following lines
<advancedsettings> <cputempcommand>sensors|sed -ne "s/Core 1: \+[-+]\([0-9]\+\).*/\1 C/p"</cputempcommand> <gputempcommand>echo "$(nvidia-settings -tq gpuCoreTemp) C"</gputempcommand> </advancedsettings>
Now XBMC should be able to monitor how hot things are getting inside of your little media center.
Speed Up Grub
Go ahead and edit /boot/grub/menu.lst
Change this:
TIMEOUT=5
to this:
TIMEOUT=0
Boot Splash
Lets go ahead and get one of those fancy boot splash thingys going on that all the kids love these days.
# yaourt -S initscripts-splashy splashy
edit /boot/grub/menu.lst again
change
kernel (hd0,6)/vmlinuz26 root=/dev/sda1
to this
kernel (hd0,6)/vmlinuz26 root=/dev/sda1 ro quiet vga=791 splash
Your menu.lst may not be exactly the same but it should be close
Now edit /etc/rc.conf and add
SPLASH="splashy"
now edit /etc/mkinitcpio.conf
find the "HOOKS" section
HOOKS="base udev autodetect ide sata filesystems ...
add splashy before autodetect
HOOKS="base udev splashy autodetect ide sata filesystems ...
now before we build the initramfs lets remove the "the loading initramfs" lines from the boot up. Open up and edit /lib/initcpio/init and comment out line #6. Now lets install some themes
# yaourt -S splashy-themes
Now we need to setup what theme. Go ahead and do
# cd /usr/share/splashy/themes/darch-grey/ # mv background.png background.bak # wget http://img3.imageshack.us/img3/1894/backgroundism.png # mv backgroundism.png background.png
Now we need to tell splashy to use our new theme instead of the default
# splashy_config -s darch-grey
Last we need to make the splash show up on boot. Anytime you change the theme or pretty much make any change to splashy you will need to rebuild the initramfs.
# mkinitcpio -p kernel26
Antec Mult-Station Premier
Now we need to get lirc working correctly before we can setup the lcd screen. Lirc should have already been installed with XBMC and if for some reason it is not go ahead and install it.
Remote
# pacman -S lirc
Now we need to install the modules to enable our device. This used to take some trickery but with recent versions of lirc this isnt the case.
# modprobe lirc_dev # modprobe lirc_imon
For some reason Lirc detects two devices with this screen. We have /dev/lirc0 and /dev/lirc1. Some buttons show up on one device and some show up on the other. So we need to run two instances of lirc and have them talk together.
# /usr/sbin/lircd --driver=default --device=/dev/lirc0 --pidfile=/var/run/lirc0.pid --listen=8765 # /usr/sbin/lircd --driver=default --device=/dev/lirc1 --pidfile=/var/run/lirc1.pid --output=/dev/lircd --connect=localhost:8765
Edit you /etc/rc.d/lircd script and add those two lines above to the start section when lircd is called. This why our remote will be setup properly on each start up and or reboot.
Start Lirc
# /etc/rc.d/lircd start
Now we want this to all start up on boot so go ahead and add "lircd" to the daemons section of /etc/rc.conf and lirc_dev and lirc_imon to the modules section of /etc/rc.conf
LCD Screen
This is pretty hardware specific but maybe this will help someone out. Now we need to get the LCD screen working, this is probably the easiest part.
# cd ~ # wget http://downloads.sourceforge.net/lcdproc/lcdproc-0.5.2.tar.gz # tar -zxvf lcdproc-0.5.2.tar.gz # wget wget http://codeka.com/blogs/imon/lcdproc-0.5.2-imonlcd-0.3.patch
Now we need to patch our version of lcdproc. This will add the small changes need so the screen will function correctly.
# cd lcdproc-0.5.2 # patch -p1 < ../lcdproc-0.5.2-imonlcd-0.3.patch
Edit server/main.h file, and change RENDER_FREQ from 8 to 2:
# cd server # vi main.h
Now we need to build LCDProc. If you see an error that says "IOWarrior.c' with per-target flags requires AM_PROG_CC_C_O' in `configure.in'" go ahead and ignore it.
# cd .. # aclocal # autoconf # automake # ./configure --enable-drivers=imonlcd --prefix=/usr # make # make install
Now lets go ahead and setup the LCDProc config file.
# vi /etc/LCDd.conf
In the [server] section change the line Driver=curses to Driver=imonlcd and the line DriverPath=server/drivers/ to DriverPath=/usr/lib/lcdproc/ ( the trailing / is needed dont forget it.)
Now move down and add this section to the config file.
## IMON LCD driver added by xxx 5Sept08 ## [imonlcd] Device=/dev/lcd0 Contrast=200
You can change the contrast settings to your likings. Now save the file. Now start lcdproc
# /etc/rc.d/lcdproc start
Add lcdproc to your daemons section of /etc/rc.conf to have it auto start on boot.
Samba Server
So you have this giant harddrive in your media center pc but how do you get all of your files to it? With Samba its easy, you media pc will show up as a windows share on your computer and you can just drag and drop your files back and forth. Now lets install samba.
# pacman -S samba
Now edit you /etc/rc.conf file and add "samba" to your daemons section. Now we need to setup our smb.conf file for our share directory.
# mkdir /home/xbmc/Share # vi /etc/samba/smb.conf
Now setup your smb.conf file like the following.
[global] workgroup = WORKGROUP netbios name = Media PC server string = XBMC Media PC; Samba Server %v encrypt passwords = yes passdb backend = smbpasswd security = SHARE guest account = xbmc log level = 1 log file = /var/log/samba/%m.log max log size = 50 socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=8192 SO_SNDBUF=8192 read raw = yes write raw = yes oplocks = yes max xmit = 65535 dead time = 15 getwd cache = yes large readwrite = yes [Media] comment = Media Files on Media PC path = /home/xbmc/Share force group = users read only = No guest ok = yes guest only = yes create mask = 0666 directory mask = 0666 hide dot files = yes
Now lets go ahead and start samba
# /etc/rc.d/samba start
Credit
Sadly I cant think of everyone who helped me and I wish I could thank them all. Here are a few who I know off hand that helped me out.
CTARWATER on the XBMC forums who had some good tips that I used.
Who Ever wrote this guide. I took a lot of tips and information from there on my install. I dont who exactly wrote it but if you do let me know so I can give them proper credit.
The XBMC Team for all of thier great work and great software. Keep up the great work guys.