Manjaro ARM Linux - Preview1 - Edge-V Pro

Manjaro ARM Preview1 for Edge-V - Pro!

The Manjaro ARM project is proud to announce the first Preview1 release for the Khadas Edge-V!

This images are running the 5.6.0-1 kernel.

Features:

The Khadas Edge-V is a VIM(Small)-form-factor board equipped with an RK3399 processor. It comes with a powerful processor RK3399 Rockchip Dual-Core Cortex-A72 + Quad-Core Cortex-A53. Has 2GB DDR4 RAM, 16GB eMMC, integrated wi-fi and Bluetooth 4.1, as well as two USB type-C, one USB 3.0, one USB 2.0 socket, 40 GPIO, sensors, connectors for microSD memory card and M. 2 drive, Ethernet port, HDMI, IR receiver and buttons.

How to install:

Download the image/xz file from the download location. Verify that the download completed successfully.

After that, install Etcher (sudo pacman -S etcher if on Manjaro) and burn the to an SD card (8 GB or larger).

The Edge-V should recognize the SD card as a bootable device and boot from it.

Features:

  • New packages from upstream and Manjaro ARM.
  • Manjaro now uses a branch based repo structure. Meaning you can now switch between arm-stable , arm-testing and arm-unstable branches by editing /etc/pacman-mirrors.conf .
  • All new images now use a 2 partition layout and use extlinux.conf where applicable.
  • XFCE 4.14 - (Coming Soon)
  • KDE Plasma 5.18
  • Panfrost for GPU
  • Wifi/BT/Audio/Fan Works fine.

eMMC flash image for Edge-V

It’s an image for supported SBC/laptops designed to flash Manjaro ARM to the built-in eMMC module, so you don’t have to fiddle with DD and/or take out the eMMc module yourself.
Right now images for the Edge-V Pro are available in the download folders linked below, but will be named emmc-installer in addition to the regular filename.

To use these images:

  1. Download the eMMC Installer image of your choice.
  2. Flash it to an SD card.
  3. Boot the SD card on the device.
  4. When the Manjaro logo has been present for about 15 seconds, press ESC (this is a bug, we know).
  5. Follow the instructions on the screen.

First Time setup

This release sports the First Time setup for all images, also via SSH. This means that at first boot, you will be asked about the following:

  • keyboard layout
  • username
  • additional user groups (optional)
  • full name
  • password for that username
  • password for root
  • timezone
  • locale
  • hostname

Then the setup script will set these settings and reboot to the login screen.

Downloads:

Device XFCE KDE Plasma
Khadas Edge-V Pro 20.04 20.04

Manjaro Forum Link Here

Donate!

Please consider supporting Manjaro ARM directly via Patreon , Ko-Fi or Open Collective .
You can also donate to our upstream, which is Arch Linux ARM .

Manjaro ARM team

4 Likes

Reserved for Updated

Known Issues:

  • KDE UI is slightly laggish.

I don’t install many Distro’s but between boxes so why not.
After a bit of a fiddle my instant gratification was eventually pleased.

Using XFCE and it appears to be doing what it should, not that i would know otherwise.

It may look like nothing his happening on the Edge V when setup, but it kicks in and starts it thing.

Takes nearly 60 seconds(1 minute for those in other places) to see things happening with SD card
the Fan will kick in the lights will flash, this maybe due to the quality of the SD card in use.

Logo (looks a little a Xiaomi knock off) and the Windows loading worm chasing its tale :slight_smile:
As mentioned above hit the escape key and then follow the yellow brick road:

First run asked were to install
mmcblk1
mmcblk2
mmcblk2boot0
mmcblk2boot1

SD card being mmcblk1:
Eventually got it right and picked mmcblk2:

Away it went many minutes later switches off so you can remove SD card.

Start up nothing …but wait or Push any key as I did seemed to make it happen
Then we get the Logo, push escape after awhile

More Questions: makes it feel more like a Fresh install of Windows nearly :wink:
But just a text window with many options: too many

  • keyboard layout i used last one (windows keys)
  • username
  • additional user groups (optional)
  • full name
  • password for that username
  • password for root
  • timezone
  • locale
  • hostname

Bit of a setup of the resent input and cleanup

Another reset…

Login…and…Done

Looking good as mentioned…
Great work…

2 Likes

Nice explanation thought. But the logo is official Manjaro logo.
It is now a worldwide registered brand.

Thanks for testing and sharing your feedback.
Hope you continue using it.
Cheers.

1 Like

Yet to see fan kick in…better make it do some work.
M2, plugin and Gparted should do the rest ?
Answered all my own questions just by doing it :smiley:

WiFi not found setting to make it happen as yet all in good time has to be someplace.
Found the WiFi set up need to add it, Lan will do for now.

Too many menus and distractions look for one thing find another all good
Logitech k400 keyboard doing well

Pretty good for a preview one
Can see a little lag when opening closing and in and out of folders etc.
Can only get better from here
Well done so far :+1:

Doing some YT stuff we got the fan to kick in, cool.

1 Like

The M2 nmve I have installed into the Edge in the Captain with small LCD easiest way to fit/test

Installing Manjaro on the Cap second time around much nicer knowing what to expect.

After some further checking and follow up we have the NMVE installed
Did the Gparted thing, and all appears well

2 Likes

Glmark2 Result

[spikerguy@Manjaro ~]$ cat /sys/class/devfreq/ff9a0000.gpu/governor 
simple_ondemand
[spikerguy@Manjaro ~]$ glmark2 -s 1920x1080
=======================================================
    glmark2 2014.03
=======================================================
    OpenGL Information
    GL_VENDOR:     Panfrost
    GL_RENDERER:   Mali T860 (Panfrost)
    GL_VERSION:    2.1 Mesa 20.0.2
=======================================================
[build] use-vbo=false: FPS: 63 FrameTime: 15.873 ms
[build] use-vbo=true: FPS: 55 FrameTime: 18.182 ms
[texture] texture-filter=nearest: FPS: 63 FrameTime: 15.873 ms
[texture] texture-filter=linear: FPS: 61 FrameTime: 16.393 ms
[texture] texture-filter=mipmap: FPS: 62 FrameTime: 16.129 ms
[shading] shading=gouraud: FPS: 55 FrameTime: 18.182 ms
[shading] shading=blinn-phong-inf: FPS: 56 FrameTime: 17.857 ms
[shading] shading=phong: FPS: 55 FrameTime: 18.182 ms
[shading] shading=cel: FPS: 55 FrameTime: 18.182 ms
[bump] bump-render=high-poly: FPS: 45 FrameTime: 22.222 ms
[bump] bump-render=normals: FPS: 59 FrameTime: 16.949 ms
[bump] bump-render=height: FPS: 66 FrameTime: 15.152 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 52 FrameTime: 19.231 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 28 FrameTime: 35.714 ms
[pulsar] light=false:quads=5:texture=false: FPS: 51 FrameTime: 19.608 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 20 FrameTime: 50.000 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] effect=shadow:windows=4: FPS: 46 FrameTime: 21.739 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 35 FrameTime: 28.571 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 41 FrameTime: 24.390 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 41 FrameTime: 24.390 ms
[ideas] speed=duration: FPS: 59 FrameTime: 16.949 ms
[jellyfish] <default>: FPS: 64 FrameTime: 15.625 ms
[terrain] <default>: FPS: 7 FrameTime: 142.857 ms
[shadow] <default>: FPS: 29 FrameTime: 34.483 ms
[refract] <default>: FPS: 22 FrameTime: 45.455 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 78 FrameTime: 12.821 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 71 FrameTime: 14.085 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 78 FrameTime: 12.821 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 76 FrameTime: 13.158 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 71 FrameTime: 14.085 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 78 FrameTime: 12.821 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 78 FrameTime: 12.821 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 72 FrameTime: 13.889 ms
=======================================================
                                  glmark2 Score: 54 
=======================================================

Quite smooth :smiley:
I tested a similar soc and it is getting a score is 85 which means I need to optimize the gpu support on edgev

2 Likes

Hi @Spikerguy

The eMMC Installer, can it or something similar work for other Linux OS’s too eg. Armbian, LibreELEC if developed and changed?

If Manjaro is flashed to emmc, how do you go back to Android on emmc if needed since the Khadas Edge-V doesn’t have removable emmc like other devices where you could just use etcher and an emmc to sdcard or emmc to USB adaptor to connect to a PC to flash again?
The AndroidTool and FactoryTool used to flash Android to emmc won’t detect the device, emmc then if it has Linux on it.
Can you run a simple Linux OS from a micro-sd card to dd Android or something back to the emmc?

No the emmc installer image is created by Manjaro ARM Team to be used on officially supported device. It will not work with other OS, but other OS can re-use the scripts we have used in the emmc installer image.
Not to confuse my answer we the ability to use other OS from SD card. After Flashing Manjaro OS on emmc you can still run other OS from SD card, as Rockchip uboot/Mainline uboot will always read the sd card first and then emmc.

Yes you can should be able to flash anything on emmc(only if you have any such tool like krescue but its not yet ready for Edge devces) or just use AndroidTool/Factory Tool to flash Android.

AFAIK, It should detect a partition no matter what is installed in it. I think you have to enter in upgrade mode for the tool to detect the device and then you should be able to flash the image.

AFAIK, It will boot into the sd card if there is a correct uboot flashed on the sdcard.

If you can tell me your objective then maybe I can try to test it myself and give you a confirm answer with steps.

Good news for Netflix, Amazon and Spotify subscribers.

Now users can watch it on Manjaro with the help of chromium armv7 run from dockers.
Created a package which will do everything for the user.

We have a stable Chromium-Armv7 application which can work quite smoothly on Edge-V and play netflix and Amazon as per my test. Some one can also try Spotify.

I have created a package called chromium-docker and uploaded in to unstable branch. It is a tiny pkg with a script which will fetch and install all the things needed for widevine, Chromium armv7 and dockers.

Users can try it from unstable branch.
Command to install chromium-armv7 package

sudo pacman -U https://www.uex.dk/public/manjaro/arm-unstable/community/aarch64/chromium-docker-4.10.1610.6-1-aarch64.pkg.tar.xz

This package will take some time as it will download and install around 1.5Gig of data. Please try it on emmc as Sd-card will take long time for extraction of widevine.
After it is installed you will see Chromium-Armv7 in application launcher.

Running it will get you chromium with HW Acc and Widevine.

Known issues:

  • Setting page will crash
  • Sometimes docker permission is not set.

For the permission to be set correctly where a user should be able to run docker without sudo, users will have to reboot once, If it doesn’t help then pass the following command.

sudo groupadd dockersudo usermod -aG docker $(whoami)sudo reboot now

Can also watch in 1080p if you want, This will need to be added manually by the user. I have not enable it by default on purpose.
To enable Netflix-1080p Plugin inside Chromium

Navigate to Setting > More Settings > Extension > Enable Developer Mode > Load Unpacked > Browse /usr/lib/chromium-browser/netflix-1080p > Restart Chromium-Armv7

You can check the resolution on Netflix Video Player using Ctrl + Shift + Alt + D and Switch Resolution with Ctrl + Shift + Alt + S
You can set highest bitrate by default in option of netflix-1080p plugin also.
Thanks to those who helped getting this to work.

Enjoy & Stay Safe.

Manjaro Arm Team.

2 Likes

@numbqq please help @Qali-Buds with getting Manjaro to boot on Edge-V Max.

I am not sure what would go wrong here as I am using the uboot provided by @balbes150 which should work without any problem on Edge-V Pro and max.

Here is uboot log.

DDR Version 1.24 20191016
In
channel 0
CS = 0
MR0=0x19
MR4=0x3
MR5=0x6
MR8=0x8
MR12=0x72
MR14=0x72
MR18=0x0
MR19=0x0
MR24=0x8
MR25=0xFF
CS = 1
MR0=0x19
MR4=0x3
MR5=0x6
MR8=0x8
MR12=0x72
MR14=0x72
MR18=0x0
MR19=0x0
MR24=0x8
MR25=0xFF
channel 1
CS = 0
MR0=0x19
MR4=0x3
MR5=0x6
MR8=0x8
MR12=0x72
MR14=0x72
MR18=0x0
MR19=0x0
MR24=0x8
MR25=0xFF
CS = 1
MR0=0x19
MR4=0x3
MR5=0x6
MR8=0x8
MR12=0x72
MR14=0x72
MR18=0x0
MR19=0x0
MR24=0x8
MR25=0xFF
channel 0 training pass!
channel 1 training pass!
change freq to 416MHz 0,1
Channel 0: LPDDR4,416MHz
Bus Width=32 Col=10 Bank=8 Row=15/15 CS=2 Die Bus-Width=16 Size=2048MB
Channel 1: LPDDR4,416MHz
Bus Width=32 Col=10 Bank=8 Row=15/15 CS=2 Die Bus-Width=16 Size=2048MB
256B stride
channel 0
CS = 0
MR0=0x19
MR4=0x3
MR5=0x6
MR8=0x8
MR12=0x72
MR14=0x72
MR18=0x0
MR19=0x0
MR24=0x8
MR25=0xFF
CS = 1
MR0=0x19
MR4=0x3
MR5=0x6
MR8=0x8
MR12=0x72
MR14=0x72
MR18=0x0
MR19=0x0
MR24=0x8
MR25=0xFF
channel 1
CS = 0
MR0=0x19
MR4=0x3
MR5=0x6
MR8=0x8
MR12=0x72
MR14=0x72
MR18=0x0
MR19=0x0
MR24=0x8
MR25=0xFF
CS = 1
MR0=0x19
MR4=0x3
MR5=0x6
MR8=0x8
MR12=0x72
MR14=0x72
MR18=0x0
MR19=0x0
MR24=0x8
MR25=0xFF
channel 0 training pass!
channel 1 training pass!
channel 0, cs 0, advanced training done
channel 0, cs 1, advanced training done
channel 1, cs 0, advanced training done
channel 1, cs 1, advanced training done
change freq to 856MHz 1,0
ch 0 ddrconfig = 0x101, ddrsize = 0x2020
ch 1 ddrconfig = 0x101, ddrsize = 0x2020
pmugrf_os_reg[2] = 0x3AA1FAA1, stride = 0xD
ddr_set_rate to 328MHZ
ddr_set_rate to 666MHZ
ddr_set_rate to 416MHZ, ctl_index 0
ddr_set_rate to 856MHZ, ctl_index 1
support 416 856 328 666 MHz, current 856MHz
OUT
Boot1 Release Time: Dec 24 2019 18:00:26, version: 1.24
CPUId = 0x0
ChipType = 0x10, 337
SdmmcInit=2 0
BootCapSize=100000
UserCapSize=119276MB
FwPartOffset=2000 , 100000
mmc0:cmd5,20
SdmmcInit=0 0
BootCapSize=0
UserCapSize=7580MB
FwPartOffset=2000 , 0
StorageInit ok = 221345
SecureMode = 0
SecureInit read PBA: 0x4
SecureInit read PBA: 0x404
SecureInit read PBA: 0x804
SecureInit read PBA: 0xc04
SecureInit read PBA: 0x1004
SecureInit read PBA: 0x1404
SecureInit read PBA: 0x1804
SecureInit read PBA: 0x1c04
SecureInit ret = 0, SecureMode = 0
atags_set_bootdev: ret:(0)
GPT 0x3380ea0 signature is wrong
recovery gpt…
GPT 0x3380ea0 signature is wrong
recovery gpt fail!
LoadTrust Addr:0x4000
No find bl30.bin
No find bl32.bin
Load uboot, ReadLba = 2000
Load OK, addr=0x200000, size=0xa5534
RunBL31 0x10000 @ 323137 us
NOTICE: BL31: v1.3(debug):370ab80
NOTICE: BL31: Built : 09:23:41, Mar 4 2019
NOTICE: BL31: Rockchip release version: v1.1
INFO: GICv3 with legacy support detected. ARM GICV3 driver initialized in EL3
INFO: Using opteed sec cpu_context!
INFO: boot cpu mask: 0
INFO: plat_rockchip_pmu_init(1181): pd status 3e
INFO: BL31: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s destined for OPTEE will return SMC_UNK
ERROR: Error initializing runtime service opteed_fast
INFO: BL31: Preparing for EL3 exit to normal world
INFO: Entry point address = 0x200000
INFO: SPSR = 0x3c9

U-Boot 2020.01-armbian (Mar 20 2020 - 12:28:24 +0300)

Model: FriendlyElec NanoPC-T4
DRAM: 3.9 GiB
MMC: dwmmc@fe310000: 2, dwmmc@fe320000: 1, sdhci@fe330000: 0
Loading Environment from MMC…

Can you try to disable configuration ENV IN MMC?

@numbqq Can you advice this to @Qali-Buds on how to solve his issue please.

Thanks.

Seems have to rebuild u-boot from source code.

Thought so. I do not have a max to test though. Maybe you can do something for him.

Yes, we are on vacation today, I will do this when I back.

@Frank Please check this issue.

@Qali-Buds
Which OS do you have on eMMC?

Please try flashing android on emmc and then try the same image it should as uboot is read correctly.

yes this worked nicely… so how do i get usb-c alt mode to work. no driver for that also?
and btw is this environment variables related?

Not environment variable, need usb-c drivers in kernel, idk if anyone is working on it.

But you can try it on my image. The same kernel is used in Pinebookpro and we get usb-c video output just fine without audio though.
I will try it later tonight but need to remove my device from the case though.