EmuELEC test image

Tnx for the tip @stuartiannaylor .

I did that, but it still won’t use the SD as primary boot option. Is there anything else I need to change on the device itself?

Maybe try what U-boot sd boot from radxa github chewitt suggested.
I have sort of given up as done it so many times killed the peel switch of the usb-boot.

I tried both of the u-boots and they do not seem to work for me. Assuming from your reply, it didn’t for you either, so what are we missing?

Dunno seriously tried so many options the peel type usb-boot button peeled off.

I can get a EMMC version to boot from SD but SD only 512mb for me doesn’t boot.
I will wait for someone to say ‘Here use this image’ and it be as simple as that, but for me many of the replies I take with a grain of salt.

I’m normally able to boot an LE10 image on devices that have vendor u-boot on emmc using the “box” image which has LE tweaked s905_autoscript and boot.scr files in the root folder; one of them will be found on SD or USB. The u-boot Raxda factory shipped with my sample did not find these files (even with pressing the button and a USB attached) and kept booting into Android. Once I connected a UART cable I could interrupt u-boot (hit space during early boot) and from the u-boot console I could run:

fatload mmc 0 1020000 s905_autoscript
autoscr 1020000

This got me to a working LE10 install running from SD card, and from there I was able to erase vendor u-boot from emmc:

echo 0 > /sys/block/mmcblk1boot1/force_ro
echo 0 > /sys/block/mmcblk1boot0/force_ro

Once that was done the device would boot the “radxa-zero” LE10 image that contains mainine u-boot from either USB or SD media.

IIRC mainline u-boot should look for /boot.scr in the root folder in addition to /extlinux/extlinux.conf which is the preferred boot-config file for modern u-boot. However, I’m not sure it will be successful with vendor kernel based images. It should be fairly trivial to load the dtb and kernel files, but if the kernel has dependencies on stuff being handed off from vendor u-boot (which I think is the case) I’d expect to see it panic and fail in some way. It’s not something I’ve ever tested though.

If you wanted to experiment, erase Radxa u-boot, then take https://chewitt.libreelec.tv/testing/LibreELEC-AMLGX.arm-10.0.0-radxa-zero.img.gz (has mainlline u-boot) and drop renamed kernel.img > KERNEL and dtb.img > meson-g12a-radxa-zero.dtb files into the root folder. You might also need to ammend the console bits in extlinux.conf as vendor and mainline kernels use a different /dev/device naming for the serial device.

Thanks, that is some great information!

Just one question if you don’t mind. In theory, if the image I have works on EMMC as is, then with your method (erase emmc bootloader) it should also work from SD, right?

I have been reluctant to erase the bootloader from the EMMC as I was trying for a way to boot from the SD with the device as it’s shipped (mostly for end users). But I guess I should just bite the bullet and test with no bootloader on the emmc and go from there (not sure why the boot order is like it is, it makes no real sense to me).

Also how does the ubuntu/armbian image work like this (boots from SD with no modifications to the device) but none of the others do? I guess this is what I am after.

The image should run from SD or USB because the SoC will check for signed boot firmware (the magic AML signature) at the same offset location on all media. Radxa docs say the boot order is eMMC > USB > SD but most Amlogic hardware I have is eMMC > SD > USB so i’m not sure how definitive that is. It’s not too important because once you erase the preinstalled u-boot the SoC will search all locations to find something. I haven’t looked at Armbian images for the Zero so I don’t know what they’re doing for boot: @igorp is the person to comment.

1 Like

Me neither :grinning: There is some Radxa made “Armbian” floating around, which has no support from us. I have asked Radxa many times to stop abusing our name / work, because association creates us additional exepnses on top of already high regular development, maintaining and support where they never ever contributed a cent. They also promised to maintain their stuff within our build system, where again it was down to us to keep it operational again our expense … tl;dr; Until further notice, support for “Armbian” is from Radxa. If any.

The boot order is eMMC -> SD. If the USB boot is pressed, then USB first.

Boot Order

  • Check if USB Boot button is pressed, if yes, go to USB Boot, if no, go to next
  • Check if eMMC is bootable, if yes, boot from eMMC
  • Check if uSD card is bootable, if yes, boot from uSD card

I think this is the same experience with other amlogic platform.

1 Like

Yes, that’s the same as I see with other Amlogic hardware.

This image has been running mostly flawlessly on the 2G model!

My only issue is this; Im attempting to make a portable device and have cracked 2 lcd screens during my trials (im clumsy, lol), but have found a pretty nice one to use now (waveshare 5in H), but for whatever reason, it flashes and wont display an image UNLESS the 1st 1080p60hz mode listed in emuelec settings is selected; and then it defaults to portrait mode and is unreadable/useable. I’m trying to find if there is any rotation options within emuelec, or if this will be a firmware issue…

Anyone have any ideas? This is an HDMI screen by the way, so no spi/dsi nonsence here, haha

I got the 4" Waveshare and its same with 1080p60hz as it has a rescaler on board that seems to be set to accept 1080p60hz and convert.

I sort of don’t like that idea as your forcing 1080p mode or your going to use a section of that 1080p in a letterbox as I have tried other resolutions and even though the native resolution is approx half that ( think 800x480 actually)

There is another one that I prefer http://www.lcdwiki.com/4inch_HDMI_Display-C because it has a 3.5mm and decodes hdmi audio so no dac needed.
It also doesn’t have a descaler but I have banging my head at creating the dtb/dts screen config timings but thinking that prob would be the best way and be native at 800x480 than some horrid rescaler as with that you are stuck with 1080p60hz as it seems a simple and limited rescaler that accepts nothing else.