After spending more than a year developing Debian for Cubieboard I decided to port this build to Banana PI / PRO. Since the board is based on the same SoC the process should be easy. This is theory but in reality: Ethernet is somehow different so we need kernel source patching and we have to use other Uboot because I use hacked for Cubieboard to gain functionality of dual (Cubieboard2 / Cubietruck) boot. On top of this there are some adjustments to base system too.
All major hardware parts works except maybe HDMI audio if this plays any role to you. Bottom up – I manage to create stable and perfectly usable system where you can deploy your mini home server or just use as a playground platform. The image is compiled from scratch, from the same kernel source as Cubieboards but patched due to different GMAC. Image is suitable for any micro SD card larger than 1G. First boot takes longer (around 45s) than usual (20s) because it regenerates SSH keys and resizes partition to fit your SD card. It will reboot one time automatically on first boot to take effect for changes.
Debian Wheezy, Jessie or Ubuntu Trusty based Kernel 3.4.108 and 4.1.2 with large hardware support, headers and some firmware included Build ready – possible to compile external modules. Successfully tested with this wireless adapter Ethernet adapter with DHCP and SSH server ready on default port (22) with regenerated keys @ first boot Wireless adapter with DHCP ready but disabled (load module ap6210 [op_mode=2 # for AP mode], enable adapter in /etc/network/interfaces, WPA2: normal connect or AP mode) (Banana PRO only) BCM53125 switch configured as follows – looking at front of ports: |2|1|0|4|(LAN=manual) |3|(WAN=dhcp and bridged to enabled wireless adapter in high throughput 300Mbit mode with SSID lamobo and password 12345678 (R1 only) Enabled analog audio device (kernel 3.4.x only) and I2S (Banana PRO) IR functional and preconfigured – tested with LG remote (kernel 3.4.x only) Bluetooth ready (working with external key) I2C ready and tested with small 16×2 LCD. Basic i2c tools included. SPI ready and tested with ILI9341 based 2.4″ TFT LCD display. Drivers for small TFT LCD display modules. Drivers for LVDS LCD display modules. TS module: ft5x_ts, added configuration for 7″ – other sizes. (kernel 3.4.x only) Clustering / stacking (kernel 3.4.x only) USB redirector – for sharing USB over TCP/IP (disabled by default /etc/init.d/rc.usbsrvd) root file-system auto resize Graphics desktop environment upgrade ready. (kernel 3.4.x only) Possible further upgrade to desktop hardware acceleration. SATA & USB install script included (/root) Onboard LED attached to SD card activity (script.bin) Total memory is 1000Mb (disabled all memory reservations for GPU) Serial console enabled Enabled automatic security updating and ready for kernel apt-get updating Login script shows Banana PI / PRO / Lamobo R1 MOTD with current board temp (kernel 3.4.x only), hard drive temp, ambient temp from Temper if exits & actual free memory sunxi-tools included: fex2bin, bin2fex Performance tweaks: •/tmp & /log = RAM, ramlog app saves logs to disk daily and on shut-down (ramlog is only in Wheezy, others have default logger) •automatic IO scheduler. (check /etc/init.d/armhwinfo) •journal data writeback enabled. (/etc/fstab) •commit=600 to flush data to the disk every 10 minutes (/etc/fstab) •optimized CPU frequency scaling 480-1010Mhz with interactive governor (/etc/init.d/cpufrequtils) •eth0 interrupts are using dedicated core
Known bugs or limitations •Latest 3.4.107 image have some stability issues. Build from sources or wait for update. •No audio driver, IR, HW video, I2C and SPI untested on new kernel •Some drivers compile successfully some breaks with fatal error •USB/SATA install fails on new kernel •Power issues with R1 when using hard drive, HDMI and wireless altogether. •Gigabit ethernet transfer rate is around 50% of its theoretical max. rate (Allwinner problem) •You need to wait for first reboot than you can login and change root password successfully. (Jessie only)