<?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>World of XorA &#187; Work</title>
	<atom:link href="http://www.xora.org.uk/category/work/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.xora.org.uk</link>
	<description>Random Stuff</description>
	<lastBuildDate>Tue, 20 Apr 2010 11:38:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Lucid on Omapzoom2</title>
		<link>http://www.xora.org.uk/2010/04/19/lucid-on-omapzoom2/</link>
		<comments>http://www.xora.org.uk/2010/04/19/lucid-on-omapzoom2/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 10:15:40 +0000</pubDate>
		<dc:creator>XorA</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Slimlogic]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.xora.org.uk/?p=180</guid>
		<description><![CDATA[So Ive been doing some work getting a Ubuntu Lucid beta image running on the zoom2 machine. This is basically the same image as what runs on a beagle slightly modded for zoom2 (serial is different port). Running the Netbook Remix version. I have two external keyboards and a mouse plugged in via usb hub [...]]]></description>
			<content:encoded><![CDATA[<p>So Ive been doing some work getting a Ubuntu Lucid beta image running on the zoom2 machine. This is basically the same image as what runs on a beagle slightly modded for zoom2 (serial is different port). Running the Netbook Remix version. I have two external keyboards and a mouse plugged in via usb hub and of course the debug board for networking. This is a photo so you can see it is really running <img src='http://www.xora.org.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>I used the kernel image that we use for Ångström images as Ubuntu doesn&#8217;t have a zoom2 kernel yet.</p>
<p><a href="http://www.xora.org.uk/wp-content/uploads/2010/04/zoom2-lucid.jpg"><img src="http://www.xora.org.uk/wp-content/uploads/2010/04/zoom2-lucid-244x300.jpg" alt="" title="zoom2-lucid" width="244" height="300" class="alignnone size-medium wp-image-181" /></a></p>
<p>And this is a screen shot taken on the zoom2 (you&#8217;ll just have to believe me).</p>
<p><a href="http://www.xora.org.uk/wp-content/uploads/2010/04/une-zoom2.png"><img src="http://www.xora.org.uk/wp-content/uploads/2010/04/une-zoom2-300x180.png" alt="" title="une-zoom2" width="300" height="180" class="alignnone size-medium wp-image-182" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.xora.org.uk/2010/04/19/lucid-on-omapzoom2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Omap3 Zoom2 Ångström</title>
		<link>http://www.xora.org.uk/2010/02/11/omap3-zoom2-angstrom/</link>
		<comments>http://www.xora.org.uk/2010/02/11/omap3-zoom2-angstrom/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 20:28:58 +0000</pubDate>
		<dc:creator>XorA</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Slimlogic]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.xora.org.uk/?p=175</guid>
		<description><![CDATA[I thought it was about time to give an update on Ångström support of the Omap3 Zoom2 device.
Thanks to TIs donation I have been able to work on support for this device. I have also been able due to the power of OE build on the Ångström communities support of omap3 chips in general. Anyway [...]]]></description>
			<content:encoded><![CDATA[<p>I thought it was about time to give an update on Ångström support of the Omap3 Zoom2 device.</p>
<p>Thanks to TIs donation I have been able to work on support for this device. I have also been able due to the power of OE build on the Ångström communities support of omap3 chips in general. Anyway a Gnome rootfs is running nicely on the device.</p>
<p>Here is the login screen.</p>
<p><a href="http://www.xora.org.uk/wp-content/uploads/2010/02/zoom2login.jpg"><img src="http://www.xora.org.uk/wp-content/uploads/2010/02/zoom2login-300x225.jpg" alt="" title="zoom2login" width="300" height="225" class="alignnone size-medium wp-image-177" /></a></p>
<p>And after logging in the desktop running.</p>
<p><a href="http://www.xora.org.uk/wp-content/uploads/2010/02/zoom2gnome.jpg"><img src="http://www.xora.org.uk/wp-content/uploads/2010/02/zoom2gnome-300x225.jpg" alt="" title="zoom2gnome" width="300" height="225" class="alignnone size-medium wp-image-176" /></a></p>
<p>This as you can see is with the zoom2 running free of its debug board. This does mean with current OE recipes there is no networking but we are hoping to have that fixed soon now!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xora.org.uk/2010/02/11/omap3-zoom2-angstrom/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Horde Groupware Funambol</title>
		<link>http://www.xora.org.uk/2010/02/09/horde-groupware-funambol/</link>
		<comments>http://www.xora.org.uk/2010/02/09/horde-groupware-funambol/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 22:17:15 +0000</pubDate>
		<dc:creator>XorA</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.xora.org.uk/?p=172</guid>
		<description><![CDATA[I was looking into Horde Groupware because of its SyncML capabilities. For some of my devices the funambol SyncML client is the only option. The trouble out of the box Horde doesnt work with Funambol as Funambol requests a database that doesnt exist. Luckilly this problem is fixed in the H4 git repo so I [...]]]></description>
			<content:encoded><![CDATA[<p>I was looking into Horde Groupware because of its SyncML capabilities. For some of my devices the funambol SyncML client is the only option. The trouble out of the box Horde doesnt work with Funambol as Funambol requests a database that doesnt exist. Luckilly this problem is fixed in the H4 git repo so I extracted the patches and refreshed them for the groupware version.</p>
<p>The patches can be found <a href="http://www.xora.org.uk/~dp/patches/">here.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.xora.org.uk/2010/02/09/horde-groupware-funambol/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>OpenEmbedded/Ångstöm New Package Workflow (eggdbus)</title>
		<link>http://www.xora.org.uk/2010/01/22/openembeddedangstom-new-package-workflow-eggdbus/</link>
		<comments>http://www.xora.org.uk/2010/01/22/openembeddedangstom-new-package-workflow-eggdbus/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 00:23:32 +0000</pubDate>
		<dc:creator>XorA</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Slimlogic]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.xora.org.uk/?p=160</guid>
		<description><![CDATA[This article is to detail the typical workflow I use when I am adding a new application recipe to OpenEmbedded from scratch. In this case it will be the gobject dbus binding called eggdbus.
During this article reference to the OE wiki especially the styleguide for new recipes is highly recommended.

 Styleguide
 Commit Policy
 Versioning Policy

The [...]]]></description>
			<content:encoded><![CDATA[<p>This article is to detail the typical workflow I use when I am adding a new application recipe to OpenEmbedded from scratch. In this case it will be the gobject dbus binding called eggdbus.</p>
<p>During this article reference to the OE wiki especially the styleguide for new recipes is highly recommended.</p>
<ul>
<li> <a href="http://wiki.openembedded.org/index.php/Styleguide">Styleguide</a></li>
<li> <a href="http://wiki.openembedded.org/index.php/Commit_Policy">Commit Policy</a></li>
<li> <a href="http://wiki.openembedded.org/index.php/Versioning_Policy">Versioning Policy</a></li>
</ul>
<p>The first step is to locate the software we are going to add and the version number of that software. In this case it the software is called eggdbus and it is version 0.6. Also at this stage check the license of the software in this case GPLv2.</p>
<p>Create a directory in the metadata to hold the new software.</p>
<p><code>mkdir recipes/eggdbus</code></p>
<p>Use an editor to create the recipe file for the new application. The general form of the filename is application_version.bb so in this case edit.</p>
<p><code>vi recipes/eggdbus/eggdbus_0.6.bb</code></p>
<p>Fill the beginning of the recipe with the informational fields.</p>
<p><code>DESCRIPTION = "gobject dbus binding"<br />
HOMEPAGE = "http://cgit.freedesktop.org/~david/eggdbus"<br />
LICENSE = "GPLv2"<br />
</code></p>
<p>The next step is to locate the download URL for the new recipe. In this case eggdbus is hosted in a sourceforge project so the download URL is.</p>
<p><code>http://cgit.freedesktop.org/~david/eggdbus/snapshot/eggdbus-0.6.tar.bz2</code></p>
<p>OpenEmbedded creates a variable ${PV} from the filename of the recipe. It is recommended to use this in the SRC_URI as it saves typing when later upgrading to later versions of the software. It also creates a ${PN} variable from the package name.</p>
<p><code>SRC_URI = "http://cgit.freedesktop.org/~david/${PN}/snapshot/${PN}-${PV}.tar.bz2"</code></p>
<p>At this stage there is enough recipe to attempt a download and check that there are no mistakes so far.</p>
<p><code>bitbake eggdbus</code></p>
<p>This build is expected to fail as the OE metadata does not yet have the MD5/SHA256 checksums for the download yet.</p>
<p><code>NOTE: Missing checksum<br />
ERROR: eggdbus-0.6: http://cgit.freedesktop.org/~david/eggdbus/snapshot/eggdbus-0.6.tar.bz2 has no checksum defined, cannot check archive integrity<br />
ERROR: Error in executing: /home/dp/openembedded/org.openembedded.dev/recipes/eggdbus/eggdbus_0.6.bb<br />
ERROR: Exception:<type 'exceptions.SystemExit'> Message:1<br />
ERROR: Printing the environment of the function<br />
ERROR: Error in executing: /home/dp/openembedded/org.openembedded.dev/recipes/eggdbus/eggdbus_0.6.bb<br />
ERROR: Exception:</type><type 'exceptions.SystemExit'> Message:1<br />
ERROR: Printing the environment of the function<br />
ERROR: Build of /home/dp/openembedded/org.openembedded.dev/recipes/eggdbus/eggdbus_0.6.bb do_fetch failed<br />
</type></code></p>
<p>OE helpfully generates the checksums it expected to see so these can be added to the meta data easilly. The cat just appends the new checksum to the end of the file. The next python command then calls a script to sort the checksums into the recommended format.</p>
<p><code>cat tmp/checksums.ini &gt;&gt;~/oe/org.openembedded.dev/conf/checksums.ini<br />
python contrib/source-checker/oe-checksums-sorter.py -i conf/checksums.ini<br />
</code></p>
<p>To check this worked then re-issue the bitbake command.</p>
<p><code>bitbake eggdbus</code></p>
<p>In this case the command will succeed but builds no useful package. Depending on the application it will probably fail. This is not a problem at this stage as it is still work in progress and debugging these failures is what gives the information for the rest of the recipe.</p>
<p>At this stage the contents of the tarball file can be checked. The eggdbus tarball unpacks to a directory which is called eggdbus-0.6 which is what OE has already selected by default so we dont need to overide the default ${S} setting.</p>
<p>Eggdbus is an autotools using library so we tell OE to use its built in autotools support. If it is a well written autoconf then OE generates configure/compile/install tasks which work without modification.</p>
<p><code>inherit autotools</code></p>
<p>We can now try a build again to see if it will just build(tm).</p>
<p>In this case it doesnt because of gtk-doc.make. We currently dont really support this in OE anyway so we shall attempt to patch out this part.</p>
<p><code>cd tmp/work/armv7a-angstrom-linux-gnueabi/eggdbus-0.6-r0/eggdbus-0.6/<br />
quilt new gtk-doc.patch<br />
quilt add docs/eggdbus/Makefile.am docs/tests/Makefile.am<br />
</code></p>
<p>Edit the two Makefile.am and remove the reference to gtk-doc.make. Then generate the patch.</p>
<p><code>quilt refresh</code></p>
<p>The patches/gtk-doc.patch is now our patch. We need to copy it into our OE repo and add it to the SRC_URI.</p>
<p><code>mkdir recipes/eggdbus/files/<br />
mv patches/gtk-doc.patch recipes/eggdbus/files/<br />
</code></p>
<p>And edit the eggdbus_0.6.bb to add the new patch to the SRC_URI.</p>
<p><code><br />
SRC_URI = "http://cgit.freedesktop.org/~david/${PN}/snapshot/${PN}-${PV}.tar.bz2 \<br />
          file://gtk-doc.patch;patch=1 \<br />
          "<br />
</code></p>
<p>Now we attempt to build again.</p>
<p><code><br />
bitbake eggdbus -c clean<br />
bitbake eggdbus<br />
</code></p>
<p>This time the build fails inside the code stage, if the error is examined it will show that the build is trying to run a built program on the host. This obvously won&#8217;t work in cross compile situations so the program needs to be compiled for host.</p>
<p>This means a native version of the package is created. This used to mean a seperate .bb file but thanks to BBCLASSEXTEND it can be done in one file. This also means SRC_URI must be altered to use ${BPN} (Base Package Name) which is a version with -native/-sdk stipped from the end if present. So the following is changed/added to .bb file.</p>
<p><code><br />
SRC_URI = "http://cgit.freedesktop.org/~david/${BPN}/snapshot/${BPN}-${PV}.tar.bz2 \<br />
          file://gtk-doc.patch;patch=1 \<br />
          "<br />
</code></p>
<p><code><br />
BBCLASSEXTEND = "native"<br />
</code></p>
<p>On attempting to build this new native file it failed because it tries to use docbook to generate man pages. We dont really need them so disable them.</p>
<p><code><br />
EXTRA_OECONF = " --disable-man-pages --disable-gtk-doc-html "<br />
</code></p>
<p>Now a rebuilt of eggdbus-native succeeds and host versions of the tools needed are available in the staging directory. Now some more changes are needed to the source. In the Makefile.am the programs we just built are referenced using the source directory but the ones in staging should be used so another patch to the Makefile.am files is produced. This patch should apply to the native version so more changes to recipe are needed.</p>
<p><code><br />
BASE_SRC_URI = "http://cgit.freedesktop.org/~david/${BPN}/snapshot/${BPN}-${PV}.tar.bz2 \<br />
          file://gtk-doc.patch;patch=1 \<br />
          "<br />
&#10;<br />
SRC_URI = "${BASE_SRC_URI} \<br />
           file://marshal.patch;patch=1 \<br />
          "<br />
&#10;<br />
SRC_URI_virtclass-native = "${BASE_SRC_URI}"<br />
</code><code></p>
<p>Now the eggdbus recipe is built.</p>
<p></code><code><br />
bitbake eggdbus -c clean<br />
bitbake eggdbus<br />
</code></p>
<p>This time the build succeeds, but one thing that isnt done yet is to tell OE what this recipe depends on. The trick used to do this is to examine the control file in the .ipk and see what is depended on.</p>
<p>For this recipe it is quite clear and dependencies on dbus glib. So a final change to the recipe to add dependencies.</p>
<p><code><br />
DEPENDS = "dbus glib-2.0"<br />
</code></p>
<p>All these steps give up a complete recipe that reads as follows.</p>
<p><code><br />
DESCRIPTION = "gobject dbus binding"<br />
HOMEPAGE = "http://cgit.freedesktop.org/~david/eggdbus"<br />
LICENSE = "GPLv2"<br />
&#10;<br />
DEPENDS = "dbus glib-2.0"<br />
&#10;<br />
BASE_SRC_URI = "http://cgit.freedesktop.org/~david/${BPN}/snapshot/${BPN}-${PV}.tar.bz2 \<br />
          file://gtk-doc.patch;patch=1 \<br />
          "<br />
&#10;<br />
SRC_URI = "${BASE_SRC_URI} \<br />
           file://marshal.patch;patch=1 \<br />
          "<br />
&#10;<br />
SRC_URI_virtclass-native = "${BASE_SRC_URI}"<br />
&#10;<br />
inherit autotools<br />
&#10;<br />
EXTRA_OECONF = " --disable-man-pages --disable-gtk-doc-html "<br />
&#10;<br />
BBCLASSEXTEND = "native"<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.xora.org.uk/2010/01/22/openembeddedangstom-new-package-workflow-eggdbus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BitBake Commander</title>
		<link>http://www.xora.org.uk/2009/12/10/bitbake-commander/</link>
		<comments>http://www.xora.org.uk/2009/12/10/bitbake-commander/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 21:19:26 +0000</pubDate>
		<dc:creator>XorA</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.xora.org.uk/?p=139</guid>
		<description><![CDATA[This very cool add-on for eclipse to automatically download and install OE has been made by kgilmer on buglabs community site.
BitBake Commander
]]></description>
			<content:encoded><![CDATA[<p>This very cool add-on for eclipse to automatically download and install OE has been made by kgilmer on buglabs community site.</p>
<p><a href="http://community.buglabs.net/kgilmer/posts/110-BitBake-Commander-6-8-Installers-">BitBake Commander</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.xora.org.uk/2009/12/10/bitbake-commander/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>OpenEmbedded/Ångstöm New Package Workflow (eyeOS)</title>
		<link>http://www.xora.org.uk/2009/12/10/openembeddedangstom-new-package-workflow-eyeos/</link>
		<comments>http://www.xora.org.uk/2009/12/10/openembeddedangstom-new-package-workflow-eyeos/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 18:57:29 +0000</pubDate>
		<dc:creator>XorA</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Slimlogic]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.xora.org.uk/?p=135</guid>
		<description><![CDATA[This article is to detail the typical workflow I use when I am adding a new application recipe to OpenEmbedded from scratch. In this case it will be the open source cloud computing application called eyeos.
During this article reference to the OE wiki especially the styleguide for new recipes is highly recommended.

 Styleguide
 Commit Policy
 [...]]]></description>
			<content:encoded><![CDATA[<p>This article is to detail the typical workflow I use when I am adding a new application recipe to OpenEmbedded from scratch. In this case it will be the open source cloud computing application called <a href="http://eyeos.org/">eyeos</a>.</p>
<p>During this article reference to the OE wiki especially the styleguide for new recipes is highly recommended.</p>
<ul>
<li> <a href="http://wiki.openembedded.org/index.php/Styleguide">Styleguide</a></li>
<li> <a href="http://wiki.openembedded.org/index.php/Commit_Policy">Commit Policy</a></li>
<li> <a href="http://wiki.openembedded.org/index.php/Versioning_Policy">Versioning Policy</a></li>
</ul>
<p>The first step is to locate the software we are going to add and the version number of that software. In this case it the software is called eyeos and it is version 1.8.7.1. Also at this stage check the license of the software in this case AGPL3.</p>
<p>Create a directory in the metadata to hold the new software.</p>
<p><code>mkdir recipes/eyeos</code></p>
<p>Use an editor to create the recipe file for the new application. The general form of the filename is application_version.bb so in this case edit.</p>
<p><code>vi recipes/eyeos/eyeos_1.8.7.1.bb</code></p>
<p>Fill the beginning of the recipe with the informational fields.</p>
<p><code>DESCRIPTION = "The Open Source Clouds Web Desktop"<br />
HOMEPAGE = "http://eyeos.org/"<br />
LICENSE = "AGPL3"<br />
</code><br />
The next step is to locate the download URL for the new recipe. In this case eyeos is hosted in a sourceforge project so the download URL is.</p>
<p><code>http://sourceforge.net/projects/eyeos/files/eyeos/1.8.7.1/eyeOS_1.8.7.1.zip/download</code></p>
<p>OpenEmbedded actually has sourceforge mirror handling build in. So when the SRC_URI is constructed for the reciped a shortcut can be taken. OpenEmbedded also creates a variable ${PV} from the filename of the recipe. It is recommended to use this in the SRC_URI as it saves typing when later upgrading to later versions of the software. It also creates a ${PN} variable from the package name. But in this case this is not used as it differs in case in the URL.</p>
<p><code>SRC_URI = "${SOURCEFORGE_MIRROR}/eyeos/eyeOS_${PV}.zip"</code></p>
<p>At this stage there is enough recipe to attempt a download and check that there are no mistakes so far.</p>
<p><code>bitbake eyeos</code></p>
<p>This build is expected to fail as the OE metadata does not yet have the MD5/SHA256 checksums for the download yet.</p>
<p><code>NOTE: Missing checksum<br />
ERROR: eyeos-1.8.7.1: http://downloads.sourceforge.net/eyeos/eyeOS_1.8.7.1.zip has no checksum defined, cannot check archive integrity<br />
ERROR: Error in executing: /home/graeme/openembedded/org.openembedded.dev/recipes/eyeos/eyeos_1.8.7.1.bb<br />
ERROR: Exception: Message:1<br />
ERROR: Printing the environment of the function<br />
ERROR: Error in executing: /home/graeme/openembedded/org.openembedded.dev/recipes/eyeos/eyeos_1.8.7.1.bb<br />
ERROR: Exception: Message:1<br />
ERROR: Printing the environment of the function<br />
ERROR: Build of /home/graeme/openembedded/org.openembedded.dev/recipes/eyeos/eyeos_1.8.7.1.bb do_fetch failed<br />
ERROR: Task 2 (/home/graeme/openembedded/org.openembedded.dev/recipes/eyeos/eyeos_1.8.7.1.bb, do_fetch) failed<br />
NOTE: Tasks Summary: Attempted 445 tasks of which 444 didn't need to be rerun and 1 failed.<br />
ERROR: '/home/graeme/openembedded/org.openembedded.dev/recipes/eyeos/eyeos_1.8.7.1.bb' failed</code></p>
<p>OE helpfully generates the checksums it expected to see so these can be added to the meta data easilly. The cat just appends the new checksum to the end of the file. The next python command then calls a script to sort the checksums into the recommended format.</p>
<p><code>cat tmp/checksums.ini &gt;&gt;~/oe/org.openembedded.dev/conf/checksums.ini<br />
python contrib/source-checker/oe-checksums-sorter.py -i conf/checksums.ini<br />
</code></p>
<p>To check this worked then re-issue the bitbake command.</p>
<p><code>bitbake eyeos</code></p>
<p>In this case the command will succeed but builds no useful package. Depending on the application it will probably fail. This is not a problem at this stage as it is still work in progress and debugging these failures is what gives the information for the rest of the recipe.</p>
<p>At this stage the contents of the zip file can be checked. The eyeos zip unpacks to a directory which is called eyeOS which is different from OEs guessed at directory of eyeos-1.8.7.1 so the recipe needs updated to tell OE the real directory.</p>
<p><code>S = "${WORKDIR}/eyeOS"</code></p>
<p>Being a web application eyeOS doesnt have Makefile or autotools based installation so the compile/install stages will have to be hand written for this recipe.</p>
<p>The eyeOS installation is really simple from the OE point of view.</p>
<p><code>do_install() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;install -d ${D}/www/pages/eyeos<br />
&nbsp;&nbsp;&nbsp;&nbsp;cp -r ${S}/* ${D}/www/pages/eyeos<br />
}</code></p>
<p>There are two final things to do now before the recipe is finished. OE needs to be told which directories to package. It has some built in defaults like /bin /usr/bin /lib /usr/lib but our eyeOS install is outside these areas. We also need to tell OE that there is no CPU dependant code in the packages this recipe generates.</p>
<p><code>PACKAGE_ARCH = "all"<br />
FILES_${PN} += "/www/pages/eyeos"</code></p>
<p>All these steps give up a complete recipe that reads as follows.</p>
<p><code>DESCRIPTION = "The Open Source Clouds Web Desktop"<br />
HOMEPAGE = "http://eyeos.org/"<br />
LICENSE = "AGPL3"<br />
&#10;<br />
SRC_URI = "${SOURCEFORGE_MIRROR}/eyeos/eyeOS_${PV}.zip"<br />
&#10;<br />
S = "${WORKDIR}/eyeOS"<br />
&#10;<br />
do_install() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;install -d ${D}/www/pages/eyeos<br />
&nbsp;&nbsp;&nbsp;&nbsp;cp -r ${S}/* ${D}/www/pages/eyeos<br />
}<br />
&#10;<br />
PACKAGE_ARCH = "all"<br />
FILES_${PN} += "/www/pages/eyeos"<br />
</code></p>
<p>So the final stage the final packages can be built fromt the recipe. First a clean to make sure anything worked on is gone then a build.</p>
<p><code>bitbake eyeos -c clean<br />
bitbake eyeos<br />
</code></p>
<p>The package produced from this recipe is now ready to be installed on target for testing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xora.org.uk/2009/12/10/openembeddedangstom-new-package-workflow-eyeos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenEmbedded/Ångström Kernel Workflow</title>
		<link>http://www.xora.org.uk/2009/12/10/openembeddedangstrom-kernel-workflow/</link>
		<comments>http://www.xora.org.uk/2009/12/10/openembeddedangstrom-kernel-workflow/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 01:35:14 +0000</pubDate>
		<dc:creator>XorA</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Slimlogic]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.xora.org.uk/?p=132</guid>
		<description><![CDATA[This article is to detail the workflow I personally use when I am doing kernel development for devices supported by OE. I find OE very useful for this as I can use it to build the toolchain and ultimately to control my patch tree until I am ready to send the patches upstream.
So I select [...]]]></description>
			<content:encoded><![CDATA[<p>This article is to detail the workflow I personally use when I am doing kernel development for devices supported by OE. I find OE very useful for this as I can use it to build the toolchain and ultimately to control my patch tree until I am ready to send the patches upstream.</p>
<p>So I select a kernel which I wish to develop with, in my case this is in</p>
<p><code>recipes/elphel/linux-elphel_git.bb</code></p>
<p>So I first make sure I am starting from clean</p>
<p><code>bitbake linux-elphel -c clean</code></p>
<p>Then take the kernel as far as the configuration stage, this makes sure all patches in the metadata are applied and that the defconfig has been copied to .config and make oldconfig has been run.</p>
<p><code>bitbake linux-elphel -c configure</code></p>
<p>Now I switch to another window where I shall be actually editing the code. I change to the temporary working directory of the kernel I am working with. This path below will change depending on kernel version or name. Kernels are always found in the machine workdir so tmp/<machinename>-angstrom-linux-gnueabi/</p>
<p><code>cd tmp/work/elphel-10373-angstrom-linux-gnueabi/linux-elphel-2.6.31+2.6.32-rc8+r4+gitr2a97b06f43c616abb203f4c0eb40518c44c8d7fe-r28/</code></p>
<p>At this point I normally elect to use quilt to temporarily manage my patches so.</p>
<p><code>quilt new new-feature.patch</code></p>
<p>And to add files to this patch, I make sure to do this before I make any edits as the diff ends up being the diff from when this is first called to the current state.</p>
<p><code>quilt add driver/camera/random.c</code></p>
<p>Then load the file into my favourite editor.</p>
<p><code>vi driver/camera/random.c</code></p>
<p>I make the changes I require then it is time to create a patch from these changes so I then do.</p>
<p><code>quilt refresh</code></p>
<p>The above steps created a patches/ directory inside this is one or more patches and a file called series. series is a list of all the patches in the order they should be applied (quilt takes care of this).</p>
<p>So now I want to actually build this code to make sure it compiles so I switch back to my original terminal and issue.</p>
<p><code>bitbake linux-elphel -c compile</code></p>
<p>If this stage fails I continue editing the files to correct the errors remebering to refresh the patches as I go. The above command can be issued repeatedly until is succeeds. When it does I then wish to make the kernel image used on the the board I am playing with so.</p>
<p><code>bitbake linux-elphel -c deploy</code></p>
<p>I take the uImage file from tmp/deploy/images/</machinename><machinename> and send it to the board for booting however it is done in my setup. For this kernel I will write it into flash on the Elphel camera.</p>
<p>It is almost certain that this first attempt as create the new feature will have some problems. In this case I return to the terminal where I was editing the code and fix it (still not forgetting to refresh the patches). To force the compile stage to happen again I issue the command.</p>
<p><code>bitbake linux-elphel -c compile -f</code></p>
<p>The -f means force and forces bitbake to return to that stage. When the compile is successful I can again issue the following command to deploy the image again.</p>
<p><code>bitbake linux-elphel -c deploy</code></p>
<p>I repeat this cycle as needed until I have my new feature working as I wish.</p>
<p>When I am happy with the changes that have been made to the kernel I will have a patch file in patches/new-feature.patch that is suitable for adding directly to the OpenEmbedded meta data or which can be applied to a git tree ready for sending upstream.</p>
<p>I shall leave the git instructions to the git manual. For the case where I want to apply it to the OE meta data then I edit the original bitbake recipe, adding the patch to the SRC_URI in the form</p>
<p><code>file://new-feature.patch;patch=1</code></p>
<p>For example a finished line.</p>
<p><code>SRC_URI = "git://elphel.git.sourceforge.net/gitroot/elphel/linuxdavinci;branch=elphel-10373;protocol=git \<br />
           file://new-feature.patch;patch=1 \<br />
           file://defconfig"</code></p>
<p>I copy the patch into a suitable directory in the metadata. More information on how the build system searches directories for patches can be found on the OE wiki and the bitbake manual. In this case.</p>
<p><code>recipes/linux-elphel/new-feature.patch</code></p>
<p>Now I test everything is ok with a clean rebuild so.</p>
<p><code>bitbake linux-elphel -c clean<br />
bitbake linux-elphel<br />
</code></p>
<p>This should successfully complete the build and I should have a kernel with my new feature. If at a later date I find my new feature does not quite work as expected I can use a variation of the same process to update it. Instead of issuing the quilt new/add commands I just start editing the files in the patch again and a quilt refresh will refresh the last patch applied to the source which is most likely my new feature. If it is not or I have done this process multiple times I can use quilt pop and push to move between patches.<br />
</machinename></p>
]]></content:encoded>
			<wfw:commentRss>http://www.xora.org.uk/2009/12/10/openembeddedangstrom-kernel-workflow/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>OMAP3 Card Formatter</title>
		<link>http://www.xora.org.uk/2009/12/09/omap3-card-formatter/</link>
		<comments>http://www.xora.org.uk/2009/12/09/omap3-card-formatter/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 20:47:14 +0000</pubDate>
		<dc:creator>XorA</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.xora.org.uk/?p=128</guid>
		<description><![CDATA[Has been moved into OE where it is better placed.
OMAP3 Card Formatter
And it turns out that some of the code was based on the work of Denys Dmytriyenko so give him your thanks as well!
]]></description>
			<content:encoded><![CDATA[<p>Has been moved into OE where it is better placed.</p>
<p><a href="http://cgit.openembedded.net/cgit.cgi/openembedded/tree/contrib/angstrom/omap3-mkcard.sh">OMAP3 Card Formatter</a></p>
<p>And it turns out that some of the code was based on the work of Denys Dmytriyenko so give him your thanks as well!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xora.org.uk/2009/12/09/omap3-card-formatter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Improved OMAP3 Card Formatter</title>
		<link>http://www.xora.org.uk/2009/09/06/improved-omap3-card-formatter/</link>
		<comments>http://www.xora.org.uk/2009/09/06/improved-omap3-card-formatter/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 17:40:17 +0000</pubDate>
		<dc:creator>XorA</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.xora.org.uk/?p=109</guid>
		<description><![CDATA[There is an updated and bugfixed version of this script now added to the OE git repository where all updates from now will be done.
Latest Version
Got some feedback from people on IRC so added some checks so people with builtin card readers can run the script without having to edit it.
Download
#! /bin/sh
# mkcard.sh v0.2
# (c) [...]]]></description>
			<content:encoded><![CDATA[<p><strong>There is an updated and bugfixed version of this script now added to the OE git repository where all updates from now will be done.</strong><br />
<a href="http://cgit.openembedded.org/cgit.cgi/openembedded/tree/contrib/angstrom/omap3-mkcard.sh"><strong>Latest Version</strong></a></p>
<p>Got some feedback from people on IRC so added some checks so people with builtin card readers can run the script without having to edit it.</p>
<div><a href="http://www.xora.org.uk/wp-content/uploads/2009/09/mkcard-v0.2.sh" style="float: right; margin-right: 5px;">Download</a>
<pre lang="*">#! /bin/sh
# mkcard.sh v0.2
# (c) Copyright 2009 Graeme Gregory <dp@xora.org.uk>
# Licensed under terms of GPLv3

DRIVE=$1

dd if=/dev/zero of=$DRIVE bs=1024 count=1024

SIZE=`fdisk -l $DRIVE | grep Disk | awk '{print $5}'`

echo DISK SIZE - $SIZE bytes

CYLINDERS=`echo $SIZE/255/63/512 | bc`

echo CYLINDERS - $CYLINDERS

{
echo ,9,0x0C,*
echo ,,,-
} | sfdisk -D -H 255 -S 63 -C $CYLINDERS $DRIVE

if [ -b ${DRIVE}1 ]; then
	mkfs.vfat -F 32 -n "boot" ${DRIVE}1
else
	if [ -b ${DRIVE}p1 ]; then
		mkfs.vfat -F 32 -n "boot" ${DRIVE}p1
	else
		echo "Cant find boot partition in /dev"
	fi
fi

if [ -b ${DRIVE}2 ]; then
	mke2fs -j -L "rootfs" ${DRIVE}2
else
	if [ -b ${DRIVE}p2 ]; then
		mke2fs -j -L "rootfs" ${DRIVE}p2
	else
		echo "Cant find rootfs partition in /dev"
	fi
fi
</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.xora.org.uk/2009/09/06/improved-omap3-card-formatter/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>OpenVPN Hiding in HTTPS</title>
		<link>http://www.xora.org.uk/2009/09/06/openvpn-hiding-in-https/</link>
		<comments>http://www.xora.org.uk/2009/09/06/openvpn-hiding-in-https/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 16:33:33 +0000</pubDate>
		<dc:creator>XorA</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.xora.org.uk/?p=104</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  file_get_contents(wordpress/wp-content/uploads/2009/09/openvpn.txt) [<a href='function.file-get-contents'>function.file-get-contents</a>]: failed to open stream: No such file or directory in <b>/var/www/wordpress/wp-content/plugins/file-inliner/fileinliner.php</b> on line <b>81</b><br />
So it took me a little while to gather the right set of docs to get this working but I find it useful when in places where you can get http/https connections but nothing else.
This is using tun network interface so make sure that is available on your server.
I also created a dummy0 with a [...]]]></description>
			<content:encoded><![CDATA[<br />
<b>Warning</b>:  file_get_contents(wordpress/wp-content/uploads/2009/09/openvpn.txt) [<a href='function.file-get-contents'>function.file-get-contents</a>]: failed to open stream: No such file or directory in <b>/var/www/wordpress/wp-content/plugins/file-inliner/fileinliner.php</b> on line <b>81</b><br />
<p>So it took me a little while to gather the right set of docs to get this working but I find it useful when in places where you can get http/https connections but nothing else.</p>
<p>This is using tun network interface so make sure that is available on your server.</p>
<p>I also created a dummy0 with a random ip 192.168.123.1 so I could connect to services on my server without bypassing the VPN tunnel. The dns server running on 192.168.123.1 redirects server.external to that ip address.</p>
<p>Anyway here is my server config.</p>
<div><a href="http://www.xora.org.uk/wordpress/wp-content/uploads/2009/09/openvpn.txt" style="float: right; margin-right: 5px;">Download</a>
<pre lang="*">
</pre>
</div>
<p>As you can see OpenVPN binds to the external port 443 and forwards non VPN traffic to localhost:443 where the webserver is listening.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xora.org.uk/2009/09/06/openvpn-hiding-in-https/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>OMAP3 SD Booting</title>
		<link>http://www.xora.org.uk/2009/08/14/omap3-sd-booting/</link>
		<comments>http://www.xora.org.uk/2009/08/14/omap3-sd-booting/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 11:18:46 +0000</pubDate>
		<dc:creator>XorA</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.xora.org.uk/?p=92</guid>
		<description><![CDATA[There is an updated and bugfixed version of this script now added to the OE git repository where all updates from now will be done.
Latest Version
Since the instructions to format an SD card for booting with beagle/zoom2/other omap boards seems to be so complex I decided to write a script that was nice and simple [...]]]></description>
			<content:encoded><![CDATA[<p><strong>There is an updated and bugfixed version of this script now added to the OE git repository where all updates from now will be done.</strong><br />
<a href="http://cgit.openembedded.org/cgit.cgi/openembedded/tree/contrib/angstrom/omap3-mkcard.sh"><strong>Latest Version</strong></a></p>
<p>Since the instructions to format an SD card for booting with beagle/zoom2/other omap boards seems to be so complex I decided to write a script that was nice and simple to accomplish the same task.</p>
<p>Here is my tested and working script.</p>
<div><a href="http://www.xora.org.uk/wp-content/uploads/2009/08/mkcard.sh" style="float: right; margin-right: 5px;">Download</a>
<pre lang="*">#! /bin/sh

DRIVE=$1

dd if=/dev/zero of=$DRIVE bs=1024 count=1024

SIZE=`fdisk -l $DRIVE | grep Disk | awk '{print $5}'`

echo DISK SIZE - $SIZE bytes

CYLINDERS=`echo $SIZE/255/63/512 | bc`

echo CYLINDERS - $CYLINDERS

{
echo ,9,0x0C,*
echo ,,,-
} | sfdisk -D -H 255 -S 63 -C $CYLINDERS $DRIVE

mkfs.vfat -F 32 -n "boot" ${DRIVE}1
mke2fs -j -L "rootfs" ${DRIVE}2
</pre>
</div>
<p>To run this script you will require to run it as root. On Ubuntu or other linux with sudo setup run the script as</p>
<blockquote><p>
sudo sh mkcard.sh /dev/sdX
</p></blockquote>
<p>replacing sdX with the base device name of your SD card device.</p>
<p>If your running a distribution without sudo setup then become root then run the script as</p>
<blockquote><p>
su -<br />
sh mkcard.sh /dev/sdX
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.xora.org.uk/2009/08/14/omap3-sd-booting/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>OMAP Zoom2 Day 4</title>
		<link>http://www.xora.org.uk/2009/07/27/omap-zoom2-day-4/</link>
		<comments>http://www.xora.org.uk/2009/07/27/omap-zoom2-day-4/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 10:52:35 +0000</pubDate>
		<dc:creator>XorA</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.xora.org.uk/?p=84</guid>
		<description><![CDATA[Ok, as the kernel and rootfs are working to some degree and the autobuilders are making omapzoom2 packages and narcissus is generating zoom2 image I made it official today. Ångström supports the zoom2 officially now!
http://www.angstrom-distribution.org/omap-zoom2-support
]]></description>
			<content:encoded><![CDATA[<p>Ok, as the kernel and rootfs are working to some degree and the autobuilders are making omapzoom2 packages and narcissus is generating zoom2 image I made it official today. Ångström supports the zoom2 officially now!</p>
<p>http://www.angstrom-distribution.org/omap-zoom2-support</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xora.org.uk/2009/07/27/omap-zoom2-day-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OMAP Zoom2 Day 3</title>
		<link>http://www.xora.org.uk/2009/07/14/omap-zoom2-day-3/</link>
		<comments>http://www.xora.org.uk/2009/07/14/omap-zoom2-day-3/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 09:32:05 +0000</pubDate>
		<dc:creator>XorA</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.xora.org.uk/2009/07/14/omap-zoom2-day-3/</guid>
		<description><![CDATA[Fixed/discovered why I was having touchscreen issues, now touchscreen is working.
Found out why gpe-login was dieing, Xorg uses neon via pixman but the default andoid config doesn&#8217;t enable neon in kernel so fixed that.
This means that the zoom2 can now boot x11-image fully. I guess this means Angstrom supports OMAP Zoom2 I shall have to [...]]]></description>
			<content:encoded><![CDATA[<p>Fixed/discovered why I was having touchscreen issues, now touchscreen is working.</p>
<p>Found out why gpe-login was dieing, Xorg uses neon via pixman but the default andoid config doesn&#8217;t enable neon in kernel so fixed that.</p>
<p>This means that the zoom2 can now boot x11-image fully. I guess this means Angstrom supports OMAP Zoom2 I shall have to update the Angstrom website later/tomorrow to reflect this status.</p>
<p>Only bit of work I would like to finish now before calling it totally complete is to work out why mainstream u-boot cannot boot kernels. It would be nice to use that as its defineately got some bugs fixed with FAT mmc cards.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xora.org.uk/2009/07/14/omap-zoom2-day-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OMAP Zoom2 Day 2</title>
		<link>http://www.xora.org.uk/2009/07/10/omap-zoom2-day-2/</link>
		<comments>http://www.xora.org.uk/2009/07/10/omap-zoom2-day-2/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 21:21:15 +0000</pubDate>
		<dc:creator>XorA</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.xora.org.uk/?p=74</guid>
		<description><![CDATA[Well more progress today on Ångström support for the Zoom2.
After trying different kernels I found the android/omap 2.6.29 kernel would compile and successfully boot on the Zoom2. This is also the first kernel I have found where fbdev works.
Xorg will now run and is using accellerated omapfb driver and I have had windows working. touchscreen [...]]]></description>
			<content:encoded><![CDATA[<p>Well more progress today on Ångström support for the Zoom2.</p>
<p>After trying different kernels I found the android/omap 2.6.29 kernel would compile and successfully boot on the Zoom2. This is also the first kernel I have found where fbdev works.</p>
<p>Xorg will now run and is using accellerated omapfb driver and I have had windows working. touchscreen for some reason is broken and gpe-login bails out so we cant yet use Xorg. But this is a massive step forward.</p>
<p>Also needed is to work out why OE built u-boot mainline will not boot kernels. There is some important FAT compatability work that makes mainline u-boot more desirable.</p>
<p>Getting ever closer to full Ångström support though!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xora.org.uk/2009/07/10/omap-zoom2-day-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OMAP Zoom2 Day 1</title>
		<link>http://www.xora.org.uk/2009/07/10/omap-zoom2-day-1/</link>
		<comments>http://www.xora.org.uk/2009/07/10/omap-zoom2-day-1/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 08:01:50 +0000</pubDate>
		<dc:creator>XorA</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.xora.org.uk/?p=71</guid>
		<description><![CDATA[
So, thanks to a generous donation from TI I got to start working on Ångström support for the Zoom2 devkit last night.
After some false starts while trying to decode conflicting documents I managed to get it to boot from the SD card with a u-boot that was built from OE.
The mainline linux-omap is currently broken [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.xora.org.uk/album/default/newtoy.jpg" title="newtoy"><img src="http://www.xora.org.uk/wordpress/wp-content/photos/newtoy.jpg" class="pp_image" alt="newtoy" width="450" height="417" /></a></p>
<p>So, thanks to a generous donation from TI I got to start working on Ångström support for the Zoom2 devkit last night.</p>
<p>After some false starts while trying to decode conflicting documents I managed to get it to boot from the SD card with a u-boot that was built from OE.</p>
<p>The mainline linux-omap is currently broken for omap2/3 so I resorted to the TI kernel from omapzoom.org which I managed to get to compile in OE fairly easilly. I also generated an x11-image.</p>
<p>The kernel seems to boot but when it gets to starting init strange things happen. It looks almost as if it slows the clock down to something silly like 10Mhz as it takes 3-4 minutes just to get to the udev 141 starting message. Then after about 20 mins doesnt apear to have done much else.</p>
<p>More work to do on this tonight!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xora.org.uk/2009/07/10/omap-zoom2-day-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Servers</title>
		<link>http://www.xora.org.uk/2009/05/28/servers/</link>
		<comments>http://www.xora.org.uk/2009/05/28/servers/#comments</comments>
		<pubDate>Thu, 28 May 2009 14:57:37 +0000</pubDate>
		<dc:creator>XorA</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.xora.org.uk/?p=67</guid>
		<description><![CDATA[Well second server is hear with drives now so its getting really loud in the office  
rsyncing the data from the old server to the new, going pretty damn quick!!!!
In the last few days I have also enhanced my Wordpress theme editing skills and played around with remembering how to write sh scripts. Ill [...]]]></description>
			<content:encoded><![CDATA[<p>Well second server is hear with drives now so its getting really loud in the office <img src='http://www.xora.org.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>rsyncing the data from the old server to the new, going pretty damn quick!!!!</p>
<p>In the last few days I have also enhanced my Wordpress theme editing skills and played around with remembering how to write sh scripts. Ill have to put this to use on my own Wordpress to make a better theme for me. Quite a difficult task as I lack most artistic talents <img src='http://www.xora.org.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.xora.org.uk/2009/05/28/servers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ending It</title>
		<link>http://www.xora.org.uk/2006/09/15/ending-it/</link>
		<comments>http://www.xora.org.uk/2006/09/15/ending-it/#comments</comments>
		<pubDate>Fri, 15 Sep 2006 20:35:07 +0000</pubDate>
		<dc:creator>XorA</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.xora.org.uk/2006/09/15/ending-it/</guid>
		<description><![CDATA[Well I have spent the last week trying to brain dump everything I know about the IT systems to the person who will be taking over.
Who would have thought it was so hard to remeber what you know. Then trying to contruct that knowledge into some form of order is even harder.
Well only a week [...]]]></description>
			<content:encoded><![CDATA[<p>Well I have spent the last week trying to brain dump everything I know about the IT systems to the person who will be taking over.</p>
<p>Who would have thought it was so hard to remeber what you know. Then trying to contruct that knowledge into some form of order is even harder.</p>
<p>Well only a week left and I leave IT Management for embedded linux.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xora.org.uk/2006/09/15/ending-it/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quietness</title>
		<link>http://www.xora.org.uk/2006/03/17/quietness/</link>
		<comments>http://www.xora.org.uk/2006/03/17/quietness/#comments</comments>
		<pubDate>Fri, 17 Mar 2006 14:33:05 +0000</pubDate>
		<dc:creator>XorA</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.xora.org.uk/wordpress/?p=30</guid>
		<description><![CDATA[Its wierdly quiet in work today, seems to be alot of people on holiday.
Well first two unlucky people of this set of redundancies left the building this afternoon.
Bored!
]]></description>
			<content:encoded><![CDATA[<p>Its wierdly quiet in work today, seems to be alot of people on holiday.</p>
<p>Well first two unlucky people of this set of redundancies left the building this afternoon.</p>
<p>Bored!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xora.org.uk/2006/03/17/quietness/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
