lua


Getting started with NetBSD on embedded platforms (Part 2) – London 18/5/2017

On the 18 May 2017, 18:00 – 20:00 at BCS London, 1st Floor, The Davidson Building, 5 Southampton Street, London, WC2E 7HA, [map] (51.510812, -0.121733)

Please register to attend and share on Lanyrd.

Workshop scope

Following on from the previous workshop, we will be continuing with the theme of NetBSD on embedded platforms. This time covering GPIO access with lua and rapid development with Rump kernel, which we did not get to in the previous workshop due to the lack of time.

If you did not get to attend the previous workshop, not to worry, notes are available and assistance will be provided on the day.

Participant requirements

You will need to bring:

  • Your own laptop (running Windows, Linux or Mac OS X);
  • A Raspberry Pi or BeagleBone Black;
  • An appropriate SD card for your board;
  • USB card reader to write a new OS image onto said SD card;
  • An ethernet cable to connect board to laptop and/or a USB UART/FTDI adapter to access the board via the serial console.

Windows 10 users

(more…)


Getting started with NetBSD on embedded platforms – London 20/4/2017

NetBSDOn the 20 April 2017, 17:30 – 20:00 at BCS London, 1st Floor, The Davidson Building, 5 Southampton Street, London, WC2E 7HA, [map] (51.510812, -0.121733)

Please register to attend and share on Lanyrd.

Workshop scope

You’re hired at the latest startup as a hardware engineer and required to build the firmware which will run on “The Greatest Next Generation Appliance” (GNA). The GNA boots, prints a message and interacts with a device (in this case an LED).

In this workshop we cover how a person with an interest and a focus on hardware can make progress with the software side by using the NetBSD operating system and the features it offers to save considerable time and effort.

  • NetBSD supports a wide & diverse range of systems & CPU architectures.
  • Support for cross compilation is offered by default and works out of the box.
  • There is a high level language interface to interact with the system internals.
  • File integrity verification support to detect tampering of binaries and preventing execution is builtin.
  • An instance of the kernel can be run as a user process on different operating systems where rapid development can take place.

Things we will cover:

  1. An introduction to cross-compilation with build.sh and constructing an image to boot on your hardware.
  2. Interacting with the system using Lua (which is embedded in the kernel, avoiding having to write C or have knowledge of OS internals) to e.g. access GPIO.
  3. Preventing the execution of tampered or unauthorised binaries with veriexec.
  4. Using rump kernel for rapid development away from a potentially slow dev board.

(more…)