:1. DTB overlay is used for 40pin gpios multi-function configuration and install in vfat boot partition, you can check the mount point with mount command.
root@bananapi:~# ls /boot/overlays/
custom_ir.dtbo pwm_b-backlight.dtbo spi0.dtbo
ds3231.dtbo pwm_c-beeper.dtbo uart1_cts_rts.dtbo
hifi_pcm5102a.dtbo pwm_cd-c.dtbo uart1.dtbo
hifi_pcm5122.dtbo pwm_cd.dtbo uart2.dtbo
i2c0.dtbo pwm_ef.dtbo waveshare_tft24_lcd.dtbo
i2c1.dtbo pwm_ef-f.dtbo waveshare_tft35c_lcd.dtbo
pwm_ab.dtbo sdio.dtbo waveshare_tft35c_rtp.dtbo
:2. Update the overlays env in vfat /boot/boot.ini to enable what you want. Default i2c0, spi0 and uart1 enabled.
# Overlays to load
# Example combinations:
# spi0 i2c0 i2c1 uart0
# hktft32
# hktft35
setenv overlays "i2c0 spi0 uart1"
:3. Must be restart the board for overlay dtb loaded.
===WiringPi===
: Note: This WiringPi only support set 40pin gpio to output, input or software pwm, for io functions as i2c, spi, pwm..., you must enable dtb overlay in boot.ini
:1. Build and install wiringPi, for debian, you must [https://wiki.banana-pi.org/Getting_Started_with_BPI-M4_Berry#Enable_sudo_for_Debian install sudo] before build
: Build and install, for debian, you must [https://wiki.banana-pi.org/Getting_Started_with_BPI-M4_Berry#Enable_sudo_for_Debian install sudo] before build
: If the package is already installed, it should be uninstalled before installing the new one, or installing the new one with --force-reinstall option.
===WiringPi2-Python===
: Build and install, for debian, you must [https://wiki.banana-pi.org/Getting_Started_with_BPI-M4_Berry#Enable_sudo_for_Debian install sudo] before build
:[https://github.com/rm-hull/luma.examples luma.examples] use GPIO.BCM gpio mode default, so you should map 40pin header pins to bcm gpio number and connect the hardware correctly.
:install luma.core, luma.emulator, luma.lcd, luma.le-matrix, luma.oled pip libs, make sure this step without error or downloading interrupted, try again if get errors
$ sudo -H pip install -e .
:or
$ sudo -H pip3 install -e .
:for debian buster(python 3.7) which does not include /usr/bin/pip in package python3-pip, and will get the following errors when install luma packages with pip3
...
WARNING, No "Setup" File Exists, Running "buildconfig/config.py"
Using UNIX configuration...
/bin/sh: 1: sdl2-config: not found
/bin/sh: 1: sdl2-config: not found
/bin/sh: 1: sdl2-config: not found
...
:install sdl2 related packages to fix this issue, then install luma libs again with pip3
1. Linux image support SDcard or EMMC bootup, but you should read the [Boot_Sequence boot sequence] at first.
2. It’s recommended to use A1 rated cards, 8GB at least.
3. Make sure bootable EMMC is formatted if you want bootup from SDcard.
4. Make sure SDcard is formatted without Linux image flashed if you want bootup from EMMC and use Sdcard as storage.
5. Download latest [Linux Linux Image], and confirm that the md5 checksum is correct.
6. Default login: pi/bananapi or root/bananapi
7. The wiki guide is only for [bananapi 4.9 bsp ubuntu/debian images].
Install Image to SDcard
1. Install Image with Balena Etcher on Windows, Linux and MacOS.
Balena Etcher is an opensource GUI flash tool by Balena, Flash OS images to SDcard or USB drive.
2. Install Image with Balena Cli on Windows, Linux and MacOS.
Balena CLI is a Command Line Interface for balenaCloud or openBalena. It can be used to flash linux image. Download the installer or standalone package from balena-io and install it correctly to your PC, then you can use the "local flash" command option of balena to flash a linux image to sdcard or usb drive.
$ sudo balena local flash path/to/xxx-bpi-m4-berry-xxx.img.zip
$ sudo balena local flash path/to/xxx-bpi-m4-berry-xxx.img.zip --drive /dev/disk2
$ sudo balena local flash path/to/xxx-bpi-m4-berry-xxx.img.zip --drive /dev/disk2 --yes
3. Install Image with dd command on Linux, umount SDcard device /dev/sdX partition if mounted automatically. Actually bpi-copy is the same as this dd command.