"A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects." (Robert A. Heinlein)

Saturday, 27 October 2018

Hard disk upgrading with Clonezilla


Some time ago my desktop computer welcomed me with an unpleasant message: the main hard drive was likely to fail soon.

When you receive similar messages you never know how soon “soon” means. Since disk drives prices are reasonably low I decided not to waste time, I so bought a new, bigger, hard drive to replace the faulty one.
Upgrading the computer main drive could be a time consuming business if done “by hand” since it means copying all system and user data. Fortunately many tools exist in the Linux world to ease the process, among them Clonezilla.


Clonezilla


Clonezilla is a, very small foot-print, Linux distribution dedicated to disk and partition backup or cloning. I already used it once to backup EEEPC original Xandros installation. I downloaded Clonezilla ISO image and installed it on a SUB disk using Unetbootin. Because of its very small size I’ve been able to install Clonezilla on a old 1GB USB drive.
Before starting Clonezilla Iinstalled the new drive on my desktop PC together with the old one and partitioned it using Gparted.
At boot Clonezilla offer some boot options, I selected the default one
Then, once the system had started, after the long language and keyboard selection menu, I’ve been shown several options. I selected to work in a “device-device” mode then selected the “local partition-to-local partition” copy mode.
I proceeded with copying partition one from the old disk to partition one in the new disk, once completed I repeated with partition two.
At last I powered of the computer, removed the old faulty disk and left the new one in its place. I restarted the system but, the new disk didn’t boot.
After a while I figured I forgot that Clonezilla, when copying partition-by-partition, didn’t copy boot information. Not a big deal, once you understand it.
Eventually I started again the system using Clonezilla and, using command line interface, I installed GRUB on the new disk.
sudo mkdir /mnt/ubuntu
sudo mount /dev/sda1 /mnt/ubuntu
sudo grub-install --boot-directory=/mnt/ubuntu/boot /dev/sda
After this my computer started, working like before.
By the Way now I have a unreliable spare 500 GB hard disk, what could I use it for?

Saturday, 29 September 2018

Things to remember: mount your USB drives using UUID


This is just a short post to remember myself, and hopefully to my few readers, how a little more research before doing things could save from problems in future. I had to disconnect all my computer, the Raspberry and every devices because of some maintenance works I hhad to do at home. As often happens when I connected all back not everything worked as before.
Worst of all was the Raspberry Pi 3 that didn’t boot anymore or, at least, the boot process crashed betore turning on the network. I had to attach the Raspberry to my TV to discover that the boot process failed while trying to mout the attached USB drives. After some swapping of available USB slots I managed to get back to the original working position. I had to solve the problem definitively.

Mounting drives using UUID

USB drive devices are assigned on a per position basis. This is usually irrilevant for removable drives but it can become a problem when using USB for fixed, mounted on boot, drives. The solution is defining drives non by using their assigned device but the device unique identifier (UUID). The funny thing is that the solution was already on display in Raspberry “fstab” file since the system uses a similar identifier (PARTUID) in order to mount boot and root partitions.
The drive UUID can be easly printed by using “blkid” or “lsblk” commands. Here the vary informative output produced by “lsblk” command:
sudo lsblk -o UUID,NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL,MODEL

once identified drive UUIS is just matter of replacing it inside “/etc/fstab” file like this:
# USB Disk
#/dev/sda1 /media/usbdisk ext4 rw,defaults 0 0
#/dev/sdb1 /media/backup xfs rw,defaults 0 0
UUID=bc83dfb9-ebc5-4a96-9cd2-0657fa767717 /media/usbdisk ext4 rw,defaults 0 0
UUID=debd0d49-549a-4187-8284-f20dc3c8f986 /media/backup xfs rw,defaults 0 0





Saturday, 7 July 2018

The joy of virtualization: Docker


I took a relative pause from experimenting with Raspberry Pi to report my first experiences with something completely different. One of the first things you realize while programming server-side is how your program is only one piece of a bigger puzzle. Your application usually runs inside a container, connects to a database, expose or consume services and so on ... Solving this puzzle means defining an installation procedure that becomes different and sometime more complex by changing or scaling the installation target.

Docker

Docker is an container platform that overcomes the installation problems by producing a ready-to-install standardized operating-system-level virtual machine, packed with everything your application needs to be run. Unlike other virtualization solutions a Docker image only contains what your application needs without having to install and run a full hardware simulation like, for example, in Virtual Box.

Installation

Docker is available in two versions a professional “enterprise” edition and a community one (Docker CE) free to download. Installing Docker CE on Ubuntu is just matter of adding Docker repository address
sudo apt-get update

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Then installing it using the usual apt command
sudo apt-get updatesudo apt-get install docker-ce
Once the installation completed the current user, or any user who will use Docker, must be added to the “docker” group.
sudo adduser maxx docker
After logging out and in again Docker was ready for use and command
docker info
Correctly reported the empty environment initial state

First run

In order to test Docker is correctly installed and running a simple “hello-world” image is available. Just by calling the command:
docker run hello-world
Docker take care of downloading the image from its repository, installing and running it.

Another interesting image to start with is, as suggested in hello-world printout, the “ubuntu” image that installs and starts a console-only Ubuntu virtual machine with no effort.

Sunday, 3 June 2018

Simple hardware interface for the Raspberry Pi Zero


I spent some hours, last weekend, working to another little step into my Raspberry Zero camera project. After experimenting remote software interface possibilities I started building some minimal bare hardware interface in order to, at least, safely turn on and off the Raspberry Pi.



A bare minimum interface
The bare minimum hardware interface for a Raspberry project is made of a power push-button and a status LED telling if the device is still active or it can be safely removed from power.
Plenty of tutorials are available on the Internet, I mostly followed instructions from here and here.
The power status information is directly provided from the UART pin without the need of writing additional software. UART must be enabled in ‘/boot/config.txt’ configuration file


enable_uart=1

Then I just connected a LED diode between UART pin and ground (trough a current limiting resistor of course).
Also the wake-up functionality is implemented by briefly connecting GPIO pin 6 to ground trough a normally-open push button.

Saturday, 21 April 2018

Remotely controlling the Raspberry Pi Zero and Pi Camera


Here I am continuing my very slow paced building of a Raspberry Pi Zero based camera. After experimenting with raspberry-desktop file exchanging I’ve now took some time experimenting with remote controlling options. I’ll eventually have to wire to the Raspberry some, at least minimal, physical interface, but remote control, trough a Android smart-phone, could be a viable solution to avoid a too complex hardware interface.

The ready-made solution: Raspicam Remote

The first solution I found in Android Play store has been Raspicam Remote. Raspicam is a quite simple application providing a simple but complete user interface and connecting to the Raspberry Pi using Wi-Fi and SSH.
Unfortunately Raspicam doesn’t work on my old phone (Jelly bean) but it works fine in my much newer tablet. I understand you can’t keep backwards compatibility with everything. Other solutions are available but they look more suited for remote surveillance than camera interface.

The mostly Do-it-yourself solution: BlueDot

Interfacing to the Raspberry trough Wi-Fi offers clear advantages a specially in terms of connection speed but also poses some disadvantage. Setting-up a Wi-Fi connection might be trivial while at home where is available an already configured access point but it’s not the same while outside. Connecting the Raspberry with a smart-phone using Wi-Fi means configuring one of them to act as access-point, its not difficult but it might become tricky. Also on the power consumption aspect must be kept in consideration especially for the device acting as access-point.
Bluetooth overcomes both set-up and power consumption problems in exchange, of course, for transfer speed and connection range.
Here comes to play BlueDot: a simple looking Android application that together with a easy to use Python library allows a unidirectional Bluetooth communication between smart-phone and a Raspberry device.

Saturday, 3 March 2018

Sharing files on the Raspberry Pi Zero W


I eventually managed to find some time to continue working to my Pi-zero camera project. During initial tests I took advantage of Pi-Zero wireless interface and used “sftp" command in order to transfer files between Raspberry and desktop computer. A more suitable way of transferring files using USB, like real digital cameras, would be of course advisable.

Raspberry Pi Zero as mass storage

The Pi Zero USB port is directly connected to processor, unlike others Raspberrys using a on-board USB Hub. This, cheaper, solution means the Pi Zero can be configured to act as USB host, like a computer, or as a “USB gadget” like all cell-phones and digital cameras do. In order to activate such “USB gadget” mode some specific “dcw2” kernel modules must be enabled, in my specfic case the needed module is called “g_mass_storage”. I followed this simple guide from a Github user.
First I enabled DCW2 USB driver
echo "dtoverlay=dwc2" | sudo tee -a /boot/config.txtecho "dwc2" | sudo tee -a /etc/modules

then I created a virtual disk image to be mounted as mass storage and formatted if as a FAT32 disk.
sudo dd if=/dev/zero of=/usb-drive.img bs=1M count=1000sudo mkdosfs -F 32 /usb-drive.img
Once the Raspberry PI is conncted to a computer the mass storage can be enabledl ike this
sudo modprobe g_mass_storage file=/usb-drive.img stall=0 removable=1
and disabled with following modprobe command
sudo modprobe -r g_mass_storage
the same virtual disk can be availabe to Raspberri PI by mounting it
sudo mkdir /media/usb-drivesudo mount -o loop,rw /usb-drive.img /media/usb-drive/
of course the same virtual disk cannot be both available as mass storage drive and mounted on Raspberry at the same time, since it could lead to disk corruption. The camera software will have so to manage the switch between two modes.

Wednesday, 17 January 2018

New toy on the desk: Raspberry PI zero W and Raspberry Camera

Just before Christmas I have been to an electronics and surplus fair where I bought myself, among other things, a new Raspberry family “thing”. I started with a vague idea of building my very own “hackable” camera. I didn't have, and still don't, have a definitive idea of how it must be or what to do with it ... just it must be hackable i.e. I must be able to reprogram it once I need it for something else. I so bought a Raspberry Pi Zero kit, including the official withe-red case heath sink and male pin strip, and a 8 M pixel Pi Camera.

Headless installation

I'm getting quite used to prepare and install Raspberry Pi images, it's the fourth time, almost always headless. Plenty of tutorials can be found on the Internet by the way. This time is not very different apart from just one detail: I had to configure the Raspberry to connect to WIFI network from the very beginning.
So after copying the latest Raspbian image on the micro-SD card withe the usual “dd” command
sudo dd if=2017-11-29-raspbian-stretch-lite.img of=/dev/sdd

I configured Raspbian to enable SSH by default
sudo touch /media/maxx/boot/ssh

Then on the same root directory I created a “wpa_supplicant” WIFI configuration file
sudo vim.tiny /media/maxx/boot/wpa_supplicant.conf

Where I wrote down my wireless network configuration
country=ITctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1
network={ssid="WIFI"psk="secret"}

At last I powered the Raspberry Pi and scanned the WIFI network for the new entry computer.
I connected trough SSH and I went, of course, trough the usual post-installation operations like changing the Pi user password and expanding the file system to the full micro-SD extent.

Pi Camera installation

Once I verified the Raspberry was correctly working I powered it back down and connected the Pi Camera using the small flat cable also included in the Pi-Zero kit I bought.

Sunday, 31 December 2017

Saturday, 30 December 2017

Backing-Up Your Data With Raspberry Pi

Among information technology bad practices not backing-up your data is the one you are going to regret more as something goes wrong. For too many years I’ve been relying solely on the good health of my disk drives, that means I was relying mostly on good luck, and on manually copying data, mostly photos and videos, on different supports. I decided so to buy myself a bigger disk drive with the sole purpose of keeping a backup copy of my data.

Hardware set-up

First things first, I bought an external 2TB USB disk. The disk size is enough to backup my 1TB NAS disk and other data I actually keep on the Raspberry Pi server or the desktop PC. More importantly the disk is externally powered since the Raspberry couldn’t power it by itself.
I formatted the , with the XDS file-system, by using the tool provided with my NAS disk, after attaching the new disk to the NAS spare USB port. This step is not strictly necessary but it will allow me, in future, to share the backup disk just by connecting it to the NAS USB port.
I then connected the backup disk to the Raspberry Pi 3 and configured the /etc/fstab file in order to mount it on start-up
/dev/sdb1 /media/backup xfs rw,defaults 0 0


Software set-up: rdiff-backup

While I was looking for a backing-up software solutions I was mostly thinking to some directory mirroring tool like RSync but, like often happens, I stumbled in a more complete solution when I did read this page describing a backup system based on Raspberry Pi and rdiff-backup.
Rdiff-backup is a command line based backup tool, it provide all basic backing-up features like differential backups or time based restore. More importantly, to me, it’s based on standards tools like Rsync directory mirroring and tar archives, meaning that archives are easily readable without the need of rdiff-backup itself.
I installed rdiff-backup with apt-get tool:
sudo apt-get install rdiff-backup

Then created some target folder in the backup drive
sudo mkdir /media/backup/public
sudo mkdir /media/backup/nas
sudo chown pi:pi /media/backup/public/
sudo chown pi:pi /media/backup/nas/

Then I manually started the initial backup, knowing the operation was going to take some time I started a independent shell session with the screen command.

screen
rdiff-backup --exclude /media/public/BTdownload /media/public/ /media/backup/public/

The backup command just needs source and destination folders path, many optional switches are available like the one I used, “--exclude”, which exclude from the backup process some sub-folder.
Once the initial backup completed successfully I used the crontab command to schedule the backup command.
crontab -e
Since most of backed-up data are photos and videos I produce during week-ends I scheduled it weekly ad Tuesday (Monday is already SD-card backup day)
0 5 * * 2 rdiff-backup --exclude /media/public/BTdownload /media/public/ /media/backup/public/

Some notes on performances


The initial backup of my photos and videos collection, about 300 GB, took most of the day to complete. The poor performance is mostly because I keep my data on a Samba share. Rdiff-backup documentation discourages backing up networked disks through in favor of the better optimized SSH protocol, unfortunately my NAS disk doesn't support this option. Not a big problem in my case anyway, because future differential backups will need less time, of course, and the backup process will be performed automatically between two always-on devices.

Saturday, 23 December 2017

Merry Christmas!

The most sincere

MERRY CHRISTMAS!

to all my readers and visitors.

Thursday, 23 November 2017

Blog Birthday Nine

One more year of lazy blogging is passed. Looking back to this year I must say I have no excuses for writing less than one post per month. Far more better looking forward, I'll try doing something more next year: I have two Raspberry PI installations, at the moment, which are attracting my interest more of the "flatter" desktop computing world. So I hope you'll find something more interesting on this blog next year. Stay tuned ...

Sunday, 5 November 2017

Upgrading to Ubuntu 17.10 (Artful Aardvark)

It's some time I don't upgrade my desktop computer, I must reckon I enjoyed the relative stability of using a LTS distribution and didn't fell the need of a twice-a-year system upgrade. Unfortunately my PC suffered of a system crash, probably because of some faulty hardware, just while updating with the result of corrupting the installed operating system beyond my capability of repairing it.
I so downloaded latest Ubuntu distribution release and started the good-old installation procedure.

No more Ubuntu-gnome long live to Ubuntu (Gnome)

I’ve been a Ubuntu-Gnome user for a long time, so I’ve been quite pleased to learn Canonical decided to stop Unity support and adopt Gnome-Shell as primary desktop manager. I so went for downloading latest Ubuntu ISO image. Once finished I prepared a bootable USB disk using Unetbootin tool, then I restarted my PC.

Installation

I started my computer from USB disk then selected the “Try Ubuntu ...” option instead of starting directly the installation program in order to collect screen-shots more easily.
After usual language and “third party” option selection I came to the installation type selection where I choose to upgrade my 16.04 installation.

Monday, 2 October 2017

Backing-up the Raspberry Pi 3

Recently I had to repeat installation of my Raspberry Pi 3 server. Probably because of some SD card corruption problem I started experiencing unexpected loss of active services, first GitLab then MiniDLNA, a and failures while trying reinstalling or reconfiguring them. I so downloaded latest Raspbian image and went with a complete installation. Not a big deal, since I’ve been following my own instructions on this blog but still a time consuming process.
Once the Raspberry server was operative again I started looking for a simple backup solution in the case something broke again by itself or, not unlikely, I broke something by myself.
I quickly found in the Internet this discussion page where, among other solutions, it was proposed a handy shell script to completely backup Raspberry SD Card. Following discussion links I landed on this GitHub page where the same script is available in its latest version.
Installation
Installing the script is just matter of downloading and unzipping it or, as alternative, cloning it with git command. I did choose the latter since I’m going to need git in future.
sudo apt-get install gitmkdir scriptcd script/git clone https://github.com/aweijnitz/pi_backup.git
configuring the script
The PI backup script is a fine example of shell programming, it needs only a couple of arrangements to fit the system where is installed.
First functions stopServices() and startServices must be edited by uncommenting commands to stop and start services running on the Raspberry. I added command to stop and start MiniDLNA service:
...sudo service minidlna stop...sudo service minidlna start...
Then I edited the backup path. In the same scrip section it’s possible to set the number of old backups to keep and if backed-up images must be compressed.
...# Setting up directoriesSUBDIR=backupMOUNTPOINT=/media/usbdiskDIR=$MOUNTPOINT/$SUBDIRRETENTIONPERIOD=1 # days to keep old backupsPOSTPROCESS=0 # 1 to use a postProcessSucess function after successfull backupGZIP=0 # whether to gzip the backup or not...

Sunday, 10 September 2017

KODI on RetroPie (and Raspberry Pi)

I’m not what you’d call a hard gamer ... probably I’m not a gamer at all. So after a little playing with RetroPie, and the few ROM files I managed to find, I continued with experimenting with available RetroPie “ports”.
RetroPie ports are a plug-in system that usually allow you to add open source games or additional emulation engine to RetroPie interface. The “KODI” port instead allow you to install and start from RetroPie interface a full featured media manager giving your retro-computing machine an effective “double life”.

KODI Media Manager

KODI, previously known as XBMC is a media manager software available for various Linux flavours. On the Raspberry it's available both as installation package and as stand alone distribution. KODI is of course capable of playing music and video both stored locally on a remote DLNA source. In addition KODI allows installing a great variety of add-on modules to display, for example, YouTube videos or whether news.

Installing KODI “port”

KODI can be installed and integrated with RetroPie interface from RetroPie set-up script.
sudo RetroPie-Setup/retropie_setup.sh
I selected the “Manage packages” menu, then the “Optional packages” one at last I selected “KODI” package in packages list.
Then the installation script started and I only hat to patiently wait its conclusion.

Saturday, 15 July 2017

Installing RetroPie (on the Raspberry Pi B+)

Just after I installed the Raspberry Pi 3 as home server I promised myself I would have destined the old board to more “experimental” experiences. As soon as I got some fee time I so decided to explore Raspberry gaming capabilities. I'm far from being a gamer today but I spent some time playing computer games when I was younger, during the “Commodore Amiga age”.

RetroPie

RetroPie is a Raspberry Pi distribution, based on Raspbian, specialised on making the Raspberry a full featured gaming machine. RetroPie image is provided with a great variety of emulation software, a graphics user interface, gaming control support and a configuration program to setup most of its options without the need of keyboard and mouse. Among its features RetroPie allows to download and install optional modules supporting things like media server software and open source games.

Parts list

Before starting to install I collected the required hardware: The Raspberry Pi, of course, a 8GB USB disk I had available, a wireless USB adapter I already used with the Raspberry and a cheap wireless keyboard I bought during a surplus fair. Last but not least by bedroom TV was going to be used as monitor. The wireless keyboard has been the only thing I bought with this project in mind.

Friday, 30 June 2017

GitLab on the Raspberry Pi 3

Software version control systems (VCS) are among essential (almost life-saving) tools when programming in team. Also while working by themselves they can reveal a big deal useful. I had Mercurial and Mercurial-server installed on my desktop computer time ago and used them to backup and synchronize my programming experiments between the netbook and the desktop computer.
Since I installed Mercurial I went trough a couple of desktop full-reinstall, of course, I also had to reinstall and reconfigure the version control system tools. So, when I bought the Raspberry Pi 3, I did put using it as VCS server on top of my personal wish-list.

Why Git? Why GitLab?

I must say I have no complaints against Mercurial, it always worked without any problem, but I’ve become a GitHub user so, passing to Git also at home seemed me the natural thing to do. At the beginning I was thinking about a plain bare-bone Git installation, without any graphical user interface, just like it was for Mercurial-server. While I was looking for a suitable git-on-raspberry how-to page I literally stumbled on this GitLab Installation how-to.
GitLab is a Git server full featured with web interface, projects and users management. GitLab is Open-source, or at least exists a community version, but what triggered my decision is that it’s quite easy to install. Installing GitLab is not harder than installing a bare-bone Git server, so … here I am.

Installing GitLab

Installing GitLab has been a simple four-step process, at the end of installation process GitLab was ready-and-running without any need of configuration.
First I installed some required dependencies. Because of previous installations on my Raspberry the only one I had to install has been Postfix mail server.
sudo apt install curl openssh-server ca-certificates postfix apt-transport-https
Then I added GitLab repositories and keys to Raspbian sources:
curl https://packages.gitlab.com/gpg.key | sudo apt-key add -
sudo curl -o /etc/apt/sources.list.d/gitlab_ce.list "https://packages.gitlab.com/install/repositories/gitlab/raspberry-pi2/config_file.list?os=debian&dist=jessie" && sudo apt-get update
I then installed GitLab with a simple apt-get command
sudo apt-get install gitlab-ce
At last I executed the GitLab reconfiguration command in order to make configuration effective.
sudo gitlab-ctl reconfigure
I edited GitLab configuration file (located in /etc/gitlab/gitlab.rb) only to change two configuration details: I placed GitLab repository folder on Raspberry external USB disk
git_data_dirs({"default" => "/media/usbdisk/gitlab"})
And I set GitLab web server in order to work on a HTTP port different from default one.
external_url 'http://raspberrypi3:8887'
After any change of GitLab configuration file the reconfigure command must be executed in order to see them effective. In spite of changing GitLab web port SFPG picture gallery I had installed on the Raspberry stopped working, I’ll have to solve this in the near future.

First login

On the very first access to GitLab web page user is asked to change administrator password

Saturday, 27 May 2017

New toy on the desk: Galaxy tab A6

At least I gave up and decided for buying myself a tablet. I've always been more favorable towards netbooks instead of tablets mostly because real computers, even under-powered, better suits the way I use them: mostly writing documents and programming. I didn't entirely changed my mind but I have to reckon a tablet can have many uses where it perform superbly like browsing the Internet or keeping in contact with e-mail or the many social media applications. Last but not least I needed a modern device for studying and testing Android development, so here I am ...

Friday, 28 April 2017

Setting-up the Raspberry PI 3 as a home server

It has been some time since last time I wrote, unfortunately my job stole most of my limited free time keeping me from experimenting and so posting about it. At last I managed to collect enough free time to complete Raspberry PI 3 installation and replace the older model I was using as home server.

Just like before? Not exactly

When I started configuring and installing the Raspberry PI 3 I was hoping it would have been a simple repetition of operation I already performed on the older Raspberry. Most of it has been that way but in some cases I experienced some relevant difference.

Configuring a static IP address

I've been configuring static IP address on Linux since I installed my first Pentium III based Linux, so I really didn't expect any problem here. Once I configured “/etc/networking/interfaces file” I instead noticed the Raspberry was visible on the network with two different addresses. After some searching on the Internet I discovered it's because of a different way DACP client works on latest Raspbian release. The problem can be solved in two ways: first is configuring DHCP client in order to let it set a static address on network interface alternatively it's possible disable DHCP client for one or more network interface. I chose the latter, at the end, since the Raspberry is going to be a DHCP server so there is no deal in keeping DHCP client active. I disabled DHCP client from assigning address to both wired and wireless network interface by adding the following line to “/etc/dhcpcd.conf” configuration file.
denyinterfaces wlan0 eth0

DHCP server and wireless access point

Like I did on my first Raspberry server I configured the new one to work as DHCP server and a wireless access point. It seem there are no relevant changes since first time I did it, I simply had to follow my own instructions.

Installing applications

Installing apt-ger based applications like LAMP sever and MiniDLNA server has been a quite easy task, while to install other applications like RPI-Monitor I had to look for the updated download link on the Internet. I also installed the updated version of SFPG picture gallery, it works but picures thumbnails don't show. I'll look for a solution later.

Power supply and cables

Once I had the Raspberry PI 3 installed and configured on my desktop I pit it in place of the old one and … nothing was working. It took me some time of testing and pinging before I noticed the board power led wasn't properly lighted-up. The phone/tablet charger I used to supply the old Raspberry wasn't up to the Raspberry PI 3 power requirement. I replaced the power supply with the one I used for desktop test but it wasn't enough to make the Raspberry PI 3 working, I had to replace micro-USB power cable with a shorter one in order to have it working, I think it's better I'll buy a dedicated Raspberry PI 3 power supply soon.

Sunday, 15 January 2017

New toy on the desk: Raspberry PI 3


Just before Christmas I've been to a “traditional” electronics and surplus fair, here in Genoa, and bought myself, among other things, a Raspberry PI 3 (version B) board. My goal is to replace, as home server, the Raspberry PI I bought two years ago in order to take advantage of the more computing power offered by the new board. Additionally the older board will be set free for more “experimental” experiments. As “accessories” to my new Raspberry board I bought a (clear) plastic case, a 16GB micro SD card and en external 2.5'' USB hard disk.

Installation and first tests

I first downloaded latest Raspbian release, the “Lite” version since I'm going to use it as a headless server. Like I did last time I copied the disk image on the 16GB SD card using the “dd” command.
sudo dd if=2016-11-25-raspbian-jessie-lite.img of=/dev/sdd
All worked fine but I had to fix a couple of things. The image I copied at the first tentative didn't boot, I had to remove all memory card partitions using Gparted then repeat the copy process. The disk copied after the second tentative works fine, I don't know if problem was because a failure in the first copy or because of how the card was pre-formatted.
The latest Raspbian release has SSH demon disabled by default to enable it I had just to add an empty “ssh” named file on the memory card root folder.
touch /media/maxx/boot/ssh