<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>cenolan.com &#187; Linux</title>
	<atom:link href="http://www.cenolan.com/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cenolan.com</link>
	<description>What you looking at?</description>
	<lastBuildDate>Sun, 14 Jun 2009 20:03:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Installing Fedora 11 on a MacBook</title>
		<link>http://www.cenolan.com/2009/06/installing-fedora-11-on-a-macbook/</link>
		<comments>http://www.cenolan.com/2009/06/installing-fedora-11-on-a-macbook/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 11:39:39 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Fedora 11]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MacBook]]></category>
		<category><![CDATA[Broadcom]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[mactel-linux]]></category>

		<guid isPermaLink="false">http://www.cenolan.com/?p=122</guid>
		<description><![CDATA[

What works and what doesn't?
Basic installation instructions
Post installation
Fixing the wireless
Fixing the touchpad
iSight camera
Bluetooth
Fixing the brightness keys
Video driver for newer MacBooks
What next?


This guide will help you through all the steps necessary for installing Fedora 11 on a MacBook Santa Rosa. This guide is aimed at Fedora 11 x86_64 but will also work on i386 version (adjust [...]]]></description>
			<content:encoded><![CDATA[<div class="toc">
<ol>
<li><a href="http://www.cenolan.com/2009/06/installing-fedora-11-on-a-macbook/#toc-what-works-and-what-doesnt">What works and what doesn't?</a></li>
<li><a href="http://www.cenolan.com/2009/06/installing-fedora-11-on-a-macbook/#toc-basic-installation-instructions">Basic installation instructions</a></li>
<li><a href="http://www.cenolan.com/2009/06/installing-fedora-11-on-a-macbook/#toc-post-installation">Post installation</a></li>
<li><a href="http://www.cenolan.com/2009/06/installing-fedora-11-on-a-macbook/#toc-fixing-the-wireless">Fixing the wireless</a></li>
<li><a href="http://www.cenolan.com/2009/06/installing-fedora-11-on-a-macbook/#toc-fixing-the-touchpad">Fixing the touchpad</a></li>
<li><a href="http://www.cenolan.com/2009/06/installing-fedora-11-on-a-macbook/#toc-isight-camera">iSight camera</a></li>
<li><a href="http://www.cenolan.com/2009/06/installing-fedora-11-on-a-macbook/#toc-bluetooth">Bluetooth</a></li>
<li><a href="http://www.cenolan.com/2009/06/installing-fedora-11-on-a-macbook/#toc-fixing-the-brightness-keys">Fixing the brightness keys</a></li>
<li><a href="http://www.cenolan.com/2009/06/installing-fedora-11-on-a-macbook/#toc-video-driver-for-newer-macbooks">Video driver for newer MacBooks</a></li>
<li><a href="http://www.cenolan.com/2009/06/installing-fedora-11-on-a-macbook/#toc-what-next">What next?</a></li>
</ol>
</div>
<p>This guide will help you through all the steps necessary for installing Fedora 11 on a MacBook Santa Rosa. This guide is aimed at Fedora 11 x86_64 but will also work on i386 version (adjust as necessary). Most of the steps equally apply to pre-Santa Rosa models too.</p>
<p>These instructions are specific to the MacBook 3,1 (Late 2007) and newer but not the new aluminium MacBooks since they have different hardware (especially the graphics card). These instructions are not suitable for the MacBook Pro either!! That said, many of the steps here are common to all MacBook models and I have included a few tips for people with the Aluminum MacBooks.</p>
<p>This guide is based largely around my previous guides for <a href="http://www.mactel-linux.org/wiki/Fedora8OnMacBookSantaRosa">Fedora 8</a> and <a href="http://www.cenolan.com/2008/11/installing-fedora-10-macbook/">Fedora 10</a>. This guide is much shorter than the previous two guides and that can only be a good thing!</p>
<h3 id="toc-what-works-and-what-doesnt">What works and what doesn't?</h3>
<p>There are a few things that need fixing (covered in detail below) but the following all work "out of the box" with Fedora 10: video/graphics, firewire, USB, CD/DVD reading and writing, suspend/hibernate, cpu speed control, fan control (including applesmc), volume function keys, sound, and ethernet. Even the new "plymouth" graphical boot screen works out of the box.</p>
<p>I have yet to try the infrared or connecting an external monitor but I suspect they work just fine. Everything else works with the tweaks described below.</p>
<p><span id="more-122"></span></p>
<h3 id="toc-basic-installation-instructions">Basic installation instructions</h3>
<p>If you're new to installing Linux then these steps should help you. If you're an old hand then skip below to view the post-installation steps necessary to fix the things that don't "just work".</p>
<ol>
<li>Update the MacBook firmware to the latest version. If you prefer, you may use the standard "Software Update" in OS X.</li>
<li>Get your Fedora 11 installation DVD ready. Note: you should use the x86_64 version of Fedora 11 and that I have only tested this using the Installation DVD, not the Live CD/DVD.</li>
<li>Install <a href="http://refit.sourceforge.net/">rEFIt</a> on OS X if you want a boot menu to select between OS X/Fedora to appear on every boot. This is highly recommended but optional - this guide assumes you have installed rEFIt. You can make Fedora boot by default and change the menu timeout by editing the "refit.conf" file (described on the rEFIt website).</li>
<li>Use the OS X partition manager in Disk Utility to resize your OS X partition and make space for Fedora. On my 260GB hard drive, I shrank the OS X (hfs+) partition to 120GB to leave about 130GB free space for Fedora. Insert your Fedora 11 installation DVD in the drive and reboot.</li>
<li>If you have rEFIt installed, then on boot you will be given the option to boot from the DVD, choose it. If you don't have rEFIt installed, then hold down "C" to boot from the DVD.</li>
<li>Install Fedora as usual, except:</li>
<ol>
<li>In the partitioner, select to manually edit partition table and create your new partitions in the free space you created above</li>
<li>Create a 200MB ext3 boot partition with mountpoint '/boot' (this will be /dev/sda3)</li>
<li>Create a new ext4 partition with mountpoint '/' - this will be your main Fedora partition on /dev/sda4. Make sure to leave 2GB free space after this partition for your swap partition</li>
<li>With the remaining 2GB, create a linux swap partition - this will be /dev/sda5</li>
</ol>
<li>Finish the installation and reboot. Remove the DVD.</li>
<li>If you installed rEFIt, you should have a choice between booting OS X and Linux. Use the arrow keys and Enter to select Linux.</li>
<li>Log in to Fedora</li>
<li>Follow the steps in the sections below to work around things that still do not work out-of-the-box in Fedora 11.</li>
</ol>
<h3 id="toc-post-installation">Post installation</h3>
<p>Note: The wireless on the MacBook doesn't work out of the box in Fedora, so you're going to need an ethernet internet connection available until we get round to fixing the wireless later in this guide.</p>
<p>It is very important now to update your Fedora installation to the latest packages using yum. To do so:</p>
<pre><code>su -
yum update</code></pre>
<p>Once yum has finished updating, reboot, and then do a yum update again. Repeat this process until yum finds no more packages to update.</p>
<h3 id="toc-fixing-the-wireless">Fixing the wireless</h3>
<p>The MacBook 4,1 comes with a Broadcom 4328 wireless chipset. This is not supported by default in Fedora 11 and there are two options to make it work: using ndiswrapper and Windows drivers or using the new official Broadcom STA wireless driver. In this guide we will use the official Broadcom driver because it is easier and more reliable.</p>
<p><strong>1) Enable the rpmfusion non-free repository.</strong></p>
<p>The broadcom-wl and wl-kmod RPMs that we need are in the <a href="http://rpmfusion.org">rpmfusion.org</a> non-free repository which also requires the rpmfusion.org free repository. To enable these repos in Fedora simply do this:</p>
<pre><code>su -c 'rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm'</code></pre>
<p><strong>2) Update and install the driver package</strong></p>
<p>Now that you have the appropriate repository enabled, to install the driver package we first ensure that we have the latest updates and then install the "kmod-wl" package which will bring with it the required "broadcom-wl" package:</p>
<pre><code>su -
yum update
yum install kmod-wl</code></pre>
<p>That's all there is to it. At this stage you may need to reboot in order to enable the new driver and any new kernel that was installed during the update. For more details or if you have any difficulties <a href="http://www.cenolan.com/2009/06/installing-broadcom-wireless-sta-driver-in-fedora-11/">see this post</a>.</p>
<p>When future kernels are released a simple "yum update" command should install the new kernel and also pull in the updated Broadcom driver for that new kernel.</p>
<h3 id="toc-fixing-the-touchpad">Fixing the touchpad</h3>
<p>Note, for aluminum MacBook users at the time of writing the touchpad does not work at all. There is a <a href="https://bugzilla.redhat.com/show_bug.cgi?id=504197">bug report here</a> and it looks like a solution may come with a kernel update any time soon.</p>
<p>For everyone else, the touchpad works out of the box but just needs a few settings to make it work with two finger scrolling and two finger clicking. In Gnome, go to System -> Preferences -> Mouse and then select the Touchpad tab. Enable the option for two-finger scrolling. You may also want to enable the option to disable the touchpad while typing. You can now scroll with two fingers, right click by holding down two fingers and clicking, and middle click by holding down 3 fingers and clicking.</p>
<h3 id="toc-isight-camera">iSight camera</h3>
<p>First of all, you will need a copy of the firmware from Apple. You can either <a href="http://www.i-nz.net/files/projects/linux-kernel/isight/against-revision-140/firmware/AppleUSBVideoSupport">download this here</a>, or copy it from a Mac OS X partition. While the latter is usually preferred I can't guarantee that the firmware distributed with your MacBook will be supported, so sometimes its easier just to download it.</p>
<p>To acquire the firmware, save the file AppleUSBVideoSupport to your home directory. Next, we need to convert the AppleUSBVideoSupport to a useable firmware file. The isight-firmware-tools will do this for us so we need to install that package:</p>
<pre><code>su -c "yum install isight-firmware-tools"</code></pre>
<p>Now, finally, we can convert the AppleUSBVideoSupport to a useable firmware file. From your home directory where you downloaded the AppleUSBVideoSupport file: </p>
<pre><code>su -c "ift-extract --apple-driver AppleUSBVideoSupport"</code></pre>
<p>Reboot and your webcam should be functional. Test it with Cheese, Ekiga, or Skype2. At the time of writing there is a <a href="https://bugzilla.redhat.com/show_bug.cgi?id=505534">bug in gstreamer</a> which makes the webcam output all green, I have raised a <a href="https://bugzilla.redhat.com/show_bug.cgi?id=505534">bug report</a> for it, feel free to add a "me too" and we'll see if it gets fixed.</p>
<h3 id="toc-bluetooth">Bluetooth</h3>
<p>Bluetooth works out of the box but due to some long standing <a href="https://bugzilla.redhat.com/show_bug.cgi?id=371061#c2">kernel bug</a> it needs to be enabled properly first.</p>
<p>Edit /etc/sysconfig/bluetooth and make sure it says 'HID2HCI_ENABLE=true'.</p>
<p>That'll fix it on subsequent reboots. For now, just run '/sbin/hid2hci' as root.</p>
<h3 id="toc-fixing-the-brightness-keys">Fixing the brightness keys</h3>
<p>The <a href="https://bugzilla.redhat.com/show_bug.cgi?id=505531">brightness keys don't work</a> but I have found a work around that fixes them. </p>
<p>To fix, disable kernel mode setting (KMS) by adding the following to the kernel parameters in /etc/grub.conf after "rhgb quiet":</p>
<pre><code>nomodeset</code></pre>
<p>And if you still want the graphical boot screen then add this also:</p>
<pre><code>vga=0x318</code></pre>
<p>While playing with these changes it is sensible to add a timeout value to grub.conf also so you can easily edit the boot config in case anything goes wrong...</p>
<p>So my grub.conf looks like this:</p>
<pre><code>default=0
timeout=10
splashimage=(hd0,2)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.29.4-167.fc11.x86_64)
        root (hd0,2)
        kernel /vmlinuz-2.6.29.4-167.fc11.x86_64 ro root=UUID=9efa16ed-8e34-4e88-9d7e-253fd5f9b43c rhgb quiet nomodeset vga=0x318
        initrd /initrd-2.6.29.4-167.fc11.x86_64.img</code></pre>
<p>Note, your kernel and initrd paths may look different depending on your partition setup and the UUID will definitely be different so don't just copy and paste mine!! I am only showing the above so you can see where the "nomodeset vga=0x318" should go. Basically put it right after "rhgb quiet" on the kernel line.</p>
<p>Reboot and your screen brightness keys should be working fine.</p>
<h3 id="toc-video-driver-for-newer-macbooks">Video driver for newer MacBooks</h3>
<p>This only applies to MacBooks with an nVidia video card: newer white versions and all aluminum versions. You can check the type of video card by doing "lspci" and looking for the video card details. </p>
<p>For those with an nVidia card you can install the official nVidia drivers which give better performance and full 3D support. First ensure you have the rpmfusion repositories installed as in the above wireless section, then:</p>
<pre><code>su -c 'yum install kmod-nvidia'</code></pre>
<p>Reboot and you should be using the nVidia drivers.</p>
<h3 id="toc-what-next">What next?</h3>
<p>Now your MacBook hardware should be fully functional so it is time to get busy adding the software you want and tweaking the system to your needs. </p>
<p><a href="http://www.mjmwired.net/resources/mjm-fedora-f11.html">This guide by Mauriat Miranda</a> is a great place to look for details of how to install common media players, codecs and fonts. </p>
<p>For the native 64bit flash plugin see <a href="http://forums.fedoraforum.org/showthread.php?t=205642">this thread</a>.</p>
<p>Have fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cenolan.com/2009/06/installing-fedora-11-on-a-macbook/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Installing Broadcom Wireless STA Driver in Fedora 11</title>
		<link>http://www.cenolan.com/2009/06/installing-broadcom-wireless-sta-driver-in-fedora-11/</link>
		<comments>http://www.cenolan.com/2009/06/installing-broadcom-wireless-sta-driver-in-fedora-11/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 13:54:43 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Fedora 11]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Broadcom]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[RPM]]></category>

		<guid isPermaLink="false">http://www.cenolan.com/?p=120</guid>
		<description><![CDATA[These are updated instructions for installing the Broadcom Wireless STA driver in Fedora 11. This driver is for use with Broadcom's BCM4311-, BCM4312-, BCM4321-, and BCM4322-based hardware.

1) Enable the rpmfusion repositories.
The broadcom-wl and wl-kmod RPMs that we need are in the rpmfusion non-free repository which also requires the rpmfusion free repository. To enable these repos [...]]]></description>
			<content:encoded><![CDATA[<p>These are updated instructions for installing the <a href="http://www.broadcom.com/support/802.11/linux_sta.php">Broadcom Wireless STA driver</a> in Fedora 11. This driver is for use with Broadcom's BCM4311-, BCM4312-, BCM4321-, and BCM4322-based hardware.</p>
<p><span id="more-120"></span></p>
<p><strong>1) Enable the rpmfusion repositories.</strong></p>
<p>The broadcom-wl and wl-kmod RPMs that we need are in the rpmfusion non-free repository which also requires the rpmfusion free repository. To enable these repos in Fedora 11 simply do this:</p>
<pre><code>su -c 'rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm'</code></pre>
<p><strong>2) Update and install the driver package</strong></p>
<p>Now that you have the appropriate repository enabled, to install the driver package we first ensure that we have the latest updates and then install the "kmod-wl" package which will bring with it the required "broadcom-wl" package:</p>
<pre><code>su -
yum update
yum install kmod-wl</code></pre>
<p><strong>3) Make a couple of adjustments</strong></p>
<p>At this stage you should reboot and provided you have Network Manager running (default setting for F11) it should detect your Broadcom wireless device and you should be able to connect to your wireless network.</p>
<p>If you're having problems then it is likely some conflict between Network Manager and the network service. To ensure that Network Manager can use the wireless go to System &gt; Administration &gt; Network and select the wireless device (if it's not there then this doesn't apply to you). Edit the device and check "Controlled by Network Manager" and "Activate device when computer starts". Close Network Configuration, save changes and then reboot.</p>
<p>You should also read the license and readme which are located in /usr/share/doc/</p>
<p><strong>4) Enjoy your wireless!</strong></p>
<p>That's all there is to it. At this stage you may need to reboot (if you didn't already) in order to enable the new driver and any new kernel that was installed during the update.</p>
<p>When future kernels are released a simple "yum update" command should install the new kernel and also pull in the updated Broadcom driver for that new kernel.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cenolan.com/2009/06/installing-broadcom-wireless-sta-driver-in-fedora-11/feed/</wfw:commentRss>
		<slash:comments>56</slash:comments>
		</item>
		<item>
		<title>Fedora 11 &#8211; first impressions</title>
		<link>http://www.cenolan.com/2009/06/fedora-11-first-impressions/</link>
		<comments>http://www.cenolan.com/2009/06/fedora-11-first-impressions/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 07:06:20 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Fedora 11]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MacBook]]></category>
		<category><![CDATA[fedora]]></category>

		<guid isPermaLink="false">http://www.cenolan.com/?p=116</guid>
		<description><![CDATA[Just got Fedora 11 up and running on my MacBook and it's pretty damn good, nothing ground breaking but it seems like another solid release from the Red Hat folks and builds nicely on the foundations of Fedora 10. Here's what I noticed so far compared to Fedora 10:

The installation process is way more streamlined [...]]]></description>
			<content:encoded><![CDATA[<p>Just got Fedora 11 up and running on my MacBook and it's pretty damn good, nothing ground breaking but it seems like another solid release from the Red Hat folks and builds nicely on the foundations of Fedora 10. Here's what I noticed so far compared to Fedora 10:</p>
<ul>
<li>The installation process is way more streamlined - only took 20mins for me and that was including some custom parititioning and messing with the selected packages. Also has a whole lot more polished feel about it. Great work by the Anaconda team.</li>
<li>Boot time is improved. I can't say how much quicker but it feels like it boots faster than Fedora 10, and gnome seems to login quicker too. I think they met their 20 second target time. Nice.</li>
<li>Gnome 2.26 - this is a minor update but has some nice features - Volume Control and support for multiple monitors are greatly improved.</li>
<li>Improved input device configuration and updated synaptics driver - this is huge. I especially like the fact that there is now an option to enable 2 finger scrolling on a touchpad without messing with HAL fdi files. The MacBook touchpad now works really nicely without having to getting knee deep in config files.</li>
<li>Firefox 3.5 and Thunderbird 3. Both beta releases but both seem stable and Thunderbird 3 finally has some half-decent search function and offline message caching.</li>
<li>Elisa Media Centre 0.5.37 - updated version that works really nicely. It was badly broken in F10 on my hardware.</li>
<li>Intel video drivers - these seem greatly improved since 10. No more system crashes when using 3D effect (touch wood).</li>
<li>Kernel - applesmc actually loads automatically now on a MacBook 4,1.</li>
</ul>
<p>The bad: gstreamer is still broken with my webcam and gstreamer-properties refuses to save the custom config that would make it work.</p>
<p>It's all minor stuff, but still it's a big improvement over Fedora 10 which in turn was a big improvement over Fedora 9.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cenolan.com/2009/06/fedora-11-first-impressions/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Simple time lapse video in Linux</title>
		<link>http://www.cenolan.com/2009/05/simple-time-lapse-video-in-linux/</link>
		<comments>http://www.cenolan.com/2009/05/simple-time-lapse-video-in-linux/#comments</comments>
		<pubDate>Sun, 10 May 2009 16:24:37 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Fedora 10]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[stop-motion]]></category>
		<category><![CDATA[timelapse]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[webcam]]></category>

		<guid isPermaLink="false">http://www.cenolan.com/?p=104</guid>
		<description><![CDATA[Time lapse (or stop-motion) video is really cool, and this post explains how to make a simple time lapse style video in Linux using entirely free open source software. 
There is more than one way to skin a cat and when I was searching for how to do this I came across many different methods [...]]]></description>
			<content:encoded><![CDATA[<p>Time lapse (or stop-motion) video is <a href="http://www.youtube.com/watch?v=qBjLW5_dGAM">really cool</a>, and this post explains how to make a simple time lapse style video in Linux using entirely free open source software. </p>
<p>There is more than one way to skin a cat and when I was searching for how to do this I came across many different methods and suggestions but not really anything that suited what I wanted. Andrew Wells suggests <a href="http://wp.pr0gr4mm3r.com/linux/how-to-create-a-time-lapse-video-using-ffmpeg/">making a movie and then processing it with ffmpeg</a> to only store 1 in every n frames. That seems a neat solution but I wanted to take a series of still shots and string those together into a movie. Tim Nugent published a teaser of some nice looking <a href="http://ultrawide.wordpress.com/2009/01/27/timelapse-photography-on-linux/">time lapse software</a> he wrote but as yet there is no published source or binary. There were <a href="http://www.linux.com/feature/127059">various</a> other <a href="http://www.ludumdare.com/compo/2008/08/09/no-love-linux-timelapse-howto/">suggestions</a> dotted around the web but each one I tried had <a href="http://forums.fedoraforum.org/showthread.php?p=1211408">some problem</a> or other. So here's how I did it.</p>
<p><span id="more-104"></span></p>
<p>First of all, you need a working webcam. Webcam support has really improved recently in Linux and I found the built-in iSight on my MacBook and my cheapo Logitech USB webcam work just fine without any intervention from me. </p>
<p>Next we need some way to save an image from the webcam every x seconds. I found that <a href="http://www.smcc.demon.nl/camstream/index.html">camstream</a> does the trick just fine despite it's sucky 1996-looking website and lack of a release since 2006. Under Fedora 10 to install camstream just use yum or your favourite GUI package manager:</p>
<pre><code>yum install camstream</code></pre>
<p>Camstream is pretty easy to use. Really, a child could do it. Just use the "File" menu to open up your webcam device. Then click the little configuration icon (it looks like a spanner) to adjust the file settings you'd like to use for capture. I found that JPG images work much better than PNG. </p>
<p>As the "Basename" enter the <em>full path</em> of the filename you'd like to save your images as, for example if you want to save your images as "/home/yourname/Pictures/Webcam/MyTimeLapse/image001.jpg" (and so on) then set the basename as "/home/yourname/Pictures/Webcam/MyTimeLapse/image" then choose "Number sequence" and set the maximum sequence number to something pretty big (like 100000). Close the settings. Click the icon to "show last snapshot". </p>
<p>Now click "take snapshot at regular intervals" and set your interval. I chose 3 seconds. Choose whatever you think is appropriate. Now you're all set. Camstream will take images at the interval chosen and save them into the directory you configured. Sweeeeet.</p>
<p>Ok, so now we have a directory full of images that looks something like this:</p>
<pre><code>$ ls
image000.jpg  image003.jpg  image006.jpg  image009.jpg  image012.jpg  image015.jpg  image018.jpg
image001.jpg  image004.jpg  image007.jpg  image010.jpg  image013.jpg  image016.jpg
image002.jpg  image005.jpg  image008.jpg  image011.jpg  image014.jpg  image017.jpg</code></pre>
<p>We're gonna feed these files to mencoder for it to pull together into a movie. To do this we need a text file containing a list of the files in the order that we want them. You could write this file yourself (boring) but we can create it using something like this:</p>
<p>ls -1tr > files.txt </p>
<p>This provides a listing (ls) of the current working directory outputting 1 file per line (1) sorted by modification time (t) in reverse order (r) and sends the output (>) to a file named files.txt. In the example above my files.txt looks like this:</p>
<pre><code>image000.jpg
image001.jpg
image002.jpg
image003.jpg
image004.jpg
image005.jpg
image006.jpg
image007.jpg
image008.jpg
image009.jpg
image010.jpg
image011.jpg
image012.jpg
image013.jpg
image014.jpg
image015.jpg
image016.jpg
image017.jpg
image018.jpg</code></pre>
<p>Now download and install <a href="http://www.mplayerhq.hu/">mencoder</a>. Again it's available on nearly all modern distros. For Fedora 10 just do "yum install mencoder". Now all we need do to make our move is issue a command like this:</p>
<pre><code>mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4 -o test.avi -mf type=jpeg:fps=20 mf://@files.txt</code></pre>
<p>This will encode all the files listed in files.txt into a movie called test.avi using the mpeg4 encoder with no sound and a framerate of 20 frames per second. Messing with the fps gives very different results. See "<a href="http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-enc-images.html">Encoding from multiple input image files</a>" in the mencoder documentation for more info.</p>
<p>Here's an example video made using this method:</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/c6nk64D584s&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/c6nk64D584s&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cenolan.com/2009/05/simple-time-lapse-video-in-linux/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How-To: Automated incremental daily backups to Amazon S3 using Duplicity</title>
		<link>http://www.cenolan.com/2008/12/how-to-incremental-daily-backups-amazon-s3-duplicity/</link>
		<comments>http://www.cenolan.com/2008/12/how-to-incremental-daily-backups-amazon-s3-duplicity/#comments</comments>
		<pubDate>Sat, 06 Dec 2008 16:58:30 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[CentOS 5.x]]></category>
		<category><![CDATA[Fedora 10]]></category>
		<category><![CDATA[Fedora 8]]></category>
		<category><![CDATA[Fedora 9]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Yellow Dog Linux]]></category>
		<category><![CDATA[Amazon S3]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[duplicity]]></category>

		<guid isPermaLink="false">http://www.cenolan.com/?p=54</guid>
		<description><![CDATA[This guide shows how to use Amazon S3 with duplicity to make secure GPG encrypted automated daily incremental backups (snapshots) of a Linux server or desktop. I have been using this method on various servers for several months and it has proved to be a reliable, secure, cheap, and robust method to create automated backups.
I [...]]]></description>
			<content:encoded><![CDATA[<p>This guide shows how to use <a href="http://aws.amazon.com/s3/">Amazon S3</a> with <a href="http://duplicity.nongnu.org/">duplicity</a> to make secure GPG encrypted automated daily incremental backups (snapshots) of a Linux server or desktop. I have been using this method on various servers for several months and it has proved to be a reliable, secure, cheap, and robust method to create automated backups.</p>
<p>I have used this method on <a href="http://fedoraproject.org/">Fedora</a>, <a href="http://us.fixstars.com/products/ydl/">YDL</a>, and <a href="http://www.centos.org/">CentOS</a> but the instructions should equally apply to other Linux distributions including <a href="http://www.debian.org/">Debian</a> and <a href="http://www.ubuntu.com/">Ubuntu</a>. It will even work on OS X using the <a href="http://www.macports.org/">MacPorts</a> version of duplicity.</p>
<h3 id="toc-aims-of-this-guide">Aims of this guide</h3>
<p>This guide explains how to create a simple wrapper script for duplicity that allows you to automatically create GPG encrypted incremental backups that are saved to an Amazon S3 bucket. The script is designed to be executed as a daily cron job so that incremental snapshot backups are created each day. The script creates a full backup set on the 1st day of each month (or when an appropriate full backup cannot be found) and then creates incremental backups on subsequent days. </p>
<p>This guide provides a walk-through of how to create the GPG encryption key, and provides full scripts and example usage for both backup and restore. You could easily adapt the backup script so that it makes full backups each week, or otherwise adjust it to suit your individual needs.</p>
<p>This guide is written with the general Linux user in mind: you do need some understanding of basic linux concepts such as cron, permissions, and directory structures.</p>
<p><span id="more-54"></span></p>
<h3 id="toc-what-is-duplicity">What is duplicity?</h3>
<p>From the duplicity home page:</p>
<blockquote><p>Duplicity backs [up] directories by producing encrypted tar-format volumes and uploading them to a remote or local file server. Because duplicity uses librsync, the incremental archives are space efficient and only record the parts of files that have changed since the last backup. Because duplicity uses GnuPG to encrypt and/or sign these archives, they will be safe from spying and/or modification by the server.</p></blockquote>
<p>I think that says it all much more concisely than I could manage.</p>
<p>One thing to note is that in my experience, and on certain machines, duplicity can cause a lot of overhead and take a long time to complete. Thus duplicity is not always a viable option when backing up huge amounts of data. That said, for backing up the critical data from a standard web server it can be a great solution. Remember, that if you're backing up databases then you need to dump them into SQL files first. For MySQL databases I recommend <a href="http://sourceforge.net/projects/automysqlbackup/">automysqlbackup</a> for this. As always, YMMV.</p>
<h3 id="toc-before-we-start">Before we start</h3>
<p>You need to install duplicity (version &gt;= 0.4.3 for S3 support). This how-to doesn't cover that aspect, but suffice to say that duplicity is available as a package for most major distros so crack open your package manager (be it yum, apt, synaptics or whatever) and install duplicity along with all it's dependencies. </p>
<p>You also need GnuGP and librsync but they should both be automatically installed as dependencies of duplicity.</p>
<h3 id="toc-step-1-generate-a-new-gpg-key">Step 1 - Generate a new GPG key</h3>
<p>If you already have a GPG key that you want to use then skip this bit - you'll just need to know what your key is which you can get through "gpg --list-keys" - it is the bit after the / in the "pub" line. Otherwise, read on...</p>
<p>I am going to presume that you'll be running your backup jobs as root, so open a terminal and become root. If you're going to run them as a different user then become that user instead but ensure that the user you have chosen has sufficient permissions to backup the data you require.</p>
<p>Now run "gpg --gen-key" to generate your key and follow the prompts:</p>
<pre><code># gpg --gen-key
gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Please select what kind of key you want:
   (1) DSA and Elgamal (default)
   (2) DSA (sign only)
   (5) RSA (sign only)
Your selection?
</code></pre>
<p>Accept the default (Enter) or press 1 for DSA and Elgamal.</p>
<pre><code>DSA keypair will have 1024 bits.
ELG-E keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) </code></pre>
<p>Again, the default (2048) is fine. Just hit Enter.</p>
<pre><code>Requested keysize is 2048 bits
Please specify how long the key should be valid.
         0 = key does not expire
      &lt;n&gt;  = key expires in n days
      &lt;n&gt;w = key expires in n weeks
      &lt;n&gt;m = key expires in n months
      &lt;n&gt;y = key expires in n years
Key is valid for? (0) </code></pre>
<p>I don't want my key to expire, so I just hit Enter again to accept the default. Do whatever you want.</p>
<pre><code>Key does not expire at all
Is this correct? (y/N) </code></pre>
<p>Sure is. Hit y and then Enter.</p>
<pre><code>You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
    "Heinrich Heine (Der Dichter) &lt;heinrichh@duesseldorf.de&gt;"

Real name: Duplicity Backup
Email address: duplicity@mydomain.com
Comment: Key for duplicity
You selected this USER-ID:
    "Duplicity Backup (Key for duplicity) &lt;duplicity@mydomain.com&gt;"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit?</code></pre>
<p>Enter the requested details and then press O for Okay.</p>
<pre><code>You need a Passphrase to protect your secret key.

Enter Passphrase:</code></pre>
<p>Enter a passphrase here. It should be something long and complex. Anything will do, but make sure you remember it because you'll need it later. When finished press Enter and then re-enter your passphrase when prompted and then press Enter again.</p>
<p>At this stage you may have to help generate some entropy by doing some other task - I find that running "updatedb" in another shell is pretty good, or just randomly tapping the keyboard can do the trick too.</p>
<p>Once it has finished you should get a message like this:</p>
<pre><code>gpg: key BE9274BD marked as ultimately trusted
public and secret key created and signed.

gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
pub   1024D/BE9274BD 2008-11-30
      Key fingerprint = 2FB4 A20E 57BA 80BA 9576  3ABD F79F D430 BE92 74BD
uid                  Duplicity Backup (Key for duplicity) &lt;duplicity@mydomain.com&gt;
sub   2048g/F8F35AD8 2008-11-30</code></pre>
<p>Make a note of the key (BE9274BD in this case) as you'll need that later too.</p>
<p><strong><em>Important: Remember to backup your GPG key pair somewhere safe and off the current machine. Without this key pair your backups are totally useless to you, so if you lose it and need to restore a backup then you're up a creak without a paddle. <a href="http://www.debuntu.org/how-to-import-export-gpg-key-pair">This article</a> shows the proper way to export (and import) your GPG key pair.</em></strong></p>
<h3 id="toc-step-2-the-backup-wrapper-script">Step 2 - The backup wrapper script</h3>
<p>This bash wrapper script does a full backup on the 1st day of each month followed by incremental backups on subsequent days. It will also delete old backup sets after X months have passed and it also emails a log report each day giving some valuable statistics about your backup and reporting any errors.</p>
<p>You will need to have the following information handy to edit this backup script for your needs:</p>
<ul>
<li>Your Amazon S3 Access Key ID</li>
<li>Your Amazon S3 Secret Access Key</li>
<li>Your GPG key</li>
<li>Your GPG key passphrase</li>
<li>A list of directories you want to back up</li>
<li>An email address to send the logs to</li>
<li>A unique name for an Amazon S3 bucket (the bucket will be created if it doesn't yet exist)</li>
</ul>
<p>The script is as follows, you need to change the bits in bold at least but pay attention to all the variables as you may want to tweak them to suit your needs.</p>
<p>Note that includes/excludes work on a 'fist match' basis. So if you want to exclude something in a directory, you need to exclude the file/subdirectory before including the directory. For more info see the duplicity man pages.</p>
<pre><code>#!/bin/bash

# Set up some variables for logging
LOGFILE="/var/log/backup.log"
DAILYLOGFILE="/var/log/backup.daily.log"
HOST=`hostname`
DATE=`date +%Y-%m-%d`
MAILADDR="<strong>sysadmin@mydomain.com</strong>"

# Clear the old daily log file
cat /dev/null &gt; ${DAILYLOGFILE}

# Trace function for logging, don't change this
trace () {
        stamp=`date +%Y-%m-%d_%H:%M:%S`
        echo "$stamp: $*" &gt;&gt; ${DAILYLOGFILE}
}

# Export some ENV variables so you don't have to type anything
export AWS_ACCESS_KEY_ID="<strong>YOUR_ACCESS_KEY_ID</strong>"
export AWS_SECRET_ACCESS_KEY="<strong>YOUR_SECRET_ACCESS_KEY</strong>"
export PASSPHRASE="<strong>YOUR_GPG_PASSPHRASE</strong>"

# Your GPG key
GPG_KEY=<strong>YOUR_GPG_KEY</strong>

# How long to keep backups for
OLDER_THAN="3M"

# The source of your backup
SOURCE=/

# The destination
# Note that the bucket need not exist
# but does need to be unique amongst all
# Amazon S3 users. So, choose wisely.
DEST="s3+http://<strong>your_s3_bucket_name</strong>"

FULL=
if [ $(date +%d) -eq 1 ]; then
        FULL=full
fi;

trace "Backup for local filesystem started"

trace "... removing old backups"

duplicity remove-older-than ${OLDER_THAN} ${DEST} &gt;&gt; ${DAILYLOGFILE} 2&gt;&amp;1

trace "... backing up filesystem"

duplicity \
    ${FULL} \
    --encrypt-key=${GPG_KEY} \
    --sign-key=${GPG_KEY} \
    --volsize=250 \
<strong>    --include=/vhosts \
    --include=/etc \
    --include=/home \
    --include=/root \
    --exclude=/** \</strong>
    ${SOURCE} ${DEST} &gt;&gt; ${DAILYLOGFILE} 2&gt;&amp;1

trace "Backup for local filesystem complete"
trace "------------------------------------"

# Send the daily log file by email
cat "$DAILYLOGFILE" | mail -s "Duplicity Backup Log for $HOST - $DATE" $MAILADDR

# Append the daily log file to the main log file
cat "$DAILYLOGFILE" &gt;&gt; $LOGFILE

# Reset the ENV variables. Don't need them sitting around
export AWS_ACCESS_KEY_ID=
export AWS_SECRET_ACCESS_KEY=
export PASSPHRASE=
</code></pre>
<p>Save the script somewhere and give it an appropriate name. I saved it a /usr/bin/duplicity-backup and make sure to chmod the script to 700 - it contains some sensitive information so we don't want none privileged users to have read access to it. Run the script as a test then set it up as a daily cron job to run at an appropriate time of night when the server isn't doing much else.</p>
<h3 id="toc-step-3-the-restore-wrapper-script">Step 3 - The restore wrapper script</h3>
<p>Clearly we need a way to restore from a backup, so use the following script to do just that:</p>
<pre><code>#!/bin/bash
# Export some ENV variables so you don't have to type anything
export AWS_ACCESS_KEY_ID="<strong>YOUR_ACCESS_KEY_ID</strong>"
export AWS_SECRET_ACCESS_KEY="<strong>YOUR_SECRET_ACCESS_KEY</strong>"
export PASSPHRASE="<strong>YOUR_GPG_PASSPHRASE</strong>"

# Your GPG key
GPG_KEY=<strong>YOUR_GPG_KEY</strong>

# The destination
DEST="s3+http://<strong>your_s3_bucket_name</strong>"

if [ $# -lt 3 ]; then echo "Usage $0 &lt;date&gt; &lt;file&gt; &lt;restore-to&gt;"; exit; fi

duplicity \
    --encrypt-key=${GPG_KEY} \
    --sign-key=${GPG_KEY} \
    --file-to-restore $2 \
    --restore-time $1 \
    ${DEST} $3

# Reset the ENV variables. Don't need them sitting around
export AWS_ACCESS_KEY_ID=
export AWS_SECRET_ACCESS_KEY=
export PASSPHRASE= </code></pre>
<p>Again, save this file as something sensible and chmod it to 700 to prevent prying eyes. I saved it as /usr/bin/duplicity-restore but feel free to put it wherever you like.</p>
<p>To do a restore simply invoke the script as follows:</p>
<pre><code>duplicity-restore &lt;date&gt; &lt;file&gt; &lt;restore-to&gt;</code></pre>
<p>Some notes on usage: Paths are relative not absolute. So /home/username would be backed up as home/username. You can restore whole directories but the destination needs to exist first. For example, to restore /home/username from November 20 2008 to a local directory 'restore', doing the <strong>following would not work</strong> because ./home does not exist:</p>
<pre><code>cd ~
mkdir restore
cd restore
duplicity-restore "2008-11-20" home/username home/username</code></pre>
<p>However, the <strong>following would work</strong> and would restore the directory to ./username:</p>
<pre><code>duplicity-restore "2008-11-20" home/username username</code></pre>
<p>That's all there is to it. As mentioned I've been using this method for several months to back up a variety of servers and it works very nicely. I hope it works just as well for you too!</p>
<h3 id="toc-credits">Credits</h3>
<p>This solution is the combination of a couple of tips and tricks I found while trawling the web, notably from <a href="http://www.randys.org/2007/11/16/how-to-automated-backups-to-amazon-s-s3-with-duplicity/">this howto at randys.org</a> and <a href="http://www.linode.com/forums/viewtopic.php?p=14875#14875">this post over at the linode.com forums</a>. Credit and thanks goes to the original authors - I have merely hacked their ideas together and added a few touches of my own.</p>
<p>If you find this useful or have any comments or questions then please respond below!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cenolan.com/2008/12/how-to-incremental-daily-backups-amazon-s3-duplicity/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Installing Fedora 10 on a MacBook</title>
		<link>http://www.cenolan.com/2008/11/installing-fedora-10-macbook/</link>
		<comments>http://www.cenolan.com/2008/11/installing-fedora-10-macbook/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 16:55:45 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Fedora 10]]></category>
		<category><![CDATA[Leisure]]></category>
		<category><![CDATA[MacBook]]></category>
		<category><![CDATA[Broadcom]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mactel-linux]]></category>

		<guid isPermaLink="false">http://www.cenolan.com/?p=22</guid>
		<description><![CDATA[

What works and what doesn't?
Basic installation instructions
Post installation
Fixing the wireless
Fixing the touchpad
Disable touchpad while typing
iSight camera
Bluetooth
Apple SMC (Optional)
Plymouth graphical boot (Optional)
What next?


This guide will help you through all the steps necessary for installing Fedora 10 on a MacBook Santa Rosa. This guide is currently aimed at Fedora 10 x86_64 but will also work on i386 [...]]]></description>
			<content:encoded><![CDATA[<div class="toc">
<ol>
<li><a href="http://www.cenolan.com/2008/11/installing-fedora-10-macbook/#toc-what-works-and-what-doesnt">What works and what doesn't?</a></li>
<li><a href="http://www.cenolan.com/2008/11/installing-fedora-10-macbook/#toc-basic-installation-instructions">Basic installation instructions</a></li>
<li><a href="http://www.cenolan.com/2008/11/installing-fedora-10-macbook/#toc-post-installation">Post installation</a></li>
<li><a href="http://www.cenolan.com/2008/11/installing-fedora-10-macbook/#toc-fixing-the-wireless">Fixing the wireless</a></li>
<li><a href="http://www.cenolan.com/2008/11/installing-fedora-10-macbook/#toc-fixing-the-touchpad">Fixing the touchpad</a></li>
<li><a href="http://www.cenolan.com/2008/11/installing-fedora-10-macbook/#toc-disable-touchpad-while-typing">Disable touchpad while typing</a></li>
<li><a href="http://www.cenolan.com/2008/11/installing-fedora-10-macbook/#toc-isight-camera">iSight camera</a></li>
<li><a href="http://www.cenolan.com/2008/11/installing-fedora-10-macbook/#toc-bluetooth">Bluetooth</a></li>
<li><a href="http://www.cenolan.com/2008/11/installing-fedora-10-macbook/#toc-apple-smc-optional">Apple SMC (Optional)</a></li>
<li><a href="http://www.cenolan.com/2008/11/installing-fedora-10-macbook/#toc-plymouth-graphical-boot-optional">Plymouth graphical boot (Optional)</a></li>
<li><a href="http://www.cenolan.com/2008/11/installing-fedora-10-macbook/#toc-what-next">What next?</a></li>
</ol>
</div>
<p>This guide will help you through all the steps necessary for installing Fedora 10 on a MacBook Santa Rosa. This guide is currently aimed at Fedora 10 x86_64 but will also work on i386 version (adjust as necessary). Most of the steps equally apply to pre-Santa Rosa models too.</p>
<p>These instructions will work with the MacBook 3,1 (Late 2007) and newer but will NOT work with the new aluminium MacBooks since they have different hardware (especially the graphics card). These instructions are not suitable for the MacBook Pro either!!</p>
<p>This guide is based largely around my <a href="http://www.mactel-linux.org/wiki/Fedora8OnMacBookSantaRosa">previous guide for Fedora 8</a>, and again much credit goes to the people who created the original <a href="https://help.ubuntu.com/community/MacBook_Santa_Rosa">Ubuntu wiki guide</a>.</p>
<h3 id="toc-what-works-and-what-doesnt">What works and what doesn't?</h3>
<p>There are a few things that need fixing (covered in detail below) but the following all work "out of the box" with Fedora 10: video/graphics, compiz effects, firewire, CD/DVD reading and writing, function keys (brightness, volume etc), sound, and ethernet. Even the new "plymouth" graphical boot screen works fine once activated.</p>
<p>I have yet to try the infrared or connecting an external monitor. Everything else works with the tweaks described below, except for suspend and hibernate which seem generally pretty broken in F10 (as it was in F9 too). <em>Update 7 November 2008: Suspend and hibernate are fixed with 2.6.27.7-134 kernel and newer. <a href="https://bugzilla.redhat.com/show_bug.cgi?id=473542">See bug report</a>.</em></p>
<p><span id="more-22"></span></p>
<h3 id="toc-basic-installation-instructions">Basic installation instructions</h3>
<p>If you're new to installing Linux then these steps should help you. If you're an old hand then skip below to view the post-installation steps necessary to fix the things that don't "just work".</p>
<ol>
<li>Update the MacBook firmware to the latest version. If you prefer, you may use the standard "Software Update" in OS X.</li>
<li>Get your Fedora 10 installation DVD ready. Note: you should use the x86_64 version of Fedora 10 and that I have only tested this using the Install Media, not the Live DVD.</li>
<li>Install <a href="http://refit.sourceforge.net/">rEFIt</a> on OS X if you want a boot menu to select between OS X/Fedora to appear on every boot. This is highly recommended but optional - this guide assumes you have installed rEFIt. You can make Fedora boot by default and change the menu timeout by editing the "refit.conf" file (described on the rEFIt website).</li>
<li>Use the OS X partition manager in Disk Utility to resize your OS X partition and make space for Fedora. On my 260GB hard drive, I shrank the OS X (hfs+) partition to 120GB to leave about 130GB for Fedora. Insert your Fedora 10 installation DVD in the drive and reboot.</li>
<li>If you have rEFIt installed, then on boot you will be given the option to boot from the DVD, choose it. If you don't have rEFIt installed, then hold down "C" to boot from the DVD.</li>
<li>Install Fedora as usual, except:</li>
<ol>
<li>In the partitioner, select to manually edit partition table</li>
<li>Create a 200MB boot partition with mountpoint '/boot' (this will be /dev/sda3)</li>
<li>Create a new ext3 partition with mountpoint '/' - this will be your main Fedora partition on /dev/sda4. Make sure to leave 2GB free space after this partition for your swap partition</li>
<li>With the remaining 2GB, create a linux swap partition - this will be /dev/sda5</li>
</ol>
<li>Finish the installation and reboot.</li>
<li>If you installed rEFIt, you should have a choice between booting OS X and Linux. Use the arrow keys and Enter to select Linux.</li>
<li>Log in to Fedora</li>
<li>Follow the steps in the sections below to work around things that still do not work out-of-the-box in Fedora 10.</li>
</ol>
<h3 id="toc-post-installation">Post installation</h3>
<p>Note: The wireless on the MacBook doesn't work out of the box in Fedora, so you're going to need an ethernet internet connection available until we get round to fixing the wireless later in this guide.</p>
<p>It is very important now to update your Fedora installation to the latest packages using yum. To do so:</p>
<pre><code>su -
yum update</code></pre>
<p>Once yum has finished updating, reboot, and then do a yum update again. Repeat this process until yum finds no more packages to update.</p>
<h3 id="toc-fixing-the-wireless">Fixing the wireless</h3>
<p>The MacBook comes with a Broadcom 4328 wireless chipset. This is not supported by default in Fedora 10 and there are two options to make it work: using ndiswrapper and Windows drivers or using the new official Broadcom STA wireless driver. In this guide we will use the official Broadcom driver because it is easier and more reliable.</p>
<p><strong>1) Enable the rpmfusion non-free repository.</strong></p>
<p>The broadcom-wl and wl-kmod RPMs that we need are in the <a href="http://rpmfusion.org">rpmfusion.org</a> non-free repository which also requires the rpmfusion.org free repository. To enable these repos in Fedora simply do this:</p>
<pre><code>su -c 'rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm'</code></pre>
<p><strong>2) Update and install the driver package</strong></p>
<p>Now that you have the appropriate repository enabled, to install the driver package we first ensure that we have the latest updates and then install the "broadcom-wl" package which will bring with it the required "kmod-wl" package:</p>
<pre><code>su -
yum update
yum install broadcom-wl</code></pre>
<p>That's all there is to it. At this stage you may need to reboot in order to enable the new driver and any new kernel that was installed during the update. For more details or if you have any difficulties <a href="http://www.cenolan.com/2008/11/rpm-install-broadcom-wireless-sta-driver-fedora/">see this post</a>.</p>
<p>When future kernels are released a simple "yum update" command should install the new kernel and also pull in the updated Broadcom driver for that new kernel.</p>
<h3 id="toc-fixing-the-touchpad">Fixing the touchpad</h3>
<p>(Thanks to <a href="http://bd-things.net/fedora-10-thank-you-very-much-macbook-review-and-fixes/">bodom_lx</a> for this tip)</p>
<p>The touchpad works out of the box but there is no way to right or middle click. Traditionally this was fixed by adding the appropriate options to /etc/X11/xorg.conf but the new xorg-server in F10 doesn't use the traditional xorg.conf file. Instead it is configured through <a href="http://www.freedesktop.org/wiki/Software/hal">HAL</a> fdi configuration files. </p>
<p>To create the appropriate file for configuring the touchpad:</p>
<pre><code>su -
gedit /etc/hal/fdi/policy/appletouch.fdi</code></pre>
<p>Copy and paste the following into the empty file:</p>
<pre><code>&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
&lt;deviceinfo version="0.2"&gt;
  &lt;device&gt;
    &lt;match key="info.capabilities" contains="input.touchpad"&gt;
      &lt;match key="info.product" contains="appletouch"&gt;
        &lt;merge key="input.x11_driver" type="string"&gt;synaptics&lt;/merge&gt;
        &lt;merge key="input.x11_options.SendCoreEvents" type="string"&gt;true&lt;/merge&gt;
        &lt;merge key="input.x11_options.HorizEdgeScroll" type="string"&gt;0&lt;/merge&gt;
        &lt;merge key="input.x11_options.VertEdgeScroll" type="string"&gt;0&lt;/merge&gt;
        &lt;merge key="input.x11_options.VertTwoFingerScroll" type="string"&gt;1&lt;/merge&gt;
        &lt;merge key="input.x11_options.HorizTwoFingerScroll" type="string"&gt;0&lt;/merge&gt;
        &lt;merge key="input.x11_options.VertScrollDelta" type="string"&gt;10&lt;/merge&gt;
        &lt;merge key="input.x11_options.HorizScrollDelta" type="string"&gt;10&lt;/merge&gt;
        &lt;merge key="input.x11_options.VertScrollDelta" type="string"&gt;10&lt;/merge&gt;
        &lt;merge key="input.x11_options.TapButton1" type="string"&gt;0&lt;/merge&gt;
        &lt;merge key="input.x11_options.TapButton2" type="string"&gt;3&lt;/merge&gt;
        &lt;merge key="input.x11_options.TapButton3" type="string"&gt;2&lt;/merge&gt;
        &lt;merge key="input.x11_options.ClickFinger1" type="string"&gt;1&lt;/merge&gt;
        &lt;merge key="input.x11_options.ClickFinger2" type="string"&gt;3&lt;/merge&gt;
        &lt;merge key="input.x11_options.ClickFinger3" type="string"&gt;2&lt;/merge&gt;
        &lt;merge key="input.x11_options.FingerLow" type="string"&gt;10&lt;/merge&gt;
        &lt;merge key="input.x11_options.FingerHigh" type="string"&gt;20&lt;/merge&gt;
        &lt;merge key="input.x11_options.PressureMotionMinZ" type="string"&gt;10&lt;/merge&gt;
        &lt;merge key="input.x11_options.SHMConfig" type="string"&gt;On&lt;/merge&gt;
      &lt;/match&gt;
    &lt;/match&gt;
  &lt;/device&gt;
&lt;/deviceinfo&gt;</code></pre>
<p>Save the file and reboot. You should now be able to right-click by using a two finger tap on the touchpad and middle-click by using a three finger tap. You can also right-click by holding two fingers on the touchpad and clicking the button, and middle-click by holding three fingers and clicking the button.</p>
<p>If you want to adjust any of the options (or add new ones) see "man synaptics" for an explanation of what they do.</p>
<h3 id="toc-disable-touchpad-while-typing">Disable touchpad while typing</h3>
<p>The placement and sensitivity of the MacBook touchpad means that it is prone to moving your cursor while you're typing which is very annoying. We can fix this:</p>
<p>To disable the touchpad while typing use this command:</p>
<pre><code>syndaemon -i 1 -d</code></pre>
<p>This disables the touchpad for 1 second after you type something. This works well but if you go back and forth a lot it can be a hassle to wait that one second. NOTE you can use ".5" for half a seconf instead and it works much better.</p>
<p>Alternatively,</p>
<pre><code>syndaemon -t -d</code></pre>
<p>This disables tapping motions but not movement while typing.</p>
<p>Both work fine, and the one that works best for you will likely be determined by the type of computing you do. Try them both and decide for yourself.</p>
<p>Once you've found the one you want to use, add it as an application to start in your gnome session. </p>
<h3 id="toc-isight-camera">iSight camera</h3>
<p>First of all, you will need a copy of the firmware from Apple. You can either <a href="http://www.i-nz.net/files/projects/linux-kernel/isight/against-revision-140/firmware/AppleUSBVideoSupport">download this here</a>, or copy it from a Mac OS X partition. While the latter is usually preferred I can't guarantee that the firmware distributed with your MacBook will be supported, so sometimes its easier just to download it.</p>
<p>To acquire the firmware, save the file AppleUSBVideoSupport to your home directory. Next, we need to convert the AppleUSBVideoSupport to a useable firmware file. The isight-firmware-tools will do this for us so we need to install that package:</p>
<pre><code>su -c "yum install isight-firmware-tools"</code></pre>
<p>Now, finally, we can convert the AppleUSBVideoSupport to a useable firmware file. From your home directory where you downloaded the AppleUSBVideoSupport file: </p>
<pre><code>su -c ift-extract --apple-driver AppleUSBVideoSupport</code></pre>
<p>Reboot and your webcam should be fully functionally. Test it with Cheese, Ekiga, or Skype2.</p>
<h3 id="toc-bluetooth">Bluetooth</h3>
<p>Bluetooth works out of the box but due to some <a href="https://bugzilla.redhat.com/show_bug.cgi?id=371061#c2">kernel bug</a> it needs to be enabled properly first.</p>
<p>Edit /etc/sysconfig/bluetooth and make sure it says 'HID2HCI_ENABLE=true'.</p>
<p>That'll fix it on subsequent reboots. For now, just run '/sbin/hid2hci' as root.</p>
<h3 id="toc-apple-smc-optional">Apple SMC (Optional)</h3>
<p>This is an optional but recommended step. The <a href="http://www.mactel-linux.org/wiki/AppleSMC">Apple SMC</a> (System Management Controller) provides an interface to devices such as fans, temperature sensors, motion sensors, leds and controls these.</p>
<p>The applesmc kernel module is not loaded by default - I guess this is a bug. The correct way to load a module on boot in Fedora 10 is to create a .modules file in /etc/sysconfig/modules/ - here is how to do it for applesmc:</p>
<pre><code>su -
gedit /etc/sysconfig/modules/applesmc.modules</code></pre>
<p>Paste the following into the file: </p>
<pre><code>#!/bin/sh

if [ ! -d /sys/devices/platform/applesmc.768 ] ; then
        exec /sbin/modprobe applesmc >/dev/null 2>&#038;1
fi</code></pre>
<p>Save and exit, then change the file permissions as follows:</p>
<pre><code>chmod 755 /etc/sysconfig/modules/applesmc.modules</code></pre>
<p>On next boot the applesmc module will load. Meanwhile, just do "modprobe applesmc" as root. </p>
<h3 id="toc-plymouth-graphical-boot-optional">Plymouth graphical boot (Optional)</h3>
<p>To activate the plymouth graphical boot you must edit /boot/grub/grub.conf and add your framebuffer resolution at the end of the kernel line. For the MacBook with Intel graphics the resolution that works is "0x318". So, become root and edit the kernel line to look something like this:</p>
<pre><code>title Fedora (2.6.27.5-117.fc10.x86_64)
	root (hd0,2)
	kernel /vmlinuz-2.6.27.5-117.fc10.x86_64 ro root=UUID=afb18b52-bfdf-49aa-95f0-234d3013f87d rhgb quiet <strong>vga=0x318</strong>
	initrd /initrd-2.6.27.5-117.fc10.x86_64.img</code></pre>
<p>By default only the solar and text themes are installed. To add additional plymouth themes type:</p>
<pre><code>su -
yum install plymouth-plugin-{fade-in,pulser,spinfinity}</code></pre>
<p>Now you can try any theme you want like shown below, just replace pluginname with one of the following: solar, fade-in, pulser, spinfinity, text:</p>
<pre><code>su -
plymouth-set-default-plugin pluginname
/usr/libexec/plymouth/plymouth-update-initrd</code></pre>
<p>After that just reboot your computer to enjoy a lovely graphical boot. </p>
<h3 id="toc-what-next">What next?</h3>
<p>Now your MacBook hardware should be fully functional so it is time to get busy adding the software you want and tweaking the system to your needs. </p>
<p><a href="http://www.mjmwired.net/resources/mjm-fedora-f10.html">This guide by Mauriat Miranda</a> is a great place to look for details of how to install common media players, codecs and fonts. </p>
<p>For the native 64bit flash plugin see <a href="http://forums.fedoraforum.org/showpost.php?p=1112258&#038;postcount=3">this post</a>.</p>
<p>Have fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cenolan.com/2008/11/installing-fedora-10-macbook/feed/</wfw:commentRss>
		<slash:comments>38</slash:comments>
		</item>
		<item>
		<title>RPM installation of Broadcom 802.11 STA wireless driver in Fedora 8/9/10</title>
		<link>http://www.cenolan.com/2008/11/rpm-install-broadcom-wireless-sta-driver-fedora/</link>
		<comments>http://www.cenolan.com/2008/11/rpm-install-broadcom-wireless-sta-driver-fedora/#comments</comments>
		<pubDate>Sat, 15 Nov 2008 11:53:54 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Fedora 10]]></category>
		<category><![CDATA[Fedora 8]]></category>
		<category><![CDATA[Fedora 9]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Broadcom]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[RPM]]></category>

		<guid isPermaLink="false">http://www.cenolan.com/?p=21</guid>
		<description><![CDATA[RPMs for the Broadcom 802.11 STA Wireless Driver are now available from the rpmfusion.org repos for Fedora 8, 9 and 10.
This is an official-release of Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver for use with Broadcom's BCM4311-, BCM4312-, BCM4321-, and BCM4322-based hardware. This driver also supports the incorrectly identified BCM4328 chipset which is actually a [...]]]></description>
			<content:encoded><![CDATA[<p>RPMs for the Broadcom 802.11 STA Wireless Driver are now available from the <a href="http://rpmfusion.org/">rpmfusion.org</a> repos for Fedora 8, 9 and 10.</p>
<p>This is an official-release of Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver for use with Broadcom's BCM4311-, BCM4312-, BCM4321-, and BCM4322-based hardware. This driver also supports the incorrectly identified BCM4328 chipset which is actually a BCM4321 or BCM4322 chipset.</p>
<p>Previously I explained <a href="http://www.cenolan.com/2008/10/installing-the-broadcom-sta-driver-fedora-9/">how to build the Broadcom STA driver from source</a> but now the installation and updates can all be taken care of using yum and the rpmfusion non-free repository. Just follow these two simple steps:</p>
<p><span id="more-21"></span></p>
<p><strong>1) Enable the rpmfusion non-free repository.</strong></p>
<p>The broadcom-wl and wl-kmod RPMs that we need are in the rpmfusion non-free repository which also requires the rpmfusion free repository. To enable these repos in Fedora simply do this:</p>
<pre><code>su -c 'rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm'</code></pre>
<p><strong>2) Update and install the driver package</strong></p>
<p>Now that you have the appropriate repository enabled, to install the driver package we first ensure that we have the latest updates and then install the "broadcom-wl" package which will bring with it the required "kmod-wl" package:</p>
<pre><code>su -
yum update
yum install broadcom-wl</code></pre>
<p><strong>3) Make a couple of adjustments</strong></p>
<p>At this stage you should reboot and provided you have Network Manager running (default setting for F10) it should detect your Broadcom wireless device and you should be able to connect to your wireless network.</p>
<p>If you're having problems then it is likely some conflict between Network Manager and the network service. To ensure that Network Manager can use the wireless go to System &gt; Administration &gt; Network and select the wireless device (if it's not there then this doesn't apply to you). Edit the device and check "Controlled by Network Manager" and "Activate device when computer starts". Close Network Configuration, save changes and then reboot.</p>
<p>You should also read the license and readme which are located in /usr/share/doc/broadcom-wl-5.10.27.6/</p>
<p><strong>4) Enjoy your wireless!</strong></p>
<p>That's all there is to it. At this stage you may need to reboot (if you didn't already) in order to enable the new driver and any new kernel that was installed during the update.</p>
<p>When future kernels are released a simple "yum update" command should install the new kernel and also pull in the updated Broadcom driver for that new kernel.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cenolan.com/2008/11/rpm-install-broadcom-wireless-sta-driver-fedora/feed/</wfw:commentRss>
		<slash:comments>93</slash:comments>
		</item>
		<item>
		<title>Installing the Broadcom 802.11 STA driver in Fedora 9</title>
		<link>http://www.cenolan.com/2008/10/installing-the-broadcom-sta-driver-fedora-9/</link>
		<comments>http://www.cenolan.com/2008/10/installing-the-broadcom-sta-driver-fedora-9/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 22:56:39 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Fedora 9]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MacBook]]></category>
		<category><![CDATA[Broadcom]]></category>
		<category><![CDATA[fedora]]></category>

		<guid isPermaLink="false">http://www.cenolan.com/?p=20</guid>
		<description><![CDATA[Update 15 November 2008: Just a note to mention that I've packaged this up into an RPM and so this driver is now available as an RPM in the rpmfusion repos for Fedora 8, 9 and 10. 
See this post for instructions of how to install using the RPM version (much easier!).
Update 26 January 2009: [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><strong>Update 15 November 2008</strong>: Just a note to mention that I've packaged this up into an RPM and so this driver is now available as an RPM in the rpmfusion repos for Fedora 8, 9 and 10. </p>
<p>See <a href="http://www.cenolan.com/2008/11/rpm-install-broadcom-wireless-sta-driver-fedora/">this post for instructions of how to install using the RPM</a> version (much easier!).</p></blockquote>
<blockquote><p><strong>Update 26 January 2009</strong>: These instructions are now fairly outdated. The latest releases of the broadcom driver don't require the same patches as mentioned here to make them build correctly against recent kernels. I highly recommend using the RPM installation instructions linked above, or if you require help with building the latest drivers please drop me a message or leave a comment below.</p></blockquote>
<p>Happy, happy days! At long last, a Linux <a title="Broadcom 802.11 Linux STA driver" href="http://www.broadcom.com/support/802.11/linux_sta.php">Broadcom driver for the BCM4328</a> chipset that doesn't require ndiswrapper and Windows drivers. For me, this is really, really huge: ndiswrapper has never worked properly with NetworkManager using WPA security but this new Broadcom driver seems bullet-proof. It is even supposed to support 802.11n standard but I can't verify that just yet.</p>
<p>The source packages currently available from Broadcom (version 5.10.27.6) don't build on the current Fedora 9 kernel (2.6.26.5-45) and probably won't compile on any newer kernel either. Digging around a bit I <a title="Broadcom 802.11 Linux STA driver " href="http://forums.fedoraforum.org/showpost.php?p=1097558&amp;postcount=13">found a patch</a> that makes the driver build successfully.</p>
<p>Great, but that's not the whole story: I then found that with the new driver I was unable to SSH or telnet into any remote servers - bummer. However, <a title="wl: telnet/ssh connections blocked when going through NAT to external sites" href="https://bugs.launchpad.net/ubuntu/+source/linux-restricted-modules/+bug/259816">some more digging</a> turned up another patch that fixes this problem. With these two patches in place the new driver really rocks. For the first time in 10 months (since I bought my MacBook) I can actually connect to WPA secured networks using NetworkManager - no more fiddling around with wpa_supplicant scripts for me!</p>
<p>Anyhow, here's a little how-to guide to install the new Broadcom driver in Fedora 9. Note: I'm a little unsure of which Broadcom chipsets this driver actually supports but I can confirm that it works beautifully with the BCM4328 which is standard on MacBook 3,1 and 4,1 versions.</p>
<p><strong>Important note:</strong> Since writing this guide Broadcom have released an updated driver (v 5.10.27.11). The <a href="http://www.cenolan.com/broadcom-wl/">updated driver and updated patches can be downloaded here</a> along with the original driver/patches mentioned in this guide. Adjust the instructions below according to the version you are using.</p>
<p><span id="more-20"></span></p>
<p><strong>1) Preparation</strong></p>
<p>Ensure you have the kernel-headers package installed for your current kernel (I presume you already have make and gcc etc installed):</p>
<pre><code>su -
yum install kernel-headers</code></pre>
<p><strong>2) Patching the source yourself</strong></p>
<p>If you want to patch the driver yourself, download the original driver file from the <a title="Broadcom 802.11 Linux STA driver" href="http://www.broadcom.com/support/802.11/linux_sta.php">broadcom website here</a>. Make sure to get the 32 or 64 bit version depending on your installed kernel. I've made the patches available at my <a title="Fedora 9 fixes and files for MacBook 3,1 and 4,1 (Santa Rosa)" href="http://www.cenolan.com/fedora9/">Fedora 9 page</a> so go there and grab the patches then patch the source code.</p>
<p><strong>3) Using my pre-patched source (easier)</strong></p>
<p>If you're not sure how to patch the source code or just can't be bothered, then go grab my ready-patched tarballs from my <a title="Fedora 9 fixes and files for MacBook 3,1 and 4,1 (Santa Rosa)" href="http://www.cenolan.com/fedora9/">Fedora 9 page</a> and untar them. Here's how:</p>
<p>32bit users:</p>
<pre><code>wget http://www.cenolan.com/fedora9/broadcom-patched-x86_32-5.10.27.6.tar.gz
tar zxvf broadcom-patched-x86_32-5.10.27.6.tar.gz
cd broadcom-patched-x86_32-5.10.27.6/</code></pre>
<p>64bit users:</p>
<pre><code>wget http://www.cenolan.com/fedora9/broadcom-patched-x86_64-5.10.27.6.tar.gz
tar zxvf broadcom-patched-x86_64-5.10.27.6.tar.gz
cd broadcom-patched-x86_64-5.10.27.6/</code></pre>
<p><strong>4) Building the driver</strong></p>
<p>Now we've got our patched source building the driver kernel module is easy:</p>
<pre><code>make -C /lib/modules/`uname -r`/build M=`pwd`</code></pre>
<p>This should create a file called wl.ko - this is the magic driver file.</p>
<p><strong>5) Install the new driver</strong></p>
<p>We need to copy the new kernel module to the correct location, add wlan0 as an alias for this driver so that it loads on boot and resolve the module dependencies:</p>
<pre><code>su -c "cp wl.ko /lib/modules/`uname -r`/kernel/net/wireless/
su -
echo "alias wlan0 wl" &gt;&gt; /etc/modprobe.conf
depmod -a</code></pre>
<p><strong>6) Blacklist conflicting drivers</strong></p>
<p>This new driver suffers the same conflicts as the ndiswrapper driver so we need to blacklist the b43, ssb, and bcm43xx drivers, as well as the ndiswrapper driver:</p>
<pre><code>su -
echo "blacklist bcm43xx" &gt;&gt; /etc/modprobe.d/blacklist
echo "blacklist ssb" &gt;&gt; /etc/modprobe.d/blacklist
echo "blacklist b43" &gt;&gt; /etc/modprobe.d/blacklist
echo "blacklist ndiswrapper" &gt;&gt; /etc/modprobe.d/blacklist</code></pre>
<p><strong>7) Remove the old module and activate the new one</strong></p>
<pre><code>su -
rmmod bcm43xx; rmmod b43; rmmod b43legacy; rmmod ndiswrapper
modprobe ieee80211_crypt_tkip; modprobe wl</code></pre>
<p><strong>8) All done!</strong></p>
<p>Reboot, or restart NetworkManager and you've hopefully got the new driver installed.</p>
<p>Say hello to faster and more robust connections, and say goodbye to ndiswrapper and crappy badly supported Windows drivers!</p>
<p><strong>References</strong></p>
<p><a title="Broadcom 802.11 Linux STA driver" href="http://forums.fedoraforum.org/showpost.php?p=1097558&amp;postcount=13">Broadcom 802.11 Linux STA driver at FedoraForum.org</a></p>
<p><a title="Broadcom 802.11 Linux STA driver" href="http://www.broadcom.com/support/802.11/linux_sta.php">Broadcom 802.11 Linux STA driver at broadcom.com</a></p>
<p><a title="*OFFICIAL* Broadcom Linux driver BCM4312 at jomcode.com" href="http://jomcode.com/fadhil/?p=59">*OFFICIAL* Broadcom Linux driver BCM4312 at jomcode.com</a></p>
<p><a title="Broadcom driver for 4328 b/g/n wireless device " href="http://ph.ubuntuforums.com/showthread.php?t=914697">Broadcom driver for 4328 b/g/n wireless device at ubuntuforums.com</a></p>
<p><a href="https://bugs.launchpad.net/ubuntu/+source/linux-restricted-modules/+bug/259816">Bug #259816 wl: telnet/ssh connections blocked when going through NAT to external sites at launchpad.net</a></p>
<p><a href="http://www.cenolan.com/fedora9/">Fedora 9 fixes and files for MacBook 3,1 and 4,1 (Santa Rosa)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cenolan.com/2008/10/installing-the-broadcom-sta-driver-fedora-9/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>Custom build of synaptics for Fedora 8 x86_64 on MacBook</title>
		<link>http://www.cenolan.com/2008/07/custom-build-of-synaptics-for-fedora-8-x86_64-on-macbook/</link>
		<comments>http://www.cenolan.com/2008/07/custom-build-of-synaptics-for-fedora-8-x86_64-on-macbook/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 21:39:41 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Fedora 8]]></category>
		<category><![CDATA[MacBook]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[mactel-linux]]></category>
		<category><![CDATA[RPM]]></category>
		<category><![CDATA[synaptics]]></category>

		<guid isPermaLink="false">http://www.cenolan.com/?p=19</guid>
		<description><![CDATA[Based on the patches found in this post over at Ubuntu forums I have created an updated synaptics touchpad driver RPM package for Fedora 8 x86_64.
As the original author notes, this makes it more enjoyable to use the touchpad while using the MacBook. It does two things: 

Adds the option "MultiFingerButton" to synaptics. This allows [...]]]></description>
			<content:encoded><![CDATA[<p>Based on the patches found in <a href="http://ubuntuforums.org/showthread.php?t=790589">this post</a> over at Ubuntu forums I have created an updated synaptics touchpad driver RPM package for Fedora 8 x86_64.</p>
<p>As the original author notes, this makes it more enjoyable to use the touchpad while using the MacBook. It does two things: </p>
<ol>
<li>Adds the option "MultiFingerButton" to synaptics. This allows us to configure the touchpad to right-click and middle-click by placing two or three fingers on the pad and then clicking the button. In my experience this is far more reliable than the "two finger tap" method of right-clicking.</li>
<li> It makes the mouse arrow more stable - I have found this to be a HUGE improvement in usability over the stock synaptics driver. With the original driver, if you put two fingers on the mousepad and release only one, the mouse arrow moves. This is the default behaviour in Linux and Windows, but in MacOSX, the mouse arrow stays put, and in my personal opinion, this is a much better behaviour. This patch makes it behave just like MacOSX. This may not sound much, but you'll find it makes a huge difference to the stability and usability of the touchpad.</li>
</ol>
<p><span id="more-19"></span></p>
<p>Install the RPM from my <a href="http://www.cenolan.com/fedora8">Fedora 8 page</a> and add this option to the InputDevice Section in your xorg.conf, just like this:</p>
<pre><code>	Option		"MultiFingerButton"	"1"</code></pre>
<pre><code>	Option		"MultiFingerButton"	"2"</code></pre>
<p>With the value 1, you get middle-clicking if you click the button while resting two fingers on the mousepad, and right-clicking while resting three fingers.</p>
<p>With the value 2, it reverses, and you get right-clicking if you click while resting two fingers on the mousepad, and middle-clicking while resting three fingers. This is the behaviour in MacOSX.</p>
<p>Try it out, and give your opinion. If you don't like it, you can always revert to the default Fedora package.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cenolan.com/2008/07/custom-build-of-synaptics-for-fedora-8-x86_64-on-macbook/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Fedora 8 x86_64 fixes for battery being reported twice error</title>
		<link>http://www.cenolan.com/2008/07/fedora-8-x86_64-fixes-for-battery-being-reported-twice-error/</link>
		<comments>http://www.cenolan.com/2008/07/fedora-8-x86_64-fixes-for-battery-being-reported-twice-error/#comments</comments>
		<pubDate>Sat, 05 Jul 2008 15:03:16 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Fedora 8]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[hal]]></category>

		<guid isPermaLink="false">http://www.cenolan.com/?p=18</guid>
		<description><![CDATA[The latest 2.6.25.x Fedora 8 kernels have both ACPI_PROCFS_POWER and ACPI_SYSFS_POWER turned on and this can cause a strange problem with HAL which results in it incorrectly displaying the same battery twice and reporting incorrect charge levels for the "bogus" battery. This in turn creates problems with power management software such as kpowersave and gnome-power-manager. [...]]]></description>
			<content:encoded><![CDATA[<p>The latest 2.6.25.x Fedora 8 kernels have both ACPI_PROCFS_POWER and ACPI_SYSFS_POWER turned on and this can cause a strange problem with HAL which results in it incorrectly displaying the same battery twice and reporting incorrect charge levels for the "bogus" battery. This in turn creates problems with power management software such as kpowersave and gnome-power-manager. </p>
<p>I have only seen this <a href="http://forums.fedoraforum.org/showthread.php?p=1041362">reported</a> on some specific x86_64 machines but it may affect other architectures too.</p>
<p><span id="more-18"></span></p>
<p>The problem has been reported (and fixed) in many other distros and the <a href="http://gitweb.freedesktop.org/?p=hal.git;a=commitdiff_plain;h=4541abd23fd02118a1a7f8b825aed338d2a5d638;hp=e3eb726da49a8cdc9e93905777a6e2d71ae878b3">patch to fix it</a> has been in circulation since January. The patch was even created by someone at RedHat so it's slightly annoying that it hasn't made it yet into the Fedora versions of HAL. I can only assume it is an oversight by the HAL development team or the package maintainers. However, at the very least, a response to the bug report would have been welcome.</p>
<p>The RedHat bug report can be found <a href="https://bugzilla.redhat.com/show_bug.cgi?id=452356">here (Bug #452356)</a> and contains links to various other reports which contain plenty more information.</p>
<p>For anyone suffering from the same problem and impatient for a fix I've created a set of RPMs that include the patch. You can find them over at my <a href="http://www.cenolan.com/fedora8/">Fedora 8 page</a>.</p>
<p>Hope this is useful to someone. Usual disclaimers apply: if it breaks your machine then its not my fault.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cenolan.com/2008/07/fedora-8-x86_64-fixes-for-battery-being-reported-twice-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Banshee 1.0 RPM for Fedora 8 x86_64</title>
		<link>http://www.cenolan.com/2008/07/banshee-10-rpm-for-fedora-8-x86_64/</link>
		<comments>http://www.cenolan.com/2008/07/banshee-10-rpm-for-fedora-8-x86_64/#comments</comments>
		<pubDate>Sat, 05 Jul 2008 14:38:20 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Fedora 8]]></category>
		<category><![CDATA[banshee]]></category>
		<category><![CDATA[fedora]]></category>

		<guid isPermaLink="false">http://www.cenolan.com/?p=16</guid>
		<description><![CDATA[Banshee 1.0 was released on June 5 2008. At the time of writing I haven't been able to find an official Fedora 8 RPM build so I have built my own using the Fedora 9 source RPM and made it available here for you to download and install.
For those that don't know, Banshee is a [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://banshee-project.org/'><img src="http://www.cenolan.com/wordpress/wp-content/uploads/2008/07/banshee-logo.png" alt="Banshee Media Player" title="Banshee Media Player" width="300" height="100" class="alignleft size-full wp-image-17" /></a>Banshee 1.0 was released on June 5 2008. At the time of writing I haven't been able to find an official Fedora 8 RPM build so I have built my own using the Fedora 9 source RPM and made it available here for you to download and install.</p>
<p>For those that don't know, Banshee is a great multimedia player for Linux with support for iPod syncing, podcasts, streaming radio, video and lots more. For iPod owners Banshee is one of few viable Linux alternatives to iTunes.</p>
<p><span id="more-16"></span></p>
<p>For Fedora 8 x86_64 users you can install my build of Banshee 1.0 using the following commands:</p>
<pre><code>wget http://www.cenolan.com/fedora8/banshee-1.0.0-1.fc8.x86_64.rpm
yum localinstall banshee-1.0.0-1.fc8.x86_64.rpm --nogpgcheck</code></pre>
<p>Note this a 64 bit build only! If you want to build it for i386 or another architecture then you can do so using the <a href="http://koji.fedoraproject.org/koji/buildinfo?buildID=52056">F9 source RPM available from Koji here</a>.</p>
<p>More files, including the debug and devel packages over at my <a href="http://www.cenolan.com/fedora8/">Fedora 8 page</a>.</p>
<p>Usual disclaimers apply: if it breaks your machine then its not my fault.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cenolan.com/2008/07/banshee-10-rpm-for-fedora-8-x86_64/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Some useful linux commands</title>
		<link>http://www.cenolan.com/2008/06/some-useful-linux-commands/</link>
		<comments>http://www.cenolan.com/2008/06/some-useful-linux-commands/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 12:46:32 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[commands]]></category>

		<guid isPermaLink="false">http://www.cenolan.com/?p=15</guid>
		<description><![CDATA[A few useful linux commands and their explanations.

Recursively find in files...
find . -name \*.php -exec grep -inH discount {} \;
This finds all files ending with .php (-name \*.php) starting in the current path (.) and recurse through all subdirectories, then search (grep) case-insensitive (i) within those files ({}) for the word "discount" and outputs the [...]]]></description>
			<content:encoded><![CDATA[<p>A few useful linux commands and their explanations.</p>
<p><span id="more-15"></span></p>
<p><strong>Recursively find in files...</strong></p>
<pre><code>find . -name \*.php -exec grep -inH discount {} \;</code></pre>
<p>This finds all files ending with .php (-name \*.php) starting in the current path (.) and recurse through all subdirectories, then search (grep) case-insensitive (i) within those files ({}) for the word "discount" and outputs the filename (H), line number (n), and the line for any matches.</p>
<p><strong>Find all files older than 14 days...</strong></p>
<pre><code>find /home/*/Maildir/.Junk/cur -type f -mtime +14 -exec ls {} \;
find /home/*/Maildir/.Trash/cur -type f -mtime +14 -exec ls {} \;</code></pre>
<p>These two commands find files within system users' Maildir .Junk and .Trash folders that are older than 14 days. You could change the "-exec ls" to "-exec rm -rf" to remove the files.</p>
<p><strong>Find top 10 directories using disk space...</strong></p>
<pre><code>du -x --block-size=1024K | sort -nr | head -10</code></pre>
<p>This finds and lists the top 10 directories using disk space in the current path. Useful if you're trying to track down what is filling up your disk.</p>
<p><strong>Create and extracting a tar.gz archive of a directory...</strong></p>
<pre><code>tar -czvf (output filename) (directory to archive)</code></pre>
<p>e.g. tar -czvf myhome.tar.gz /home/myhome/</p>
<p>To extract this archive while preserving permissions, use:</p>
<pre><code>tar --preserve -zxvf (filename)</code></pre>
<p><strong>Change permissions of directories and files...</strong></p>
<pre><code>find . -type d -exec chmod 755 {} \;</code></pre>
<p>This finds all directories (indicated by the -type d) in the current path (.) and then chmods them to 755. If you wanted to recursively chmod files, you could issue this:</p>
<pre><code>find . -type f -exec chmod 644 {} \;</code></pre>
<p>This is really for my own reference, but you may find it useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cenolan.com/2008/06/some-useful-linux-commands/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mounting an FTP filesystem under Yellow Dog Linux 6</title>
		<link>http://www.cenolan.com/2008/05/mounting-an-ftp-filesystem-on-ydl6/</link>
		<comments>http://www.cenolan.com/2008/05/mounting-an-ftp-filesystem-on-ydl6/#comments</comments>
		<pubDate>Tue, 13 May 2008 15:18:25 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Yellow Dog Linux]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[fuse]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ydl]]></category>

		<guid isPermaLink="false">http://www.cenolan.com/?p=12</guid>
		<description><![CDATA[This guide shows how to use FUSE and CurlFtpFs to mount an FTP filesystem on Yellow Dog Linux 6. This guide presumes that you have already built and installed your own FUSE capable kernel for YDL 6.

Unless otherwise specified, all commands are run as a normal user, NOT root!
1) Install the FUSE userspace tools
wget http://downloads.sourceforge.net/fuse/fuse-2.7.3.tar.gz?modtime=1203456610&#038;big_mirror=0
tar [...]]]></description>
			<content:encoded><![CDATA[<p>This guide shows how to use <a href="http://fuse.sourceforge.net/">FUSE</a> and <a href="http://curlftpfs.sourceforge.net/">CurlFtpFs</a> to mount an FTP filesystem on Yellow Dog Linux 6. This guide presumes that you have already <a href="http://www.cenolan.com/2008/05/building-custom-kernel-rpm-fuse-ydl-6/">built and installed your own FUSE capable kernel</a> for YDL 6.</p>
<p><span id="more-12"></span><br />
Unless otherwise specified, all commands are run as a normal user, NOT root!</p>
<p><strong>1) Install the FUSE userspace tools</strong></p>
<pre><code>wget http://downloads.sourceforge.net/fuse/fuse-2.7.3.tar.gz?modtime=1203456610&#038;big_mirror=0
tar xvzf fuse-2.7.3.tar.gz
cd fuse-2.7.3
./configure
make
su -c "make install"</code></pre>
<p>This should all go smoothly and you should now have the FUSE tools such as "fusermount" installed.</p>
<p><strong>2) Install CurlFtpFs</strong></p>
<pre><code>wget http://downloads.sourceforge.net/curlftpfs/curlftpfs-0.9.1.tar.gz?modtime=1175788159&#038;big_mirror=0
tar zxvf curlftpfs-0.9.1.tar.gz
cd curlftpfs-0.9.1
jm_cv_func_working_malloc=yes
export jm_cv_func_working_malloc
ac_cv_func_malloc_0_nonnull=yes
export ac_cv_func_malloc_0_nonnull
jm_cv_func_working_realloc=yes
export jm_cv_func_working_realloc
ac_cv_func_realloc_0_nonnull=yes
export ac_cv_func_realloc_0_nonnull
./configure
make
su -c "make install"</code></pre>
<p>Again, this should all go smoothly and you should now have the "curlftpfs" program installed.</p>
<p><strong>3) Mounting the FTP server</strong></p>
<p>Mounting procedure is as follows:</p>
<p>mkdir MountPoint (eg: mkdir /backup)<br />
curlftpfs -o user=USERNAME:PASSWORD ftp://FTPHost/ MountPoint/<br />
eg: curlftpfs -o user=testusr:mypass ftp://127.0.0.1/ /backup/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cenolan.com/2008/05/mounting-an-ftp-filesystem-on-ydl6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building a custom kernel RPM with FUSE support on YDL 6</title>
		<link>http://www.cenolan.com/2008/05/building-custom-kernel-rpm-fuse-ydl-6/</link>
		<comments>http://www.cenolan.com/2008/05/building-custom-kernel-rpm-fuse-ydl-6/#comments</comments>
		<pubDate>Tue, 13 May 2008 13:39:29 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Yellow Dog Linux]]></category>
		<category><![CDATA[fuse]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ydl]]></category>

		<guid isPermaLink="false">http://www.cenolan.com/?p=11</guid>
		<description><![CDATA[This guide explains how to build and install a custom kernel RPM with FUSE support on Yellow Dog Linux 6. The guide is written based on my experience with YDL on an Apple XServe G4 using kernel-2.6.23-9 on ppc architecture. If your system is different then adjust the guide as required.

Follow all the commands as [...]]]></description>
			<content:encoded><![CDATA[<p>This guide explains how to build and install a custom kernel RPM with FUSE support on Yellow Dog Linux 6. The guide is written based on my experience with YDL on an Apple XServe G4 using kernel-2.6.23-9 on ppc architecture. If your system is different then adjust the guide as required.</p>
<p><span id="more-11"></span><br />
Follow all the commands as a normal user, NOT root!</p>
<p><strong>1) Create an rpm build environment</strong></p>
<pre><code>cd ~
mkdir ~/rpmbuild
mkdir ~/rpmbuild/BUILD
mkdir ~/rpmbuild/RPMS
mkdir ~/rpmbuild/SOURCES
mkdir ~/rpmbuild/SPECS
mkdir ~/rpmbuild/SRPMS

echo "%_topdir /home/`whoami`/rpmbuild" &gt; ~/.rpmmacros</code></pre>
<p><strong>2) Download and install the source rpm of the current kernel.</strong></p>
<p>Note: this is not the kernel-source rpm!</p>
<pre><code>wget http://www.mirrorservice.org/sites/ftp.yellowdoglinux.com/pub/yellowdog/releases/yellowdog-6.0/SRPMS/kernel-2.6.23-9.ydl6.1.src.rpm
rpm -ivh kernel-2.6.23-9.ydl6.1.src.rpm</code></pre>
<p><strong>3) Prepare the kernel source tree</strong></p>
<pre><code>cd ~/rpmbuild/SPECS
rpmbuild -bp --target=`uname -m` kernel.spec</code></pre>
<p><strong>4) Configure the kernel</strong></p>
<pre><code>cd ~/rpmbuild/BUILD/kernel-2.6.23/linux-2.6.23.9/
cp configs/kernel-2.6.23-ppc.config .config
make oldconfig
make menuconfig</code></pre>
<p>Using the down arrow key navigate to "File systems" then press Enter and then scroll down to "Filesystem in Userspace support" and press "M" to select it as a module. Press Tab to select Exit in the bottom bar, then do it again, then press Y when prompted to save the configuration.</p>
<p>Copy the config file to ~/rpmbuild/SOURCES/:</p>
<pre><code>cp .config ~/rpmbuild/SOURCES/kernel-2.6.23-ppc.config</code></pre>
<p><strong>5) Prepare the build files</strong></p>
<pre><code>cd ~/rpmbuild/SPECS</code></pre>
<p>Open up the kernel.spec file for editing and ensure the kernel has a unique name by changing the following line (line 32)</p>
<pre><code>%define release %{subrev}.ydl6.%{rpmrev}</code></pre>
<p>to</p>
<pre><code>%define release %{subrev}.ydl6fuse.%{rpmrev}</code></pre>
<p><strong>6) Build the new kernel</strong></p>
<pre><code>rpmbuild -bb --with baseonly --without debuginfo --target=`uname -m` kernel.spec</code></pre>
<p>The build process takes a long time to complete. A lot of messages will be printed to the screen. These messages can be ignored, unless the build ends with an error. If the build completes successfully, the new kernel packages in the ~/rpmbuild/RPMS directory.</p>
<p><strong>7) Install the new kernel</strong></p>
<pre><code>cd ~/rpmbuild/RPMS/ppc
su -c "rpm -ivh kernel-2.6.23-9.ydl6fuse.1.ppc.rpm kernel-headers-2.6.23-9.ydl6fuse.1.ppc.rpm --oldpackage"</code></pre>
<p><strong>8) Make the new kernel boot by default</strong></p>
<p>As root, open up /boot/etc/yaboot.conf for editing. You should now see two kernel images listed as boot options. Change the label of the ydl6fuse image to something friendly like "linuxfuse". Now change the "default" line to the same.</p>
<p>For example:</p>
<pre><code>default=linuxfuse
image=/vmlinux-2.6.23-9.ydl6fuse.1
label=linuxfuse
read-only
initrd=/initrd-2.6.23-9.ydl6fuse.1.img
append="root=LABEL=/"

image=/vmlinux-2.6.23-9.ydl6.1
label=linux
read-only
initrd=/initrd-2.6.23-9.ydl6.1.img
append="root=LABEL=/"</code></pre>
<p>Important: Ensure you also have a line that says "delay=5" (or a greater number) so if your new kernel won't boot you can still access the yaboot menu to boot your old kernel!</p>
<p>Save and exit the file.</p>
<p>Now run "ybin" (again, as root) to commit the changes. Reboot!</p>
<p><strong>9) Load the fuse module</strong></p>
<pre><code>su -
modprobe fuse</code></pre>
<p>To make the fuse module load on boot. Create the file /etc/sysconfig/modules/my.modules and give it the following contents:</p>
<pre><code>#!/bin/sh
modprobe fuse &gt;/dev/null 2&gt;&amp;1</code></pre>
<p>Save and exit. Now make it executable:</p>
<pre><code>chmod +x /etc/sysconfig/modules/my.modules</code></pre>
<p><strong>10) Finished!</strong></p>
<p>Your kernel now supports FUSE. Now you can use any of the various userspace tools to mount the various filesystems supported by FUSE.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cenolan.com/2008/05/building-custom-kernel-rpm-fuse-ydl-6/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Simple Linux to Amazon S3 backup script</title>
		<link>http://www.cenolan.com/2008/05/simple-linux-to-amazon-s3-backup-script/</link>
		<comments>http://www.cenolan.com/2008/05/simple-linux-to-amazon-s3-backup-script/#comments</comments>
		<pubDate>Mon, 05 May 2008 13:05:53 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Amazon S3]]></category>
		<category><![CDATA[backup]]></category>

		<guid isPermaLink="false">http://www.cenolan.com/?p=10</guid>
		<description><![CDATA[There are many tools available to help backup Linux systems to Amazon S3 but finding the right one to use can be difficult. Jeremy Zawodny made a good list of various S3 backup tools which is very helpful, if a little outdated. I experimented with a few tools, including some of the standard scripts published [...]]]></description>
			<content:encoded><![CDATA[<p>There are many tools available to help backup Linux systems to Amazon S3 but finding the right one to use can be difficult. Jeremy Zawodny made a <a title="S3 backup Tools" href="http://jeremy.zawodny.com/blog/archives/007641.html">good list of various S3 backup tools</a> which is very helpful, if a little outdated. I experimented with a few tools, including some of the standard scripts published by Amazon but I found each had their own shortcomings.</p>
<p>One tool that is very simple to use is <a href="http://s3tools.logix.cz/s3cmd">s3cmd</a> which is a linux command line tool to upload, retrieve, and manage data in Amazon S3. The tool is written in python so should install and run on pretty much any modern linux distro and I have found it works very nicely and seems to be an ideal tool to use if you want to write a basic backup script.</p>
<p><span id="more-10"></span></p>
<p>Once installed you just run "s3cmd --configure" to configure the script with your Amazon S3 access keys. You can then use s3cmd from the command line to manage your S3 buckets and their contents. Full details of the various options can be obtained through running "s3cmd --help".</p>
<p>I have used s3cmd to create automated daily rotated backups of a single directory (e.g. /home) using a simple bash script which I adapted from the <a href="http://sourceforge.net/projects/automysqlbackup/">automysqlbackup</a> script. The script I have used is shown below, and provides rotated backups of the previous 7 days, each day individually archived in a single tar.gz file. This is a fairly limited solution as it only provides a backup of a single directory, does not do incremental backups, and it will break if your tar.gz file exceeds the S3 individual file storage limit of ~6GB. However, if you just need a simple solution to maintain daily backups of a single folder then its a nice tidy option. It will also email you the results, and can optionally include jobs to run pre- and post- backup.</p>
<pre><code>#!/bin/bash
#
# Backup Script
#
#=====================================================================
#=====================================================================
# Set the following variables to your system needs
#=====================================================================

# Directory to save daily tar.gz backup files to e.g /backups
BACKUPDIR="/backups"

# Directory to backup
BACKUPSRCDIR="/home"

# Maximum size of backup files in MB (larger files will be split into separate archives)
# Note: not implemented yet
MAXTARSIZE="1000"

# S3 Settings
# The name of the S3 bucket to upload to e.g. "my_s3_bucket"
S3BUCKET="my_s3_bucket"

# Mail setup
# What would you like to be mailed to you?
# - log   : send only log file
# - files : send log file and tar.gz files as attachments
# - stdout : will simply output the log to the screen if run manually.
# - quiet : Only send logs if an error occurs to the MAILADDR.
MAILCONTENT="log"

# Set the maximum allowed email size in k. (4000 = approx 5MB email [see docs])
MAXATTSIZE="4000"

# Email Address to send mail to? (user@domain.com)
MAILADDR="user@domain.com"

# Command to run before backups (uncomment to use)
#PREBACKUP="/etc/backup-pre"

# Command run after backups (uncomment to use)
#POSTBACKUP="/etc/backup-post"

#=====================================================================
#=====================================================================
#=====================================================================
#
# Should not need to be modified from here down!!
#
#=====================================================================
#=====================================================================
#=====================================================================
PATH=/usr/local/bin:/usr/bin:/bin:
DATE=`date +%Y-%m-%d_%Hh%Mm`                            # Datestamp e.g 2002-09-21
DOW=`date +%A`                                          # Day of the week e.g. Monday
DNOW=`date +%u`                                         # Day number of the week 1 to 7 where 1 represents Monday
DOM=`date +%d`                                          # Date of the Month e.g. 27
M=`date +%B`                                            # Month e.g January
W=`date +%V`                                            # Week Number e.g 37
VER=0.1                                                 # Version Number
HOST=`hostname`                                         # Hostname for LOG information
LOGFILE=$BACKUPDIR/$HOST-`date +%N`.log                 # Logfile Name
LOGERR=$BACKUPDIR/ERRORS_$HOST-`date +%N`.log           # Error log Name
BACKUPFILES=""

# Create required directories
if [ ! -e "$BACKUPDIR" ]                # Check Backup Directory exists.
then
mkdir -p "$BACKUPDIR"
fi

# IO redirection for logging.
touch $LOGFILE
exec 6&gt;&amp;1           # Link file descriptor #6 with stdout.
# Saves stdout.
exec &gt; $LOGFILE     # stdout replaced with file $LOGFILE.
touch $LOGERR
exec 7&gt;&amp;2           # Link file descriptor #7 with stderr.
# Saves stderr.
exec 2&gt; $LOGERR     # stderr replaced with file $LOGERR.

# Functions

# Backup function: removes last weeks archive from S3, creates new tar.gz and sends to S3
SUFFIX=""
dobackup () {
s3cmd ls s3://"$S3BUCKET" | grep s3 | sed "s/.*s3:\/\/$S3BUCKET\//s3:\/\/$S3BUCKET\//" | grep "$DOW" | xargs s3cmd del
tar cfz "$1" "$2"
echo
echo Backup Information for "$1"
gzip -l "$1"
echo
s3cmd put "$1" s3://"$S3BUCKET"
return 0
}

# Run command before we begin
if [ "$PREBACKUP" ]
then
echo ======================================================================
echo "Prebackup command output."
echo
eval $PREBACKUP
echo
echo ======================================================================
echo
fi

echo ======================================================================
echo BackupScript VER $VER
echo http://www.cenolan.com/
echo
echo Backup of Server - $HOST
echo ======================================================================

echo Backup Start Time: `date`
echo ======================================================================
# Daily Backup
echo Daily Backup of Directory \( $BACKUPSRCDIR \)
echo
echo Rotating last weeks Backup...
eval rm -fv "$BACKUPDIR/*.$DOW.tar.gz"
echo
dobackup "$BACKUPDIR/$DATE.$DOW.tar.gz" "$BACKUPSRCDIR"
BACKUPFILES="$BACKUPFILES $BACKUPDIR/$DATE.$DOW.tar.gz"
echo
echo ----------------------------------------------------------------------
echo Backup End Time: `date`
echo ======================================================================
echo Total disk space used for backup storage..
echo Size - Location
echo `du -hs "$BACKUPDIR"`
echo
echo ======================================================================
echo ======================================================================

# Run command when we're done
if [ "$POSTBACKUP" ]
then
echo ======================================================================
echo "Postbackup command output."
echo
eval $POSTBACKUP
echo
echo ======================================================================
fi

#Clean up IO redirection
exec 1&gt;&amp;6 6&gt;&amp;-      # Restore stdout and close file descriptor #6.
exec 1&gt;&amp;7 7&gt;&amp;-      # Restore stdout and close file descriptor #7.

if [ "$MAILCONTENT" = "files" ]
then
if [ -s "$LOGERR" ]
then
# Include error log if is larger than zero.
BACKUPFILES="$BACKUPFILES $LOGERR"
ERRORNOTE="WARNING: Error Reported - "
fi
#Get backup size
ATTSIZE=`du -c $BACKUPFILES | grep "[[:digit:][:space:]]total$" |sed s/\s*total//`
if [ $MAXATTSIZE -ge $ATTSIZE ]
then
BACKUPFILES=`echo "$BACKUPFILES" | sed -e "s# # -a #g"` #enable multiple attachments
mutt -s "$ERRORNOTE MySQL Backup Log and SQL Files for $HOST - $DATE" $BACKUPFILES $MAILADDR &lt; $LOGFILE       #send via mutt
else
cat "$LOGFILE" | mail -s "WARNING! - Backup exceeds set maximum attachment size on $HOST - $DATE" $MAILADDR
fi
elif [ "$MAILCONTENT" = "log" ]
then
cat "$LOGFILE" | mail -s "Backup Log for $HOST - $DATE" $MAILADDR
if [ -s "$LOGERR" ]
then
cat "$LOGERR" | mail -s "ERRORS REPORTED: MySQL Backup error Log for $HOST - $DATE" $MAILADDR
fi
elif [ "$MAILCONTENT" = "quiet" ]
then
if [ -s "$LOGERR" ]
then
cat "$LOGERR" | mail -s "ERRORS REPORTED: Backup error Log for $HOST - $DATE" $MAILADDR
cat "$LOGFILE" | mail -s "Backup Log for $HOST - $DATE" $MAILADDR
fi
else
if [ -s "$LOGERR" ]
then
cat "$LOGFILE"
echo
echo "###### WARNING ######"
echo "Errors reported during Backup execution.. Backup failed"
echo "Error log below.."
cat "$LOGERR"
else
cat "$LOGFILE"
fi
fi

if [ -s "$LOGERR" ]
then
STATUS=1
else
STATUS=0
fi

# Clean up Logfile
eval rm -f "$LOGFILE"
eval rm -f "$LOGERR"

exit $STATUS</pre>
<p></code><br />
I have posted this largely for my own information but maybe somebody else will find this useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cenolan.com/2008/05/simple-linux-to-amazon-s3-backup-script/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Converting a MySQL database to UTF-8</title>
		<link>http://www.cenolan.com/2008/04/converting-a-mysql-database-to-utf-8/</link>
		<comments>http://www.cenolan.com/2008/04/converting-a-mysql-database-to-utf-8/#comments</comments>
		<pubDate>Wed, 16 Apr 2008 12:57:44 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.cenolan.com/?p=8</guid>
		<description><![CDATA[I occasionally need to convert a mysql database to UTF-8. This can be a painful process and if it goes wrong can result in a nightmare of character-set collisions. Some digging around on the lazyweb led me to a nice solution I found over at oscarm.org that shows you how to quickly convert the actual [...]]]></description>
			<content:encoded><![CDATA[<p>I occasionally need to convert a mysql database to UTF-8. This can be a painful process and if it goes wrong can result in a nightmare of character-set collisions. Some digging around on the lazyweb led me to a nice solution I found over at <a title="HOWTO: Convert mysql data to UTF-8 quickly" href="http://oscarm.org/news/detail/1894-howto_convert_mysql_data_to_utf8_quickly">oscarm.org</a> that shows you how to quickly convert the actual data, but I wanted to convert the database too.</p>
<p><span id="more-8"></span><br />
Here's what I did:</p>
<p>1) Dump the database into a sql file using mysqldump:</p>
<pre><code>mysqldump --opt --quote-names -u username -p password my_database &gt; my_database.sql</code></pre>
<p>2) Convert the dumped sql data from the current character set to utf-8, for example:</p>
<pre><code>iconv -f ISO_8859-1 -t UTF-8 my_database.sql &gt; my_database-utf-8.sql</code></pre>
<p>3) Change the CHARSET definitions in the sql file to utf8. You could do this by manually editing the file, but this little perl snippet will do it for you (here we're going from latin1 to utf8 - change to fit your needs):</p>
<pre><code>perl -pi -w -e 's/CHARSET=latin1/CHARSET=utf8/g;' my_database-utf-8.sql</code></pre>
<p>4) Import the database back into mysql:</p>
<pre><code>mysql -u username -p password my_database &lt; my_database-utf-8.sql</code></pre>
<p>Voila. Your database and data is now converted to utf-8.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cenolan.com/2008/04/converting-a-mysql-database-to-utf-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fedora kernel fixes and files for MacBook 3,1 (Santa Rosa)</title>
		<link>http://www.cenolan.com/2008/04/fedora-kernel-fixes-and-files-for-macbook/</link>
		<comments>http://www.cenolan.com/2008/04/fedora-kernel-fixes-and-files-for-macbook/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 18:03:00 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Fedora 8]]></category>
		<category><![CDATA[MacBook]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mactel-linux]]></category>

		<guid isPermaLink="false">http://www.cenolan.com/?p=7</guid>
		<description><![CDATA[Following on from my previous post, I have been making some RPM packages available for Fedora 8 and the MacBook 3,1 Santa Rosa.
The kernel packages are not needed now since Fedora 8 kernel 2.6.24.3-50 (and newer) already contains the MacBook specific fixes. However, at the time of writing the gstreamer packages are still required if [...]]]></description>
			<content:encoded><![CDATA[<p>Following on from my previous post, I have been making some RPM packages available for Fedora 8 and the MacBook 3,1 Santa Rosa.</p>
<p>The kernel packages are not needed now since Fedora 8 kernel 2.6.24.3-50 (and newer) already contains the MacBook specific fixes. However, at the time of writing the gstreamer packages are still required if you want to use gstreamer based applications with the MacBook iSight camera.</p>
<p>Before downloading, please take care of my bandwidth. If you don't need the package, please don't download it.</p>
<p>You can <a title="Fedora 8 kernel fixes and files for MacBook 3,1 (Santa Rosa)" href="http://www.cenolan.com/fedora8/">download the packages here</a>.</p>
<p>There is also <a title=" Guide: Fedora 8 on Macbook 3,1 Santa Rosa" href="http://forums.fedoraforum.org/forum/showthread.php?t=179233">this thread at fedoraforum.org</a> which may be helpful.</p>
<p>If you find any problems or have any suggestions please let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cenolan.com/2008/04/fedora-kernel-fixes-and-files-for-macbook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Fedora 8 on a MacBook</title>
		<link>http://www.cenolan.com/2008/04/installing-fedora-8-on-a-macbook/</link>
		<comments>http://www.cenolan.com/2008/04/installing-fedora-8-on-a-macbook/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 16:16:18 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Fedora 8]]></category>
		<category><![CDATA[MacBook]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mactel-linux]]></category>

		<guid isPermaLink="false">http://www.cenolan.com/?p=4</guid>
		<description><![CDATA[The MacBook is great, but OS X is not really my cup of tea and I choose not to use Windows. Luckily Fedora 8 works like a charm on the MacBook and with a bit of configuring you can get all the hardware working properly.
I couldn't find any information on the lazyweb about installing Fedora [...]]]></description>
			<content:encoded><![CDATA[<p>The MacBook is great, but OS X is not really my cup of tea and I choose not to use Windows. Luckily Fedora 8 works like a charm on the MacBook and with a bit of configuring you can get all the hardware working properly.</p>
<p>I couldn't find any information on the lazyweb about installing Fedora 8 on a MacBook so I recorded what I did and made a detailed how-to which is posted in the wiki over at <a title="How to install Fedora 8 on Macbook 3,1" href="http://www.mactel-linux.org/wiki/Fedora8OnMacBookSantaRosa">mactel-linux.org</a>. The guide shows you step-by-step how to install and configure Fedora 8 x86_64 on the MacBook and works with both MacBook version 3,1 (from late 2007) or version 4,1 (from early 2008).</p>
<p>Big up to the guys at Fedora who gave in to my relentless nagging and integrated some of the mactel-linux patches into the latest Fedora kernels. Without them I'd still be spending my weekends rolling kernels!</p>
<p>If you find the guide useful or have any comments or suggestions then let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cenolan.com/2008/04/installing-fedora-8-on-a-macbook/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
