Jump to content

Recommended Posts

Posted

Hello,

 

my Beelink X2 is a Allwinner H3 TV Box and is possible to boot the Orange Pi PC Image from OrangePi.org but not from armbian.

 

What is needed to bring this TV Box to work with armbian, I already habe a immage from Beelink X2 internal 8GB NAND.

 

Is there a howto to get this working (Eng/Ger)

 

Thank you.

 

Here is smal part from NAND Image, If some one need more, I will insert it.

 

  Reveal hidden contents

 

Posted

Armbian uses already mainline u-boot so that might make the difference (DRAM initialisation happens there and Orange Pis and Beelink use different DRAM settings). Since it's reported that images for Orange Pi 2 should be able to run on the Beelink so Armbian should be able to boot. What do you refer to when you're stating Armbian does not boot?

 

I just had a look at this guide here and decided to add a modified version of the fex file used there to Armbian (note: there are a few really strange settings inside that look like stuff for A83T has been used -- copy&paste error or something like this). 

 

You can try out this preliminary test image: Armbian_5.06_Beelink_X2_Debian_jessie_3.4.110_desktop.7z  (burn it to SD card, no NAND/eMMC supported at the moment)

 

Please keep in mind that it might not boot at all (serial console would be the best idea to diagnose such things) and that the 1st boot might take a very long time since Ethernet might not work yet. The OS image will try to reboot one time (stay patient for at least 5 minutes) but might fail and you then have to power cycle the board (we had these issues with Orange Pi Plus in the past that also has GbE networking).

 

You should end up after the first automated reboot with something like this, create then an user account, adjust display settings if wanted (reboot necessary) and if network is working, please do a 'sudo armbianmonitor -u' immediately and post the URL here.

 

 

  Reveal hidden contents

Posted

Thank you, the BeelinX2 didn't boot directly or by pressing Power, only after press on the reset button, the armbian booted one time with HDMI output, but now I'm not able to boot with reset button, Androit is working, but not the recovery function.

 

Did you insert the config to the git repository, or how can I rebuild and test it?

 

Thank you.

Posted
  On 3/20/2016 at 3:46 PM, tpc010 said:

Thank you, the BeelinX2 didn't boot directly or by pressing Power, only after press on the reset button

 

Maybe you need just a bit more patience? All sunxi devices I know prefer booting from an SD card over NAND/eMMC (confirmed for the X2) so it should be possible you just ran into the 'freeze at 1st reboot' issue we had with Orange Pi Plus also.

 

You should be able to simply try to reboot with SD card inserted and the device should boot from the card (as long as it's readable and not corrupt -- I tested the last few days with quite a few broken cards).

Posted

Yes, an Orange PI PC Image ist directly booting, but not armbian, I will add the UART for debugging later.

 

Thank you for your support.

Posted
  On 3/20/2016 at 4:31 PM, tpc010 said:

Yes, an Orange PI PC Image ist directly booting, but not armbian

 

Ok, already time to stop since this gets just a waste of time. You told before the Armbian image has booted once and now you're telling the opposite.

 

I will only look into this if you ensure that the SD card you use isn't faulty (see our documentation) and if you get back to us with more precise reports. In case you get the image booting please follow the aforementioned advice (it might be possible that the OS freezes shortly before rebooting then a simple power cycle should suffice) and in case you get network after the one mandatory reboot upload support data using 'armbianmonitor -u', if network isn't available and you're connected over serial console we need the contents of /var/log/armhwinfo.log instead.

Posted

ok, nice.

 

I was able to boot armbian a second time and have now a logfile and UART log for you, after reboot the system will not boot from micro SD, only "Trying to boot from MMC".

 

If I change to an OrangePi PC Image it will boot direcly from micro SD, this is what happend before, armbian only booted one time, and I rewrote the SD card so I had no logfile.

 

How can I use the new FEX file, is there a howto?

 

Thanks, I don't want to waste your time, if you need more details, please let me know.

U-Boot SPL 2016.03-armbian (Mar 20 2016 - 13:58:39)
DRAM: 1024 MiB
Failed to set core voltage! Can't set CPU frequency
Trying to boot from MMC

U-Boot SPL 2016.03-armbian (Mar 20 2016 - 13:58:39)
DRAM: 1024 MiB
Failed to set core voltage! Can't set CPU frequency
Trying to boot from MMC

armbian-boot.txtFetching info...

armhwinfo.log.txtFetching info...
OrnagePiPC-Boot.txtFetching info...

 

Posted
  On 3/20/2016 at 11:55 PM, tpc010 said:

I was able to boot armbian a second time and have now a logfile and UART log for you, after reboot the system will not boot from micro SD, only "Trying to boot from MMC".

 

 

The last message does not mean that the device tries to boot from eMMC but MMC is a more generic term. This might be a hot vs. cold boot issue, I would assume you also tried to let Armbian start the 1st time and when the reboot failed, simply power the Beelink down, wait a few seconds and power it up again with SD card inserted?

 

As already said I would suspect problems with DRAM initialisation. The OS image you're using does this differently and is obviously able to detect the DRAM type (or did you exchange boot0/sysconfig.fex as per the documentation?):

 

I've totally overseen before that these settings are obviously wrong (suitable for Orange Pis but not for the Beelink, the latter using LPDDR3 RAM which can be driven with wrong settings -- voltage too high -- but that doesn't make that much sense)

DRAM DRIVE INFO: V0.8
DRAM Type = 3 (2:DDR2,3:DDR3,6:LPDDR2,7:LPDDR3)
DRAM CLK = 672 MHz
DRAM zq value: 003b3bfb
READ DQS LCDL = 001c1c1c
DRAM SIZE =1024 M

This happens even before u-boot is loaded so there's not that much we could do now unless one of the sunxi-developers starts to support this type of DRAM in u-boot (maybe I'm wrong and mainline u-boot has working auto detection now)

 

So the Orange Pi image you're using drives DRAM wrong (maybe in almost the same way as mainline u-boot with OPi PC settings would do) but that doesn't seem to matter that much. I'm currently letting another image build for Beelink X2 (adopting at least the CONFIG_DRAM_ZQ setting) and will post the link later.

 

If you can rule out that you were running in such a hot boot issue then the way to use script.bin in Armbian should already be done after the first reboot since our 'firstrun' service will just create the appropriate symlink: https://github.com/ThomasKaiser/lib/blob/0607c2c1b2645cb0788b588e4ed3564c7e06bc0f/scripts/firstrun#L155

 

In case you don't get Armbian up and running I would suggest taking loboris' latest Ubuntu 15.04 Mate image for OPi PC, call his update_kernel.sh to get lastest settings and then exchange script.bin on the 1st partition (FAT and usually available as /media/boot/) with Armbian's: https://github.com/ThomasKaiser/lib/blob/0607c2c1b2645cb0788b588e4ed3564c7e06bc0f/config/beelinkx2.fex(you need to convert the fex file using fex2bin, part of the so called sunxi-tools. If not available a simple 'sudo apt-get install sunxi-tools' should help)

 

 

By using Armbian's fex you should get working USB ports, network and leds and also sane thermal settings. Please report back anyway. BTW: Is your Beelink connected to a Fast Ethernet capable switch/router?

Posted

I updated the image once again: Armbian_5.06_Beelink_X2_Debian_jessie_3.4.110_desktop.7z

 

Changes: 

  • DRAM settings in u-boot adjusted
  • armhwinfo modified to always write "Beelink X2" to /var/run/machine.id
  • script.bin links to beelinkx2.bin by default

It would be really helpful if you try it again, in case you get stuck at the 1st automated reboot simply power cycle the board and if it boots then please submit logs again (preferably output from 'sudo armbianmonitor -u' in case network works and support data could be uploaded)

 

Edit: In case you end up with just 512MiB RAM, simply download this archive, extract the u-boot .deb, install it using 'dpkg -i' and reboot.

Posted

Hi, at the moment, it doesn't work, see putty-20160321-182046.log for more details, I insert some lines with Infos.

 

Networkconnection is Gigabit and is working with Ubuntu 15.04 Mate image for OPi PC, after update the sytem, kernel and change to your script.bin I got this output and it ended in a initramfs, see putty-20160321-233642.log, so I changed the line 690 to "sdc_used = 0" and the ubuntu Mate is booting but has no Network. See putty-20160322-002136.log

 

Is it possible to decompile a eGON.BTN bin file from the NAND of BeelinkX2 ? bin2fex is not working.

 

 

Thank you for your time, I hope my answers are helpfull.

 

 

 

 

putty-20160321-182046.log.txtFetching info...

putty-20160321-233642.log.txtFetching info...

putty-20160322-002136.log.txtFetching info...

Posted
  On 3/21/2016 at 11:48 PM, tpc010 said:

Is it possible to decompile a eGON.BTN bin file from the NAND of BeelinkX2 ? bin2fex is not working.

 

See my first link above how you would use a PC or a VM, Linux and such a sysconfig.fex to create the files to overwrite sectors on the SD card. I won't look into the logs since I'm only interested in developing Armbian and you didn't download the 2nd image I supplied.

 

I will look into it myself when my Beelink X2 arrives, currently available for less than 25€  (unfortunately I thought wrongly that it features GbE -- at least according to the contents of script.bin it should -- but that's not true). 

 

At least now it's a bit more clear what has to be tweaked:

  • LPDDR3 support in u-boot (is already there but for A83T only at the moment)
  • networking like on Orange Pi PC (Fast Ethernet instead of GbE)
  • adjusting thermal/cpufreq settings
  • adding peripheral/led definitions

The first part is the hardest one at least for me since I'm still an u-boot NOOB.

Posted

Hi,

I have also got two Beelink X2 boxes and I am interested in running Armbian on them. What I tried so far is making an SD-card with Armbian for Orange Pi PC. Then booting that SD-card in an Orange Pi PC and do the first configuration. After that I shut down the Orange Pi PC and move the SD-card to my Beelink X2. It boots up and can be accessed via ssh and I can log in.

 

However the Beelink X2 runs sluggishly and keeps logging the error message:

[  236.047125] [cpu_freq] ERR:set cpu frequency to 1296MHz failed!
[  236.296762] [ARISC ERROR] :message process error
[  236.296794] [ARISC ERROR] :message addr   : f004b840
[  236.296816] [ARISC ERROR] :message state  : 5
[  236.296837] [ARISC ERROR] :message attr   : 2
[  236.296858] [ARISC ERROR] :message type   : 30
[  236.296879] [ARISC ERROR] :message result : ff

 

I am not sure how to proceed next. @tkaiser: Have you recieved your Beelink X2 yet?
 
Best Regards
Posted

I ran the command "armbianmonitor -u" with the following output on my Beelink X2:

root@orangepipc:~# armbianmonitor -u
/var/log/armhwinfo.log has been uploaded to http://sprunge.us/cQJN
Please post the URL in the Armbian forum where you've been asked for.
Posted

Thanks for your answer!  :)

 

It seems I don't have the file /boot/bin/beelinkx2.bin in my /boot/bin directory. The version of Armbian I am using is "Armbian_5.05_Orangepih3_Debian_jessie_3.4.110.raw" so it is only a few days old.

root@orangepipc:/boot# ls -al /boot/bin
total 1068
drwxr-xr-x 2 root root  4096 Mar  8 20:20 .
drwxr-xr-x 3 root root  4096 Apr  6 21:00 ..
-rw-r--r-- 1 root root 45936 Mar  8 20:18 aw-som-a20.bin
-rw-r--r-- 1 root root 50560 Mar  8 20:18 bananapi.bin
-rw-r--r-- 1 root root 50624 Mar  8 20:18 bananapilcd7.bin
-rw-r--r-- 1 root root 37052 Mar  8 20:18 bananapim2plus.bin
-rw-r--r-- 1 root root 50484 Mar  8 20:18 bananapipro.bin
-rw-r--r-- 1 root root 50500 Mar  8 20:18 bananapiprolcd7.bin
-rw-r--r-- 1 root root 46308 Mar  8 20:18 cubieboard2.bin
-rw-r--r-- 1 root root 46248 Mar  8 20:18 cubieboard2dual.bin
-rw-r--r-- 1 root root 43716 Mar  8 20:18 cubieboard.bin
-rw-r--r-- 1 root root 46404 Mar  8 20:18 cubietruck.bin
-rw-r--r-- 1 root root 51012 Mar  8 20:18 lamobo-r1.bin
-rw-r--r-- 1 root root 53480 Mar  8 20:18 lime2.bin
-rw-r--r-- 1 root root 43508 Mar  8 20:18 lime-a10.bin
-rw-r--r-- 1 root root 52616 Mar  8 20:18 lime.bin
-rw-r--r-- 1 root root 52252 Mar  8 20:18 micro.bin
-rw-r--r-- 1 root root 29804 Mar  8 20:18 olinux-som-a13.bin
-rw-r--r-- 1 root root 35896 Mar  8 20:18 orangepi2.bin
-rw-r--r-- 1 root root 50972 Mar  8 20:18 orangepi.bin
-rw-r--r-- 1 root root 35308 Mar  8 20:18 orangepilite.bin
-rw-r--r-- 1 root root 35304 Mar  8 20:18 orangepione.bin
-rw-r--r-- 1 root root 35916 Mar  8 20:18 orangepipc.bin
-rw-r--r-- 1 root root 37052 Mar  8 20:18 orangepiplus.bin
-rw-r--r-- 1 root root 49300 Mar  8 20:18 pcduino3nano.bin
root@orangepipc:/boot#

I downloaded "beelinkx2.fex" as per your instructions earlier in this thread. But when I try to run fex2bin i get:

root@orangepipc:/tmp# fex2bin beelinkx2.fex beelinkx2.bin
E: beelinkx2.fex:5: data must follow a section.
root@orangepipc:/tmp#

I understand you are not interested in the Beelink X2 for now but any pointers you might give I would be very happy to recieve!  :)

Posted

Update!

 

I managed to download the latest "beelinkx2.fex" from github. I converted it to .bin format and changed the link /boot/script.bin to point to beelinkx2.bin. No luck booting.

 

Then I tried a different approach. I converted my "orangepipc.bin" file to fex format. I changed only the [dvfs_table] section to what was in the "beelinkx2.fex" file and converted the file back to bin format. After adjusting the /boot/script.bin link to point to my new file the Beelink X2 booted happily and seems stable. I am happy for now!  :)

 

If anyone is interested I ran an "armbianmonitor -u":

root@orangepipc:~# armbianmonitor -u
/var/log/armhwinfo.log has been uploaded to http://sprunge.us/KCVY
Please post the URL in the Armbian forum where you've been asked for.
Posted
  On 4/7/2016 at 5:02 PM, slinde said:

I converted my "orangepipc.bin" file to fex format. I changed only the [dvfs_table] section to what was in the "beelinkx2.fex" file and converted the file back to bin format. After adjusting the /boot/script.bin link to point to my new file the Beelink X2 booted happily and seems stable. I am happy for now!

 

That's interesting and an indication that my DRAM settings in the fex are wrong. But as already said: Will look into it not within the next few days/weeks.

Posted

Hi all,

 

I extracted the script.bin File from BeelinkX2 internal flash, but Armbian will not boot directly with it, so I had to change the u-boot config, I created some Patch files for u-boot and a conf file for the board, so the BeelinkX2 mostly boot directly, but not not at every start and a reboot will not work at the moment.

 

I will add the files I changed.

 

userpatches/u-boot/u-boot-default/configs-beelinkx2.patch

userpatches/u-boot/u-boot-default/dts-Makefile.patch

userpatches/u-boot/u-boot-default/sun8i-h3-beelinkx2.dts.patch

 

lib/config/boards/beelinkx2.conf

lib/config/beelinkx2.fex

 

This is just the beginning, there are many things to do, but I'm not a developer.

 

root@beelinkx2:~# armbianmonitor -u
/var/log/armhwinfo.log has been uploaded to http://sprunge.us/VhhL
Please post the URL in the Armbian forum where you've been asked for.

 

I didn't work with GIT yet, so I hope I have time in the next days to fork and work in this fork of your git reposytory.

 

br tpc010

u-boot-default.tarFetching info...

beelinkx2.conf.gzFetching info...

beelinkx2.fex.gzFetching info...

beelinkx2-from-device.bin.gzFetching info...

beelinkx2-from-device.fex.gzFetching info...

Posted

I have a working version of Armbian 5.10:

 download here  [link updated 2016-05-07]

 

Working

  • Ethernet
  • USB ports (2)
  • HDMI w/ sound

Not working:

  • WiFi is missing
  • No sound via S/PDIF

Basically, I overwrite /boot/bin/beelinkx2.bin with the one from the blog post. I also manually link it to /boot/script.bin as /etc/init.d/firstrun is failing to detect that it is a Beelink X2 (/run/machine.id returns that it is a 'Orange Pi PC').

 

I think from this, somebody with a Beelink X2 should be able to figure out how to make Armbian work out of the box. I will look at this again next week if somebody hasn't already beat me to the punch.

 

This script should reproduce the image:

 

  Reveal hidden contents

Posted
  On 5/5/2016 at 7:05 AM, Eng-Shien Wu said:

I also manually link it to /boot/script.bin as /etc/init.d/firstrun is failing to detect that it is a Beelink X2 (/run/machine.id returns that it is a 'Orange Pi PC').

 

We implemented another ugly hack to deal with these situations. An

echo "Beelink X2" >/root/.machine.id

would prevent wrong auto detection when 'firstrun' script is running.

 

@Igor: Unfortunately I forgot that prior to 5.10 release since using this hack we (or better you ;) ) could've used loop device mounts of the Orange Pi H3 and Banana Pi/Pro image and overwrite auto detection stuff by adding device names to /root/.machine.id and duplicating images.

 

Maybe it's worth a try until we resolved the whole issue? At least for Orange Pi One and NanoPi M1 it would be useful since these are really affected somewhat negatively.

Posted

We can do some bugfix update within a week or so and include / add new (dedicated) images. We can do only H3 and A20 images.

Posted
  On 5/6/2016 at 1:44 PM, Igor said:

We can do some bugfix update within a week or so and include / add new (dedicated) images. We can do only H3 and A20 images.

 

Sounds like a good idea. I already thought about delivering something like 'echo "real device" >/root/.machine.id' as part of board support packages so that users doing an 'apt-get upgrade' could also benefit from this hack. But this would require that we do another forced firstrun execution... Hmm...

Posted
  On 5/6/2016 at 1:50 PM, tkaiser said:

I already thought about delivering something like 'echo "real device" >/root/.machine.id' as part of board support packages so that users doing an 'apt-get upgrade' could also benefit from this hack. But this would require that we do another forced firstrun execution... Hmm...

Storing $BOARD in a file on rootfs at build time (and it's better to store it in /etc rather than in /root) may be used to remove autodetection from armhwinfo to simplify this script, right now it's a mess that is better to touch with a long stick, and it will only grow more once we add new boards.

Putting this file in board support package should be enough for upgrading old images in this case.

Posted
  On 5/6/2016 at 1:16 PM, tkaiser said:
echo "Beelink X2" >/root/.machine.id

would prevent wrong auto detection when 'firstrun' script is running.

 

@tkaiser: thanks for the tip--now motd is correct. :)  I have updated the Armbian 5.10 Beelink X2 image and re-uploaded: download here.

 

@Tido: thanks for the links. From the picture, I was able to identify the WiFi module as AP6181 with a Broadcom chipset. According to this forum topic, the chipset is also used by BPi-M2 and the proper module is brcmfmac. However, loading the module doesn't seem to do anything.

 

Another issue is that the internal eMMC doesn't not appear as /dev/mmcblk0 (SD card) or any device. Maybe this is because of the Android-derived config.bin.

 

At this point, I am at the end of my skill/knowledge level to push this image further. Maybe others with better skills can figure out what I can't. As is, it is quite usable and snappy.

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines