After receiving my new Banana Pi to replace the well loved Raspberry Pi, it certainly was clear, I’m going to use Arch Linux, as this is my favorite distribution since the last five years.
So I downloaded the current ArchLinux_For_BananaPi_v2.0.
At first I had some problems with my installation, which I guess are the result of a failed disk dump. After the second try, everything seemed to work flawlessly. The first impressions were promising, the fresh system was much more fluent than the RPi. The Banana Pi journey finally could begin.
HDD and SATA
I attached an external 3,5″ HDD (with external power supply) via SATA-L to eSATA-I cable to the BPi and made some benchmarks using dd. I measured an average speed of 82 MBytes/s reading and 38 MBytes/s writing. Not perfect, but indeed much faster than the RPi with its limiting USB interface.
Due to the Allwinner A20 SoC limitations the BPi is not able to use the full theoretical bandwidth of the Gigabit Ethernet NIC. Yet the BPi is able to use about 510 MBits per second.
Benchmarking was done using iperf (average of 3 run times). Client BPi and server were connected to a Gigabit capable switch via Gigabit Ethernet.
After setup the samba server, I could get a satisfying average of 42 MByte/s reading/writing from/to the SMB server (an increase of factor ~6 compared to my Raspberry Pi SMB performance).
Xorg and HDMI Resolution
The Xorg server is installed as easily as any other package, the required driver is xf86-video-fbdev.The BPi resolution initially is set to 1280×720 at 50Hz. It was a challenge to find out, how to change this resolution to 1080p. In my case it was required to modify the given script.bin from the first partition of the SD card using Sunix tools (see also this thread).
The following process describes, how you do it.
cd $HOME mkdir $HOME/boot sudo mount /dev/mmcblk0p1 $HOME/boot cp $HOME/boot/script.bin $HOME/script.bin git clone https://github.com/linux-sunxi/sunxi-tools $HOME/sunxi-tools/bin2fex $HOME/script.bin $HOME/script.fex
Now edit the created script.fex with an editor of your choice. Find the [disp_init] section and change the following parameter:
screen0_output_mode = 10
Save the changes, run fex2bin, backup and replace the previous script.bin.
$HOME/sunxi-tools/fex2bin $HOME/script.fex $HOME/script.bin sudo cp $HOME/boot/script.bin $HOME/boot/script.bin.backup sudo cp $HOME/script.bin $HOME/boot/script.bin
After creating a backup, you can change the disp.screen0.output_mode part of the $HOME/boot/uEnv.txt config with root privileges:
Unmount the boot partition, reboot and you should have 1080p/60Hz.
As nobody opened an article in the Arch Linux Wiki yet, I created a new page for the Banana Pi hoping, that some users might find an easier start into the topic.
Now that my BPi is became more or less productive for its main purpose (serving files to the Windows/Linux network), I’m going to do the next steps in the following days. I plan to setup some emulators, a LAMP stack including OwnCloud, XBMC (I’m curious, how the Mali GPU performs compared to Raspy’s VC) and maybe a small DVR solution.