This page shall be describing how to run Debian nicely on the RaspberryPi2. Many of the problems affecting the RaspberryPi also affect the RaspberryPi2 - but let's devote this page to making the machine usable with Debian Buster using two approaches:

It was planned to extend this page with instructions for both approaches but then basically the RaspberryPi3 was released and development continued there.

Help and collaboration on this page is still very much welcome however!

The basic Debian install

Nowadays, Debian works natively, although it requires a non-free binary blob to boot. This blob has been packaged in the raspi3-firmware package, which has been renamed for bullseye (and later, including buster-backports) to raspi-firmware.

For more detailed and historic information on the rpi2, please refer to http://sjoerd.luon.net/posts/2015/02/debian-jessie-on-rpi2/

Add U-boot to the basic Debian install

The boot blob is required. However, to have a better control of the boot process, you can boot to u-boot.

Ready to run

You can download a ready-to-run image, or easily craft your own! Please refer to the Raspberry image specs project in Salsa.

The free driver

Overclocking

Overclocking the Raspberry Pi 2

Overclocking is quite easy and convenient, and doesn't invalidate your warranty if you don't change voltage. It happens that the actual L2 speed of the Raspberry Pi 2 is severelly underclocked, making the device much more slower that it should actually be. There has been reports of users using overclocked speeds of the processor and the L2 for months without a single issue, but you must be carefull in respecting a good proportion between L2 speed and processor, and overclocking the RAM is generally not recommended.

Try this setting, it has demonstrated to be stable and doubles the speed of this small machine in general. Edit /boot/config.txt and substitute or add these lines:

arm_freq=1000
core_freq=500
sdram_freq=400
over_voltage=0
over_voltage_sdram_p=0
over_voltage_sdram_i=0
over_voltage_sdram_c=0

Unfortunatelly, the options shown when running raspi-config are not quite stable even they are slower than this recommended option.