<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Linux on Miek Gieben</title>
    <link>https://miek.nl/tags/linux/</link>
    <description>Recent content in Linux on Miek Gieben</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <copyright>© Copyright 2007-2024 Miek Gieben</copyright>
    <lastBuildDate>Sat, 06 Jun 2015 11:13:00 +0000</lastBuildDate>
    <atom:link href="https://miek.nl/tags/linux/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Go and Alpine Linux</title>
      <link>https://miek.nl/2015/june/06/go-and-alpine-linux/</link>
      <pubDate>Sat, 06 Jun 2015 11:13:00 +0000</pubDate>
      <guid>https://miek.nl/2015/june/06/go-and-alpine-linux/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.alpinelinux.org/&#34;&gt;Alpine Linux&lt;/a&gt; is &lt;em&gt;the&lt;/em&gt; small Linux OS everybody&#xA;is using for Docker images. It is super small and has a sh*tload of packages.&#xA;It&amp;rsquo;s libc is &lt;a href=&#34;http://www.musl-libc.org/&#34;&gt;musl libc&lt;/a&gt;, which is different than&#xA;glibc most other Linux distros are using. When deploying Go on such a image you&#xA;want a truly static binary.&lt;/p&gt;&#xA;&lt;p&gt;Building a static binary can be done with the following command (this is for&#xA;&lt;a href=&#34;https://github.com/miekg/skydns&#34;&gt;SkyDNS&lt;/a&gt;):&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;% go build -ldflags &amp;quot;-linkmode external -extldflags -static&amp;quot;&#xA;# github.com/miekg/skydns&#xA;/var/tmp/go-link-FI6Ox0/000000.o: In function `_cgo_632c88804cec_C2func_getaddrinfo&#39;:&#xA;/home/miek/upstream/go/src/net/cgo_unix.go:55: warning: Using &#39;getaddrinfo&#39; in&#xA;statically linked applications requires at runtime the shared libraries from the&#xA;glibc version used for linking&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;That ugly warning is because glibc uses nss(5) &amp;ldquo;Nameserver Service Switch&amp;rdquo; which&#xA;uses dlopen(3) to &lt;em&gt;dynamically&lt;/em&gt; load the correct resolver library. The end&#xA;result is that the Go binary &lt;em&gt;can&amp;rsquo;t resolve any DNS records&lt;/em&gt;!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pi cluster fun</title>
      <link>https://miek.nl/2015/february/15/pi-cluster-fun/</link>
      <pubDate>Sun, 15 Feb 2015 16:21:00 +0000</pubDate>
      <guid>https://miek.nl/2015/february/15/pi-cluster-fun/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve bought 3 Raspberry Pis (B+, a week before the announcement of the Pi 2), and created&#xA;a little cluster with them. Each Pi is connected to wireless (192.168.1.0/24) and they share an&#xA;internal, wired, 10.248.0.0/16 network.&lt;/p&gt;&#xA;&lt;h2 id=&#34;virtual-ip&#34;&gt;Virtual IP&lt;/h2&gt;&#xA;&lt;p&gt;I want one IP address to be load balanced across the three Pis. This can be with the&#xA;&lt;a href=&#34;http://security.maruhn.com/iptables-tutorial/x8906.html&#34;&gt;CLUSTERIP&lt;/a&gt; target in &lt;code&gt;iptables&lt;/code&gt;. In&#xA;&lt;a href=&#34;http://www.raspbian.org/&#34;&gt;raspbian&lt;/a&gt; the kernel module for this was not enabled, but luckily&#xA;this was &lt;a href=&#34;https://github.com/raspberrypi/linux/issues/812&#34;&gt;fixed&lt;/a&gt; very quickly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>xmodmap is dead</title>
      <link>https://miek.nl/2014/october/28/xmodmap-is-dead/</link>
      <pubDate>Tue, 28 Oct 2014 20:18:00 +0000</pubDate>
      <guid>https://miek.nl/2014/october/28/xmodmap-is-dead/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m using an Apple keyboard at work since a day or two, but for some reason this keyboard&#xA;has a special key for eject, because in 1898 that was useful when you wanted to eject&#xA;a cdrom.&lt;/p&gt;&#xA;&lt;img alt=&#34;Apple Keyboard&#34; width=&#34;300px&#34; src=&#34;https://miek.nl/images/apple.jpg&#34; title=&#34;Apple keyboard with the eject key&#34; /&gt;&#xA;&lt;p&gt;Anyway making this key do something useful proved incredible painful, especially since&#xA;&lt;code&gt;xmodmap&lt;/code&gt; is deprecated and we should all use xkb (&lt;code&gt;setxkbmap&lt;/code&gt; and&lt;code&gt;xkbcomp&lt;/code&gt;). In our new&#xA;world of hotplugging everything this kinda makes sense (xmodmap settings are lost when your&#xA;USB keyboard goes to sleep).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Short kernel compile howto for Debian/Ubuntu</title>
      <link>https://miek.nl/2013/september/10/short-kernel-compile-howto-for-debian/ubuntu/</link>
      <pubDate>Tue, 10 Sep 2013 08:18:00 +0000</pubDate>
      <guid>https://miek.nl/2013/september/10/short-kernel-compile-howto-for-debian/ubuntu/</guid>
      <description>&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Download the kernel&amp;rsquo;s source from &lt;a href=&#34;http://kernel.org&#34;&gt;http://kernel.org&lt;/a&gt;;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Unpack it somewhere (will use &lt;code&gt;~/src/linux-3.11&lt;/code&gt; here);&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Copy the config from the distribution over;&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt; cp /boot/config-3.8.0.30-generic ~/src/linux-3.11/.config&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Apply any patches;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Go to the kernel source and create an up to date config.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt; make oldconfig&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Just use the defaults for all the questions you&amp;rsquo;ll get;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Compile the kernel into a debian package for easy installation and&#xA;removal.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt; fakeroot make-kpkg --initrd -j 8 --revision 3.11custom kernel_image&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Install the resulting .deb file and reboot.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Macbook Air (6,1) 2013 model with Ubuntu</title>
      <link>https://miek.nl/2013/august/31/macbook-air-61-2013-model-with-ubuntu/</link>
      <pubDate>Sat, 31 Aug 2013 11:48:00 +0000</pubDate>
      <guid>https://miek.nl/2013/august/31/macbook-air-61-2013-model-with-ubuntu/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Assorted notes, not a step-by-step HOWTO!&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;How to get Ubuntu Raring (13.04) up and running on your shining new MacbookAir. Note some things&#xA;are not working (yet). This is with 3.11:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;audio (speakers don&amp;rsquo;t work, plugged in headset does work), however see this&#xA;&lt;a href=&#34;https://bugzilla.kernel.org/attachment.cgi?id=107811&#34;&gt;latest patch&lt;/a&gt;;&lt;/li&gt;&#xA;&lt;li&gt;webcam (see &lt;a href=&#34;http://mactaris.blogspot.co.uk/2013/07/webcam-settings-20-will-support.html&#34;&gt;http://mactaris.blogspot.co.uk/2013/07/webcam-settings-20-will-support.html&lt;/a&gt; for a list of changes, it is not a UVC device anymore);&lt;/li&gt;&#xA;&lt;li&gt;after a resume the screen brightness only knows on/off.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Expectation for 3.12 (when released), everything is working, except:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Make GNOME3 usable</title>
      <link>https://miek.nl/2013/june/03/make-gnome3-usable/</link>
      <pubDate>Mon, 03 Jun 2013 18:50:00 +0000</pubDate>
      <guid>https://miek.nl/2013/june/03/make-gnome3-usable/</guid>
      <description>&lt;p&gt;GNOME3 in the default install is unusable, not as bad as Unity, but bad. Luckily&#xA;with some &lt;strike&gt;minor&lt;/strike&gt; tweaking it can be made to work quite nicely.&lt;/p&gt;&#xA;&lt;p&gt;These are some assorted notes on how I got stuff working the way I like.&lt;/p&gt;&#xA;&lt;p&gt;From a fresh Ubuntu install, install GNOME3:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;sudo apt-get install gnome-desktop-environment&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Then:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Normal focus mode:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt; gsettings set org.gnome.desktop.wm.preferences focus-mode &#39;sloppy&#39;&#xA; gsettings set org.gnome.desktop.wm.preferences auto-raise false &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Extensions:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
