Prepare a USB to serial cable and a 5V 3A adapter Type-C power supply. The serial port cable is used for console debugging, and the Type-C cable is used for Android image ** and ADB debugging. Prepare an SD card of at least 8GB for Linux development, Android only supports eMMC boot. The first boot medium of the SOC ROM is eMMC, so if the eMMC boots and any image boots, the motherboard cannot boot from the SD card, see Motherboard boot order for more information. Only the A311D variant board has camera, MIPI panel, and NPU support. **And install the AML USB burning tool for using the Type-C **Android image, Windows only. ** Latest Android image and confirm that the MD5 checksum is correct. Open the USB Burning Toolexe, select the file import image, and select the Android image file AML Upgrade Packageimg。Press and hold the USB button on the board, plug the Type-C USB cable into your PC or if you have a power adapter connected, press the RST button, after about two seconds, release the button and the board will be recognized correctly. Click on the start button of the tool and wait for the upgrade to complete. After the burning is successful, unplug the Type-C USB and connect the power adapter to boot it. Click the "Stop" button to cancel the upgrade process and close the USB burning tool. AML-Flash-Tool is an open-source image of the Flash Utility for Amlogic Android.
$ ./flash-tool.sh --img=/path/to/aml_upgrade_package.img --parts=all --wipe --soc=g12a --reset=y
Copy.
Get Android 90 source **git clone copy or you can get the source **tar archive from disk (pincode: 8888) or googledrive to build android 90 source code.
Please read the source code readmeMDBANANAPI M2S DTBO IDX value table, the default IDX value in the publish image is 0.
How to apply a new DTBO
via the adb command for sysfs root@dangku-desktop: tmp adb root restarting adbd as root root@dangku-desktop: tmp adb remount remount succeeded root@dangku-desktop: tmp adb shell bananapi m2s: echo dtbo > sys class unifykeys name bananapi m2s: echo"1"> sys class unifykeys write bananapi m2s: reboot copy uart console command via sysfs console: $ console: $ su console: echo dtbo > sys class unifykeys name [ 115702781@0] unifykey: name_store() 1302, name dtbo, 4 [ 115.702856@0] unifykey: name_store() 1311 console:/ # console:/ # echo "1" > /sys/class/unifykeys/write [ 129.262659@0] unifykey: write_store() is a string [ 129.262733@0] unifykey: dtbo, 1, 1 [ 129.265312@0] unifykey: amlkey_write 393 [ 129.292347@1] emmc key write:149, write ok console: console: reboot copy setup app (to-do) check the start uart debug message and confirm which dtbo is actually loaded, where "1" means set idx=1 to apply wifi bt rtl8822cs dtbo. load dtb from 0x1000000 ..Amlogic Multi-DTB Tool Single DTB Detected Find 2 DTBos DTBos to be Applied: 1 Apply DTBO 1Copy the UnifyKeys stored in a specific eMMC section, and the "Normal Erase" selected in the USB Burning Tool will not erase this data on the next update, if you want the default DTBo to be applied after the image** idx, you must select "Erase All". Build an Android image with specific DTBO defaults.
The default built-in overlay is in the Device BananAPI BananAPI M2S kernelmk, where you can add a new overlay dtbo. dtbo devicetree := android p overlay wifi bt rtl8822cs i2c1 i2c2 sdio uart1 uart1 cts rts uart2 hifi pcm5122 copy default app dtbo idx in device bananapi bananapi m2s boardconfigmk, you can change the idx value to set which override dtbo is applied by default. board_kernel_cmdline += androidboot.DTBo idx=0 copy DTS files in Common Arch ARM64 boot DTS Amlogic Overlay BananAPI M2S
For more information about Android device tree overlays, please refer to Google Android's official installation package from OpenGapps, the Android version image is Arm Android 90 variants. **device_id.apk。Copy the OpenGapp package to the udisk or sdcard root. Create a file under the udisk or sdcard root directory calledfactory_update_param.amlThe txt file contains the following android recovery parameters and replaces the file name with the actual ** package.
USB disk: --wipe cache --update package= udisk open gapps-arm-90-pico-20210327.Zip copy the SD card: --wipe cache --update package= sdcard open gapps-arm-90-pico-20210327.Zip copy inserts the udisk or sdcard into the board and boots it on. OpenGapps is installed and authenticated. YouTube **you can also use it on Bilibili**The** default Android release image only supports one MIPI panel, because the hardware does not have the logic to detect different panels at startup, so [800x1280 BPI panel] is enabled by default, but you can change it to the default [1200x1920 BPI panel] in the settings panel output
Two 10s"The MIPI panels are all hardware displayed in portrait orientation, so the default Android post image is in portrait mode, but you can rotate it to 90 180 270 in two ways.
ui rotation in settings display screen rotation surfaceflinger rotation, need to modify android source code and build change default sf rotation property diff --git a device bananapi bananapi m2s bananapi m2smk b/device/bananapi/bananapi_m2s/bananapi_m2s.mk index 1f51703..d592a44 100644 --a/device/bananapi/bananapi_m2s/bananapi_m2s.mk ++b/device/bananapi/bananapi_m2s/bananapi_m2s.mk @@579,6 +579,6 @@product_property_overrides += \ else product_property_overrides += \ ro.sf.lcd_density=213 \ ro.sf.primary_display_orientation=0 + ro.sf.primary display orientation=90 endif copy change touch panel rotation diff in dts --git a common arch arm64 boot dts amlogic bananapi m2sdts b/common/arch/arm64/boot/dts/amlogic/bananapi_m2s.dts index 4a698b0..3d41b63 100755 --a/common/arch/arm64/boot/dts/amlogic/bananapi_m2s.dts ++b/common/arch/arm64/boot/dts/amlogic/bananapi_m2s.dts @@876,8 +876,8 @@reg = <0x5d>; reset-gpio = ; irq-gpio = ; rotation = <4>; /* sf_rotation 0 */ - //rotation = <0>; /* sf_rotation 90*/ + //rotation = <4>; /* sf_rotation 0 */ + rotation = <0>; /* sf_rotation 90*/ //rotation = <5>; /* sf_rotation 180 */ //rotation = <3>;SF Rotation 270 Copy Android Bootloader Limit Boot Logo FB display size defaults to 1080p60hz 1920x1080, and the Android Kernel DTB partition table limits Boot Logo partition size to 16MB by default.
Prepare a 16-bit bmp file named Boot-Logobmp compresses the bmp file into boot-logobmp.gz$ gzip boot-logo.BMP copy M2S Android Bootlogo ToolZip extraction of this tool $unzip m2s android bootlogo toolzip $ cd m2s_android_bootlogo_tool/ $ ls -l logo/ -rwxr--r-- 1 dangku dangku 525054 sep 25 16:54 bootup.bmp -rwxr--r-- 1 dangku dangku 525054 sep 25 16:54 bootup_secondary.bmp -rwxr--r-- 1 dangku dangku 184 may 19 2020 upgrade_bar.bmp -rwxr--r-- 1 dangku dangku 180072 may 19 2020 upgrade_error.bmp -rwxr--r-- 1 dangku dangku 180072 may 19 2020 upgrade_fail.bmp -rwxr--r-- 1 dangku dangku 180072 may 19 2020 upgrade_logo.bmp -rwxr--r-- 1 dangku dangku 180072 may 19 2020 upgrade_success.bmp -rwxr--r-- 1 dangku dangku 184 may 19 2020 upgrade_unfocus.bmp -rwxr--r-- 1 dangku dangku 180072 may 19 2020 upgrade_upgrading.bmp copy boot-logobmp.gz$ cp boot-logo.bmp.gz logo/bootup.bmp $ cp boot-logo.bmp.gz logo/bootup_secondary.BMP Copy: Use the IMG Pack tool to create the target logoIMG, the binaries and related libraries of the M2S Android Bootlogo Tool are copied from out host linux-x86 $/logo_img_packer -r logo logo.img copy flash boot logo with fastboot $ adb root $ adb remount $ adb reboot fastboot copy wait a few seconds to check if fastboot is connected $fastboot device 1234567890 fastboot $ fastboot flashing unlock critical $fastboot flashing unlock $ fastboot flash logo logo.img$fastboot reboot replication linux images support sdcard or emmc boot. It is recommended to use an A1 class card with at least 8GB. If you want to boot from an SD card, make sure the bootable eMMC is formattedIf you want to boot from an eMMC and use the SDCacard as storage, make sure the SD card is formatted and does not have a Linux image. Install bpi-tools on your Linux PC (ignore this step if you use another tool to refresh the image). If you are unable to access this URL or have any other installation issues, go to the bpi-tools source library, manually install the tool. $ apt-get install pv $ curl -sl |sudo -e bash copies the latest linux image of **linux and confirms that the md5 checksum is correct. Default login: pi bananapi or root bananapiwiki guide only for bananapi 49 BSP ubuntu debian image.
Install images using Balena Etcher on Windows, Linux, and macOS.Balena Etcher is an open-source GUI flash tool from Balena that flashes an operating system image to an SD card or USB drive.
Click "Flash From File" to select an image. Click "Select Destination" to select the USB device. Click on "Flash!".Start burning.
Install images using the Balena CLI on Windows, Linux, and macOS.The Balena CLI is a command-line interface for BalenaCloud or OpenBalena. It can be used to refresh Linux images. Install the program or standalone package from Balena-IO** and install it properly to your PC, then you can flash the Linux image to an SDCacard or USB drive using Balena's "Local Flash" command option.
$ sudo balena local flash path/to/xxx-bpi-m2s-xxx.img.zip$ sudo balena local flash path/to/xxx-bpi-m2s-xxx.img.zip --drive /dev/disk2$ sudo balena local flash path/to/xxx-bpi-m2s-xxx.img.zip --drive /dev/disk2 --yes
Copy.
Use the dd command on Linux to install the image.If installed automatically, then install the SD card device dev sdx partition. Actually, bpi-copy is the same as this dd command.
$ sudo apt-get install pv unzip$ sudo unzip -p xxx-bpi-m2s-xxx.img.zip | pv | dd of=/dev/sdx bs=10m status=noxfer
Copy.
Install the image using bpi-tools on Linux.Insert the SD card into your Linux PC and run.
$ sudo apt-get install pv unzip$ sudo bpi-copy xxx-bpi-m2s-xxx.img.zip /dev/sdx
Copy.
Prepare an SD card with a Linux image and use the SD card to launch the pad. Copy the Linux image to the udisk, plug the udisk into the motherboard, and install it. There are two ways to install a Linux image onto a motherboard. Use the dd command to install, and if installed automatically, uninstall the mmcblk0p1 and mmcblk0p2 partitions. Actually, bpi-copy is the same as this dd command. $ sudo apt-get install pv unzip $ sudo unzip -p xxx-bpi-m2s-xxx.img.zip | pv |dd of= dev mmcblk0 bs=10m status=noxfer copy install linux image in udisk using bpi-tools command $ sudo apt-get install pv unzip $ sudo bpi-copy xxx-bpi-m2s-xxximg.Once the zip dev mmcblk0 copy is complete, safely power off and eject the SD card. Obtain the Linux BSP source**$git clone copy the BSP source code.
Please read the source code readmemdIf you want to build uboot and kernel separately, please **u-boot kernel only, get the toolchain, boot script, and other configuration files from bpi-m2s-bspdtb override for 40pin gpios multifunction configuration and install in the vfat boot partition, you can check the mount point with the 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 i2c1.dtbo pwm_ef.dtbo w**eshare_tft24_lcd.dtbo i2c2.dtbo pwm_ef-f.dtbo w**eshare_tft35c_lcd.dtbo pwm_ab.dtbo sdio.dtbo w**eshare_tft35c_rtp.dtbo copy update vfat boot envtxt to enable the features you want. # device tree overlays # uart1 --enable uart1 (uart_a, gpio header pin8 & pin10) # pwm_c --enable pwm_c (gpio header pin7) # i2c2 --enable i2c2 (gpio header pin3 & pin5) # spi0 --enable spi0 (gpio header pin19 & pin21 & pin23 & pin24) overlays="i2c2 spi0 uart1"Replication must restart the board to load the override DTB. The Linux version of the image is turned off by default, and you can enable it according to the following configuration:
Update boot envDTB in TXT overlays the environment to enable camera DTBO. overlays="os08a10"Copy the Add Camera Module to etc ModulesIV009 ISP IQ IV009 ISP Lens IV009 ISP Sensor IV009 ISP Copy the Create Camera Module option and add it to ETC ModProbed/os08a10.conf choose camera calibration parameters options iv009 isp iq cali name=0 choose isp register sequence options iv009 isp sensor isp seq num=0 copy enable camera isp systemd service $ sudo systemctl enable camera isp 3a server.After the service replication is restarted, the camera device is dev video0. The default Linux version image only supports one type of MIPI panel, because the hardware has no logic to detect different panels at boot time, so the 800x1280 BPI panel is enabled by default, but you can use it in Boot LCD Envtxt to the default [1200x1920 bpi panel].
# mipi panel type# symbol | resolution## "lcd_0" | 10" 800x1280 panel# "lcd_1" | 10" 1200x1920 panelpanel_type=lcd_0
Copy.
Two 10s"The MIPI panels are all hardware displayed in portrait orientation, so the default published image is in portrait mode, but you can rotate it to 90 180 270.
For desktop images, create the xorg configuration file usr share x11 xorgconf.d/10-fbdev-rotate.conf content:
section "device" identifier "configured video device" # rotate off# option "rotate" "off" # rotate right / clockwise, 90 degrees option "rotate" "cw" # rotate upside down, 180 degrees# option "rotate" "ud" # rotate counter clockwise, 270 degrees# option "rotate" "ccw"endsectionsection "inputclass" identifier "coordinate transformation matrix" matchistouchscreen "on" matchproduct "goodix-ts" matchdevicepath "/dev/input/event0" matchdriver "libinput" # rotate right / clockwise, 90 degrees option "calibrationmatrix" "0 1 0 -1 0 1 0 0 1" # rotate upside down, 180 degrees# option "calibrationmatrix" "-1 0 1 0 -1 1 0 0 1" # otate counter clockwise, 270 degrees# option "calibrationmatrix" "0 -1 1 1 0 0 0 0 1"endsection
Copy.
For server images, you can change the frame buffer spin in two ways
sysfs is dynamic. echo 0 > sys class graphics fbcon rotate origin 0 degree echo 1 > sys class graphics fbcon rotate 90 degree echo 2 > sys class graphics fbcon rotate 180 degree echo 3 > sys class graphics fbcon rotate 270 degree replication bootstrap configuration changes.
Change boot envfb rotate environment in txt framebuffer rotate 0 - origin 0 degree 1 - 90 degree 2 - 180 degree 3 - 270 degree fb rotate=0 copy
Build and install wiringpi, for debian must install sudo$sudo apt-get update $sudo apt-get install build-essential git $ git clone $cd amlogic-wiringpi $ chmod a+x build $sudoBuild copy run gpio readall shows all 40 pin status. BPI GPIO shield and AMLOGIC-WIRINGPI examples.
Example in BlinkAll, flashing all pin headers GPIOS, no shields.
LCD-BPI, BPI LCD 1602 display module example.
52pi-bpi, BPI OLED display module example.
MATLED-BPI, BPI RGB LED Matrix Expansion Module Example.
berryclip-bpi, bpi berryclip module build and install, for debian sudo must be installed before build
$ sudo apt-get update$ sudo apt-get install build-essential python3 python3-pip python3-dev python3-setuptools git$ git clone cd rpi.gpio-amlogic$ sudo python3 setup.py clean --all$ sudo python3 setup.py install
Copy.
Create and install the wheel package.
$ sudo python3 setup.py bdist_wheel$ sudo pip3 install dist/rpi.gpio-xxx.whl
Copy.
Install directly from git source, no development required.
$ sudo pip3 install git+
Copy.
If the package is already installed, you should uninstall it before installing the new package, or use the --force-reinstall option to install the new package.
Build and install, in the case of debian sudo must be installed before building
$ sudo apt-get update$ sudo apt-get install build-essential python3 python3-dev python3-setuptools swig git$ git clone --recursive cd wiringpi2-python-amlogic$ sudo python3 setup.py install
Copy.
luma.By default, examples uses gpioBCM GPIO mode, so you should map the 40pin header pins to the BCM GPIO number and connect the hardware correctly.
Build and install rpiGPIO uses python3 instead of python to build bananapi m2s rpigpio, because luma uses python3. $ sudo apt-get update $ sudo apt-get install build-essential python3 python3-dev python3-setuptools git $ git clone $ cd rpi.gpio-amlogic $ sudo python3 setup.py clean --all $ sudo python3 setup.py install you can set the test ledThe bcmledpin variable in py changes to a hardware backlit gpio and runs it to check rpiWhether GPIO is working properly. $ sudo python3 test/led.The py replication hardware backlight will turn luma on and off repeatedlyexamples library install $sudo usermod -a -g i2c, spi, gpio pi copy if the group doesn't exist, the following command will create it: $sudo groupadd --system xxx $sudo apt-get install python3-dev python3-pip libfreetype6-dev libjpeg-dev build-essential $ sudo apt-get install libsdl-dev libportmidi-dev libsdl-ttf2.0-dev libsdl-mixer1.2-dev libsdl-image1.2-dev $ git clone $ cd luma.examplescore、luma.emulator、luma.lcd、luma.le-matrix、luma.oled pip libs, make sure there are no errors or **breaks in this step, and if there is an error please try again $sudo -h pip install -eCopy or $sudo -h pip3 install -eReplication is useful for Debian Buster (Python 37), it doesn't include usr bin pip in the python3-pip package, and the following error occurs when installing the luma package 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 ..Copy and install the sdl2 related packages to fix this issue, then install luma libs$ sudo apt-get install libsdl2-dev libsdl2-ttf-dev libsdl2-mixer-dev libsdl2-image-dev $ sudo -h pip3 install -e with pip3 again check installed luma pip libs $ pip3 list | grep luma luma.core 2.4.0 luma.emulator 1.4.0 luma.lcd 2.10.0 luma.led-matrix 1.7.0 luma.oled 3.11.0 copy sample test before running the test sample.
Enable I2C or SPI override $cd examples $sudo python3 bouncepy --config ../conf/ili9341.conf replication
Backlight control: Linux uboot limits the boot logo fb size to 1080p60hz 1920x1080 by default, so the default image will not support excessive resolutions, but you can modify the uboot source** to support it.
Prepare a 24-bit bmp file named boot-logoBMP copies the target file to the boot firmware or boot directory.
Check the bootloader loaded from SDCacard or EMMC at the beginning of the console debug message.
ROM loads bootloader from SD card (Linux log example)....bl2 built : 15:21:42, mar 26 2020. g12a g486bc38 - gongwei.chen@droid11-sz board id = 1 set cpu clk to 24m set clk81 to 24m use gp1_pll as dsu clk. dsu clk: 1200 mhz cpu clk: 1200 mhz set clk81 to 166.6m board id: 1 load fip hdr ddr from sd, src: 0x00010200, des: 0xfffd0000, size: 0x00004000, part: 0 fw parse done piei prepare done fastboot data verify result: 255 cfg max: 12, cur: 1. board id: 255. force loop cfg ddr4 probe ..Copy the rom to load the bootloader from emmc (android log example).board id = 1 set cpu clk to 24m set clk81 to 24m use gp1_pll as dsu clk. dsu clk: 1200 mhz cpu clk: 1200 mhz set clk81 to 166.6m emmc boot @ 0 sw8 s board id: 1 load fip hdr ddr from emmc, src: 0x00010200, des: 0xfffd0000, size: 0x00004000, part: 0 fw parse done piei prepare done 00000000 emmc switch 1 ok ddr s**ed addr:00016000 load ddr parameter from emmc, src: 0x02c00000, des: 0xfffd0000, size: 0x00001000, part: 0 00000000 ..There are four possible scenarios to be aware of for copying, eMMC has flashed into the Android image, eMMC has flashed into the Linux image, startup process in BL2 is hanging, and eMMC is empty.
The bootable eMMC with the Android image is flashedUse a USB programming tool to format at 7%.**Unplug the Type-C USB cable during the process using the Android FastBoot tool, please make sure the Adb FastBoot tool is working properly on your PC before doing this. root@dangku-desktop: tmp adb root adbd is already running as root root@dangku-desktop: tmp adb remount remount succeeded root@dangku-desktop: tmp adb shell bananapi m2s: reboot Fastboot Copy, wait a few seconds, and let the motherboard reboot into fast boot mode root@dangku-desktop: tmp fastboot devices 1234567890 fastboot root@dangku-desktop: tmp fastboot flashing unlock critical.okay [ 0.044s] finished. total time: 0.044s root@dangku-desktop:/tmp# fastboot flashing unlock ..okay [ 0.047s] finished. total time: 0.047s root@dangku-desktop:/tmp# fastboot erase bootloader erasing 'bootloader'...okay [ 0.059s] finished. total time: 0.059s root@dangku-desktop:/tmp# fastboot erase bootloader-boot0 erasing 'bootloader-boot0'...okay [ 0.036s] finished. total time: 0.036s root@dangku-desktop:/tmp# fastboot erase bootloader-boot1 erasing 'bootloader-boot1'...okay [ 0.035s] finished. total time: 0.035s copy using uboot command, connect the debug console cable and press esc key on boot to enter uboot command line bananapi m2s v1 amlmmc erase 1 emmckey is protected():p rotect start=0,end=57343 start=221184,end=30535679 erasing blocks 0 to 8192@ boot0 start = 0,end = 8191 erasing blocks 0 to 8192 @ boot1 start = 0,end = 8191 bananapi m2s v1 reset resetting ..sm1:bl:511f6b:81ca2f;feat:a0f83180:20282000;poc:f;rcy:0;emmc:0;read:0;chk:1f;read:0;chk:1f;read:0;chk;Copying these two ways actually erases the bootloader part of emmc android, and after booting from sdcard linux, it's best to format the entire emmc via the dd command. The easiest way to do this is to insert an SD card with a Linux image before booting up, and the Android bootloader will check for the presence of Bootini file so that the SD card Linux boots. Once booted, you can format the entire eMMC with the dd command and then flash the Linux image to eMMC....bpi: try boot from sdcard reading boot.ini 2453 bytes read in 3 ms (797.9 kib/s) ## executing script at 03080000 starting boot.ini...reading env.txt 3483 bytes read in 7 ms (485.4 kib/s) hdmi: autodetect: 1080p60hz reading image.gz 10924573 bytes read in 611 ms (17.1 mib/s) reading bananapi_m2s.dtb 88054 bytes read in 12 ms (7 mib/s) reading uinitrd 11704481 bytes read in 655 ms (17 mib/s) reading overlays/wifi_bt_rtl8822cs.dtbo 729 bytes read in 6 ms (118.2 kib s) copy the bootable emmc with linux image flashed using the uboot command, connect the debug console cable and press esc key on boot to enter the uboot command line bananapi m2s mmc erase 0 1000 copy linux u-boot will also check if there is boot in the sdcard vfat partitionini file in order for sdcard linux to boot. Once launched, you can format the entire eMMC with the dd command or flash the Linux image directly to eMMC. ExtremesituationIs the bootloader or uboot corrupted, the ROM is loaded from eMMC but hangs in U-Boot or BL2, for example if DRAM INIT fails, the boot process will hang in BL2 of eMMC, the only way is to format eMMC with a USB flashing tool, or completely** android image, and then try other methods to erase eMMC or flash the Linux image to eMMC. If the eMMC is empty, the ROM will attempt to load the bootloader directly from the SD card. If the board has flashed Android before, if you want to boot it with the sdcard linux image, the entire emmc must be erased by these commands.
$ sudo dd if=/dev/zero of=/dev/mmcblk0boot0 bs=1m status=noxfer$ sudo dd if=/dev/zero of=/dev/mmcblk0boot1 bs=1m status=noxfer$ sudo dd if=/dev/zero of=/dev/mmcblk0 bs=1m status=noxfer$ sync
Copy.
Android testing and support. rtl8723bu wifi/bt(usb) rtl8188eu wifi(usb) rtl8821cu wifi/bt(usb) rtl8822cs wifi/bt(sdio/uart) rtl8814au wifi(usb), please get the aircrack-ng driver and install.Copy. How to enable Android WiFi BT
USB type: Plug the USB dongle into the USB host port and reboot the system, once launched, you can enable or disable WiFi and Bluetooth in the Settings app.
SDIO UART Type: Connect the hardware module properly to the 40-pin connector and configure the Android DTB overlay to enable it. Note: Android does not support Ethernet and Wifi to connect at the same time, Ethernet has a higher priority than Wifi, which means that if Ethernet is connected, Wifi cannot connect to the network, and if Ethernet cable plug-in, Wifi will disconnect. Linux testing and support. RTL8188EU WiFi(USB) RTL8192EU WiFi(USB) RTL8723BU WiFi BT(USB) RTL8811AU WiFi(USB) RTL8812AU WiFi(USB) RTL8812BU WiFi(USB) RTL8821CU WiFi BT(USB) RTL8822CS WiFi BT(SDIO UART) CopyHow to enable Linux WiFiThe WiFi module driver is pre-built in the release image. USB Type: Plug the USB dongle into the USB host port and the driver will load automatically. SDIO UART Type: Properly connect the hardware module to the 40pin socket. Configure dtb to overlays="wifi_bt_rtl8822cs"Copy to add the wifi module name to the etc modules so that it is automatically loaded the next time it starts. # this file contains the names of kernel modules that should be loaded # at boot time, one per line. lines beginning with "#" are ignored.88x2cs replicationHow to enable Bluetooth for LinuxPlease **rtk-linux-bt-driver source**, build and install the USB or UART RTK Linux Bluetooth driver firmware to your image. For USB type, plug the USB dongle into the USB host port and the driver will be loaded automatically. For UART type, configure the DTB overlay to be the same as WiFi before installing the Bluetooth driver firmware. The HCI UART driver will be in RTK-HCIUARTThe service is loaded when it starts. The cloud-init and snap services are enabled by default, and you can disable or delete them.
Disable or delete cloud-init$ sudo touch etc cloud cloud-initdisabled replication or $sudo apt purge cloud-init replication disables or deletes snapshots $sudo apt purge snapd replication systemd service rc-localservice is already present in the publish image, but there is no [install] part in the unit file. As a result, systemd can't enable it. First, we have to update the file.
$ sudo nano /lib/systemd/system/rc-local.service
Copy.
[unit]description=/etc/rc.local compatibilitydocumentation=man:systemd-rc-local-generator(8)conditionfileisexecutable=/etc/rc.localafter=network.target[service]type=forkingexecstart=/etc/rc.local starttimeoutsec=0remainafterexit=yesguessmainpid=no[install]wantedby=multi-user.targetalias=rc-local.service
Copy.
Create etc rclocal file.
sudo nano /etc/rc.local#!/bin/sh## rc.local## this script is executed at the end of each multiuser runlevel.# make sure that the script will "exit 0" on success or any other# value on error.## in order to enable or disable this script just change the execution# bits.## by default this script does nothing.exit 0
Copy.
Give etc rclocal to add executable permissions.
$ sudo chmod +x /etc/rc.local
Copy.
Enable rc-localservice and restart.
$ sudo systemctl enable rc-local.service$ sudo reboot
Copy.
The published Debian image does not have sudo installed by default, and the user can change it to root using the "su -" command. If you like sudo, you can install it.
$ su rootpassword:(enter bananapi)# apt-get update# apt-get install sudo# adduser pi sudo
Copy.
Then please log out and log back in.
In Ubuntu 2004 Install the docker engine on the server.
Set up the repository Update the apt package index and install the package to allow apt to use the repository over https: $ sudo apt-get update $ sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release copy add docker official gpg key: $ curl -fssl | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg replication setup stable repository $echo"deb [arch=arm64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > dev null copy install docker engine $ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerdIO replication verifies that the docker engine is installed correctly by running the hello-world image. $ sudo docker run hello-world replication install docker with a simple command $ curl -ssl getdocker.com |sudo sh copy.