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.

Finit in Linux Containers (LXC)

- 3 mins read

This is a mini-HowTo on running Finit in an LXC system container. We will be using a variant (external) of Buildroot, called NetBox to create a squashfs (read-only) image for the root filesystem. Then we will give the container a single writable directory from which it then uses bind mount to emulate a full-blown system.

It is expected you have LXC installed and all the relevant build tools needed to create the image. How to set that up is not covered by this tutorial.

Micro Tetris™

- 1 min read
Micro Tetris — one of the smallest Tetris implementations in the world! Utilizing only ANSI escape sequences to draw the board, no external library dependencys other than a standard C-library, like uClibc or musl libc. Hence, it is very suitable for small embedded devices in need of an easter egg ;-) The game is based on a 1989 International Obfuscated C Code Contest (IOCCC) entry made by John Tromp.

The original multicast routing daemon

- 2 mins read
mrouted is an implementation of the IPv4 multicast routing protocol DVMRP, RFC 1075. It is capable of turning a UNIX workstation, or Linux device, into a multicast router with tunneling support. Tunneling may be required to cross non-multicast-aware routers. The Distantance Vector Multicast Routing Protocol (DVMRP), derived from RIP, is suitable for smaller/dense networks. It employs the “flood and prune” method, where multicast is flooded until neighboring routers opt out from unwanted multicast groups.

smcroute.conf example

- 3 mins read
# # smcroute.conf example # # The configuration file supports joining multicast groups, to use # Layer-2 signaling so that switches and routers open up multicast # traffic to your interfaces. Leave is not supported, remove the # mgroup and SIGHUP your daemon, or send a specific leave command. # # NOTE: Use of the mgroup command should be avoided if possible. # Instead configure "router ports" or similar on the switches # or bridges on your LAN.