Running the 'Real Debian' on Raspberry Pi 3+ [For DIY Enthusiasts]

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 installing 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.

Real Debian on Raspberry Pi

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]

Warning

Be aware this Debian image is very raw and unsupported at the moment. Though it’s very new, I believe experienced Raspberry Pi and Debian users should be able to use it.

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:

wget https://people.debian.org/~gwolf/raspberrypi3/20190206/20190206-raspberry-pi-3-buster-PREVIEW.img.xz

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.

wget https://people.debian.org/~gwolf/raspberrypi3/20190206/20190206-raspberry-pi-3-buster-PREVIEW.img.xz.sha256 

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

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.

 ssh root@rpi3

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.

About the author
Shirish

Shirish

I'm a vagabond, free-spirited soul who enjoys street food, sci-fi, fantasy, security, GNU/Linux, travel, cooking in no pre-defined order. You can find me at <a href="https://flossexperiences.wordpr

Become a Better Linux User

With the FOSS Weekly Newsletter, you learn useful Linux tips, discover applications, explore new distros and stay updated with the latest from Linux world

itsfoss happy penguin

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to It's FOSS.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.