I spent some time this evening running the Raspberry Pi 3 (referred to as RP3 from here on out) through some paces, starting with bringing up the i2c interface. I’d done this early on with the original Raspberry Pi a little over two years ago using the Arch Linux distribution. I followed those directions but with Raspbian as the target distribution, and I failed to enable the i2c buss.
Rather than spend an inordinate amount of time trying to debug Raspian I grabbed the second of my 32BG Samsung micro SDHC cards and following the directions on the Arch Linux | ARM wiki, I created a bootable Arch Linux card and brought up the RP3 under Arch Linux for ARM. The current page for the RP3 instructions states up front this is the older 32-bit ARM release. Because this is a bare-bones distribution compared to Raspbian, the RP3 needed to be hard wired into my network in order to update the distribution as well as install additional packages, such as support for WiFi. I should note that it was simple to install Arch Linux WiFi support, and when it was installed, it enabled the RP3’s internal WiFi network. Once that was up and running I pulled the network cable and carried on.
I installed the same packages for the RP3 as I did for the original Raspberry Pi, and when I went back to reboot it, I didn’t see the i2c buss. I did a little digging and discovered I had to edit the /boot/config.txt file on the RP3, making the following changes to the file:
- uncomment device_tree_param=i2c_arm=on
- uncomment device_tree_param=i2s=on
- uncomment device_tree_param=spi=on
With those three lines uncommented and with the necessary drivers installed from the earlier packages /dev/i2c-1 was finally enabled.
I should note that the same Arch Linux ARM micro SDHC card boots both the RP2 as well as the RP3.
I should also note that I needed to fix how the Apple aluminum keyboard worked as I documented here.
Because the RP3 requires more power than any other Raspberry Pi to date (5v at 2.5A), I’m using an Apple 12W USB power adapter. I’ve got more than a few around the house these days, and their output is rock solid and clean. So far it runs the bare bones system without anything else attached.
Next steps will be to install X and TWM. Or I just might use the seven virtual keyboards that work now (one of the benefits of a properly configured Apple keyboard).
I’m trying to move as fast as I can to catch back up to where I was back in 2014. I’m working towards an IoT framework around Arch Linux with baked-in encryption. For real this time.
And maybe, just maybe, add a dash of some of the CoreOS features that have caught my fancy. A lot has happened these past two years, and I have a lot of serious catching up to do.