Armbian on Orange Pi 4

From Dejvino's Knowledge Base
Revision as of 19:16, 22 March 2020 by Dejvino (talk | contribs)
Jump to navigation Jump to search

Armbian for Orange Pi 4.

Installation using a Prebuilt Image

Armbian provides several pre-built SD Card images ready to be flashed and used. See www.armbian.com/orange-pi-4

See Flashing Linux to SD Card on what to do with the downloaded *.img file.

Installation using a Custom Image

Source: docs.armbian.com/Developer-Guide_Build-Preparation/

  1. Prepare build environment (see #Using Vagrant)
  2. Configure and Build (see #Building an Image)
  3. Flash the image to SD Card

Using Vagrant

Source: docs.armbian.com/Developer-Guide_Using-Vagrant/

Prerequisites

  1. Install git, vagrant, virtualbox
  2. Install virtualbox plugins: vagrant plugin install vagrant-disksize
  3. Clone the armbian build repository: git clone --depth 1 https://github.com/armbian/build
  4. Fetch the guest VM image: vagrant box add ubuntu/bionic64

Building

  1. Go to VM template directory: cd build/config/templates
  2. Start the VM: vagrant up
  3. Log into the VM: vagrant ssh
    1. cd armbian
    2. sudo ./compile.sh (see details below)
  4. Copying the resulting image from guest to host: vagrant plugin install vagrant-scp
  5. Stop the VM at the end (or after every finished build): vagrant halt

Cleanup

  1. To cleanup after you are done: vagrant destroy

Building an Image

Source: docs.armbian.com/Developer-Guide_Build-Preparation/

Kernel + U-Boot Only

./compile.sh  BOARD=orangepi4 BRANCH=current KERNEL_ONLY=yes KERNEL_CONFIGURE=yes

Produces *.deb packages usable for kernel updates. Or for flashing to an SD Card if you unpack the deb archive (via

ar x *.deb

)

Minimal Debian Bullseye server

./compile.sh BOARD=orangepi4 BRANCH=current RELEASE=bullseye BUILD_MINIMAL=yes BUILD_DESKTOP=no KERNEL_ONLY=no KERNEL_CONFIGURE=yes

Produces a standalone *.img file (about 700 MB) for flashing to SD Card.

Troubleshooting

cannot initialize curses

When using e.g. Termite terminal emulator without terminfo installed on the guest VM, you get this error:

$ sudo ./compile.sh
...
cannot initialize curses
[ error ] ERROR in function source [ main.sh:141 ]
[ error ] No option selected 
[ o.k. ] Process terminated

One solution is to set a known working TERM:

$ TERM=xterm
$ sudo ./compile.sh

External Links