Guide:
HOWTO: Install Linux on a Linx 1010B Tablet
In this guide I will be demonstrating how to install Linux on the Linx 1010B tablet, a low-cost 10-inch Windows 10 tablet. It uses the Bay Trail chipset, which has a history of causing frustration when trying to boot Linux, particularly because although it features a 64-bit processor, it uses an EFI system that only operates in 32-bit. Linux support for the hardware in general is not perfect, but now provides most of the same functionality as Windows.
The good news is, if you just want to use the latest Ubuntu on this tablet, it’s now pretty easy! The next few sections of this guide will show you how.
(If you want to install other versions of Linux, Linux derivatives, different desktop environments etc, skip down to the “Other Setups” section!)
What’s Working?
Your first decision is the distribution and version of Linux to install. My personal preference is for Ubuntu Linux and the GNOME desktop environment, as this combination seems to provide the best tablet support at the current time.
With Ubuntu 20.04.1, the following all work:
- Installation
- Dual-booting with Windows 10
- Touchscreen with multi-touch and on-screen keyboard
- Gestures and long-press to right click
- Sleep
- Screen brightness
- Sound
- WiFi (although sometimes unreliable)
- Bluetooth
- Battery level
The one big omission seems to be the cameras. Neither front nor back camera work on Ubuntu 20.04.1, or any OS apart from older versions of Windows.
If you’re happy to use Ubuntu 20.04.1 with GNOME, carry on reading! If not, you might want to jump down to the “Other Setups” section.
What about Ubuntu 20.10?
As of the time of writing (January 2021), the latest release of Ubuntu is 20.10. However, this version seems to have a regression in terms of its support for Bay Trail tablets in the installer. If you install from an Ubuntu 20.10 image, you will likely find that you can't boot into your new installation. For this reason I still recommend installing Ubuntu 20.04.1. This is a Long Term Support release and should be fine for several years to come, but if you'd like to upgrade to 20.10, you should do that as an in-place upgrade after the install.
Equipment Required
To get started you will need:
- Linx 1010B tablet and charger
- Ubuntu Linux ISO image (20.04.1 LTS 64-bit recommended, download from here)
- A USB memory stick with at least 4GB capacity
- The Linx 1010B keyboard attachment, or other USB keyboard is useful just in case you have touchscreen problems, though shouldn’t strictly be needed.
Considering Dual-Boot
Whether you dual-boot with Windows or wipe out Windows completely and just use Ubuntu is up to you. Ubuntu is now suitable for daily use on this tablet, so I’ve wiped off Windows completely. If you’re not sure, you can dual-boot for a while, but note that when dual-booting, Linux will be very limited in the amount of space available.
Whichever way you choose, the Ubuntu installer will handle if for you during the installation, but if you’re dual-booting you may need to clear out some space from within Windows, then run a disk cleanup, to ensure at least 8GB of space is free.
Preparing for the Install
- Begin flashing your Ubuntu ISO onto your memory stick using Unetbootin.
- The USB stick will currently be bootable on EFI systems in 64-bit mode, but not in 32-bit mode (which is all this tablet supports). To fix this, grab this bootia32.efi file and place it in
<usb stick>:\EFI\boot\
. - Turn your tablet off.
- Connect your Linx or USB keyboard.
- Turn the tablet on while holding the Volume Up button. The screen should say something like “Esc is pressed”, then you will be given a setup menu.
- My tablet had Secure Boot disabled by default, so you should be able to press “Boot Manager” and you’ll see your USB device in the list. Press it to continue. (If you don’t see it, play around in the setup menu until you find the option to disable Secure Boot, then press F10 on the keyboard to save, and repeat this step.)
- You will boot from the memory stick and get to the GRUB bootloader screen, following which Ubuntu will boot automatically.
Installing Ubuntu
In Ubuntu 18.04 or later, this is now very easy as the installer understands about the 32-bit UEFI issue. You can click the “Install Ubuntu” icon and select most options as you normally would in the installer.
If you’re choosing to dual-boot, choose “Install Ubuntu alongside existing operating system” when prompted for where to install, and ensure that at least 8GB of space is allocated. Otherwise, you can choose to replace the existing Windows OS at this stage.
Important: If you select advanced partitioning options, I would recommend you don't select to encrypt the disk. That’s not because of any boot problems in this configuration, but simply because there is no on-screen keyboard support on the disk unlock screen! If you set this option, you will require a keyboard every time you power on.
Once installation is complete, your tablet will prompt you to reboot. It should now start up automatically into the new Ubuntu installation.
Post-Install Usage Notes
- If you’re encountering choppy scrolling, particularly noticeable in web browsers, it may be resolved by switching to Wayland as your graphics server. (See this bug report.) To do that, log out, select your name on the login screen, and before entering your password click the “cogs” icon at the bottom right. Choose “Ubuntu on Wayland”.
- If GNOME feels sluggish, it can be slightly improved by turning off animations. This is possible using the “GNOME Tweaks” tool that you can install from Software Centre.
- If you’d like to reclaim some screen space, you can set the dock to auto-hide, or remove it entirely, also using GNOME Tweaks. It’s provided by the Ubuntu Dock GNOME Shell extension. (If you remove it completely, press “Activities” in the top left to get an application menu.)
- It’s not that intuitive how to summon the GNOME on-screen keyboard if it doesn’t pop up automatically. You do it by swiping up from the bottom of the screen!
Congratulations! At this point, if you’re using Ubuntu 20.04.1 as recommended, you’re done! You should be able to connect to WiFi, use the tablet with or without the keyboard, and do almost everything you'd like to do with the tablet. Unless you'd like to explore other operating systems or desktop environments, you can stop reading here.
Other Setups
If you want an Ubuntu version other than 20.04.1, a desktop environment other than GNOME, a different Linux distribution, or a different Linux derivative such as Chrome OS or Android, the following sections gives some information and additional steps that may help you out. From here on, we assume a reasonable level of knowledge with Linux, disk partitioning etc. The majority of users who have followed the instructions above can stop reading here!
Other Desktop Environments
GNOME seems to be the best set up for tablets at this time, although it can be slow. If you want to stay with GNOME but speed things up a bit, you can install “GNOME Tweaks” and turn off animations, which gives a slight improvement.
I have also tried Cinnamon, MATE and XFCE on the tablet. As desktop environments that have more of a traditional desktop feel, they are less demanding and therefore faster and more responsive than GNOME. However, they also don’t fully cater for tablets in the way that GNOME does. None of the three support automatic rotation of the screen based on the accelerometer, or automatic rotation of touch inputs. That means you’ll have to set your screen rotation to landscape manually if you want to use it in that orientation, and if you want to use the touchscreen in landscape orientation, you’ll need to rotate it using the command-line scripts shown here.
In XFCE particularly, I have also had issues with tapping to click and long-pressing to right-click.
Ubuntu 20.10
Ubuntu 20.10 is a more recent release than the recommended version, 20.04.1. However, 20.10 seems to have a regression in terms of its support for Bay Trail tablets in the installer, and it does not correctly set up 32-bit EFI and grub. If you install from an Ubuntu 20.10 image, you will likely find that you can’t boot into your new installation without a lot of hassle. For this reason I don’t recommend using it yet. If you’d like to use 20.10, the recommended approach is to do this as an in-place upgrade after a normal install of 20.04.1 following the instructions above.
Ubuntu 20.04
I have tested Ubuntu 20.04.1 and found it to be working very well, as documented above. However, back before the “.1” update when using the base Ubuntu 20.04, a couple of people posted in the comments below about being unable to boot from USB after installation. We never got to the bottom of this, so for now I would not recommend going back to 20.04.
Linux Mint 20.1
Mint 20.1 installs almost as well as the recommended Ubuntu 20.04.1, using the 32-bit EFI boot file trick. There are two caveats:
- While Ubuntu Live USB automatically boots into “Try Ubuntu” after a few seconds, Mint does not. You’ll therefore need a physical keyboard (just to press Enter once during first boot!) If that’s not possible for you, you can work around it by opening
<usb stick>:\boot\grub\grub.cfg
on the computer you used to make it, and add the lineGRUB_TIMEOUT=5
. - See the note above on Other Desktop Environments regarding Cinnamon and MATE.
Other Linux Distros
If you prefer Fedora, Dave H in the comments below reports that Fedora 29 with Gnome works well. There’s also Fedlet, a customised version specifically for Bay Trail computers, but it’s been out of development since 2016 so the main branch of Fedora is now much more likely to provide proper support for the tablet.
Chrome OS
Two main builds of Chrome/Chromium OS exist for installation on generic PCs – Arnold the Bat and Neverware CloudReady. As of January 2021, Arnold the Bat’s arm 64-bit builds do boot (without any 32-bit EFI files required), but they do not recognise the tablet’s WiFi adapter, or a USB WiFi adapter that I plugged in for testing. Unfortunately Chromium OS does not have a means to skip this section of the install, so I cannot test it any further.
CloudReady works a bit better, and provides more drivers for generic PC hardware including the WiFi. However, note that its installer doesn’t support dual boot, so if you want to install it you’ll have to get rid of Windows.
The last version of CloudReady that I tried is 87.3.41 (January 2021), which runs up fine (albeit slowly) in the USB stick environment, but does not successfully install. Prior to that I tried 83.4.4 (August 2020), which I did manage to install successfully. It’s usable in “laptop mode”, but with the following issues (see forum thread). The exact same issues were all present in version 76.4 (August 2019) as well, so I wouldn’t expect them to be resolved soon - Bay Trail tablets are not officially supported by the project.
- No touchscreen support at all
- No orientation detection – screen needs rotating to 90 deg manually if you want to use it in landscape mode
- Brightness control doesn’t work
- Wifi is tempramental - sometimes it works fine, sometimes it reconnects over and over again
- Cameras don’t work
- No Bluetooth support
- No Sleep/Suspend support
Android
The Android x86 project allows Android to be run and installed on generic Intel hardware such as the Linx 1010B. As of their Oreo/8.1 release, this does work, but it is very slow! It’s just about usable for light web browsing but it can take over a minute just to get from the lock screen to the launcher. On that basis, it’s not recommended.
If you want to try, you’ll need the same 32-bit EFI trick as with the standard Ubuntu instructions to get the USB stick to boot. It installs fine though and you can dual-boot with Windows. Sleep/suspend and cameras don’t work.
Windows 10
As well as Linux-based operating systems, I have done several reinstalls of Windows 10 over my time playing with this tablet. While you would think Windows would provide the best experience on the tablet, as of January 2021 and Windows 10 20H2, there are several problems. Principally, the touchscreen, audio and cameras do not appear to work, despite scouring the web for suitable drivers.
Since LINX have dropped support for this tablet, I don’t imagine any fixes will be forthcoming. Therefore if you are intending to install an operating system from scratch, I would say that at this point Linux offers a better experience than Windows.
Ubuntu versions earlier than 18.04
These versions do not install alongside Windows properly or set up GRUB properly with the system’s 32-bit UEFI. Follow this procedure to get them installed:
- When it comes to step 3 of the installation, you should be offered to “Install Ubuntu alongside Windows Boot Manager”. Don’t choose this, instead choose “Something Else”.
- In the free space you cleared, create a single ext3 partition and choose to mount it at
/
. (I didn’t have much luck with ext4, the installer locked up every time.) Make a note of the partition name — it should be/dev/mmcblk0p5
. - You’ll also be asked which disk/partition to install GRUB too — just leave this as the default as it won’t work anyway. We’ll fix that later.
- You’ll be warned about the lack of a swap partition. To save the flash memory from excess writing, and because very little space is available for Linux anyway, I chose to do without one.
- After copying files and configuring the system, the installer will show an error message because it failed to install GRUB. This is OK — installing GRUB is the last step, so the rest of the install has worked fine.
- Shut down the tablet, leaving the USB stick attached.
Currently, there’s no boot loader that will let you boot your Ubuntu install. What we can do temporarily is use the copy of GRUB on the USB stick, and tweak it to boot the copy of Ubuntu on your internal storage instead of the one it normally boots.
The easiest way I found to do that is as follows:
- Boot into Windows.
- Open up your USB stick in Explorer, and open the file
<usb stick>:\boot\grub\grub.cfg
in a text editor. - Just above the line
menuentry "Try Ubuntu without installing" {
, add the following lines:
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
menuentry "Run from internal disk" {
linux (hd1,gpt5)/boot/vmlinuz-4.2.0-16-generic.efi.signed root=/dev/mmcblk0p5 intel_idle.max_cstate=0 quiet splash $vt_handoff
initrd (hd1,gpt5)/boot/initrd.img-4.2.0-16-generic
}
Note: I believe this should be the right kernel version that gets installed with Ubuntu 15.10. If it doesn’t boot at all, when you try to boot from GRUB in a moment, press C
and enter the linux
and initrd
commands yourself, using tab completion to find the right versions.
If it boots but you get a busybox console instead of a proper Ubuntu login GUI, check your partition numbering — /dev/mmcblk0p5
may not be the right partition.
Now turn your tablet off, and turn it on again with Volume Up held. As before you should be able to boot from the USB stick, but this time the GRUB menu will have a new “Run from internal disk” option. Ubuntu should start and you can log in as the user you set up.
Now follow these steps to get GRUB set up permanently without requiring the USB stick:
- Install the 32-bit version of grub by executing the following from a terminal:
sudo apt-get install grub-efi-ia32 grub-efi-ia32-bin
- As before, we still don’t have a proper 32-bit EFI file for grub, so download this one.
- Place the downloaded file in the right location, instead of the 64-bit file that grub is expecting, which is at
/boot/efi/EFI/ubuntu/grubx64.efi
. (For example,sudo mkdir -p /boot/efi/EFI/ubuntu && sudo cp grubia32.efi /boot/efi/EFI/ubuntu/grubx64.efi
.) - Edit the default GRUB configuration on your tablet by opening
/etc/default/grub
in a text editor as root (e.g.sudo nano /etc/default/grub
). - There should be a line that reads
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
. Edit that so it readsGRUB_CMDLINE_LINUX_DEFAULT="intel_idle.max_cstate=0 quiet splash"
. - There should be a commented out line that reads
GRUB_TERMINAL="console"
. Uncomment that line. -
To start up without a keyboard attached, you will want the default GRUB option to boot automatically without you having to press Enter. To do this, make sure the lines at the top of the file that read something like:
GRUB_DEFAULT=0 GRUB_TIMEOUT=5
- If you have a line that sets
GRUB_HIDDEN_TIMEOUT
, comment it out. - Save and close the file.
- Install GRUB with
sudo update-grub && sudo update-grub2 && sudo grub-install
. - Check that GRUB has added “ubuntu” as an option to the EFI boot manager by running
sudo efibootmgr -v
. Check the four-digit numbers of each partition against the boot order shown, and it should list your Ubuntu install as the first one. If not, manually add this install to your EFI boot list withsudo efibootmgr -c --disk /dev/mmcblk0 --part 1
. - Shut down your tablet and remove the USB stick.
- Start up the tablet (no need to hold Volume Up any more!), and it should show you GRUB for a few seconds, then start up to the Ubuntu login screen.
Other Useful Information
If you’re using a non-standard setup, some of the following sections might provide some useful information and code to fix problems you may have.
Screen Rotation
If you’re using GNOME, the screen is probably rotating with tablet orientation as you would expect. If not, to rotate it, run the following commands. The first rotates the display to landscape mode, the second is required to rotate the touch input so it matches the screen.
xrandr -o right
xinput set-prop "pointer:Goodix Capacitive TouchScreen" 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1
If you want this to happen automatically when you log in, save both commands to a file (e.g. ~/scripts/rotate
), make it executable (chmod +x ~/scripts/rotate
) and add it to your desktop environment’s Startup Applications.
The equivalent script to set the screen back to portrait mode is as follows (thanks to Scott in the comments!):
xrandr -o normal
xinput set-prop "pointer:Goodix Capacitive Touchscreen" 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
Rotating the Login Screen
On Ubuntu 18.10 using the default GDM3 login screen, it should rotate automatically with tablet orientation as you would expect. Otherwise, it should be possible to apply the manual rotation above to the login screen as well by editing its configuration.
For example, in Ubuntu 15.04 using the default LightDM login screen, we achieve this by creating a file named /etc/lightdm/lightdm.conf.d/80-display-setup.conf
with the following contents:
[SeatDefaults]
display-setup-script=xrandr -o right && xinput set-prop "pointer:Goodix Capacitive TouchScreen" 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1
However, depending on the choice of login screen this may produce a “low graphics mode” error on startup and fail to display the login screen. In this eventuality it’s easiest just to perform the login in portrait orientation.
Onboard setup
If you aren’t using GNOME, it’s a good idea to run “Onboard” (an on-screen keyboard) and configure it to your liking. (You may also prefer it to the GNOME on-screen keyboard anyway!) The following settings make it behave a lot like the Windows keyboard:
- General -> Auto-show when editing text
- General -> Show status icon
- Window -> Window options -> Dock to screen edge
- (Grab your onboard window and stretch it to your desired height)
- Window -> Resize Protection -> Window handles: None
- Layout -> Small
- Typing Assistance -> Show suggestions
Long-press to Right Click
If you’re using Ubuntu 18.10 or above with the default GNOME environment, you should already be able to do a long press to right-click as you would expect. If not, Ubuntu’s “Universal Access” panel contains a “Simulated Secondary Click” option that should allow you to long-press on the touchscreen to get a right click effect. You can also achieve the same from the terminal with:
gsettings set org.gnome.desktop.a11y.mouse secondary-click-enabled "true"
On older versions of Ubuntu, the touchscreen sensitivity seems to be very high, so even if you keep your finger relatively still, it is still counted as a left button drag rather than a right button click. No other GNOME/Unity settings appear to alter this.
There are some xinput options that are configurable and should achieve this as well, such as those below, but I have not succeeded in getting them working so far.
xinput --set-prop "Goodix Capacitive TouchScreen" "Evdev Third Button Emulation" "1"
xinput --set-prop "Goodix Capacitive TouchScreen" "Evdev Third Button Threshold" "100"
xinput --set-prop "Goodix Capacitive TouchScreen" "Evdev Third Button Timout" "500"
Thanks To…
To get this far I’ve used information from the following places. I’m extremely grateful to the people that wrote them!
So close...
Ian, thanks for a really comprehensive and accurate guide. I get all the way to the last step - installing the boot loader. I got on error running
update-grub
saying thatGRUB_TIMEOUT
can't be set ifGRUB_HIDDEN_TIMEOUT
is also set. So I commented out the latter.No other errors displayed... but it doesn't work on reboot, going straight to windows boot loader instead. Have you any suggestions?
Thanks again irrespective.
OK I found the problem: there's a missing step.
Before step 11 in "Booting to Ubuntu properly" you need to install grub:
sudo sudo grub-install
Then shut down as per step 11. Works for me now (thanks again Ian).
BTW, here's instructions for returning the screen to portrait mode in the hope it's useful:
Typo: make that
sudo grub-install
.Scott,
I'm glad you got it working in the end, and thanks for providing corrections to the guide! I've updated the process above to include the
sudo grub-install
step (not sure how I managed to leave that one out!), plus theGRUB_HIDDEN_TIMEOUT
issue and the un-rotate script.Thanks again!
You're welcome Ian, thanks for updating instructions. Another find after a kernel update today meant the tablet stopped booting into linux & resorted to Windows; you need to repeat the following:
re-copy the grub ia32 EFIfile. I keep the downloaded copy in
~/Downloads
, so:cd ~/Downloads && sudo cp grubia32.efi /boot/efi/EFI/ubuntu/grubx64.efi
Then update grub per above:
sudo update-grub && sudo update-grub2 && sudo grub-install
That did the trick for me; now boots into the updated kernel.
Ian wrote:
Hi Ian, I've been messing around with doing this and managed to do this without your tutorial, only found this one when looking into fixing grub XD Typical, i spent 3 days doing what could be done in an hour with this guide XD
Anyway, i have the onboard wifi working, i will have to check what i've done when i get home, but so far i have wifi working, havent checked Bluetooth yet, but with the driver i have, i'm sure it is. i'll check the HDMI out once i find a cable for it, and the battery level hasn't worked yet, though i believe i heard that there was a driver being developed. suspending the tablet i don't know yet but will try that when i get home, but i hold little hope as that's always the last one to work
Anyway, must get back to work, but i will update you asap with info of the wifi
Ashleigh wrote:
Hi Ashleigh, any details on what you did to get the wifi working?
Thanks,
Scott.
Here in October 2018 the issues are still far from clobbered with Bay Trail. However, I’m joining the 1010B fun due to a rash purchase yesterday.
I’ve not checked this with anything other than Mint 19, but I seem to have sussed the brightness without resorting to kernel rebuilds. Edit /etc/initramfs-tools/modules and add these lines in order: pwm_lpss pwm_lpss_platform pwm_lpss_pci i915
Then, sudo update-initramfs -u And reboot. This stops the i915 module loading ahead of the pwm_lpss modules.
Inspired by https://bugs.freedesktop.org/show_bug.cgi?id=96571
All the best, and thanks for the head start.
Damien
Hi.
Thanks for this. It’s helping me a great deal but I am getting stuck at the same point every time.
When I install GRUB with:
The first 2 commands work just fine but then….
Any ideas please? I’ve Googled but to no avail.
Thanks in advance of any assistance. Don
Hi Don,
All I can think of is either there really is no space left on the drive, or that maybe your /boot is in a partition that’s unmounted or mounted read-only. “df -h” should show you disk usage, and “cat /etc/mtab” should show the current state of mounted partitions.
If you have trouble interpreting them, paste the output here and I’ll see if I can figure it out!
Hi - thanks for your guide I found it really helpful. I managed to install MX Linux which worked okay after some fiddling about, then I did some research and downloaded Fedora 29 with Gnome, most things work out of the box including sound and no need to place boot files for 32 bit uefi as this is already included in the ISO. I haven’t managed to get the cameras running yet but will persist and update here when I succeed. I have completely ditched W10 as it got on my nerves an am typing this on my Linx 1010B via Chrome (Flash & Widevine function out of the box).
Once again thanks for sharing.
No problem, happy to help! Please do let us know if you get the cameras working.
I’ve created a nice rotate script for my linx 1010b, when in portrait mode it rotates the screen and xinput and because it’s in portrait loads the on screen keyboard… I’m really struggling though with the onboard WiFi, very poor signal and intermittent connection issues.
Thanks for all the useful info. I got a 1010L cheaply a while ago as the windows 10 updates wouldnt fit on the smaller 16gb storage. Ive managed to use it quite well with xubuntu apart from one thing that has never worked: Shutting down!
When I try to shut it down, either by shutdown -h now or via the GUI it will go through the whole process, the screen will turn off, but then about 5 seconds later it will start up again. It seems that sometimes it will shut down if I have power plugged in, but its not guaranteed.
The only way to get it powered off safely is to halt it then hold the power button until it powers off. Has anyone else got this issue or any ideas on how to fix it?
Thanks for your guide, I’ve been wanting to put Ubuntu on my Linx for a while.
But I’m having trouble with this. I have to remove one of the efi files in order to make space for the bootia32.efi file.
It then just boots to the grub command prompt, and not the boooader.
I’m doing it on a 1010 though, not the 1010b, but I don’t think that would matter?
Actually, I just checked and I have the 1010b as it came with the keyboard.
I was getting confused with the 1010 vs the 1020
I don’t think there should be a difference. Whenever I’ve made install USBs I haven’t had to delete any files to make space though. How are you creating yours - are you using Unetbootin and a downloaded ISO or some other way?
I’m using Balena Etcher, I’ll try with the tool you suggested
I used Unetbootin, and it works now.
Hey Ian,
Should these steps work for the 12v64 do you know? I can find very little on it and keep hitting post-GRUB errors with this tablet. It’s just going for recycling if I can’t make it work.
Thanks!
I would have thought they’d work, maybe even more easily (without the 32-bit EFI file) if it’s a proper 64-bit tablet. I don’t own one myself to test though, sorry.
Every time I try this I get GRUB installation failed:
the ‘grub-efi-ia32’ package failed to install into /target/. Without the GRUB boot loader, the installed system will not boot.
Am I doing something wrong?
Are you using Ubuntu 19.04 as recommended or a different version? (I haven’t had chance to try the most recent 19.10 version yet so it’s possible that if you’ve opted for that, they’ve broken something or the guide needs to be updated.)
And are you setting it up to dual boot or replacing Windows entirely? If you’re dual booting it’s worth checking for the simple problems e.g. is your Linux partition so small it just doesn’t have space to install grub?
I’ve installed ubuntu instead of windows after i backed up a drive image , I was trying to revert it back to windows, but it doesn’t see the bootable usb stick as a booting option, can anyone help ?
Do you have Secure Boot turned on in the EFI config? That could potentially cause it to refuse to boot. It’s worth checking if your USB stick appears as an option in the EFI menus as well, as you can use that to force it to boot from a certain device. Failing that - is the device definitely bootable? I know I have one memory stick (a Kingston I think) which is just never bootable regardless of that files are on it; a different stick with the same contents works fine. If you have another stick maybe give that a try.
First thank you so much for this tutorial page, you have given at my old tablet linx 1020 (1020b if i remember) a new life! So i have tried lot of things: i have downloaded the last 20.04 ubuntu and all worked well, wifi, rotation screen, sound,…but onboard keyboard not present, some lags/freeze, very not good in a long use. Then i have decided to install the 19.10 version with actually i m writting this reply and absolutly all work very well but not the both camera and rotation screen doesn’t rotate in a good way :) possible i need find some tips to set up all that! i need to find how to do the long press click etc…read again this tutorial ehehe
Hi Marc0, glad you have got it mostly working! I only have a 1010B not a 1020 so I may not be able to replicate all your problems but I will see what I can do.
The cameras are probably not going to work at all I’m afraid - like I say in the article I haven’t managed to get them working so I think they are just unsupported on Linux at the moment. Unfortunately I don’t have the skills to start writing device drivers!
When you say the screen “doesn’t rotate in a good way” - is it not rotating at all, or is it rotating but the angle is wrong e.g. it’s always upside-down?
Long press to right-click is covered in the article, although it does work out of the box on 1010B. Try the GNOME “Universal Access” settings as described, but if it still doesn’t work, you may need to change times and sensitivities using xinput.
Hi ian, thank you for your reply! So Screen rotation accelerometer is inverted and long-press does not trigger right-click like you described in this post. Yes when i am in portrait the screen is upside down, not in the good way. Longpress activated in the Universal access, all is set up good but still doesn’t. I looking for too in the internet if i find somethings to improve feature on this tablet.
I’m not sure how best to fix the rotation accelerometer - I will do some Googling as well. In the mean time, Gnome does have a Rotation Lock feature so you can get the orientation the right way, then lock it, then rotate the tablet to the proper position.
For the right-click problem, it could be a sensitivity issue as mentioned above, and the system is not treating it as a “long press” but as a sequence of very small movements. I’m not sure whether
xinput
settings work in Ubuntu 19.04 or if not what the replacement is, but it’s worth searching around that to see if anyone else has a solution to touchscreen fingre movement sensitivity.Re Cameras:
I saw https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.8-Media-Updates and figured I should take a look at the daily build from https://kernel.ubuntu.com/~kernel-ppa/mainline/ but sadly the Ubuntu daily build didn’t have the relevant config set, so I built it myself. Couldn’t resist posting it here as this seems to be the site with most interest in the 1010b.
Word to the wise.. Turn off CONFIG_DEBUG_INFO or you’ll run out of space fast. Oddly, the daily build /boot/config-5.xxx file has it set even though the binary kernel clearly doesn’t. Shame Ubu don’t switch on /proc/config to avoid such packaging snafus.
Built.. Installed. dmesg shows camera(s) beng detected, then the module seems to crash. Regardless, it seems we can all hope for cameras on our 1010b’s soon. I have run out of time today, but may look into submitting bug reports if this isn’t resolved in the next couple of 5.8-rc builds.
Extract of dmesg:
[ 8.867486] atomisp_gmin_platform: module is from the staging directory, the quality is unknown, you have been warned. [ 8.880660] atomisp_ov2680: module is from the staging directory, the quality is unknown, you have been warned. [ 8.880820] atomisp_gmin_platform: module is from the staging directory, the quality is unknown, you have been warned. [ 8.884058] atomisp_ov2680: module is from the staging directory, the quality is unknown, you have been warned. [ 8.945318] ov2680 i2c-OVTI2680:00: ov2680_probe: ACPI detected it on bus ID=CAM2, HID=OVTI2680 [ 8.945342] ov2680 i2c-OVTI2680:00: gmin: power management provided via XPower AXP288 PMIC (i2c addr 0x34) [ 8.945437] ov2680 i2c-OVTI2680:00: Failed to find variable OVTI2680:00_CamClk [ 8.945518] ov2680 i2c-OVTI2680:00: Failed to find variable OVTI2680:00_ClkSrc [ 8.945595] ov2680 i2c-OVTI2680:00: Failed to find variable OVTI2680:00_CsiPort [ 8.945672] ov2680 i2c-OVTI2680:00: Failed to find variable OVTI2680:00_CsiLanes [ 8.946057] ov2680 i2c-OVTI2680:00: Failed to find variable OVTI2680:00_eldo1_1p8v [ 8.946135] ov2680 i2c-OVTI2680:00: Failed to find variable OVTI2680:00_eldo1_sel_reg [ 8.946214] ov2680 i2c-OVTI2680:00: Failed to find variable OVTI2680:00_eldo1_ctrl_shift [ 8.946292] ov2680 i2c-OVTI2680:00: Failed to find variable OVTI2680:00_eldo2_1p8v [ 8.946370] ov2680 i2c-OVTI2680:00: Failed to find variable OVTI2680:00_eldo2_sel_reg [ 8.946447] ov2680 i2c-OVTI2680:00: Failed to find variable OVTI2680:00_eldo2_ctrl_shift [ 8.946534] ov2680 i2c-OVTI2680:00: Failed to find gmin variable gmin_V1P8GPIO [ 8.946616] ov2680 i2c-OVTI2680:00: Failed to find gmin variable gmin_V2P8GPIO [ 9.045171] ov2680 i2c-OVTI2680:00: camera pdata: port: 0 lanes: 1 order: 00000002 [ 9.045662] ov2680 i2c-OVTI2680:00: sensor_revision id = 0x2680, rev= 0 [ 9.055235] ov2680 i2c-OVTI2680:00: register atomisp i2c module type 1 [ 9.093194] ov2680 i2c-OVTI2680:01: ov2680_probe: ACPI detected it on bus ID=CAM4, HID=OVTI2680 [ 9.093205] ov2680 i2c-OVTI2680:01: gmin: power management provided via XPower AXP288 PMIC [ 9.093296] ov2680 i2c-OVTI2680:01: Failed to find variable OVTI2680:01_CamClk [ 9.093371] ov2680 i2c-OVTI2680:01: Failed to find variable OVTI2680:01_ClkSrc [ 9.093449] ov2680 i2c-OVTI2680:01: Failed to find variable OVTI2680:01_CsiPort [ 9.093524] ov2680 i2c-OVTI2680:01: Failed to find variable OVTI2680:01_CsiLanes [ 9.093900] ov2680 i2c-OVTI2680:01: Failed to find variable OVTI2680:01_eldo1_1p8v [ 9.093982] ov2680 i2c-OVTI2680:01: Failed to find variable OVTI2680:01_eldo1_sel_reg [ 9.094061] ov2680 i2c-OVTI2680:01: Failed to find variable OVTI2680:01_eldo1_ctrl_shift [ 9.094139] ov2680 i2c-OVTI2680:01: Failed to find variable OVTI2680:01_eldo2_1p8v [ 9.094217] ov2680 i2c-OVTI2680:01: Failed to find variable OVTI2680:01_eldo2_sel_reg [ 9.094295] ov2680 i2c-OVTI2680:01: Failed to find variable OVTI2680:01_eldo2_ctrl_shift [ 9.094354] RIP: 0010:gmin_subdev_add+0x2a3/0x400 [atomisp_gmin_platform] [ 9.094405] gmin_camera_platform_data+0x36/0x60 [atomisp_gmin_platform] [ 9.094415] ov2680_probe+0x12f/0x494 [atomisp_ov2680] [ 9.094524] ov2680_driver_init+0x1c/0x1000 [atomisp_ov2680]
Loads omitted as this is just a taster, not a bug report.
I followed this and installed Ubuntu 20.04, which worked almost perfectly. Then I broke my /etc/fstab, and it won’t boot (it says “minimal bash-like line editing is supported”).Fair enough I thought, I’ll re-install… Now, when I attempt to boot from USB, no USB drives are recognised. I’ve tried multiple USB sticks and multiple ways of flashing (unetbootin, dd, mkusb etc) and none of them have worked.
The obvious option is to somehow fix my fstab from this grub command line, but I just can’t seem to do it
I’m fairly sure I haven’t changed any settings within UEFI, and Secure Boot is disabled… Any ideas?
That’s a strange one. The “minimal bash-like editing” prompt appears when you’re booting to GRUB, but GRUB can’t find the partition(s) with its config in - that might well result from messing around with partitions on the disk/breaking fstab. But the problem there is all contained within the device’s internal disk, nothing about that should prevent booting from USB. When you go into the tablet’s BIOS menus with your USB stick attached, does it appear in the menus as one of the boot options?
I have exactly the same problem then Brt, multiple installation to try different OS linux, and now impossible to install correctly the 20.04 version without error files and don’t finish the installation…. I haven’t changed nothing in the Bios, I have tried to format the internal disk without success. Tried with different usb key, downloaded multiple Linux…still issue.
Thanks for replying. Sorry, I should have been clearer, there isn’t even an option to boot from usb. There are three options, Ubuntu, Ubuntu and Internal EFI Shell.
It’s frustrating because it DID work, I was able to boot from USB but now I’m not, but nothing I’ve changed should prevent me from being able to boot from USB!
From fiddling with the grub command line, I’ve been able to load the kernel, but it fails to boot and drops to an initramfs command prompt. I’m definitely out of my depth at that point!
This is really weird. I’m thinking the same as you - I can’t understand what the Ubuntu install could be doing to the PC so that it can’t then boot from USB, because booting from USB should be handled at the BIOS/UEFI level and not touched by Ubuntu. Rob Smith/Brt you using 20.04 as well as Marc0? I will add a warning to the top of the page as this seems like a repeatable issue now that more than one person has reported it.
Yes, I used 20.04 too. I see you’ve already put the disclaimer but just wanted to confirm
Have you tried booting from a USB DVD drive to install Ubuntu when a pen drive fails to work,(old fashioned I know) as I have used this method in the past.
Have just installed mx linux 19.02 on my linx 1010 tablet and it works ok, after install i have installed the Budgie decktop on top of mx linux and also the inferno theme which give a red 3D look ,kanadalcons icons, also ue-red-3D CURSOR, in budgie decktop i turned of the black theme button that gives the full 3D look to Budgie and all popups, i downloaded the theme/icons and the cursor from OPENDECKTOP.ORG, so at login you can boot into which one, ps i also installed ubuntu 19.04 on another linx tablet after reading your page above and it as been updated to ubuntu 20.04, both are working ok THANK YOU.
Hi thanks for this. Installed Ubuntu 20.04 using this and it worked flawlessly. Seems way faster than Windows ever did on it. Only glitch seems to be the Linx Keyboard dock which works intermittently. Perhaps a hardware error? Other than that a great way to get introduced to Linux.
No problem, thanks for reporting that Ubuntu 20.04 now seems to be working.
I think the keyboard could well be a hardware issue, I often find mine is glitchy as well, usually resolved by removing the tablet from the keyboard and re-inserting it with force!
I will try Ubuntu 20.04 myself in the near future and see if the keyboard seems any worse than on other OSes that could indicate a software problem.
I’m now on a fresh install of Ubuntu 20.04.1, and can confirm everything’s working (apart from the cameras, which is standard). I can still boot from USB.
Rob/Marc0, just to double check (if you remember after all this time), when you were trying to boot from USB and your drive didn’t appear, did you definitely remember to add the extra ```bootia32.efi file to the USB disk?
Paul, I don’t seem to have any additional keyboard problems in Ubuntu apart from the occasional disconnection which I had in Windows too, so I think it may be a slightly dodgy connector rather than a software problem.
Hi, me again.
I’ve followed this to the letter on Ubuntu 20.04.1 and it’s worked! I’m 99% sure I would have put the bootia32.efi file in when I tried previously. I tried it so many times so many different ways, I just can’t believe I would have omitted it so many times.
Anyway, a thousand thanks, Ian. It’s working now and I solemnly swear I will not fiddle about with fstab again
Hi me again.
I’ve attempted this again with Ubuntu 20.04.1 and it’s worked perfectly first time.
I find it hard to believe that I missed the bit about bootia32.efi EVERY time I tried to install it previously, so it can’t be as simple as that.
Anyway, it’s working now, a thousand thanks Ian
Haha, no problem. Glad you got it working again in the end!
This guide is very helpful. my Linx tablet is not working, I guessed that internal memory is gone. after several attempts I found your page, it worked like a charm and I could open Ubuntu on my tablet. but as internal memory is no there I could not install. Then I read some other pages and installed Ubuntu on the pendrive and used it. It worked.
But I am not happy as Camera and Volme are not working. I want to install Windows 8. I read some pages on Windows togo and tried several installers like (Rufus, Yumi, Yumi-uefi, wintousb and AOMEI), but my tablet is not recognizing the the boot. If I place your Bootia32, its going to grub terminal.
Can you advise how can I load my Windows 8 ToGo pendrive on this tablet ?
Hi, unfortunately I have not tried Windows To Go so I can’t give you a definite solution. However, please check whether you are using 32-bit or 64-bit Windows To Go? According to this page, with a legacy 32-bit UEFI system like the Linx 1010B, only 32-bit Windows To Go will work.
Thank you for quick response. I tried 64 bit only, but let me try 32 bit. I will update you.
Just thought I’d add… I’ve just successfully installed Kubuntu (KDE desktop) first time using these instructions, which are excellent. Initial findings… Touchpad is fine and is in sync with (manual) screen rotation. Touch screen is fine and is in sync with default portrait mode; it goes out of sync after rotation to landscape. All other features listed at the very top also work fine. I’ve run a Muon (package manager) update - all good. I’ve set the ‘app dashboard’ as my alternative launcher - all good. Thanks to all for a really good guide.
I cannot add the bootia32.efi to the efi/boot folder. Maybe be very straight forward to some but could do with some help please!
Can you give any more information on what the problem is, e.g. does it say the USB stick isn’t writeable? Have you managed to get the Ubuntu image onto the memory stick properly or were there errors in that process too?
For those with the screen orientation issue with the 1010L you can edit /usr/lib/udev/hwdb.d/60-sensor.hwdb
This file already has an entry for the 1010B
Find the lines for the 1010B, copy them and change the 1010B to 1010L to apply the correct matrix for the 1010L too.
Hello Ian, I chose to erase disk and install the ubuntu on the installation but after everything is complete when I turn on the linx 1010 i get that blue screen from windows saying Recovery —- Your PC/Device needs to be repaired.
This is probably a BIOS thing trying to boot windows BUT i check on BIOS that ubuntu is at the top AND i tried to manually selecting to boot ubuntu from holding power + volume up key but still that blue screen appears.. If i choose to boot from the bootable usb with the linux it boots and works fine but that is not a solution…
Do you know what can be done to fix the problem?
Andreas,
I haven’t encountered this problem before but the first thing I would suggest to check is that Secure Boot is properly disabled in the EFI boot menus. If this is enabled, it could lead to EFI trying to boot Windows when it can’t.
If Secure Boot is definitely disabled, it may be worth trying to install Ubuntu again in case something went wrong with installing the boot loader last time. Which version of Ubuntu are you using?
When I go to secure boot options:
Secure Boot Database Unlocked Secure Boot Status Disabled User Customized Security YES
Enforce Secure Boot Disabled
So I take it as it is indeed disabled.
I tried to install ubuntu 20.10 since that was the newest. Maybe I should try the 20.04.1 LTS as you suggested and update results?
Secure boot settings look fine. Yeah, could be worth trying 20.04.1 in case there’s a problem with installing 20.10. I’m running 20.10 at the moment but I did an upgrade from a 20.04.1 install, so if you can get the earlier version to install, you should be able to upgrade without a problem.
Hey Ian, tried to install the 20.04.1 and somewhere close to the end there’s a message saying the grub-efi-ia32 package failed to install into /target/.
During the 20.10 install everything was smooth. Any ideas?
I’m fast running out of ideas unfortunately, I’m not sure what’s different about your setup than mine! If you’re confident doing so, maybe try the advanced partitioning in the install process to make sure any partitions on the internal drive are deleted before the install, or even set up the partition manually to make sure the correct boot device is chosen.
(On which note, do you have an SD card plugged in? If so it might be worth temporarily removing it to make sure Ubuntu is being installed to the internal storage not the SD card.)
Got an update on the situation! I tried the advanced partitioning in the install process and deleted everything so there is no windows boot loader on the system any more BUT after a successful installation on ubuntu, when the system boots it says ubuntu boot failed. I go to the bios and i see that it recognises ubuntu as an option to boot but it fails to boot and doesnt show why. Using ubuntu from the usb stick performs as expected though and the installation process completes. There has to be something I’m missing…
Hmm :S
During the advanced partitioning, was the “install boot loader” location definitely set to /dev/mmcblk0 (or whatever internal storage appears as - I don’t remember I’m afraid!)
When you start up, do you get the GRUB screen and then your error message, or does that message appear before GRUB gets loaded?
First of all, thank you for your support so far!
During the partitioning yes indeed it was set to dev/mmcblk1 and now running the install again on the partitions I can see /dev/mmcblk1p1 as efi and mmcblkp2 as ex4 with ubuntu on it.
During start up GRUB screen indeed does not show up and I directly get the error message. I ran the boot-repair on the linx and got the following (if you are familiar with it):
http://paste.ubuntu.com/p/YjYFy9hKsN/
Weird huh!
Hmm, I’m not super familiar with the output of Boot Repair but based on what I can see: you have a
/dev/mmcblk1p1
that contains EFI boot files, which is what I’d expect, but they look quite different to mine. I have thatbootia32.efi
file which is referenced above (and required for it to boot properly on a Bay Trail processor) in there, whereas your paste doesn’t show that file at all. I have:I’m not sure why your install has put files for a 64-bit bootloader in there when (at least in my case) it properly detected the Bay Trail processor and used the
bootia32.efi
file in there.I’ve zipped up the contents of my EFI partition (
/dev/mmcblk1p1
) and put them here for you to download. If you boot from your memory stick, mount the partition as in my example above, and unpack the zip file into there, it might work. At least I hope so, because I’m running out of ideas!Morning Ian!
I have transferred your files inside and now on boot I get the grub rescue file /boot/grub/i386-efi/normal.mod not found.
I have booted the system using the USB drive to look for the normal.mod and I have found it on /boot/grub/x64_86-efi/normal.mod
So I tried to tell grub rescue that it is on that folder but it insists of trying to find /i386-efi/normal.mod and not x64_86-efi/normal.mod.
So I said okay I will boot into ubuntu with live USB and rename that x64_86-efi folder name to i386-efi so that everything is cool BUT i found out I cannot change file names because i have no priviledges so I opened terminal gained superuser status with sudo -i and navigated to /boot/grub folder in terminal. When i hit ls it shows all the files inside but not the fonts and x86_64-efi folder so i cannot rename it! Hitting ls one step back in /boot shows all the files and the grub folder but not the efi folder. Are they hidden or something?
There’s no such thing as a “hidden” folder in Linux really, apart from the convention of hiding filenames beginning with
.
. The problem might be that you’re looking in/dev/mmcblk1p2
instead of/dev/mmcblk1p1
while you’re investigating?Regardless, I don’t think just copying that directory will work. I suspect you have a second problem here - the installer didn’t detect your Bay Trail 32-bit EFI issue properly, so not only has it not put
BOOATIA32.EFI
in the right area, it’s also installed a 64-bit grub instead of a 32-bit one.This used to be a problem with Ubuntu prior to 18.04, so there are some steps here that I originally used to resolve it. Essentially what you will have to do is use grub on your memory stick, tweak the boot options so it actually boots your installed Ubuntu, then once you’re inside that environment, install 32-bit grub. As well as my instructions above, there’s also this Medium article that has a simpler method of following of the same process - scroll down to “Fixing your new installation, and, what’s GRUB?”. I’d suggest starting with their process.
I hope that helps. I still don’t quite understand why you’re having this trouble whereas for me it correctly detected the 32-bit EFI problem and installed 32-bit grub right from the installer. Are you definitely using Ubuntu 20.04.1 and a LINX 1010B, not another variant?
I managed to be able to boot into ubuntu from the flash drie and update grub etc but at the final step sudo update-grub had a problem and now I have to manually load the kernels every time i boot. I ran sudo update-grub and it finishes but I still have to manually enter kernels every time I boot. On further investigation I realised that it updated the grub.cfg file that is on the partition that the ubuntu is installed and not on the efi partition so I need to perform the sudo update-grub and tell it to update the efi folder. That’s why I think the problem existed in first place. It was trying to locate /boot/grub on the big .ext4 where ubuntu was installed rather than the specifically efi created partition… Good news is that everything is up and running, but bad news I have to manually load kernels everytime. I’m sure there has to be a way to solve it.
Oh wait I fixed it! I ran the loop again for installing the 32-efi in terminal and then sudo update-grub worked! Now everything is cool!
I want to thank you very much for your help and support Ian! Maybe one time I will get to buy you a pint!
Andreas
Brilliant, glad you got it working in the end! You’re more than welcome, it’s been a learning experience for us both :)
One thing to keep an eye on is any system updates that provide a new kernel. GRUB should be automatically reconfigured to point to the new locations, but if your tablet gets stuck in a state where it won’t boot after applying updates, that’s probably what’s happened.
Hello everyone!
I want to know if I can install Ubuntu on this particular tablet: It’s an ECS TR10RS1, specs are: Intel Atom Z3735F @ 1.6GHz (Bay Trail SoC) 1GB DDR3 RAM @ 1333MHz 16GB eMMC Cannot remember if the touchscreen panel was SiLead or Goodix
I want to install Ubuntu on it because it runs Android 4.4.4 and it runs pretty bad and most apps aren’t compatible to this date.
I have tested the Linuxium project but the touchscreen does not work. So I want to know if anyone had (or has) any experiences with this tablet… Thanks in advance!
Hi Ricardo,
The Linuxium modifications are designed to improve Bay Trail support in Ubuntu so I doubt they would make anything worse - therefore I think it’s likely that the touchscreen won’t work on Ubuntu either.
However, there’s no harm in trying! The Ubuntu installer lets you try out Ubuntu in a live environment from the USB stick before installation, so you can see if the touchscreen works there before making any commitment.
The Linx 1010B uses a Goodix touchscreen so if it’s similar, you should be in luck. If it’s a Silead device there are some unofficial kernel drivers here which may help. Unfortunately I don’t have this device so I can’t say if they will work or not.