If you have ever used a Raspberry Pi device, you probably already know that it recommends a Linux distribution called Raspbian.
Raspbian is a heavily customized form of Debian to run on low-powered ARM processors. It’s not bad. In fact, it’s an excellent OS for Raspberry Pi devices but it’s not the real Debian.
Debian purists like me would prefer to run the actual Debian over the Raspberry Pi’s customized Debian version. I trust Debian more than any other distribution to provide me a vast amount of properly vetted free software packages. Moreover, a project like this would help other ARM devices as well.
Above all, running the official Debian on Raspberry Pi is sort of challenge and I like such challenges.
I am not the only one who thinks like this. There are many other Debian users who share the same feeling and this is why there exists an ongoing project to create a Debian image for Raspberry Pi.
About two and a half months back, a Debian Developer (DD) named Gunnar Wolf took over that unofficial Raspberry Pi image generation project.
I’ll be quickly showing you how can you install this Raspberry Pi Debian Buster preview image on your Raspberry Pi 3 (or higher) devices.
Getting Debian on Raspberry Pi [For Experts]
Now as far as Debian is concerned, here is the Debian image and instructions that you could use to put the Debian stock image on your Raspberry pi 3 Model B+.
Step 1: Download the Debian Raspberry Pi Buster image
You can download the preview images using wget command:
Step 2: Verify checksum (optional)
It’s optional but you should verify the checksum. You can do that by downloading the SHA256 hashfile and then comparing it with that of the downloaded Raspberry Pi Debian image.
At my end I had moved both the .sha256 file as img.xz to a directory to make it easier to check although it’s not necessary.
sha256sum -c 20190206-raspberry-pi-3-buster-PREVIEW.img.xz.sha256
Step 3: Write the image to your SD card
Once you have verified the image, take a look at it. It is around 400MB in the compressed xzip format. You can extract it to get an image of around 1.5GB in size.
Insert your SD card. Before you carry on to the next command please change the sdX to a suitable name that corresponds to your SD card.
The command basically extracts the img.xz archive to the SD card. The progress switch/flag enables you to see a progress line with a number as to know how much the archive has extracted.
xzcat 20190206-raspberry-pi-3-buster-PREVIEW.img.xz | dd of=/dev/sdX bs=64k oflag=dsync status=progress$ xzcat 20190206-raspberry-pi-3-buster-PREVIEW.img.xz | dd of=/dev/sdX bs=64k oflag=dsync status=progress
Once you have successfully flashed your SD card, you should be able test if the installation went ok by sshing into your Raspberry Pi. The default root password is raspberry.
If you are curious to know how the Raspberry Pi image was built, you can look at the build scripts.
You can find more info on the project homepage.
How to contribute to the Raspberry Pi Buster effort
There is a mailing list called debian-arm where people could contribute their efforts and ask questions. As you can see in the list, there is already a new firmware which was released few days back which might make booting directly a reality instead of the workaround shared above.
If you want you could make a new image using the raspi3-image-spec shared above or wait for Gunnar to make a new image which might take time.
Most of the maintainers also hang out at #vmdb2 at #OFTC. You can either use your IRC client or Riot client, register your name at Nickserv and connect with either Gunnar Wolf, Roman Perier or/and Lars Wirzenius, author of vmdb2. I might do a follow-up on vmdb2 as it’s a nice little tool by itself.
The Road Ahead
If there are enough interest and contributors, for instance, the lowest-hanging fruit would be to make sure that the ARM64 port wiki page is as current as possible. The benefits are and can be enormous.
There are a huge number of projects which could benefit from either having a Pi farm to making your media server or a SiP phone or whatever you want to play/work with.
Another low-hanging fruit might be synchronization between devices, say an ARM cluster sharing reports to either a Debian desktop by way of notification or on mobile or both ways.
While I have shared about Raspberry Pi, there are loads of single-board computers on the market already and lot more coming, both from MIPS as well as OpenRISC-V so there is going to plenty of competition in the days ahead.
Also, OpenRISC-V is and would be open-sourcing lot of its IP so non-free firmware or binary blobs would not be needed. Even MIPS is rumored to be more open which may challenge ARM if MIPS and OpenRISC-V are able to get their logistics and pricing right, but that is a story for another day.
There are many more vendors, I am just sharing the ones whom I am most interested to see what they come up with.
I hope the above sheds some light why it makes sense to have Debian on the Raspberry Pi.