32 bit UEFI builds of OpenElec ?
#1
Hi all

Has anyone managed to produce a 32bit UEFI friendly version of OpenElec for Baytrail-T devices (TV boxes, HDMI sticks, Tablets etc.) that have 32bit UEFI only (no legacy BIOS nor 64bit UEFI) ? They usually come with Windows 8.1 or 8.1 with Bing pre-installed.

There's a growing list of machines in this bracket - Zotac PI320 compact PC, Meegopad T01 HDMI TV stick, Pipo X7 and Minix Neo Z64 compact PCs etc. as well as loads of Windows 8 tablets.

I've found Fedlet and an Ubuntu Mate live CD that have UEFI 32 bit support and both boot on a Pipo X7. Be great to get an OpenElec build that worked.

I'm about to try an Ubuntu 14.10 64 bit USB install with a bootia32.efi installed to see how that goes (and possibly follow fritsch's VAAPI guide to see how it performs. The Windows Kodi builds sit at high CPUs and start thermal throttling...)
Reply
#2
I may give this a go, I have an Asus Transformer T100TA "convertible" here that I'd be curious to see how well it runs OE
Reply
#3
These may be of help :
https://www.happyassassin.net/fedlet-a-f...l-tablets/
http://www.cnx-software.com/2015/01/19/i...-live-iso/
http://www.jfwhome.com/2014/03/07/perfec...book-t100/
http://www.taylorbyte.com/docs/wiki/arch...fi-gpt-usb

I did the obvious of copying a bootia32.efi file into the EFI/Boot folder on an OpenElec installer and it got me to a GRUB menu - but I'm a total novice in this area. (Same thing happened with an Ubuntu Server install. Could boot the installer and install to an external USB drive, but the new install didn't boot, and copying bootia32.efi to a new EFI/BOOT rather than EFI/ubuntu folder got me to GRUB similarly. Copying the .cfg file from ubuntu to Boot didn't help.)
Reply
#4
@noggin

I would like to hear if one can get x86_64 kernel running on these devices by using the noefi kernel parameter as I would love to get one of these devices to act as a desktop but I don't plan to get back in history to 32bit.
Reply
#5
This would be great the pipo x7 works OK in windows I'm sure in openenelec it would be a great machine
Reply
#6
Matt Devo - I've managed to hack together an Ubuntu 14.04.1 set-up (I'm such a noob that I can't quite get the EFI stuff and Ubuntu on the same drive but have hacked a second USB stick to be my Grub boot loader for the Ubuntu install on a second stick)

Following fritsch's instructions in the Linux forum I've got the latest VAAPI stuff installed. 720/50p files that fall over on the Windows 8.1 with Bing + Kodi setup are playing beautifully with no drops and skips. (720/50p DVB off-air recordings of Swedish broadcaster SVT. 10-15Mbs - CPUs hitting 20-25% max - and only one at a time, the rest are at around 8-10%)

Lots of missing drivers for the sound and network devices (not sure what's going on with the cabled ethernet adaptor - it worked fine on the Live USB but not on install) - but with a USB Ethernet adaptor and USB Sound Blaster I'm really pleased.
** EDIT - Internal Ethernet (itself on the USB bus I believe) works fine after a reboot **

dmesg reporting CPU throttling due to temperature - as in Windows - but this doesn't seem to impact video playback in Linux Kodi.

1080/50i with VAAPI Bob plays back very well for a minute or so then starts frame dropping. Non-VAAPI Bob seems to be OK. (One CPU occasionally hits a max of about 75%, the others sit at less) This is brilliant news!

Cooling is still an issue I think on the Pipo X7.
Reply
#7
Have just installed a TVHeadend PVR client and pointed the box at my TV server. It's playing Freesat UK SD 575/50i MPEG 2 and 1080/50i H264 HD stuff with no problem at all - include 50fps de-interlacing of news channel tickers.
Reply
#8
I compiled a 32-bit build of OpenELEC with 32-bit UEFI support, and am able to boot the image on USB, but I don't get the menu to select Install / Run Live, it just eventually boots the installer (which can't see the eMMC storage, so can't do anything). Will play with it some more tomorrow if I have time
Reply
#9
(2015-01-25, 11:27)Matt Devo Wrote: I compiled a 32-bit build of OpenELEC with 32-bit UEFI support, and am able to boot the image on USB, but I don't get the menu to select Install / Run Live, it just eventually boots the installer (which can't see the eMMC storage, so can't do anything). Will play with it some more tomorrow if I have time
Hi Matt

How about installing to a second USB device (stick, drive etc.)? I'd be really happy with an external USB boot solution (though accept this is less useful for tablets and the Meegopad T01 stick) I'm guessing the OE build doesn't have the drivers required for the eMMC? (Ubuntu seemed to see the mmcblk partitions in the installer when I was playing last night)

More than happy to give it a go if you can upload an image somewhere, or tell me what changes you made and I'll compile my own?

I guess there are two areas of interest - EFI32 bit support to get the installer to boot, and then also EFI32 bit for the installer to install for future booting? The latter looks like it may be here : https://github.com/OpenELEC/OpenELEC.tv/...package.mk

** EDIT : Looks like we need both a syslinux 32 bit bootia32.efi file AND a ldlinux.e32 file as well if we want to use syslinux as an EFI 32 bit boot loader to replace the bootx64.efi and ldlinux.e64 files? in BOOT to get the thing to boot and then the same on the installed version? **

Though my Linux-parsing skills aren't great.

http://www.syslinux.org/wiki/index.php/Doc/building Has some info about building SysLinux with EFI32 support.
Reply
#10
https://github.com/OpenELEC/OpenELEC.tv/pull/3574/files
Looks like there was an attempt here - but I think bootx32.efi is incorrect. I think the EFI files needs to be called (possibly renamed?) bootia32.efi ?
Reply
#11
So downloaded syslinux from git and "make clear ; make efi32" to generate a syslinux.efi and a ldlinux.e32 file in Ubuntu

Installed OpenElec to an external USB drive on a separate machine, and then copied over freshly made syslinux.efi as bootia32.efi and ldlinux.e32 to the EFI/BOOT ESP partition on this disk.

Sadly no joy. Definitely missing something (well I'm totally out of my depth!) - could it be a noefi boot flag?
Reply
#12
Edited efi/boot/syslinux.cfg on my modified OE install with added 32bit EFI syslinux files to remove quiet and add debugging and progress flags

It gets as far as Loading /KERNEL... ok and then no further. Is this progress?

I have a feeling it may be to do with : https://github.com/OpenELEC/OpenELEC.tv/..._EFI_MIXED (Line 466 of OpenELEC.tv/projects/Generic/linux/linux.x86_64.conf) seems to have

# CONFIG_EFI_MIXED is not set

I think for 64 bit kernels being loaded from a 32 bit EFI we need

CONFIG_EFI_MIXED=y ?

Apparently Ubuntu stock kernels now have CONFIG_EFI_MIXED set during build so work - but the OE Kernel doesn't - so doesn't?
(I wonder if I should try a 32 bit Kernel before I compile from scratch?)
Reply
#13
I've already configured OE to boot the installer with a 32-bit EFI, using the files mentioned above (bootia32.efi / ldlinux.e32). When syslinux is installed, it also writes the MBR sector, so you have to do that separately as well if not using syslinux to install itself, and you have to use the correct one for a GPT partitioned disk.

With a 2nd USB drive connected to my T100TA (via a USB-OTG adapter), I am now able to install and run OE, though boot time isn't very impressive currently - circa 2 mins. I also don't have any wifi support. I tested a few h.264 1080p24 files and they played back ok, albeit without sound, as no audio device is recognized.

I'm not trying to boot a 64-bit kernel, so CONFIG_EFI_MIXED isn't relevant for me; it likely is for you if you're using a x86_64 build.
Reply
#14
Will be interesting to see if you can get HDMI audio working. In Windows, the Baytrail-T can handle AC3/DTS but does not support any HD audio. Supposedly the desktop Baytrail variants can now do HD audio in both Linux and Windows with latest drivers.
Reply
#15
(2015-01-25, 19:33)Matt Devo Wrote: I've already configured OE to boot the installer with a 32-bit EFI, using the files mentioned above (bootia32.efi / ldlinux.e32). When syslinux is installed, it also writes the MBR sector, so you have to do that separately as well if not using syslinux to install itself, and you have to use the correct one for a GPT partitioned disk.

With a 2nd USB drive connected to my T100TA (via a USB-OTG adapter), I am now able to install and run OE, though boot time isn't very impressive currently - circa 2 mins. I also don't have any wifi support. I tested a few h.264 1080p24 files and they played back ok, albeit without sound, as no audio device is recognized.

I'm not trying to boot a 64-bit kernel, so CONFIG_EFI_MIXED isn't relevant for me; it likely is for you if you're using a x86_64 build.

Rather than recompiling a 64bit version I tried a 32 bit SYSTEM and KERNEL from OpenElec booted via a separate GRUB install on a different drive. It booted and ran - and drove an external Audigy USB sound card. Interestingly the video performance was nowhere near as good as in the Ubuntu 64 bit Kodi set-up. Getting around 30fps for 720/50p rather than 50. It can't be a 32 bit vs 64 bit thing can it (or does the 32 bit version of OpenElec ship with different drivers?)

Anyway - I guess I'll stick with Ubuntu for experimentation for the time being.
Reply

Logout Mark Read Team Forum Stats Members Help
32 bit UEFI builds of OpenElec ?0