GalliumOS / galliumos-distro

Docs, issues, and artwork sources for GalliumOS
https://galliumos.org/
GNU General Public License v2.0
346 stars 11 forks source link

Getting GalliumOS 3.0 to boot on Intel Atom (bay trail) tablets #537

Open JVAQUEROM opened 4 years ago

JVAQUEROM commented 4 years ago

I have a windows tablet with a Bay Trail processor. This kind of device ships with a 32-bit UEFI but the processor is 64-bit.

There is a well know method working on Ubuntu and many other GNU/Linux distros to get it to boot, which is to add the file "bootia32.efi" to the folder with efi files (/EFI/BOOT/).

Some time ago I managed to do it in GalliumOS 2, but with GalliumOS 3.0 this process results in the grub going to grub command line.

Doom4535 commented 4 years ago

@JVAQUEROM I'm going out on a limb, but you might be having the same problem that I was with #542, assuming that you running this installation with an active internet connection.

If you haven't solved this yet, I would try to use the same procedure outlined for Ubuntu (and that you used for GalliumOS 2), but ensure that the installer (ubiquity) is unable to get to the internet (so probably download any files that you will need to a second flash drive).

reynhout commented 4 years ago

@Doom4535 Likely not directly related to the new GRUB issue, which is due to very recent updates in the Ubuntu GRUB pkgs.

@JVAQUEROM I missed this ticket earlier. The reason you can't boot after swapping EFI images is that they'll be looking for the OS at a different path. You can hexedit the EFI image with the new path, or possibly just copy the files in the EFI dir? I've done the former, but the latter is probably easier.

JVAQUEROM commented 4 years ago

@reynhout, thank you so much for your answer!

Well, I'm not really sure what to copy where....If you could explain, or just provide your modified bootia32.efi (I understand "EFI image" means this file, correct me if I'm wrong), it would be great for me. Thank you

thanks to @Doom4535 too, but I don't think it has to do with that, since I don't even get to ubiquity...

ghost commented 4 years ago

Hi, popping in during my efforts to clean the issue tracker to point out that this isn't really supported. That being said, I've often contemplated running GalliumOS on those Windows tablets due to the obscure hardware and it's known poor Linux compatibility. On the other hand, since most of them are cheap, Chinese, and old, I don't know if it would be worth the time and effort of testing them or even possible to do so for that matter. Given that GalliumOS already supports Bay Trail in some capacity and it's general usefulness has come into question recently (seeing how HSW/BDW/BSW have good upstream support and KBL, APL and newer are still horribly borked, and will likely continue to be), it's at least worth discussing.

JVAQUEROM commented 4 years ago

I won't be able to work on this until June, but I guess i'll try to install some ubuntu/kubuntu or kde neon, then install GalliumOS kernel, if I can't solve the issue with the "bootia32.efi" file...

PSzczepanski1996 commented 3 years ago

I won't be able to work on this until June, but I guess i'll try to install some ubuntu/kubuntu or kde neon, then install GalliumOS kernel, if I can't solve the issue with the "bootia32.efi" file...

Hello, I saw the thread and I was working on getting Arch functioning properly on Lenovo Yoga 2 8". Everything works correctly on mainline kernel expect audio, so I though I will compile GalliumOS kernel, there are some quirks if you want to do that.

  1. There are missing some stuff in AUR repo (https://aur.archlinux.org/linux-galliumos.git): https://bugzilla.kernel.org/show_bug.cgi?id=197847
  2. After almost 5 hours of compilation time on single core (I don't know why I really don't passed -j2 or -j3 to makeflags) I got this error:
    ld: arch/x86/boot/compressed/pgtable_64.o:(.bss+0x0): multiple definition of `__force_order'; arch/x86/boot/compressed/pagetable.o:(.bss+0x0): first defined here
    ld: arch/x86/boot/compressed/head_64.o: warning: relocation in read-only section `.head.text'
    ld: warning: creating DT_TEXTREL in a PIE
    make[2]: *** [arch/x86/boot/compressed/Makefile:111: arch/x86/boot/compressed/vmlinux] Błąd 1
    make[1]: *** [arch/x86/boot/Makefile:112: arch/x86/boot/compressed/vmlinux] Błąd 2
    make: *** [arch/x86/Makefile:307: bzImage] Błąd 2
    ==> BŁĄD: Wystąpił błąd w build().
    Przerywam...

I have newest packages too. So if anybody wants to install gallium kernel, remember to use almost the cores of the device during compilation to shorten it to 1-3 hours, also, why almost all? Because of limiting thermal throttling. Anyway I wish to use normal kernel on my tab, but dmesg prints that: intel_sst_acpi 80860F28:00: No matching machine driver found I expect driver is missing but I'm not sure which, and where I can download file to put it into my Arch microsd rootfs. Have good luck, also I expect Gallium team will mainline kernel to 5.10 soon.

JVAQUEROM commented 3 years ago

Its good to know everything is working (except audio). I managed to get some audio working on Ubuntu, but it did not work very well (for instance, only in one speaker - the tablet has two speaker).

I gave away the tablet so I cannot test GNU/Linux on it any more. But I might get one in which GNU/Linux works well.

brittAlan2 commented 3 years ago

I was wondering if anyone had a successful build for baytrail and if you could give a little info cant find anything specific

JVAQUEROM commented 3 years ago

Dear @brittAlan2 , I think your best bet is to get the latest kernel possible and try to look for firmware/drivers of the hardware not recongnized. There are some useful guides, for example https://gist.github.com/jfstenuit/09feac5ab0bff500db81ac9a56a48773

Good luck!

brittAlan2 commented 3 years ago

Thanks ill give it a look its mostly for the sake of the journey anyway. I apparently got ahold of an obscure version of the yoga 11e there was no write protection but Even after using mrchromebox script i still cant boot usb but im getting pretty good use from seeing what chrome os can do on its own so far im actually ok with chrome os with crouton and chromebrew