Posts Tagged ‘non-free’

How to not install XBMC on Debian Lenny

September 13th, 2009 4 comments

So tonight I got a terrible idea. I figured that I’d try to install XBMC, the awesome media centre app for modded Xbox consoles. Turns out that they do, in fact, have a Linux version… but that none of it’s dependencies can be resolved automatically, and that every developer remotely related to the project was on crack while packing the tarball.

Because the devs only package a release for Ubuntu (that doesn’t work worth a shit on Debian), I was forced to download a tarball from this site, which I extracted to my home/username/bin directory. Unfortunately, when attempting to./configure in this directory, I discovered that the package had roughly 337 thousand dependencies, namely:

subversion make g++ gcc gawk pmount libtool nasm automake cmake gperf unzip bison libsdl-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libsdl-sound1.2-dev libsdl-stretch-dev libfribidi-dev liblzo-dev libfreetype6-dev libsqlite3-dev libogg-dev libasound-dev python-sqlite libglew-dev libcurl4-dev x11proto-xinerama-dev libxinerama-dev libxrandr-dev libxrender-dev libmad0-dev libogg-dev libvorbis-dev libmysqlclient-dev libpcre3-dev libdbus-1-dev libhal-dev libhal-storage-dev libjasper-dev libfontconfig-dev libbz2-dev libboost-dev libfaac-dev libenca-dev libxt-dev libxmu-dev libpng-dev libjpeg-dev libpulse-dev mesa-utils libcdio-dev

Yeah. That many. Further, the library liblzo-dev is no longer a part of Debian Lenny, although it is available from the Etch repositories. You can grab that tarball and manually install it from this page. Oh, and you’ll also need to add the debian-multimedia non-free repositories to your sources.list file in order to obtain libdvdcss… You can find instructions to do that here.

Assuming you’re still with me, and have managed to install all of the above dependencies (all 300+ MB of them), you’ll probably still fail, because the tarballs for the vast majority of them fail to set execute permissions on their configure files on extraction. As such, you’ll have to manually walk through each of the folders under xbmc and add those permissions…

After adding these permissions as deep as I could in the directory structure with the command chmod -R +x */configure (where you can add up to 6 instances of */), and running the XBMC config file a solid 50+ times, I’m stuck on the libdvdnav library, which doesn’t seem to contain a valid config file… Seeing as I have to work tomorrow, I offically give up for now. Christ this must be a small taste of what Gentoo is like all the time.

The Next Morning:

With a clear head and a fresh cup of coffee, I took another shot at installing XBMC.After spending 20 minutes manually installing the libdvdnav, libdvdread, and libdvdcss libraries, I finally managed to run the XBMC configure script with no errors.

After just over a half hour compiling, I finally got XBMC installed and gave it a test run.

Initially, I had troubles connecting to any network shares where my media is stored. After going into the network settings, changing my workgroup name, and telling the app to automatically mount SMB shares, everything seemed peachy.

More to come as I figure this out

Upgrading to Flash 10 in Debian

September 5th, 2009 No comments

Even though the Debian community is very strict about only allowing free software in their repositories, my Iceweasel install came preloaded with Macromedia Flash 9. Regardless of whether this is how things are supposed to be, Flash has since moved on to version 10. Some sites like youtube are already warning users who have lower versions installed that they should upgrade for performance reasons, and Firefox is going to begin to prompt users to upgrade for security reasons.

Regardless of your motivations, having the latest Flash plugin is essential to today’s internet experience, regardless of well placed free software ideals. Luckily, I’ve found a handy tutorial (incredibly, it’s on the Debian Wiki and isn’t horribly out of date) that gives instructions on how to get the latest Flash installed on a Debian system.

It should be noted that the tutorial requires the user to add a non-free repository to their sources list, located in /etc/apt/sources.list file, and that making this change will techinically make your system non stable, in the sense that it will no longer be officially supported by the Debian community. While regrettable, my sources list already contained non-free sources list, as some of my hardware lacks free drivers/firmware, so I’m not terribly concerned.

Getting Up and Running with Debian

September 1st, 2009 3 comments

Considering that it was my first experience with Linux, the installation of Debian actually went rather smoothly. I popped in the Debian live disc, rebooted my machine, and said goodbye to Windows XP.

The Basics:

I chose the graphical installer, because I’m a big wimp, and because it makes screenshots. You might ask how the installer saves screenshots to a hard drive that is as of yet unpartitioned, and will be wiped/encrypted during the coming hours… I don’t know either, but I guess that’s a part of the Linux magic. (You don’t get any of these pictures, because I lost them when I reinstalled, and forgot to take more the second time around).

The first few settings were fairly straightforward. Debian asked me to choose my default language, geographical location, and keyboard layout. Debian appears to support some 44 different keyboard layouts on install, including Dvorak, and Canadian Multilingual, which is perhaps the most awful layout ever conceived by man. Is it as bad for the Quebecois as it is for us Ontarians?

Next, the installer attempted to detect my hardware settings, and scanned the live disc for required drivers. At this point, the installer notified me that my system would require non-free firmware files to get my wireless card working. In Linux-speak, non-free simply means that the firmware is distributed as a compiled binary, and that the source code is not available. It is, however, free in the sense that I don’t have to pay a dime to use it, although I have to agree to a license to do so. Given the option to load the firmware files from a disc, or to wait and deal with the problem once the desktop was up and running, I chose the latter.

The next step was for the Debian installer to attempt to auto-configure my DHCP settings, and to use my ethernet card to connect to the internet. Since the laptop wasn’t plugged in to an ethernet cable, it didn’t really surprise me that this step failed. I chose to configure the network later, and moved on to giving my machine a name and choosing my timezone instead.

Partitions and Full-Disc Encryption:

When it came time to partition my disks, I chose to take a shot at full-disc encryption. The most basic Linux drive has two partitions – one called /boot that is generally formatted with ext2 and takes the place of Window’s boot sector, and another called / that contains the rest of your data, including the OS. Once the BIOS has finished all of it’s startup checks and initializations, it hands off to GRUB, which is stored on the /boot partition. GRUB does some other stuff, and then boots the operating system, which is stored on the secondary partition, usually formatted with one of the many available file systems that Tyler covered in detail in a previous post. There is a great explanation of the entire boot process available here.

To allow for multiple partitions, Linux utilizes some fancy software called the LVM (logical volume manager), which virtualizes any partitions that you create within the big main one. When enabling full-disc encryption, everything inside of the LVM (all of the partitions except for /boot, because the machine needs to be able to start) is encrypted as it is written to disc, and decrypted as it is read from disc. This method of protecting your data is extremely secure, as the encryption is transparent to the user and operating system, while every file on the system remains encrypted until the correct password is provided by the user.

Debian allows me to put each of the important parts of my root directory on separate drive partitions. For example, I can separate the /home partition from the /usr, /var, and /tmp partitions within the LVM. This would be extremely handy if my machine were running multiple physical discs, and I wanted to put my install on a separate disk from my data so that backups and reinstalls are less painful. Because I’m new at this and have only one disc, I chose to put all of my files in a single partition.

Before proceeding with installation, Debian tried to zero all existing data on my drive. Since that data wasn’t at all sensitive, my hard drive is small, and I don’t care to wait years for the wiping process to finish, I hit the cancel button in the bottom-right hand corner of the screen, which allowed me to skip to the next step. I actually found this out by accident, fully expecting the cancel button to boot me right out of the install process. Silly UI design, that.

The last step in partitioning my drives was to provide a password for the full-disc encryption, and to choose the file system for each of my newly created partitions. As previously noted, my /boot partition is formatted with ext2, and the LVM is using a filesystem called crypto, which I assume is just the name of the encrypted partition container. Linux also creates a root partition for me (located at /), which I’ve chosen to format with the ext3 filesystem, since ext4 does not appear to be supported by my installer. Finally, a partition called /swap is created (the equivalent of the Window’s swap file), that is formatted with the (what else?) swap file system.

It should be noted that the partition manager screen also had a strange UI bug in it – the continue button that had been my friend and companion thus far throughout the install process ceased to have any meaningful functionality. I had to choose to ‘finish partitioning and write changes to disc’ from the partition manager menu before I could continue with the installation.

Just About There:

With all of the setup options behind me, the Debian installer helpfully finished the install all on it’s own, pausing only to demand that I enter a root password, a default user account name and user account password. It should be noted that if you intend to become a l337 system administrator, your root password should be hard to guess but easy to type, as you’ll be forced to enter it whenever you do an action that is outside of the user account security privileges (or in other words, essentially anything of consequence).

Lastly, the installer asked if I wanted to enable the Debian package popularity contest (popcon), and which default software I wanted to install. I chose to add a web server, file server, and SQL database to the default install. That done, the installer went on it’s merry way and actually got down to the business of installing my distribution.

Adding the Tubes (Or Not):

Remember how the Debian installer failed to auto-detect my DHCP settings because my laptop wasn’t plugged into an ethernet cable? Well it also “forgot” to install my ethernet card driver at the same time. Since the machine doesn’t have a network connection, I have no access to the Debian repositories from which I can get the required drivers, but I can’t seem to get them without access to those repositories. I found the driver in question here, but have no idea what to do with the driver once I get it, because it is distributed as a *.rpm package, which is the Fedora package format, and unsupported by Debian. I’ve found various discussions on the Debian website that reveal that tg3, the driver for my network card, was removed from the Debian package, because it is not “free” in the sense that it is distributed as a compiled binary, and not as source.

After spending a half hour scouring the GOOG for instructions on how to install this driver, only to come up empty handed, I’ve decided to simply reinstall, but to plug the ethernet cable in this time, and hope that it works better than it did last time. If anybody knows what the hell happened, I’d love to hear an explanation, and perhaps a method by which I can fix the problem.

Back from the Reinstall:

So after waiting for Debian to reinstall, I got back up and running, and just needed my wireless card active so that I could put my ethernet cable back in my other computer. Luckily, the steps to get it working are very straightforward:

  1. Open the synaptic package manager
  2. Under the settings menu, select repositories, and select the DFSG and Non-DFSG checkboxes. This will allow synaptic to install packages that are non-free.
  3. Search for a package called firmware-ipw2x00, and install it
  4. Agree to the firmware license
  5. Open a root terminal
  6. Type “modprobe ipw2200″ to load the firmware kernel module
  7. Navigate to the etc/ directory, and open the file “modules” in the nano editor
  8. add the line “ipw2200″ to the end of the file
  9. Hit ctrl-x to close the file, and Y to save the changes.
  10. Restart your machine

Once your machine restarts, the wireless firmware will be loaded, and you should be able to click on the network icon in the taskbar and select an available wireless network to connect to.

So Everything is Cool, Right?

Well, not quite. My system is up and running, supports full-disc encryption, wired and wireless networking; but the GNOME desktop bugs the hell out of me, and so far as I can tell, I don’t have a working sound card yet… More on that one tomorrow. The moral of this story is as follows: NEVER install Debian without a network connection present. It’s just not worth your time.