<?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>Subjektive Wahrnehmung &#187; Linux</title>
	<atom:link href="http://blog.gegg.us/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.gegg.us</link>
	<description>Ein Blog über Freie Software, (Netz-)politik und mehr</description>
	<lastBuildDate>Fri, 03 Feb 2012 22:01:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Why I would never swap my FOOS OS to a proprietary one</title>
		<link>http://blog.gegg.us/2011/06/why-i-would-never-swap-my-foos-os-to-a-proprietary-one/</link>
		<comments>http://blog.gegg.us/2011/06/why-i-would-never-swap-my-foos-os-to-a-proprietary-one/#comments</comments>
		<pubDate>Sat, 04 Jun 2011 23:52:21 +0000</pubDate>
		<dc:creator>giggls</dc:creator>
				<category><![CDATA[FOSS]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.gegg.us/?p=956</guid>
		<description><![CDATA[At my workplace we started the policy that devices leaving the campus must be encrypted. For this reason I created a USB pen-drive based boot scenario for our Debian based Laptops which allows for a completely encrypted drive using LUKS a couple of years ago. However, the encryption of the pen-drives themselves has been a [...]]]></description>
			<content:encoded><![CDATA[<p>At my workplace we started the policy that devices leaving the campus must be encrypted. For this reason I created a USB pen-drive based boot scenario for our Debian based Laptops which allows for a completely encrypted drive using <a href="http://code.google.com/p/cryptsetup/">LUKS</a> a couple of years ago.</p>
<p>However, the encryption of the pen-drives themselves has been a problem ever since we started to follow this policy. Devices like Kingston DataTraveler Vault are Windows only and alternative solutions are rare.</p>
<p>Fortunately I recently discovered the Corsair Padlock devices which might be a solution for people who need platform independent encrypted USB storage.</p>
<p>When testing one of those devices I thought about securing my laptop kernels with such a thing,  because this would remove or at least reduce the attack option (unencrypted kernel and initrd) left in my encrypted laptop drive setup.</p>
<p>Well this is where the problem started and where one oft the best software support in the world (this of the linux kernel) was again<br />
able to solve it by just sending a few mails around the globe.</p>
<p><strong>So here comes the whole story:</strong></p>
<p>Quite a lot of BIOS are unable to boot from a so called Superfloppy device (no partition at all). For this reason I just added one to my Padlock2 device. Unfortunately this device could not be detected by Linux but worked fine in M$-Windows.</p>
<p>Sending an error report and some debug output to the usb-storage mailing-list revealed some strange bug (or just a tricky windows only workaround to enable hardware encryption?) in the Padlock device not showing the correct partition Information on the first read by the OS. Windows reads a bunch of stuff before looking at the<br />
partition data so the problem does not arise there.</p>
<p>And here comes the real beauty of FOOS. I got a patch which worked around the problem just a couple of hours later from somebody a thousand kilometeres away (credits go to Alan Stern) and fortunately this patch will go into Linux 3.0.1.</p>
<p>Problem solved <img src='http://blog.gegg.us/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>This is not the first time something like this happened. I&#8217;m a 100% certain that something like this would never be possible in a closed source world which is all about workarounds in application Software because it is just impossible to send an email to the maintainer of a particular piece of OS code.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gegg.us/2011/06/why-i-would-never-swap-my-foos-os-to-a-proprietary-one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A WMS-server in about 100 lines of code&#8230;</title>
		<link>http://blog.gegg.us/2010/11/a-wms-server-in-about-100-lines-of-code/</link>
		<comments>http://blog.gegg.us/2010/11/a-wms-server-in-about-100-lines-of-code/#comments</comments>
		<pubDate>Sat, 06 Nov 2010 16:23:55 +0000</pubDate>
		<dc:creator>giggls</dc:creator>
				<category><![CDATA[FOSSGIS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Openstreetmap]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.gegg.us/?p=821</guid>
		<description><![CDATA[or how to use geoimage.at and others in josm A few weeks ago a few austrian mappers contacted me because we are now allowed to us the WMS server at http://geoimage.at/ for mapping. Unfortunately the data is currently only available in an austrian koordinate system (EPSG:31287). With EPSG:4326 beeing unavailable this is in fact a [...]]]></description>
			<content:encoded><![CDATA[<p><b>or how to use geoimage.at and others in josm</b></p>
<p>A few weeks ago a few austrian mappers contacted me because we are now allowed to us the WMS server at <a href="http://geoimage.at/">http://geoimage.at/</a> for mapping.</p>
<p>Unfortunately the data is currently only available in an austrian koordinate system (EPSG:31287). With EPSG:4326 beeing unavailable this is in fact a violation of the WMS spec <img src='http://blog.gegg.us/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>This could however be easily fixed using UMN-Mapserver as WMS-proxy, but unfortunately we are not allowed to do this at <a href="/2010/01/announcing-wms-openstreetmap-de/">wms.openstreetmap.de</a>because we are not permitted to set up a cascading WMS based on their rules.</p>
<p>Anyway, with my wms.openstreetmap.de setup already using the python wsgi-interface (apache mod_wsgi) I thought that a standalone UMN-Mapserver based WMS-server should be very easy to hack, given the fact, that all the difficult stuff is already available in python and mapscript. Well, my presumption proved to be true <img src='http://blog.gegg.us/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So here is my <a href="http://geggus.net/osm/simplewms.tar.gz">standalone WMS-server</a> written in roughly 100 lines of python code.</p>
<p>As far as geoimage.at is concerned, there are already other solutions at the <a href="http://wiki.openstreetmap.org/wiki/WikiProject_Austria/geoimage.at">OSM-Wiki page</a>, but this was fun to hack and might be useful for other purposes as well. An advantage of my solution is that it is possible to use the Austrian <a href="http://www.bev.gv.at/portal/page?_pageid=713,1604469&#038;_dad=portal&#038;_schema=PORTAL">GIS-grid file</a> for reprojection to achieve the highest possible accuracy. For this purpose the proj4-definition for EPSG:31287 (defined in /usr/share/proj/epsg on Linux) must look like this:</p>
<p><code><31287> +proj=lcc +lat_1=49 +lat_2=46 +lat_0=47.5 +lon_0=13.33333333333333 +x_0=400000 +y_0=400000 +ellps=bessel +units=m +nadgrids=/path/to/GIS_GRID_austria.gsb +no_defs</code></p>
<p>I would be interested in feedback on how to get this to work on Windows as well. Talking about Linux this has only been a matter of typing <code>apt-get install python-mapscript</code> and adjusting the proj4 definition file to use the GIS-grid.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gegg.us/2010/11/a-wms-server-in-about-100-lines-of-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When running kernel.org kernels you are on your own :(</title>
		<link>http://blog.gegg.us/2010/09/when-running-kernel-org-kernels-you-are-on-your-own/</link>
		<comments>http://blog.gegg.us/2010/09/when-running-kernel-org-kernels-you-are-on-your-own/#comments</comments>
		<pubDate>Sun, 19 Sep 2010 13:19:21 +0000</pubDate>
		<dc:creator>giggls</dc:creator>
				<category><![CDATA[FOSS]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.gegg.us/?p=763</guid>
		<description><![CDATA[A few days ago a local root exploit for the Linux Kernel has been posted and is available from all over the Internet now. As usual in recent years the kernel.org people just fixed it silently without mentioning in the commit log that this is a mayor security fix. People like me which are still [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago <a href="http://sota.gen.nz/compat2/robert_you_suck.c">a local root exploit</a> for the Linux Kernel has been posted and is available from all over the Internet now.</p>
<p>As usual in recent years the kernel.org people just fixed it silently without mentioning in the commit log that this is a mayor security fix.</p>
<p>People like me which are still running kernel.org kernels and which are actually the people reporting bugs in recent kernels are actually drawing the shortest straw here now <img src='http://blog.gegg.us/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>IMO it is a shame that there is still no 2.6.35.5 Kernel available which fixes this flaw.</p>
<p>So what I will need to do now is trying to repair this by merging the <a href="http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=patch;h=c41d68a513c71e35a14f66d71782d27a79a81ea6">fix</a> from git.kernel.org to 2.6.35.4&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gegg.us/2010/09/when-running-kernel-org-kernels-you-are-on-your-own/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Best of breed CAN device driver hitting mainline Linux Kernel 2.6.31</title>
		<link>http://blog.gegg.us/2009/06/best-of-breed-can-device-driver-hitting-mainline-linux-kernel-2631/</link>
		<comments>http://blog.gegg.us/2009/06/best-of-breed-can-device-driver-hitting-mainline-linux-kernel-2631/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 18:33:37 +0000</pubDate>
		<dc:creator>giggls</dc:creator>
				<category><![CDATA[Controller Area Network]]></category>
		<category><![CDATA[FOSS]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.gegg.us/?p=104</guid>
		<description><![CDATA[Starting with the upcoming 2.6.31 Linux Kernel (already available as 2.6.31-rc1) a functional version of the socketcan device driver found its way into mainline. While socketcan itself has been in mainline for quite a while, there where no drivers for actual real-world hardware. This has now changed and I will therefore be able to run [...]]]></description>
			<content:encoded><![CDATA[<p>Starting with the upcoming 2.6.31 Linux Kernel (already available as 2.6.31-rc1) a functional version of the socketcan device driver found its way into mainline. </p>
<p>While socketcan itself has been in mainline for quite a while, there where no drivers for actual real-world hardware. This has now changed and I will therefore be able to run a Kernel which is one step closer to mainline.</p>
<p>Unfortunately however some kind of <a href="http://valerieaurora.org/union/">unioning filesystem</a> is still missing.</p>
<p>Anyway, back to <a href="http://en.wikipedia.or/wiki/CAN-bus">Controller–area network</a>!</p>
<p>Since I wrote my own CAN device driver as a character device a couple of years ago I started thinking about a CAN-bus driver beeing implemented as a Network device. I wrote my own driver in the first place, because I needed concurrent access which is (needless to say) also possible with socketcan.</p>
<p>Fortunately two guys at Volkswagen Research finally started doing exactly this. Thank you to the socketcan people for providing such a nice piece of software!</p>
<p>So here is a mini HOWTO for getting it up and running.</p>
<p><strong>What you need:</strong></p>
<ul>
<li>A GNU/Linux machine</li>
<li>A decent Kernel (2.6.31-rc1 or higher)</li>
<li>git and subversion</li>
<li>A supported CAN-bus card. I&#8217;m using one sold by <a href="http://www.ems-wuensche.de/">EMS Wünsche</a>, but a lot of other SJA1000 based cards may also work.</li>
<li>The simple userland utilities from svn://svn.berlios.de/socketcan/trunk/can-utils</li>
<li>A decent Version of <a href="http://www.linuxfoundation.org/en/Net:Iproute2">iproute2</a> (not yet available in current GNU/Linux distributions at the time of writing)</li>
</ul>
<p><strong>How to get it up and running:</strong></p>
<p>First of all compile and boot a Kernel where all CAN-related support is enabled either as a module or build into the Kernel.<br />
Afterwords check out the userland utilities from subversion (<code>svn checkout svn://svn.berlios.de/socketcan/trunk/can-utils</code>) and compile them by just typing <code>make</code>.<br />
Same goes for iproute2 (<code>git clone git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git</code>); just type <code>make</code> as well. Copy all the resulting binaries to an appropriate place (e.g. /usr/local/bin). Do not use <code>make install</code> at least in iproute2 sourcetree, because this will replace your systems <code>ip</code> command.</p>
<p>Now all you need to do ist to enable you can0 interface by means of the following command:</p>
<p><code>ip link set can0 up txqueuelen 1000 type can bitrate 1000000</code></p>
<p>Use another value than 1000000 for different bitrates.</p>
<p>The txqueuelen might not be needed in your case if you don&#8217;t have peak traffic like I do.</p>
<p>OK, that`s it! You can now connect your bus to some device and use <code>candump</code> for watching your raw CAN pakets on the bus.</p>
<p>For integration into Debian GNU/Linux you may use something like the following in <code>/etc/network/interfaces</code> for automatically starting up your can0 device on system boot:</p>
<p><code><br />
--cut--<br />
auto can0<br />
iface can0 inet manual<br />
        # bitrate 1MBps<br />
        # increase TX queue length because of the pulsed nature of<br />
        # the traffic we generate<br />
        up /usr/local/bin/ip link set can0 up txqueuelen 1000 type can bitrate 1000000<br />
        down /sbin/ifconfig $IFACE down<br />
--cut--<br />
</code></p>
<p>See Documentation/networking/can.txt inside your Kernel tree for further documentation.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gegg.us/2009/06/best-of-breed-can-device-driver-hitting-mainline-linux-kernel-2631/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Effektiver Arbeiten auf der GNU bash</title>
		<link>http://blog.gegg.us/2009/06/effektiver-arbeiten-auf-der-gnu-bash/</link>
		<comments>http://blog.gegg.us/2009/06/effektiver-arbeiten-auf-der-gnu-bash/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 19:36:56 +0000</pubDate>
		<dc:creator>giggls</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tipp/hint]]></category>

		<guid isPermaLink="false">http://blog.gegg.us/?p=75</guid>
		<description><![CDATA[Wer mich kennt weiß, dass ich immer noch einen für manche vergleichsweise archaischen Desktop benutze. Streng nach dem alten Motto: Das X-Window System ist dafür da, dass man mehrere Konsolen nebeneinander benutzen kann. Langer Rede kurzer Sinn, die aktuelle Version 4.0.x der Linux Standardshell hat nun zwei nette neue features, die ich natürlich gleich in [...]]]></description>
			<content:encoded><![CDATA[<p>Wer mich kennt weiß, dass ich immer noch einen für manche vergleichsweise <a href="http://www.fvwm.org">archaischen Desktop</a> benutze. Streng nach dem alten Motto: <a href="http://de.wikipedia.org/wiki/X_Window_System">Das X-Window System</a> ist dafür da, dass man mehrere Konsolen nebeneinander benutzen kann.</p>
<p>Langer Rede kurzer Sinn, die aktuelle Version 4.0.x der Linux Standardshell hat nun zwei nette neue features, die ich natürlich gleich in meine .bashrc eingebaut habe.</p>
<p>Unterm Strich erspart man sich das häufige tippen der Kommandos <code>cd</code> und <code>ssh</code>.</p>
<p>Findet der Rechner einen unbekannten Befehl wird geschaut ob es ein Verzeichnis mit passendem Namen gibt, wenn ja wird in dieses Verzeichnis gewechselt. Wenn Nein wird nachgeschaut ob es einen passenden Rechnernamen gibt und wenn das der Fall ist erfolgt ein Remote Login über ssh auf diesem Rechner.</p>
<p>Das ganze sieht so aus:<br />
<code><br />
# Auto-cd feature<br />
shopt -s autocd</p>
<p>function command_not_found_handle() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;host=$(echo $1 |sed -e 's/^.*@//g')<br />
&nbsp;&nbsp;&nbsp;&nbsp;# wenn hostname in .ssh/config, dann ssh dorthin<br />
&nbsp;&nbsp;&nbsp;&nbsp;if grep -q "Host $host" $HOME/.ssh/config; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ssh $*<br />
&nbsp;&nbsp;&nbsp;&nbsp;else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ! getent hosts $host >/dev/null; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo "bash: $*: Kommando nicht gefunden."<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ssh $*<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fi<br />
&nbsp;&nbsp;&nbsp;&nbsp;fi<br />
}<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gegg.us/2009/06/effektiver-arbeiten-auf-der-gnu-bash/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

