Difference between revisions of "ArmbianHowTo"

m (Building image)
m (Building image)
Line 23: Line 23:
  
 
[[File:Armbian-1.png|640px]]
 
[[File:Armbian-1.png|640px]]
 +
 
Select '''Full OS Image for flashing'''. This will create output image for direct flashing on SD-card.
 
Select '''Full OS Image for flashing'''. This will create output image for direct flashing on SD-card.
  
 
[[File:Armbian-2.png|640px]]
 
[[File:Armbian-2.png|640px]]
 +
 
Select '''Do not change the kernel configuration'''. All needed configuration should be selected automatically. If you want some kernel modifications, select the other option.
 
Select '''Do not change the kernel configuration'''. All needed configuration should be selected automatically. If you want some kernel modifications, select the other option.
  
 
[[File:Armbian-3.png|640px]]
 
[[File:Armbian-3.png|640px]]
 +
 
Go to '''<Show CSC/WIP/ESO>'''. Currently A20-SOM204 is not officially supported by Armbian team. Instead the board is supported by Olimex team, which is under CSC section. So select that menu and confirm the action.
 
Go to '''<Show CSC/WIP/ESO>'''. Currently A20-SOM204 is not officially supported by Armbian team. Instead the board is supported by Olimex team, which is under CSC section. So select that menu and confirm the action.
  
Line 37: Line 40:
  
 
[[File:Armbian-6.png|640px]]
 
[[File:Armbian-6.png|640px]]
 +
 
Select desired distribution. We recommend jessie for server build, and xenial for image with desktop environment.
 
Select desired distribution. We recommend jessie for server build, and xenial for image with desktop environment.
  
 
[[File:Armbian-7.png|640px]]
 
[[File:Armbian-7.png|640px]]
 +
 
Select if you want server or desktop.
 
Select if you want server or desktop.
  

Revision as of 02:34, 12 February 2018

Building image

There is great Armbian documentation here.

  • Clone repository
 # git clone https://github.com/armbian/build.git
 Cloning into 'build'...
 remote: Counting objects: 32391, done.
 remote: Compressing objects: 100% (69/69), done.
 remote: Total 32391 (delta 60), reused 75 (delta 44), pack-reused 32278
 Receiving objects: 100% (32391/32391), 258.91 MiB | 959.00 KiB/s, done.
 Resolving deltas: 100% (21325/21325), done.
 Checking connectivity... done.
 Checking out files: 100% (2205/2205), done.

Soon (probably) there will be olimex fork with some customizations.

  • Run builder
 # cd build
 # ./compile

Building requires root access. System preparation can take long, depending on system, etc. After that you should see something like that:

Armbian-1.png

Select Full OS Image for flashing. This will create output image for direct flashing on SD-card.

Armbian-2.png

Select Do not change the kernel configuration. All needed configuration should be selected automatically. If you want some kernel modifications, select the other option.

Armbian-3.png

Go to <Show CSC/WIP/ESO>. Currently A20-SOM204 is not officially supported by Armbian team. Instead the board is supported by Olimex team, which is under CSC section. So select that menu and confirm the action.

Armbian-4.png Armbian-5.png

Select olimex-som204-a20.

Armbian-6.png

Select desired distribution. We recommend jessie for server build, and xenial for image with desktop environment.

Armbian-7.png

Select if you want server or desktop.

After build the images and other packages will be in the output folder:

 # tree output
 output/
 ├── config
 ├── debs
 │   ├── armbian-config_5.41_all.deb
 │   ├── armbian-firmware_5.41_all.deb
 │   ├── armbian-firmware-full_5.41_all.deb
 │   ├── armbian-tools-jessie_5.41_armhf.deb
 │   ├── armbian-tools-xenial_5.41_armhf.deb
 │   ├── extra
 │   ├── jessie
 │   ├── linux-u-boot-dev-olimex-som204-a20_5.41_armhf.deb
 │   └── xenial
 │       └── linux-xenial-root-dev-olimex-som204-a20_5.41_armhf.deb
 ├── debug
 │   ├── logs-09_02_2018-13_53_10.tgz
 │   ├── logs-09_02_2018-15_08_20.tgz
 │   ├── logs-12_02_2018-10_58_50.tgz
 │   ├── logs-12_02_2018-11_01_35.tgz
 │   ├── logs-12_02_2018-11_11_51.tgz
 │   ├── logs-.tgz
 │   ├── output.log
 │   ├── patching.log
 │   └── timestamp
 ├── images
 │   ├── Armbian_5.41_Olimex-som204-a20_Debian_jessie_dev_4.15.0.img
 │   └── Armbian_5.41_Olimex-som204-a20_Ubuntu_xenial_dev_4.15.0_desktop.img
 └── patch


  • Flashing image

Put sdcard in the host PC. New device should appear, e.g. /dev/sdc. Flash the image using the following command:

 # dd if=Armbian_5.41_Olimex-som204-a20_Debian_jessie_dev_4.15.0.img of=/dev/sdx bs=10M

Replace /dev/sdx with your device. You must use /dev/sdx, not /dev/sdx1!

Changing display output

With current kernel version (4.13) changing display output must be done by recompiling u-boot. This is necessary because kernel supports only SimpleFB. This will change in the future.

LCD

Enable touchscreen

Create blacklist file:

# echo "blacklist sun4i_gpadc_iio" > /etc/modprobe.d/blacklist-touchscreen.conf
# echo "blacklist sun4i_gpadc" >> /etc/modprobe.d/blacklist-touchscreen.conf

Calibrate touchscreen

Install calibration package:

# apt-get install xinput-calibrator

After completion start the program inside the X.

Applications
  -> System
    -> Calibrate Touchscreen

You will see blank screen. Touch the display at the marks. Then store the calibration values. Create new file 99-calibration.conf

# cat > /etc/X11/xorg.conf.d/99-calibration.conf << __EOF__
Section "InputClass"
	Identifier	"calibration"
	MatchProduct	"1c25000.rtp"
	Option	"Calibration"	"3930 108 348 3948"
	Option	"SwapAxes"	"0"
EndSection
__EOF__

Put the values from the calibrator program.

VGA

Changing resolution

The default resolution in 1024x768. You can list all resolutions with:

# xrandr

The output should be something like this:

Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 8192 x 8192
VGA-1 unknown connection 1280x1024+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
  1024x768      60.00 +
  1920x1200     59.88    59.95  
  1920x1080     60.00  
  1600x1200     60.00  
  1680x1050     59.95    59.88  
  1400x1050     59.98    59.95  
  1600x900      60.00  
  1280x1024     60.02* 
  1440x900      59.89    59.90  
  1280x960      60.00  
  1366x768      59.79    60.00  
  1360x768      60.02  
  1280x800      59.81    59.91  
  1280x768      59.87    59.99  
  1280x720      60.00  
  800x600       60.32    56.25  
  848x480       60.00  
  640x480       59.94  

To change resolution from the command line, do the following:

# export DISPLAY=:0
# xrandr -s <resolution>

HDMI

Set custom resolution

To use lower resolution than 1920x1080 append /boot/armbianEnv.txt with:

extraargs=video=HDMI-A-1:1280x1080

This will set monitor with 1280x1080 resolution. Getting supported modes is done with:

# cat /sys/class/drm/card0-HDMI-A-1/modes 
1920x1080
1920x1080
1920x1080
1920x1080
1920x1080
1920x1080
1280x1024
1280x960
1152x864
1280x720
1280x720
1280x720
1024x768
1024x768
1024x768
832x624
800x600
800x600
800x600
800x600
720x576
720x480
720x480
640x480
640x480
640x480
640x480
720x400

Disabling HDMI output

To disable video output on the HDMI monitor add folloing in /boot/armbianEnv.txt:

extraargs=video=HDMI-A-1:d

Save the file and reboot the board.

Debugging

Enabling DRM debug output

The DRM driver supports multiple debugging levels.

Add the following in /boot/armbianEnv.txt:

extraargs=drm.debug=0xf