We are releasing universal A20 Linux image which will boot and work on all our A20 boards:
The image is based on Armbian with modifications necessary to support OLinuXino specific features.
There are two image releases – Ubuntu Bionic Desktop image which is the recommended image for beginners or when you want to evaluate the board’s hardware fully – it has good HDMI, audio support and Debian Stretch Server image which contains no binary blobs but is headless and has poor video and audio support.
Currently, our latest Ubuntu Bionic A20 image uses kernel 4.19.10, or to be more specific:
root@olinuxino:~# uname -a Linux olinuxino 4.19.10-sunxi #5.65 SMP Tue Dec 18 14:19:16 EET 2018 armv7l armv7l armv7l GNU/Linu
Our Armbian Ubuntu Bionic image can be downloaded from FTP or Torrent.
Our Armbian Debian Stretch image can be download from FTP or Torrent.
Username is according to Armbian documentation: root and password: 1234
Since we have a large array of A20 boards and numerous variants there is auto-detection enabled in the image. Information about the model of the board is stored in the EEPROM of each A20 board that had been recently manufactured and this information is used by the new images to load the proper configuration. The EEPROM contents are described here.
The images can be used with boards from early revisions which has no EEPROM or has EEPROM with wrong content after one time set up of the EEPROM during in the first u-boot of the new image. If you have trouble booting interrupt u-boot by pressing space and type “olinuxino”. An example configuration for manually setting the EEPROM of A20-OLinuXino-LIME-e16Gs16MB hardware revision K is given at the end of the post.
The new images have support for both legacy resistive and new capacitive/resistive touch displays with auto detection feature (please bear with us they are not released yet on the web as we test them). The newer versions of the displays has suffix -CTS for capacitive touch screen and -RTS for resistive touch screen and are offered in 5″, 7″ and 10″ size with different resolutions. These displays are automatically detected by boot and drivers properly configured for them. If the LCDs are not detected HDMI output is only enabled and the image can be configured one time at first boot manually as described in this wiki article.
Please note that mainline Kernel now do not support NAND Flash, so if you wish to boot from the flash memory, consider either using the legacy 3.4.xx images which are still available or switch to A20 boards with eMMC. The eMMC boot is supported via armbian-config (nand-sata-install). Due to lack of reliable eMMC 5.X support by Allwonner boot0 and for future compatibility we are adding 16MB SPI flash for all A20 boards with eMMC, this way the board first boots from the SPI then continue to eMMC with properly set configuration. Allwinner Boot0 can’t handle correctly eMMC 5.X and sometime boot sometimes do not boot, as this is binary blob inside SOC there is nothing we can do than to use SPI boot to fix eMMC boot parameters.
Build instructions for the new images can be found here.
An example configuration for manually setting the EEPROM of A20-OLinuXino-LIME-e16GB hardware revision K is given below:
=> olinuxino olinuxino - OLinuXino board configurator Usage: olinuxino config info - Print current configuration: ID, serial, ram, storage, grade... olinuxino config list - Print supported boards and their IDs olinuxino config erase - Erase currently stored configuration olinuxino config write [id] [revision] [serial] [mac] arguments: [id] - Specific board ID [revision] - Board revision: C, D1, etc... [serial] - New serial number for the board [mac] - New MAC address for the board Format can be: aa:bb:cc:dd:ee:ff FF:FF:FF:FF:FF:FF aabbccddeeff olinuxino monitor list - Print supported video outputs olinuxino monitor set - Set specific LCD => olinuxino config list Supported boards: ---------------------------------------- A20-OLinuXino-LIME - 7739 A20-OLinuXino-LIME-n4GB - 7743 A20-OLinuXino-LIME-n8GB - 8934 A20-OLinuXino-LIME-s16MB - 9076 T2-OLinuXino-LIME-IND - 9211 T2-OLinuXino-LIME-s16MB-IND - 9215 T2-OLinuXino-LIME-e4GB-IND - 9219 A20-OLinuXino-LIME2 - 7701 A20-OLinuXino-LIME2-e4GB - 8340 A20-OLinuXino-LIME2-e16GB - 9166 A20-OLinuXino-LIME2-n4GB - 7624 A20-OLinuXino-LIME2-n8GB - 8910 A20-OLinuXino-LIME2-s16MB - 8946 A20-OLinuXino-LIME2-e16Gs16M - 9604 A20-OLinuXino-LIME2-e4Gs16M - 9613 T2-OLinuXino-LIME2-IND - 9239 T2-OLinuXino-LIME2-s16MB-IND - 9247 T2-OLinuXino-LIME2-e4GB-IND - 9243 A20-OLinuXino-MICRO - 4614 A20-OLinuXino-MICRO-e4GB - 8832 A20-OLinuXino-MICRO-e16GB - 9042 A20-OLinuXino-MICRO-e4GB-IND - 8661 A20-OLinuXino-MICRO-IND - 8828 A20-OLinuXino-MICRO-n4GB - 4615 A20-OLinuXino-MICRO-n8GB - 8918 A20-OLinuXino-MICRO-s16MB - 9231 T2-OLinuXino-MICRO-IND - 9223 T2-OLinuXino-MICRO-s16MB-IND - 9235 T2-OLinuXino-MICRO-e4GB-IND - 9227 A20-SOM-n4GB - 4673 A20-SOM - 7664 A20-SOM-IND - 8849 A20-SOM-n8GB - 8922 A20-SOM-e16GB - 9155 A20-SOM-e16GB-IND - 9148 T2-SOM-IND - 9259 A20-SOM204-1G - 8991 A20-SOM204-1Gs16Me16G-MC - 8958 => olinuxino config write 9166 k Erasing EEPROM configuration... Writting EEPROM configuration... Writting MMC configuration... => saveenv Saving Environment to EXT4... Recovery required update journal finished done OK => reset
Jan 07, 2019 @ 21:54:52
Planning to produce boards according to System Base Architecture Specifications such that we are not tied to a single operating system?
Jan 09, 2019 @ 18:22:42
Isn’t SBAS an ARMv8 thing?
Jan 09, 2019 @ 18:45:27
I think so. Any issue?
Jan 19, 2019 @ 04:24:13
ARMv8 things are kinda complicated, power hungry, hard to bring up and therefore less suited for embedded designs, which are hallmark of Olimex. Not to mention so-called-standard creators do not care about embedded use.
Jan 09, 2019 @ 18:54:49
For Olimex it would make sense to support EBBR https://arm-software.github.io/ebbr/ /me thinks
Jan 09, 2019 @ 19:45:49
It makes most sense to support the standard allowing to run Red Hat and other distributions out of the box.
Jan 19, 2019 @ 04:32:05
RedHat does not cares about embedded designs, to begin with. Actually, their distro is woefully unsuitable for embedded and follows patterns that are extremely troublesome and hostile for these use cases. They minimal system requirement alone ensure system can’t be cheap low power thing. Far more complicated and far less reliable as the result.
If you want “standard” go buy PC and enjoy far more “standard” instruction set, UEFI crap, all dreaded ACPI bugs nobody is going to fix ever and so on. I guess it makes very little point for Olimes to try to compete with “standard” motherboard manufacturers – these are hard to beat in their niche and Olimex strongest points are anything but standard motherboards production. Look, Olimex are famous supplier of devboards and modules for custom embedded designs. Mostly valued for these uses. Their things appear in many industrial, automation and somesuch uses – these uses got nothing to do with RH.
Jan 15, 2019 @ 21:25:13
I downloaded and tried both the Ubuntu and the Debian image. However with board A20-OLinuXino-LIME2-e16Gs16M Rev.K1 the ethernet is not automatically connected. After flashing the image to a SD, booting the LIME2 and logging in as root, I am asked to change the root password followed by creating a user. With armbian-config I tried to set a static IP as well as dynamic IP. Same I tried with nmtui. Still I am not able to reach/ping any LAN network IP. On same switch I have several RPis with same network configuration (different IP though of course). They are reachable. With another built (a20-lime2_mainline_uboot_sunxi_kernel_3.4.103_jessie_eMMC_rel_16.img) and the same board, the ethernet worked. The physical network settings did not change in between. However I would prefer Debian stretch over jessie. I checked the EEPROM for board id and revision and it is still present.
Any hints what I possibly did wrong?
Jan 16, 2019 @ 10:46:47
Which images exactly did you test? Was it the two images released 20190107? Can you copy paste full file names so we can test with the exact same images?
Jan 16, 2019 @ 11:23:04
Sure. I used the images from the FTP servers:
Armbian_5.65_Olinuxino-a20_Debian_stretch_next_4.19.10.img
Armbian_5.65_Olinuxino-a20_Ubuntu_bionic_next_4.19.10_desktop.img
There seems to be traffic on eth0. The switch’s RJ45 LEDs do blink synchronous with the LEDs on my LIME2 board. ifconfig -a of a booted image (just changed root pw and created first user as mentioned above) shows:
bond0: flags=5122 mtu 1500
ether 46:f6:81:8f:01:cd txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth0: flags=4163 mtu 1500
ether 30:1f:9a:d0:43:fc txqueuelen 1000 (Ethernet)
RX packets 16297 bytes 1066162 (1.0 MiB)
RX errors 0 dropped 17 overruns 0 frame 0
TX packets 5530 bytes 921084 (899.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 63
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
dhclient eth0 only receives a 169.254 class B IP. My network runs with 192.168.10 class C and DHCP enabled. DHCP works for all other devices on my network (works with dynamic but also with static IP).
Jan 16, 2019 @ 11:54:56
PHY initialization was broken in that release. Make sure to use the latest release. This is mentioned in the change log here: ftp://staging.olimex.com/Allwinner_Images/A20-OLinuXino/CHANGELOG.txt In future please use the support@olimex.com e-mail for trouble shooting and support.
Jan 16, 2019 @ 12:52:01
The latest image currently is locate in this folder here: ftp://staging.olimex.com/Allwinner_Images/A20-OLinuXino/olimex_mainline_A20_20190107/
Feb 17, 2019 @ 21:28:16
Nice to see that you share the effort with Armbian that has now a very mature solution.
But it seems that, for now, you do not support their device tree overlays. That would have been nice to use the CAN for example.
Do you have any plans to support the device tree overlays?
Feb 18, 2019 @ 14:27:47
our official Armbian image has CAN support
Feb 18, 2019 @ 14:41:36
The image has overlay support. You can use armbian-add-overlay.
Feb 20, 2019 @ 01:00:12
Oh, thank you very much for your answers and the detailed blog post!
I did not know the existence of the armbian-add-overlay command.
Apr 15, 2019 @ 10:49:23
Sorry byt his link ftp://staging.olimex.com/Allwinner_Images/A20-OLinuXino/olimex_mainline_A20_20190107/ does not point to anything.
I’v tried ftp://staging.olimex.com/Allwinner_Images/A20-OLinuXino/1.latest_mainline_images/stretch/images/Armbian_5.72.1_Olinuxino-a20_Debian_stretch_next_4.19.17.7z
but when I try to install on eMMC (ext4) using armbian-config or nand-sata-install system freezes.
Jun 03, 2021 @ 08:27:38
Hi,
I downloaded A20-OLInuXino-buster-base-20210513-112230.img.7z, which works properly in my A20. Now, I want kernel source of this image file. Where I can get it?
Also please guide me for kernel rebuild process in A20.
Jun 03, 2021 @ 09:13:37
How did you learn about these images? As if you have been on A20 product page which points to these images there is link to the image sources too.
https://www.olimex.com/Products/OLinuXino/A20/A20-OLinuXino-LIME/open-source-hardware
Jun 03, 2021 @ 14:40:48
Hi,
I am beginner for A20 board. Currently I install image in SD card boot it successfully. But now I want to enable different services through kernel. So, how can I do that.
Jun 03, 2021 @ 15:00:01
The best way to learn is to attend course like these from Bootlin or similar in your country, or to hire Linux consultant to guide you.