Getting Started with the Raspberry Pi
First published: 14th June 2012
I got my RPi yesterday, and I had some initial problems, that I'll try to describe here.
After the RPi was delivered, I quickly bought a few accessories:
- USB power supply, 15VA and cables
- USB keyboard
- USB mouse
- A few 4GB SDHC cards
Following the download guide I selected the debian6-19-04-2012.zip file. I was using Safari on a MacBook, and this caused the first problem. I didn't realise that Safari will, by default, open "safe" files automatically when the download completes. In the case of a .zip, the file gets decompressed, removing the .zip. I found a debian6-19-04-2012 directory in the Downloads directory, containing a .img file and a corresponding .sha file. I wanted to verify that the download was complete by running shasum on the .zip and comparing to the value listed on the download page, but couldn't. When things didn't work later, I was unsure whether the download was correct.
Solution: Change the preferences in Safari. Click Safari, Preferences, select the General tab and clear the 'Open "safe" files after download' checkbox.
Next, I uncompressed the image and wrote it to the SD card using these instructions. However, there was some uncertainty here too. Using the recommended command line, there was an error:
sudo dd bs=1m if=~/Downloads/debian6-19-04-2012/debian6-19-04-2012.img of=/dev/rdisk1 dd: /dev/rdisk1: Invalid argument 1859+1 records in 1859+0 records out
Some forum messages mention this Invalid argument error, and report that their SD cards worked OK afterwards. However, again, when things didn't work later, this was another possible cause to check. Other forum messages reported that using the buffered device (/dev/disk1) instead of the raw device eliminated the error. This was correct:
sudo dd bs=1m if=~/Downloads/debian6-19-04-2012/debian6-19-04-2012.img of=/dev/disk1 1859+1 records in 1859+1 records out
However, the write takes a lot longer to complete when using this device.
I connected the RPi, USB power supply, keyboard mouse, and my TV by HDMI, plugged in the SD card and switched on. On power-up, the TV detects a new device and asks if I want to use it, if I respond Y, it shows Connecting for a few seconds, then No signal.
For a long while, I couldn't work out what was wrong. Finally, I tried connecting the composite video to the TV as well. There was the Raspberry Pi logo and boot text. It appears that, when it starts up, the RPi checks to see if there is a monitor attached to the HDMI socket, and, if there isn't, it uses the composite video instead. Unfortunately, my TV appears to not reply to the check until I reply to the 'do you want to use this' question.
Solutions: Select the HDMI source on the TV BEFORE starting the RPi. Alternatively, there is a /boot/config.txt setting to tell the RPi to use the HDMI, even if there is no monitor attached.
Now that I'd managed to get the display working, it was disappointing to find that, apart from showing the logo, it was a trace dump ending with:
---[ end trace 9236d860650cf334 ]--- Kernel panic - not syncing: Fatal exception in interrupt
A quick search on the RPi forum suggested this could be a keyboard problem. Unplugging the keyboard and restarting confirmed this was the problem... but, of course, there is not much you can do with no keyboard at a login prompt. Another message in the thread linked to a new Debian image that might fix the problem. I downloaded and tried that image, it also didn't like my keyboard, but there were a couple of advantages:
- The trace output was piped through
more, so the start of the trace remained on-screen. This is probably more useful for anyone who knows how to debug USB drivers.
- If the keyboard was left unplugged, it booted correctly into the configuration script, and the ssh server was running. I could then login from another machine on the network and run commands, including the configuration script and
startx. With the GUI loaded, the mouse could be used to start programs and navigate. Still not much use without a keyboard, though.
I found a different (Hyundai) keyboard that worked, and finally got to a usable state.