Raspberry Pi firmware updating

by on Apr.21, 2012, under Other

Whilst I’m hacking on Raspberry Pi images, I have to reinstall the firmware onto a blank image quite a lot. I thought it’d be easier if there was a tool that did this for me. Such a tool would also be useful for normal Raspberry Pi users who want to keep their kernel/firmware up to date to try the latest and greatest new features out.

So I wrote a tool that does just that. It’s called rpi-updater. If you want to give it a shot, then simply follow the instructions linked below. Be warned, however, that it’s rather experimental and could break your image, causing it not to boot. You can’t do any permanent damage to your Pi, though, so as long as you’re not afraid to recreate your SD card, give it a shot.

Instructions on how to install and use the tool are available over at my GitHub account, which you can find here.

75 Comments

despotify for Raspberry Pi

by on Apr.21, 2012, under Other

Unless you’ve been living under a rock for the past year, you’ve probably heard of the Raspberry Pi. I was lucky enough to get my hands on one of these around a week ago, and I must say, it’s a truly fantastic device. Of course, I got straight to work making it do weird and wonderful things, but you’ll hear more from me on that subject in the coming weeks I hope!

To learn a little about how it’s media APIs work (and to get some music playing courtesy of a Pi whilst I work), I decided to get despotify working on the Pi. It turns out it wasn’t very difficult to do at all, and it runs decently (the library itself works well, but the clients still kinda suck sadly, so it does sometimes hang when you change song).

Since I figure fellow Raspberry Pi owners might want to use this, I’m publishing the changes required and some simple instructions on how to get it working. Do note that you MUST have a Spotify Premium account for this to work. Unlimited/Free accounts will NOT work and never will. With that said, here are the instructions:

  • If you’re running Debian, run the following command: sudo apt-get install libtool git libssl-dev libmpg123-dev libvorbis-dev libncursesw5-dev
  • If you’re running Arch, then run the following command: pacman -Sy libtool git openssl mpg123 libvorbis ncurses
  • Now download the despotify code by running this command: git clone git://github.com/Hexxeh/despotify.git -b raspberrypi
  • Now build the despotify code by running this command: cd despotify/src && make
  • It’ll then take a minute or two to compile the code. Assuming the compile finishes successfully, you can start listening to music by running one of the two following commands (each one launches a different client, personally I prefer simple)
  • ./clients/simple <username> <password> OR ./clients/despotify

Have fun! Feel free to submit pull requests if you can improve the code.

7 Comments

Hit ‘em with the juice

by on Dec.02, 2011, under ChromiumOS

Remember Lime? Now it’s back, and it’s better than ever. In fact, it’s every bit as good as Vanilla, but it also includes that extra hardware support you know and love from Flow, but with the bleeding edge freshness you got from Vanilla.

It’s 338 days late, sure, but with good reason. The version that was in progress back then was a hand-built image, that wouldn’t be updated daily. The current system will get freshly baked each day into an image that has the supreme hardware support, but also includes any new features and tweaks that appeared that day in Vanilla too.

Vastly improved hardware support!

Lime enjoys vastly improved hardware support compared to that of Vanilla. Here’s a list of the improvements in hardware support:

  • Broadcom WiFi – BCM43XX
  • Ralink WiFi – RT24XX, RT28XX, RT30XX
  • Realtek WiFi – R8187SE, R8712U, RTL73, RTL8180, RTL8187, RTL8192XX
  • nVidia GPUs – 6 series and newer

PAE requirement removed

If you were one of the unlucky folks to have a device that didn’t support a PAE kernel, you’re in luck, this is no longer a requirement with Lime!

Extra plugins as standard!

Need your fix of Java? Java is now fully supported with Lime! More plugins coming very soon!

You decide what gets added!

These are just a few of the changes featured in Lime, but there’s more! If there’s a piece of hardware that we don’t support where a Linux driver exists but isn’t being shipped, let me know and I’ll likely add it! Tweet me information regarding this. Please don’t post suggestions as comments to this post, as I don’t read them as regularly.

329 Comments

Chromium OS for Macbook Air

by on Jul.19, 2011, under ChromiumOS

I know I’m rather late with this, but I did promise everyone who helped me to buy a Macbook Air that I’d get Chromium OS running on it: so I did and it’s pretty awesome.

Every piece of hardware works except for the Bluetooth (because Bluetooth isn’t supported by Chromium OS yet). So WiFi works, graphics are fully accelerated via nVidia’s drivers, screen brightness controls work, sound works, touchpad works. Basically everything works. The touchpad drivers could use some tweaking, as scrolling is currently painfully slow, but that’s about the only issue I can think of. Boot time is around 22 seconds to the login screen, most of which is wasted by Apple’s EFI implementation, as once control is passed to the kernel, the boot only takes a further 6-7 seconds thanks to the fast SSD inside the Air. Battery life is probably slightly better than that of OS X.

I’ve only tested this on an 11″ model of the Air (MacbookAir3,1), since that’s all I have, but I should think it’d work without issue on the 13″ version (MacbookAir3,2) too. I’ve also not tested previous generations of the Macbook Air, but I suspect they’ll work too. Infact, this image will probably work on quite a number of nVidia-based Macbook/Macbook Pro machines. I won’t be supporting anything but the MacbookAir3,1 and MacbookAir3,2 but if it just happens to work for you on something else, great!

There is however, one huge caveat sadly. Since nVidia’s GPU drivers don’t work very well under an EFI boot, you have to use BIOS emulation mode, probably more commonly known as Boot Camp. However, Apple’s BIOS emulation implementation doesn’t support booting from a USB stick. So, to boot Chromium OS you must first copy it to the SSD, overwriting OS X. It is technically possible to dual-boot, but that’s not something I’m going to support. If this is a route you’re interested in going, simply make sure that the first partition on the CrOS image is the first partition on your SSD, the third partition on the CrOS image is the third on the SSD and that you have a bootloader somewhere configured in the same way as the one on the second partition of the CrOS image. With that said, please don’t ask me for help with dual-booting this.

Installing this to the SSD is pretty easy. You’ll need a 2GB USB stick and the Mac OS X install USB stick that came in the box with your Macbook Air and about 30 minutes. It’d also be a good idea to backup your OS X install using Time Machine before you start, because your OS X install and all data on your Macbook Air will be destroyed during the install process. Ready to start? Let’s go then.

  1. FINAL WARNING: You’re going to destroy all of your data by following this guide! I am not responsible for any data loss, make sure you backup your data first!
  2. Download the install image from here
  3. Extract the archive using your decompression tool of choice (The Unarchiver for Mac works great)
  4. Burn the image to a USB stick using dd (check the wiki if you need help with this, same as Flow/Vanilla instructions)
  5. Insert both this USB stick and the OS X install drive into your Macbook Air while it’s switched off
  6. Hold the “C” key down and press the power button, you can let go of the “C” key once the Apple logo appears
  7. Once the language selection screen appears, pick the appropriate option and click next
  8. Once the install wizard appears, click Utilities on the bar at the top, and then Terminal
  9. Type the following command without quotes: “umount /dev/disk*”
  10. Type the following command without quotes: “dd if=/dev/rdisk1 of=/dev/rdisk0 bs=4m count=512″
  11. Type the following command without quotes: “bless –device /dev/disk0s2 –setBoot –legacy”
  12. Once it says it’s finished (basically when it says X bytes copied in Y seconds), hold down the power button until your machine switches off
  13. Remove both your USB stick and the OS X install drive
  14. Hit the power button, wait about 22 seconds
  15. Enjoy

If you find any problems, let me know via Twitter and I’ll patch the image where required. Once again, a massive thanks to the 39 people who contributed to getting me my Macbook Air in order to produce this port. I know it’s taken many months, but I’ve been hugely busy these past months with exams and college. Once again, if you like what I’m doing, you can also fuel my work by sending me caffeinated beverages beer by clicking here.

Update: Somebody has tried this on an earlier Macbook Air (ie not the late 2010 one), and it boots but there’s no WiFi. Since Broadcom haven’t updated their drivers, it’s not possible to get WiFi working on these at this time. The image that Dell released has updated drivers from Broadcom, but neither Dell/Broadcom have released source for these yet. If you want this to work, pester Broadcom and as soon as they release updated drivers I’ll update my image. Same probably goes for most other non-Air nVidia based Macs too.

161 Comments