Writing a Linux Kernel Module — Part 3: Buttons and LEDs

Introduction
In this series of articles I describe how you can write a Linux loadable kernel module (LKM) for an embedded Linux device. This is the third article in the series — please read:

Writing a Linux Kernel Module — Part 1: Introduction, and
Writing a Linux Kernel Module — Part 2: A Character Device,

before moving on to this article, as those articles […]

By |April 26th, 2015|Beaglebone, Blog, Linux|40 Comments

Writing a Linux Kernel Module — Part 2: A Character Device

Introduction
In this series of articles I describe how you can write a Linux loadable kernel module (LKM) for an embedded Linux device. This is the second article in the series — please read “Writing a Linux Kernel Module — Part 1: Introduction” before moving on to this article, as it explains how to build, load and unload loadable kernel modules […]

By |April 18th, 2015|Beaglebone, Blog, Linux|20 Comments

Writing a Linux Kernel Module — Part 1: Introduction

Introduction
In this series of articles I describe how you can write a Linux kernel module for an embedded Linux device. I begin with a straightforward “Hello World!” loadable kernel module (LKM) and work towards developing a module that can control GPIOs on an embedded Linux device (such as the BeagleBone) through the use of IRQs. I will add further follow-up […]

By |April 14th, 2015|Beaglebone, Blog, Linux|28 Comments

Introduction to CMake by Example

Introduction
This article provides a straightforward set of “Hello World!” introductions to using CMake for building C++ projects. All steps are performed using Linux on the BeagleBone platform, but the instructions are relevant to most Linux platforms.
The make utility and Makefiles provide a build system that can be used to manage the compilation and re-compilation of programs that are written in any programming […]

By |April 1st, 2015|Beaglebone, General, Linux|26 Comments

CGI using C++ on the BeagleBone (Ggicc)

Introduction
In Chapter 10 of my book (pg. 388-393), Exploring BeagleBone, I describe how you can build web-based CGI applications that can interface with electronics hardware that is attached to the BeagleBone using Bash scripts that call C/C++ programs. The solution works well for very straightforward applications, but this discussion investigates more advanced solutions for applications where there are more complex interactions — for example, […]

By |March 27th, 2015|Beaglebone, Embedded Systems, Linux, Raspberry PI|3 Comments

Resize a VirtualBox guest Linux VDI Disk under Windows Host

My Linux VirtualBox guest OS often runs out of space – I never learn that to build anything in Linux, you need about 10 times the amount of space that you think you need. Also, VirtualBox recommends very small default values, so it is easy to be caught out.

Anyway, here are the current steps to re-size a VirtualBox disk, where Linux is the […]

By |April 21st, 2013|Blog, General, Linux|158 Comments

Linux Portscan Your Network

It can often be the case that you need to scan the network to find a particular machine that has received a different IP address under a DHCP (Dynamic Host Configuration Protocol) allocation.

The easiest way to do this under Linux is to use:

Where I am scanning in the range of DHCP allocation that I have allocated on my network. My […]

By |April 20th, 2013|Blog, General, Linux|0 Comments