This will be the first post in a series dedicated to describe the hardware and the configuration from where this site is served. I have been meaning to write this post for some time, but until now, I had never gotten to it.
1. The hardware
I had been curious about the Raspberry Pi, and when I heard about the Pine64, I decided to get one as a Christmas self-present. I decided for the Pine64 because it was superior to the RasPi 2 (at the time there were still no news about the RasPi 3).
Today I would not go for a Pine64, I would prefer a Raspberry Pi 3, since the Pine still has issues with hardware acceleration, and Kodi, which is one of the things I was going to use it for, is not working on it. But despite the problems wit hthe hard ware acceleration (which I hope will get solved in the not so distant future) it is still able to work perfectly as a personal web server.
2. The OS
The Pine64 community has put together a custom Ubuntu 16.04 image, with a custom kernel and other changes needed to get the Pine64 up and running. The latest build for this image can be downloaded from here. The image comes preconfigured with a custom PPA for updates, as well as some scripts to update the custom kernel and uboot.
The OS is quite simple to set up. After downloading the image, I just had to use my laptop to flash the image to a SD-card with the following command (of course, substituting
/dev/sdXwith the actual path to the card reader):
~$ xzcat ubuntu/xenial-pine64-bspkernel-*.img.xz | pv | sudo dd of=/dev/sdX bs=1M oflag=sync
Since the image is about 4 Gb in size, it took a while, but after the flashing, I just had to move the card into the Pine64 and plug in the power to make it start.
Once it booted, I ran the
sudo /usr/local/sbin/resize_rootfs script to resize the root partition to the full capacity of the card. Once the partition finished resizing, I updated the Ubuntu OS with
sudo apt-get update && sudo apt-get full-upgrade, and then the custom kernel and uboot with the custom update scripts that come with the image:
sudo pine64_update_kernel.sh && sudo pine64_update_uboot.sh. After the updates, I rebooted the Pine, and started installing packages and customizing the configurations.
Well, that’s it for the ‘boring’ part of the setup. In coming posts, I will describe the installation and configuration of the
nginx web server and the virtual hosts I have set up for this
jekyll blog and my private