Difference between revisions of "Armbian on Orange Pi 4"

From Dejvino's Knowledge Base
Jump to navigation Jump to search
Line 3: Line 3:
 
== Installation using a Prebuilt Image ==
 
== Installation using a Prebuilt Image ==
 
Armbian provides several pre-built SD Card images ready to be flashed and used. See [https://www.armbian.com/orange-pi-4/ www.armbian.com/orange-pi-4]
 
Armbian provides several pre-built SD Card images ready to be flashed and used. See [https://www.armbian.com/orange-pi-4/ 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 ==
 
== Installation using a Custom Image ==
 
Source: [https://docs.armbian.com/Developer-Guide_Build-Preparation/ docs.armbian.com/Developer-Guide_Build-Preparation/]
 
Source: [https://docs.armbian.com/Developer-Guide_Build-Preparation/ docs.armbian.com/Developer-Guide_Build-Preparation/]
 +
 +
# Prepare build environment (see [[#Using Vagrant]])
 +
# Configure and Build (see [[#Building an Image]])
 +
# [[Flashing Linux to SD Card|Flash the image to SD Card]]
  
 
=== Using [[Vagrant]] ===
 
=== Using [[Vagrant]] ===
Line 32: Line 38:
 
==== Kernel + U-Boot Only ====
 
==== Kernel + U-Boot Only ====
 
<pre>./compile.sh  BOARD=orangepi4 BRANCH=current KERNEL_ONLY=yes KERNEL_CONFIGURE=yes</pre>
 
<pre>./compile.sh  BOARD=orangepi4 BRANCH=current KERNEL_ONLY=yes KERNEL_CONFIGURE=yes</pre>
 +
 +
Produces *.deb packages usable for kernel updates. Or for flashing to an SD Card if you unpack the deb archive (via <pre>ar x *.deb</pre>)
  
 
==== Minimal Debian Bullseye server ====
 
==== Minimal Debian Bullseye server ====
 
{{codeblock|<nowiki>./compile.sh  BOARD=orangepi4 BRANCH=current RELEASE=bullseye BUILD_MINIMAL=yes BUILD_DESKTOP=no KERNEL_ONLY=no KERNEL_CONFIGURE=yes</nowiki>}}
 
{{codeblock|<nowiki>./compile.sh  BOARD=orangepi4 BRANCH=current RELEASE=bullseye BUILD_MINIMAL=yes BUILD_DESKTOP=no KERNEL_ONLY=no KERNEL_CONFIGURE=yes</nowiki>}}
 +
 +
Produces a standalone *.img file (about 700 MB) for flashing to SD Card.
  
 
== Troubleshooting ==
 
== Troubleshooting ==

Revision as of 19:16, 22 March 2020

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