Debian-image for bpi-r2


…pretty, and what version you have now installed on your R2?


(Frank W.) #5

I have no r2 yet, i want to know how complete (driversupport)/stable the current release is.

(Aaron Gray) #6

I tried the following image on Google Drive and got a kernel panic on boot up with CPU3 failing to sync :-


(Frank W.) #7

Could you please test jessie-lite image?

(Daniel) #8

Hello everybody,

I’ve tested Jessie and Stretch. Both are booting and working. The Jessie image isn’t shipped with kernel modules (for example iptables). Also HDMI output doesn’t work (on both images).

Best regards, Daniel

(Frank W.) #9

Thank you, do you know,how to compile/modify kernel?

Here is a start (with config):

Any errors in log/serial console regatding hdmi?

(Daniel) #10

Hello Frank,

sorry, my fault: HDMI is working. Only my 4k display can’t find the R2 as a valid source (even not in PIP with a smaller picture size).

Does anybody know how to change ethernet names? WAN port is eth1 and LAN ports are eth0.

If created an static MAC address mapping, based on this article: Static MAC-Address for Bananapi

cat /etc/udev/rules.d/69-static-mac.rules

# MAC address for eth0 / WAN

ACTION=="add", SUBSYSTEM=="net", ATTR{dev_id}=="0x0", ATTR{ifindex}=="6" RUN+="/sbin/ip link set dev %k address 26:bf:b5:59:15:d0"

# MAC address for eth1 / LAN

ACTION=="add", SUBSYSTEM=="net", ATTR{dev_id}=="0x0", ATTR{ifindex}=="5" RUN+="/sbin/ip link set dev %k address 26:bf:b5:59:15:d1"

The only way to identify the interfaces is, in my opinion, the value of ifindex:

ls -d /sys/class/net/eth? | while read _DEV ; do echo ${_DEV} ; udevadm info -a ${_DEV} | grep ifindex ; done





And switching the interface names…

cat /etc/udev/rules.d/70-persistent-net.rules

# static interface name for WAN

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="26:bf:b5:59:15:d0", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# static interface name for LAN

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="26:bf:b5:59:15:d1", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

udev sets successfully the static MAC addresses but can’t switch names. Maybe the name eth1 is present when udev tries to change eth0 to eth1. So I decide to switch eth1 to wan0 and eth0 to lan0. After a restart the MACs are correct but not the names.

When I run udevadm test /sys/class/net/eth0 udev switched the device name from eth0 to lan0. Running udevadm test /sys/class/net/eth1 fails (see udev_eth1.txt (5,5 KB))

Any ideas?

(Aaron Gray) #11

@frank-w - Where do I find the jessie-lite image please ?

(Frank W.) #12

@AaronNGray: BPI-R2 all image download from google driver

@temp0r: device busy when udev tries to rename…only idea: you can add symlink with udev instead of renaming (adding symlink+ directive in persistent-net.rules in both lines) Normally only persistent-net.rules must be changed…

(Aaron Gray) #13

Okay I have :-




working !

@frank-w @sinovoip where do I get source / scripts and a quick howto to build the Debian 9 stretch distro please ?

debian-9-stretch-mate is having problems with moving windows theres shadowing and delay so it looks like the GPU support is not working correctly.

(Frank W.) #14

Imho there is no such howto. You can try to bootstrap (debbootstrap) a debian 9 filesystem and replace the root-partition in jessie image with that. Then replace kernel+modules+uboot with selfcompiled from github. i think its easier to do that on a sdcard instead of image itself and dd an image from that if it is booting without errors

edit: i’ve found that site, there are some explainations: partition scheme seems not the same and debian is wheezy…but maybe a good start is also nice, but where to get the dtb for BPI-R2 (maybe its created with the build-script from the github)?

(Aaron Gray) #15

Being Open Source there should be open repositories for the efforts in Debian, Ubuntu, Kali, Fedora, and others !

I am willing to do documentation and testing. And I would like to get a proper installer for installing to SATA disks together.

@frank-w - thanks they are good leads, @sinovoip - but I think there should be open standard root image build systems for common development as this would speed things up no end. We should be able to link to a lot of packages from the standard Debian, Ubuntu, Kali, and Fedora armhf package repos.

But this can be dangerious unless overriding anything that might brick a board. I have avoided updating eMMc as thats prone to bricking a board.

I have both R2 amd M3 boards I need to get working fully with distros.


You can use this Image ‘’ and easily upgrade to Stretch.

(Frank W.) #17

thanks,good to hear,that there are no problems using the update/upgrade-progress from debian. It’s an option,but i don’t like upgrades between main releases. have you tried to replace the kernel from github?


As you can see - this is an old kernel 4.40.43. I’m just getting fresh 4.4.70.

(Frank W.) #19

I’ve updated debian jessie too. Where do you get this nice motd-script with ascii-art?

May something like that:

(Frank W.) #20

I’ve got a booting debian stretch with debootstrap and uploaded instructions here:

Also an tar.gz on my gdrive is linked there…

(Wanderley) #21

Good Morning!

How to install debian BPI-R2 emmc. I’m starting in bananapi-r2, I’m confused how should I proceed.



(Frank W.) #22

  1. change partitionconfig in uboot or with mmc-utils
  2. Flash preloader to boot0
  3. flash preloader+uboot to mmcblkx and create partitiontable
  4. install bootstrapped rootfs and change necessary things (network-config,fstab)
  5. Install kernel, modules and uenv.txt

Instead of steps 3-5 you can flash my stretch-image for emmc from my gdrive (

(Wanderley) #23

I was using the historics you mentioned.

But with the image jessie-lite:


When it reboots it does not find emmc. Do you know if this image can recognize emmc?

When I use the ubuntu image, I get the boot normally. But I need to use debian clean (with few packages)

Thank you for your response.