Raspberry Pi First Look
I’ve just received my Raspberry Pi miniature computer and some SD cards to go with it to experiment with.
First off I inserted the Raspbian (Debian Wheezy for ARM) SD card, which I’d written to disk in 8mins using the following as root:
dd if=2012-12-16-wheezy-raspbian.img of=/dev/sdc bs=4M
Or for RISC OS (2Gb took 7mins):
dd if=ro519-rc6-1876M.img of=/dev/sdc bs=4M
Or for Chameleon (4Gb took 15mins):
dd if=chameleon_v02.img of=/dev/sdc bs=4M
Next I plugged in all my cables – HDMI to the TV, powered hub to the micro-USB port and a regular USB port on the Pi, then into the hub my Logitech EX100 wireless keyboard and mouse transmitter. That’s kind of cool as it means I don’t have to have an extra couple of wires hanging around and I could just put the kb+mouse in a cupboard somewhere and leave the transmitter plugged in. That was the plan anyway. I think I’ve sorted it now with a few presses of the “Connect” buttons, but I’ve had a terrible time trying to get the Pi to see both kb+mouse rather than one or the other. I think that’s the issue I had with it when I used it with a regular PC though, it was pretty flaky and lost its config then, so not really a Pi issue I don’t think.
Anyway, after configuring things on first boot via raspi-config
I got an LXDE desktop. Well all I can say at this point is whomever thinks they can replace their laptop with a Pi hasn’t actually tried it yet! Its slow as molasses and I’ll be changing to runlevel 2 on next boot lol; Hell an apt-get dist-upgrade
took about 2 hours with the screen redrawing every 30secs or so. OK this is using a Class4 SD card, but the main problem was CPU was at 100% throughout.
I’ve got to re-run raspi-config
in a bit to fix the black borders on the screen, apparently turning off overscan will fix that. Edit: disabling overscan has stretched the display to fill the screen now, but actually its a tiny bit too wide and chops off the left and right of the screen. Mplayer stuttered and didn’t actually display anything when trying to play a 1080p or 720p .mkv file over NFSv4, hopefully raspbmc does better. Edit 2: I found a better fix is to add this lot to /boot/config.txt, which also overclocks a little to 800MHz:
overscan_left=-35
overscan_right=-35
overscan_top=-40
overscan_bottom=-40
arm_freq=800
I tested that a couple of programs I compiled for ARMv6 worked which they did, I used the official toolchain from GitHub. First off was a simple “Hello, World!”:
arm-bcm2708hardfp-linux-gnueabi-gcc -o test test.c
Then I compiled iperf, which gave me an error regarding malloc which I fixed using the instructions here which allowed me to compile it using:
export PATH=$PATH:~/raspberrypi/tools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin
export ac_cv_func_malloc_0_nonnull=yes
./configure --host=arm-bcm2708hardfp-linux-gnueabi
make
The case that comes from CPC doesn’t allow access to the GPIO headers so I’ve got to try opening it up in a bit. Edit: it was easy enough to open, in fact I did it when it was turned on and all the cables plugged in!
The Raspbmc installer is rubbish, after running and re-running it three times I gave up, I think i’ve got it to the point where its just failing to umount the drive now, it should have written the distro and config ready to boot on the Pi. Edit: Turns out that the installer is only a basic image – when you first boot it goes and downloads the actual installation! Its runs pretty well too – 1080p/720p MKV’s played fine over NFS, even over 100BaseT, as did 480p XviDs. I can see how you could replace your Atom HTPC with one of these (and a remote control) although the menus run a bit slowly and I’ve not tried Library mode.
Edit: RISC OS 5 runs fine on it, including my my old Assembler/BASIC programs – just had to set the filetypes and the ones that were crunched I had to reset to their original BASIC sourcecode and up the memory allocated a bit.
It does seem pretty dated though, all those weird mouse button combinations that could be so easily just be replaced using keyboard shortcuts, even drag’n’drop saving doesn’t seem so natural anymore. It seems to get files onto the Pi you have to use Fat32FS with a USB stick, odd that its not included with the OS, as RISC OS 3 even could read FAT32 disks….?
Chameleon is fun too, there’s a lot of old computers I recognise that it emulates – ZX Spectrum, Atari ST, C64, VIC-20…. They don’t do much without any ROM’s though.
Edit: I found rpi-update which fetches the bleeding-edge firmware image for the Pi including a 3.6 kernel.
Edit 2: It seems that the Pi’s USB stack doesn’t like my USB webcam driver (PWC) as Motion doesn’t create any output. I do recall that even on my desktop machine when plugged into a hub the PWC driver would kernel panic, and really even the built-in USB ports on the Pi are hubs, so its not surprising I guess.
I also upgraded WordPress