Get rid of Ubuntu’s network card naming

I’m documenting this in public because I am likely not alone in disliking Ubuntu 16.04′s network interface naming scheme.

All I had to do was pass these kernel parameters when installing to end up with my network interface named ‘eth0′:

biosdevname=0 net.ifnames=0

Simple!

Novell RPL Boot under VirtualBox

One of my recent retrocomputing projects was to set up a Novell NetWare 4.11 server and boot clients from it. Remote boot, or Remote Initial Program Load, was a common method for booting network clients over the LAN before IP became commonplace.

RPL requires a boot ROM on the network card which finds a nearby server, connects to it and downloads a disk image which it then executes. By today’s standards, it’s trivial – but by late 1990s standards, it was anything but.

Skipping past the reminiscing, I spent a few hours trying to get VirtualBox to do RPL boot. Etherboot doesn’t appear to support RPL, so I tracked down a ROM image on Intel’s website. Intel deprecated RPL around 2005, but they’ve kept an old version of their drivers available which contains a boot ROM image supporting RPL.

After uncompressing the download with 7z (using 7z x PRORPL.exe), I was left with two interesting looking files with the extension FLB. One of these is 63,488 bytes, and the other is 139,264 bytes. Installing these in a VirtualBox machine is straightforward but unfortunately undocumented:

vboxmanage setextradata "vmName" VBoxInternal/Devices/pcbios/0/Config/LanBootRom romLocation

Configuring the virtual machine to use the smaller of the two image was fruitless – VirtualBox didn’t complain at all, but instead ran ‘default’ iPXE code. Only when looking in the Log Viewer did I see a reference to the ROM filename and a strange error such as rc=VERR_TOO_MUCH_DATA.

Trial and error showed that the ROM size must be a few kilobytes below the 64kb limit, and a couple more hours searching uncovered AMD’s website which has a file named "Generic BootRom Utility" which contains a 16kb file, RBOOT.ROM, which is a working RPL boot ROM for AMD PCnet network cards, including the PCnet-FAST III card in my virtual machine.

Re-running the vboxmanage command above with the path to the newly discovered boot ROM works a treat. I can now boot a virtual machine straight off a virtual NetWare server – the details of how to do that are coming in a future blog post.

The curious case of the IP Alias

Trying to log on to Skype earlier in the week on my MacBook Pro didn’t work. For some reason it simply wouldn’t connect – it just timed out. Everything else worked absolutely fine, no issues.

Figuring it was an IPv6 issue, I unbound IPv6 from en0 and tried again. Nothing. It wasn’t my Cisco ASA firewall playing games either, although logging on to it showed a vast number of packets dropped from 192.168.1.x on its inside interface (reverse path check, I don’t use 192.168.1.x internally). How could this be?

It turns out that I had a 192.168.1.x bound to en0 from when I was testing out some locally connected kit. Skype saw this as the first IP address it could use and bound to it – whereas everything else worked fine letting the OS choose. Unbinding this address made Skype leap in to action.

Cleanweb, February 2015

Yesterday evening, I gave a talk on Open Rail Data at Cleanweb. I wished I could have stayed longer – there were plenty of discussions to be had, but after a busy Open Data Day on Saturday, the call of my bed was stronger than the call of the pub.

If you missed the presentation, or if you noticed I rattled through the last slides a little too quickly (and I always seem to need five more minutes than I have available!) and want to re-read them, I’ve uploaded them in PDF format.

If you want to continue the discussion, join the openraildata-talk mailing list and come chat.

The end is near…

It doesn’t seem like five years, but it is. Five years since I wanted the API to National Rail Enquiries’ Live Departure Board web service to be available for everyone so they can innovate and do great things.

We’ve come a heck of a long way in those five years – as from this week, you can sign up for the Open Live Departure Boards Web Services. A round of applause, please!

So, is that the end? Unfortunately not – there’s even more data to unlock, even more value to be created and stories to be told – but I think it’s been demonstrated that open and permissive trumps closed and expensive.

I get the feeling it’s going to be a smoother ride from here on.

Configuring a WebSphere MQ server

In a previous post, I documented the “>steps to install IBM WebSphere MQ on Ubuntu. Now, more generically (and mostly for my own reference), here’s how to set up a queue manager and queues.

You’ll need the WebSphere MQ installation packages – if you’re only evaluating WMQ at the moment, try the WebSphere MQ 90-day trial. Also, you’ll need to read the previous blog post and set your sysctl settings appropriately.

First off, install the MQSeriesRuntime and MQSeriesServer packages – they’re the only ones you’ll need. After installation, run the following command:

/opt/mqm/bin/setmqinst -i -p /opt/mqm

This will set your default MQ installation path.

Next, ‘su’ to ‘mqm’, then create a broker by running the really simple command:

crtmqm MQSVR1

Before doing anything else, you’ll need to start the queue manager:

strmqm MQSVR1

You will also need to start a listener to be able to connect, so use the ‘runmqsc’ command to submit commands to create a listener on TCP port 1414, and also create a server connection channel called ‘SYSTEM.ADMIN.SVRCONN’:

runmqsc MQSVR1
DEFINE LISTENER(MQSVR1.LISTENER) TRPTYPE(TCP) PORT(1414) CONTROL(QMGR)
START LISTENER (MQSVR1.LISTENER)
DEFINE CHANNEL(SYSTEM.ADMIN.SVRCONN) CHLTYPE(SVRCONN)
^D

The statement ‘CONTROL(QMGR)’ is important here – this will start and stop the listener with the queue manager. If you don’t include this, you’ll need to start the listener every time you bring up the queue manager.

At this point, you have the barest of bare WebSphere MQ server setups. I’ll cover authentication for WMQ 7.5 and higher in another blog post.

Importing Ordnance Survey Open Data in to PostgreSQL with PostGIS

Some time ago, I looked at some uses for Ordnance Survey Open Data, coming to the conclusion that a sensible way to work with it would be to import it in to a geospatial-enabled database.

Each set of data is provided in ESRI Shapefile format, and has four files:

  • shp – shape format
  • shx – shape index format
  • dbf – attribute format in dBase IV format
  • prj – projection format

The shp2pgsql command converts SHP files in to a set of SQL commands which will effectively import the data in to PostgreSQL. Here’s a ridiculously simple guide to importing a file:

createdb os_opendata
psql -d os_opendata -c "CREATE EXTENSION POSTGIS"
shp2pgsql <filename>.shp <table_name> | psql -d os_opendata

Depending on the speed of your machine, in a few seconds you’ll find a new table in your database with all the data included.

And finally, what if you just want to import all of the data at once? Try this:

find Data/ -name "*.shp" | xargs -I % -n1 shp2pgsql % | psql -d os_opendata

Ubuntu 14.04 for Productive People

Way back in 2011, I blogged about Ubuntu 11.10 for Productive People, which took the form of a mini tutorial on how to wrestle some of Ubuntu’s UI candy away and replace it with something better suited to being productive.

I’m still standing by my assertation that Ubuntu is too ‘pretty’ on the desktop now, and lacks a ‘power user’ mode, but I won’t argue with anyone who says it’s great. It’s not a false dichotomy – you can have a power mode and a pretty mode in a desktop operating system.

Updated for the current beta of Ubuntu 14.04LTS, here are the instructions on how to get the latest release of Ubuntu in to shape:

  • Install Ubuntu 14.04
  • Install Gnome using apt-get install gnome – use lightdm as the display manager
  • Remove the slightly obstructive overlay scrollbar with apt-get remove overlay-scrollbar
  • Log out, then log back in again but click the Ubuntu logo by your username and select ‘GNOME Flashback (Metacity)’
  • Run gnome-tweak-tool, select Fonts and set the text scaling factor to 0.9, then under Appearance, set the Icon theme to Gnome and Cursor theme to Adwaita. Under Top Bar, check ‘Show date’ and ‘Show seconds’

Refreshingly easy, isn’t it? I’m going to be updating to 14.04LTS when it’s released!

Open Rail Data – Two Years On

After a brief, but really interesting visit to the former Bletchley PSB (or signalbox, if you’re less of a railway geek), I popped in to OpenTech 2013 to present an update to the presentation I gave two years ago.

In some ways, we’ve come a long way – in others, maybe not. Regardless, there’s scope for opening up more data to make us all more aware of what’s going on – suggestions immediately afterwards included getting data on cable theft incidents, counts of people going through ticket barriers at stations in real-time, plus passenger counts from trains.

My presentation is available if you missed it, or if you want to cut-out and keep. Exciting times :)

Really Useful Things

Here are five things that help my quest to reduce the amount of time I spend supporting and increase the amount of time I spend doing:

  • Google Apps for Business – £3.30 per user per month, and it means I can use Google Drive (although an Ubuntu client that isn’t InSync would rock) to hold PDFs and reference data I use all the time, and not have to worry about email hosting.
  • LastPass – password management. Much easier than having a GPG-encrypted text file that you sync to DropBox. Premium is only $12 (£8) per year.
  • GitHub – online project hosting using Git. I use GitHub by default for almost everything I do, private and public. A snip at $7 (£4.60) per month.
  • Atlassian Hosted JIRA – which, love it or hate it, works well for OpenTrainTimes bug tracking. Reasonably priced at $10 (£6) per month for up to 10 users.
  • Evernote Premium – write notes, sync them automatically and go search. I still love my Moleskine notebook for taking most meeting notes, and it looks great too – but sometimes you just gotta type electronically. £4 per month, but I really wish they’d come up with a sensible client for Ubuntu.