Installing to a 64-bit system that ONLY supports 32-bit UEFI boot?

I've found myself in an odd situation with an ASUS X205TA. Though it sports a 64-bit Intel Atom Z3735F processor, it requires (according to Google), an IA32 UEFI boot. It will NOT boot a traditional BIOS bootloader or a 64-bit UEFI bootloader.

I have found two live CD's which will boot when dd'd to a USB drive, a special copy of Fedora 17, (SoaS), and a special compilation of the Debian Jessie netinst CD. Neither of which is configured for anything more than installing their respective payloads. The former gets as far as "starting Display Manager" before freezing, the latter allows me to install, but I'm very much partial to Arch than Debian at this point. That, and I'm hoping Arch has some better hardware support, as the wireless, audio, and brightness controls don't work at all.

I did manage to find a Github for a similar device, the T100TA, offering a bootia32.efi, which when placed on the USB stick does get me to a grub prompt, where I do the following:

set root=(hd0) #this is correct to what I'm seeing on screen
linux /arch/boot/x86_64/vmlinuz
initrd /arch/boot/x86_64/archiso.img
boot

This gets me what appears to be a normal boot, except it says "Waiting 30 seconds for device /dev/disk/by-label/ ...", which times out, and then drops me to a rootfs prompt. It's at this point that I'm both stuck, and stumped. Following this question on superuser, I determined that /dev/disk/by-label/ARCH_201503 is correctly mapped to /dev/sda1* (which is the iso9660 on the USB drive) but it still doesn't completely boot up into the full install environment.

* The internal SSD of this laptop came up as /dev/mmcblk0 in Debian, which would explain the install USB coming up as /dev/sda

Re: Installing to a 64-bit system that ONLY supports 32-bit UEFI boot?

Well, I've made SOME progress myself, but I've gotten stuck again. I managed to install, and substituting "i386-efi" in place of "x86_64-efi" in the grub target, I get a normal grub prompt when booting from the internal SSD.

However, when it starts booting, I get a blank screen and Ctrl+Alt+Del doesn't work.

Re: Installing to a 64-bit system that ONLY supports 32-bit UEFI boot?

Audio requires the snd-soc-sst-baytrail-pcm and snd-soc-sst-byt-rt5640-mach modules. The Arch kernel does not contain any support for SoC audio (# CONFIG_SND_SOC is not set), so you'll need to compile the kernel yourself if you want sound. And possibly open a bug report requesting that these modules get added to the Arch kernel.

Wifi is a Broadcom 43341, support for it is in the 4.0-rc kernels. For earlier kernels, I suppose applying this patch will work. The required firmware just entered the linux-firmware repository today, so you'll need to fetch it manually until there's a new linux-firmware package in Arch. You will also need a nvram image, I recall reading recently how to get that, I'll try to find it. Edit: found it. Basically, copy /sys/firmware/efi/efivars/nvram-* to /usr/lib/firmware/brcm/brcmfmac43340-sdio.txt

As for the bootloader, I'd recommend trying syslinux. Just follow the wiki. As noted there, replace efi64 with efi32 in the listed commands.

Re: Installing to a 64-bit system that ONLY supports 32-bit UEFI boot?

Good to hear! I can also get mine to boot properly now. I went with syslinux, an i686 install, and I kept Windows just in case. In my opinion going i686 instead of x86_64 is better on this machine because a) precious MMC space won't be wasted on duplicate multilib packages if you ever need to run 32-bit-only software, and b) you're stuck with 2 GB of soldered RAM, so the best selling point of 64-bit OSes (being able to use 4GB+ of RAM) is rendered moot.

Anyway, you can adjust the backlight by logging as root and running the following command. Adjust the number 4000 as you see fit. I have yet to find out how to get xbacklight to work.

echo 4000 > /sys/class/backlight/intel_backlight/brightness

I haven't investigated wifi; I don't mind using an old usb wifi dongle until Linux 4.0 comes out.

Re: Installing to a 64-bit system that ONLY supports 32-bit UEFI boot?

I'll let the kernel compile overnight (with support for sound and the wifi patch -- thanks, Gusar), I'll report on sound and wifi when it's done.

I found out that disabling vsync seems to help with some bad framerate drops in hardware-accelerated apps (such as LOVE games and emulators). This also happens in Windows. There seems to be pretty bad tearing regardless of vsync in Linux anyway.

RankoKohime, did you get the touchpad to work properly (multitouch scrolling etc)? Can you get battery stats?

Re: Installing to a 64-bit system that ONLY supports 32-bit UEFI boot?

ilikepie wrote:

I'll let the kernel compile overnight (with support for sound and the wifi patch -- thanks, Gusar), I'll report on sound and wifi when it's done.

RankoKohime, did you get the touchpad to work properly (multitouch scrolling etc)? Can you get battery stats?

I've given consideration to compiling the kernel, but the method using the Arch Build System doesn't even download the kernel sources for me. Maybe a server was down or something when I tried, I'll try again later.

As for the touchpad, I've been spoiled by Lenovo Trackpoints and proper discrete mice, so I find a touch pad nearly impossible to use, especially when it has integrated buttons. As such I've done practically zero fiddling with it. I did test and two-finger scrolling doesn't seem to work, even with xf86-input-synaptics installed.

backlight-control, available in the AUR works quite well, even without elevated privileges, so maybe give that a try.

Re: Installing to a 64-bit system that ONLY supports 32-bit UEFI boot?

Regarding this page, it mentions that battery status is available in kernels >=3.19, (though it doesn't mention HOW it's available) however, I installed with kernel 3.19.2, and ACPI does not appear to be picking up the battery. Anyone found anything on this?

Re: Installing to a 64-bit system that ONLY supports 32-bit UEFI boot?

As an update, I compiled a kernel, first with some options that were recommended, somewhere, to enable battery status, and this works, but I've run into a bit of a snag regarding audio. After compiling, installing and rebooting, (and verifying that I'm running the correct kernel, of course) /proc/config.gz has the options for snd all =m, which is what they default to when I first download the ABS build. Needless to say, sound continues to not work.

Also, some mention has been made on the Ubuntu forums, of some of these machines using the 5648 chip instead of the 5640 chip. As neither shows up in lspci or lsusb, how would I go about verifying which chip I have?