HOW-TO:Install XBMC on ZBOXHD-ID11

First, hats off to rodercot who I'm borrowing the format of his howto page for the zotac box.

The reason why I'm doing this is because there's a ton of good information out there on using the ZBOXHD-ID11 (id11 for short, for now on), but there's not a good repository of information out there on how to get this started. I'm also doing this for myself so when I go to upgrade, I can look back at my notes here and get it back up and running without much fuss.

Difficulty: (Beginner to Intermediate)

Hardware: Zotac ZBOXHD-ID11-U

XBMCFreak Version: 10.0 Beta 1

XBMC SVN Version: 33324

Hardware Installation Prep Platform: Ubuntu Lucid

Author: wiz561

Last Updated: Sep 11, 2010 Started this endeavor.

Parts List
I picked all the parts up at the local Fry's. I am not endorsing or telling you to go to Fry's, I just picked it because it was local and they had everything in stock. Feel free to use whatever place you want.

NOTE!!!! I made a mistake. This box takes Slots	1x 200 pin DDR2 800 SO-DIMM memory. Originally, I bought 2GB DDR2 PC5300 SO-DIMM / 200-PIN (single) / CORSAIR / VS2GSDS667D2 but had memory problems. During formatting, the box would lock at 33%. It worked fine for a week, and then it started giving me problems. I just exchanged this for a "PSD22G8002S Patriot Signature DDR2 2GB CL6 PC2-6400 (800MHz) SODIMM". I don't know how it works yet, but would hope it works better.

Other things you might need...
 * USB Thumb Drive
 * HDMI Cable
 * Keyboard

Step 1: Install Hardware
I'm not going to detail this step because the Zotac manual does a good job at doing this. Basically, put the hard drive in, the memory in, connect the HDMI cable to your TV, and a keyboard to a USB port.

Step 2: Update Bios
It's probably a good idea to flash the BIOS before you get started. Some may advise against it because you risk bricking the box. I like it because it fixes many problems.


 * 1) Download 'unetbootin' from sourceforge. unetbootin
 * 2) Download BIOS flash files from Zotac Zotac ID11 Downloads
 * 3) Start unetbootin and choose "FreeDos" for the distribution.
 * 4) Copy "AFUDOS" and the BIOS from the Zotac flash bios download to the usb thumb drive.
 * 5) Restart
 * 6) Load FreeDOS LiveCD with HiMEM + EMM386
 * 7) Change the drive to B: or C:. Basically, you want to find the AFUDOS directory. Some say it's on B:, I found it on C:.
 * 8) Read the readme.txt file for instructions to flash the BIOS!!! I had to add a couple of switches to the command so it flashes everything!
 * 9) Flash the bios.
 * 10) Reboot and hopefully things will work.

Step 3: Change some BIOS Options
After the flash, I went in and made a few changes in the bios. To get into the BIOS, hold the "DEL" key down on the keyboard while the machine is booting. The Zotac splash screen will change to "Please Wait.." You will then be in the BIOS. Here are the changes I made...


 * Load optimal settings
 * Change IDE SATA drive from IDE to AHCI.
 * Changed power saving to S3
 * Enabled the video to repost on resume.
 * Maybe disable hyperthreading. I kept mine enabled, but if I would do it again, I would probably disable it.

I already disconnected my keyboard and put it in storage, so I don't know the exact locations for the above. But if you hunt around the BIOS, you will find them.

Step 4: Download xbmcfreak and 'burn' it to usb
I chose xbmcfreak for the livecd distribution. I usually like installing Ubuntu, then configuring xbmc and doing everything else, such as sound, video, remote, etc. As I get older, I'm getting lazier and don't feel like going through all the hassles of it. I was a little leery at first on using this distribution, but I'll take my chances. While I haven't used it extensively yet, I like it so far.

I also used the SVN version of xbmcfreak livecd. I guess it's still in me to tinker with things a little bit. ;) You can also use unetbootin. Your mileage may vary with it. I didn't like it because it installed a generic boot menu/loader instead of grub. This prevented me from choosing if I want xbmc live or xbmc install. The instructions below are to do it by hand.

mkdir ~/xbmcfreak-temp/ sudo mkdir /mnt/tmpiso/ sudo mount -o loop ~/Downloads/xbmcfreak-10.00-svn33324.iso /mnt/tmpiso/ cp -a /mnt/tmpiso/* ~/xbmcfreak-temp/ cd ~/xbmcfreak-temp/ sudo rm -rf ~/xbmcfreak-temp/boot/
 * Download xbmcfreak live cd from here. This is the link to the version I used. I'm guessing in the future, you will have to find the latest svn. You can get to the xbmcfreak download section here and search for the release version or the 'svn' version.
 * Once downloaded, extract the zip file to an ISO file.
 * Make a temp directory. You will copy the contents of the ISO to this directory.
 * Mount the ISO and copy the contents to a temp directory
 * Change into that directory and remove the 'boot' subdirectory.

mkfs.vfat -F 32 /dev/sdX# sudo mkdir /mnt/thumbdrive sudo mount /dev/sdX# /mnt/thumbdrive sudo grub-install --root-directory=/mnt/thumbdrive /dev/sdX sudo cp -rL ~/xbmcfreak-temp/* /mnt/thumbdrive/ sudo cp /mnt/tempiso/boot/grub/grub.cfg /mnt/thumbdrive/boot/grub/
 * Create a fat32 partition and format it. You can also use "Gparted" to create a partition on your thumb drive and format it.
 * Mount the thumbdrive
 * Install grub2. The below command and above command need a little work from you. You have to figure out what 'X' is. It's usually sda sda1, sda2, sdb sdb1, sdb2, etc. You mount the device above with (sda1), but install grub below with just the device (sda).
 * Copy everything from the xbmcfreak cd to the thumb drive (except the boot directory, that we remove earlier). FAT32 does not support symbolic link, so we have to copy the entire file instead of the link :
 * Copy Grub configuration file to the thumb drive from the xbmcfreak cd. This will give you some pretty pictures and a nice boot menu.


 * Insert USB thumb drive into your Zotac box and hopefully it will boot up from it. You *may* have to hit "F-12" to get a boot menu and choose the usb storage device.

Step 5: Install XBMC

 * Put your USB Remote Receiver into the front-facing USB port.
 * Put your thumb drive in the top of the Zotac or in the rear USB port.
 * After the Zbox boots from the USB thumb drive, you will be presented with a boot menu. Choose "XBMC Install". This will bring up the ubuntu installer.
 * Choose the defaults for keyboards and languages.
 * I had a problem with the install saying "Load CD-ROM driver from removable media?". If you get to this point, follow these steps... I have to give credit to this post.

When you get the screen with “Load CD-ROM driver from removable media?” press ALT-F2 to get a console and enter these commands:

mkdir /mnt/usb /mnt/iso mount –t vfat /dev/ /mnt/usb mount –t iso9660 –o loop /mnt/usb/ /mnt/iso

ALT-F1 to return to installation dialog and answer as follows: Load CD-ROM driver from removable media?  Manually select CD-ROM module and device>  Module needed for accessing the CD-ROM: none Device file for accessing the CD-ROM: /dev/loop0

Hopefully the above will get you back on track.


 * Use the defaults for the rest of the installation. I changed the following below for my install...
 * Used 'full disk' for install WITHOUT lvm. I decided to not do LVM to save disk space and extra modules from loading. At the partitioning part, it will also complain about your thumb drive and ask if you want to use it. Do *NOT* use it or else you can't install it because it will overwrite the thumbdrive.
 * Added 'xbmc' user with a hardened password.

I believe that was about all. At this point, you should be able to reboot and start up into xbmc. You should have networking enabled (if you use DHCP), and have SSH running. Once XBMC is booted, you can hit "ALT-F2" to get to a command window, login with the xbmc username and password you set during the install, and type in 'ifconfig' to get the IP of the machine. You can then ssh into the Zbox from another machine with 'ssh xbmc@'.

Step 6: Fix Audio
When I booted it up, audio wasn't being outputted over HDMI. I fixed it with the below commands. Either do the ALT-F2 to get to a command prompt as I explained in the paragraph above, or ssh into the machine to do this. I got the info from here.

NOTE: At least as of the Ubuntu 10.04 based Dharma 10.1 XBMC Live distribution, the alsa changes below are not needed as these lines are already there. The changes in the XBMC configuration are still needed.

NOTE: I use vi as my editor of choice. You may like nano, vi, or something else. Feel free to use whatever you like.

vi /etc/modprobe.d/alsa-base.conf options snd-hda-intel enable_msi=0 probe_mask=0xffff,0xfff2 change audio output: hdmi speaker config: 5.1 boost volume: check ac3: check dts: check audio output device: hda nvidia hdmi passthrough: hda nvidia hdmi
 * Edit the alsa-base.conf file
 * Add this to the very last line of that file.
 * Reboot the machine and go into the XBMC System Audio Setup area.
 * Change the following...


 * Congratulations, you should have audio over HDMI now. PS, you might have to reboot for it to work.

Step 7: Get Remote Control working
Out of the box, surprisingly, the remote control works fine. No messing with LIRC or making any modifications to any files. Good job xbmcfreak!

The one thing though, is that I have a Harmony 880 remote. My next project is to get this remote to work with the Zotac. I suspect it will be easy as there's other howto's on this subject.

Step 8: Get the "Suspend" To Work
If you remember, we enabled S3 with the video to repost options in the BIOS in an earlier step. I followed this post to get the suspend to work. Posting

If you want to follow that posting, that will work. I was lazy and just added all the USB ports to the wakeup file.

sudo vi /etc/rc.local sh -c 'echo "USB1"' > /proc/acpi/wakeup sh -c 'echo "USB2"' > /proc/acpi/wakeup sh -c 'echo "USB3"' > /proc/acpi/wakeup
 * Edit rc.local
 * Add the following to the end of the file, but make it *ABOVE* the "exit 0" line in the file.
 * Reboot

After the machine boots up, you should be able to choose "Suspend" in the XBMC Menu. The box will go to sleep/suspend, the power light will flash red to green, and the blue light on top of the zotac will dim in and out. To wake the machine up, press the "Power" button on the remote.

Step 9: Get Wireless Working
I don't use wireless because it's slow, but this box has it built in, and you might have a need for it. I run an Apple Time Capsule at home with wpa2 and my ssid being broadcasted. I used this page. Here's how you enable this...

wpa_passphrase auto wlan0 iface wlan0 inet dhcp wpa-ssid wpa-psk 
 * Get your SSID and your password.
 * Log onto your box with the ALT-F2 thing from above or ssh.
 * Type in the following...
 * Copy the 'psk' string into your clipboard.
 * Edit the /etc/network/interfaces file and add this to the end...


 * Reboot!

After this, you should have wireless up.

Finished!
By now, you should have your Zotac ID11 box up and running. A lot of these instructions I did from the top of my head, so I'm hoping that the commands and directions were put together well. From what I read, you shouldn't have to mess with or update the video driver. I'm still testing the box out, but it seems like it uses VDPAU, even though it's missing from the XBMC menus. The other thing I want to look into is HyperThreading. It's enabled in the BIOS, but it just doesn't sit well with me. I just think it's a gimmick to make it look like you have 4 processors instead of 2.

Other than that, I can't really think of anything else. As I make changes, I'll try to keep this page updated. Thank yous go out to the people that helped in the message posts that I linked to this page, and tons of thanks goes out to xbmcfreak for putting the distro together specifically for ION users. I found that by using your distribution, it alleviated many of the headaches with installing XBMC accessories (remotes, video, sound, etc.).