Small and Simple DDNS Client

- 2 mins read
In-a-dyn is a small and simple Dynamic DNS, DDNS, client with HTTPS support. It is commonly available in many GNU/Linux distributions, used in off-the-shelf routers and Internet gateways to automate the task of keeping your DNS record up to date with any IP address changes from your ISP. It can also be used in installations with redundant (backup) connections to the Internet. Presentation here. Example The configuration file on most systems is in /etc/inadyn.

Advanced watchdog daemon for Linux

- 1 min read
watchdogd(8) is an advanced system and process supervisor primarily intended for embedded Linux and server systems. It supports “kicking” multiple watchdog timer (WDT) devices and can also monitor critical system resources, supervise the heartbeat of processes1 and record process deadline transgressions. Read more about Built-in Monitors in the extended documentation. The configuration determines how the daemon acts on monitored resources and supervised processes. See watchdogd.conf(5) for how to set up watermarks and trigger external scripts to suit your particular setup.

Buildroot Development Checklist

- 2 mins read

Because I always forget, here’s a reminder to myself on how to use git format-patch and git send-email from the command line.

The following process applies to many other mailing-list based projects as well, with local differences in helper scripts.

Multicast HowTo

- 13 mins read
This HowTo attempts to give some insight into the basics of setting up multicast routing. Both static multicast routing, with SMCRoute, and dynamic multicast routing, with mrouted and pimd. For some use-cases, in particular link-local multicast, it may not be possible to use multicast routing, then I recommend trying out: Bridging networks, see bridge(8) or Linux bridge - how it works igmproxy, mcproxy, or OpenVPN in Layer-2, bridged mode Make sure to check out the FAQ for the most common problems.

Finit custom connectivity check

- 3 mins read

This post shows how you can extend Finit with your own conditions. The example we will use is a simple Internet connectivity checker. When it triggers we start BusyBox ntpd which, if started with any other type of condition (none, default route, etc.) may get stuck trying to resolve pool.ntp.org.

Remap Prev/Next on ThinkPad

- 1 min read
I still use my awesome little ThinkPad X200, in fact I now have more of them and even a few X201’s. They are truly the best machines I’ve ever used! :-) One annoying thing though, when going back to these traditional ThinkPad keyboards is the prev/next keys next to the arrow keys. On modern ones they are PgUp/PgDn and I recently learned how to elegantly remap them in X. Note the difference, below, to the original at ThinkWiki.

Logging to remote syslog servers

- 1 min read
The logger(1) tool in your system, /usr/bin/logger, standardized in IEEE Std 1003.2 (“POSIX.2”), has many different implementations. For Linux users the most common one is part of the util-linux package. I’ve always considered this one of those weird Linux:isms. The logger tool is closely tied to the system log daemon, so in the sysklogd project we ship our own implementation of logger. Our implementation is derived from the Finit project’s logit tool.

Static Multicast Routing Daemon

- 3 mins read
SMCRoute is a daemon and command line tool to manipulate the multicast routing table in the UNIX kernel. Both FreeBSD and Linux kernels are supported, but it may work on other systems as well. SMCRoute can be used as an alternative to dynamic multicast routing daemons like mrouted or pimd when (only) static multicast routes should be maintained or no proper signalling exists. The full documentation of SMCRoute is available in the manual pages, see smcrouted(8), smcroutectl(8), and smcroute.

Your Own Operating System

- 2 mins read
This post shows how you can create your own operating system based on Buildroot. Add your own packages, patches, and your very own flavor to the experience. My own take on this is myLinux, which started out as a TroglOS, and before that as miniroot, by Henrik Nordström. Please feel free to dig around myLinux for more inspiration and tips on how to solve common use-cases. The manual, section 9, describes the basic process of setting up a our customizations as a BR2_EXTERNAL tree.