# Banana Pro

The Banana Pro (also often referred to as Banana Pi Pro) is a SBC from the manufacturer LeMaker. You can see the specifications here. By now, this article only covers the installation using the tarball, which is very similar to the installation of the Banana Pi.

## Information prior to installing

This article is very similar to the Banana Pi, though the description there doesn't apply fully to the Banana Pro. Also, users have to be familiar with installing an Arch system (Partitioning, formatting, etc.), as this will only cover the installation of the base system. Further configuration won't be covered here.

Note: If you use a Linux installation with `e2fsprogs < 1.43`, omit the extra options `-O ^metadata_csum,^64bit` below to format the root file system.
Note: Ensure to install the root file system on the first partition, otherwise it will not boot. (e.g. `sda1, sdb1, ...`)

## Installation

### Install base system to a SD card

Zero the beginning of the SD card (sdX):

    dd if=/dev/zero of=/dev/sdX bs=1M count=8

Download the root filesystem and the required boot files (will be saved in your current working directory):

    # wget http://archlinuxarm.org/os/ArchLinuxARM-armv7-latest.tar.gz                     # base system
    # wget http://pkgbuild.com/~tredaelli/alarm/bananapro/boot/u-boot-sunxi-with-spl.bin   # Bootloader for Banana Pro
    # wget http://pkgbuild.com/~tredaelli/alarm/bananapro/boot/boot.scr                    # Also a required boot file for the Banana Pro

Use `fdisk` to partition the SD card...

    # fdisk /dev/sdX

...and format it with `mkfs.ext4`.

For e2fsprogs < 1.43:

    # mkfs.ext4 /dev/sdX1

For e2fsprogs >= 1.43:

    # mkfs.ext4 -O ^metadata_csum,^64bit /dev/sdX1

Create a mountpoint if needed and mount the root partition, on which Arch Linux will be installed later on. Replace `sdX` with the device name of your SD card. (e.g. `sdc`)

    # mkdir <mountpoint>                  # create a mountpoint
    # mount /dev/sdX1 <mountpoint>        # replace sdX1 with sda1, sdb1, sdc1, ...

Extract the root file system to the root partition of your SD card:

    # bsdtar -xpf ArchLinuxARM-armv7-latest.tar.gz -C <mountpoint>                         # extract to SD card

Copy the bootloader (`u-boot-sunxi-with-spl.bin`) and boot file:

    # dd if=/path/to/u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8                  # install the bootloader
    # cp /path/to/boot.scr [mountpoint]/boot
    # umount <mountpoint>

Note: It is very important to `dd` the .bin file in the first place (before copying the .scr file)! Doing otherwise may lead to denial of boot.

After inserting the SD card into the slot on the bottom, your Banana Pro should boot properly and prompt you with a console.

### Install base system to a SD card and SATA/USB device

Note: Do not partition your SD card in this procedure.

This part covers the procedure of installing your system on a SATA/USB device. The only required part of the system, that has to be on the SD card, is the bootloader. The other parts may reside on an external device. In the following, sdX represents your SD card and sdY represents the SATA/USB device.

Zero the beginning of the SD card:

    dd if=/dev/zero of=/dev/sdX bs=1M count=8

Download the required files if you haven't done it already:

    # wget http://archlinuxarm.org/os/ArchLinuxARM-armv7-latest.tar.gz                     # base system
    # wget http://pkgbuild.com/~tredaelli/alarm/bananapro/boot/u-boot-sunxi-with-spl.bin   # Bootloader for Banana Pro
    # wget http://pkgbuild.com/~tredaelli/alarm/bananapro/boot/boot.scr                    # Also a required boot file

Install the bootloader to the (whole) SD card:

    # dd if=/path/to/u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8                       # Installs only the bootloader to your SD card. You can eject the SD card now if you want to.

Use `fdisk` to partition the SATA/USB device...

    # fdisk /dev/sdY

...and format it with `mkfs.ext4`.

For e2fsprogs < 1.43:

    # mkfs.ext4 /dev/sdY1

For e2fsprogs >= 1.43:

    # mkfs.ext4 -O ^metadata_csum,^64bit /dev/sdY1

Create a mountpoint if needed and mount the root partition. Again, `sdY1` is the root partition of the SATA/USB device (`sdY`), on which Arch Linux will be installed.

    # mount /dev/sdY1 <mountpoint>                                                        # Mount the root partition
    # bsdtar -xpf ArchLinuxARM-armv7-latest.tar.gz -C <mountpoint>                        # Extract the root filesystem to your root partition
    # cp /path/to/boot.scr <mountpoint>/boot
    # umount <mountpoint>

This whole guide is inspired by the installation procedure for the OlinuXino Lime2 with a few adaptations.

## Network

The network is by default configured by systemd-networkd.

### LAN

Ethernet will work out of the box when connected to a DHCP server.

### WLAN

To become wlan working you have to install the needed firmware and WPA supplicant which uses the kernel module `brcmfmac`.

    # pacman -S firmware-ap6210 wpa_supplicant

## Login

These are the default logins for a new installation.

Type | Username | Password
--- | --- | ---
Root | `root` | `root`
User | `alarm` | `alarm`

The root account is locked by default for SSH login. Login as normal user and use `su -` to become root.

## See also

Banana Pro FAQ

Category:

- ARM architecture