sundarnagarajan / rdp-thinbook-linux

Linux on the RDP Thinbook
Other
10 stars 17 forks source link
linux rdp thinbook

rdp-thinbook-linux

Linux on the RDP Thinbook

The RDP Thinbook is a new ultra-portable laptop produced by RDP Workstations Pvt. Ltd. in India. It is marketed as India's most affordable laptop, and is sold for around US$ 140 - 160 (when you choose the option of buying it without Windows installed).

News

Open issues

EVERYTHING on this laptop works perfectly in Linux

It has impressive specs:

Other cool features:

Limitations

I bought the original 14.1 inch RDP Thinbook in Nov-2016 without Windows installed, with the intention of using Linux on it (I use Linux on EVERYTHNIG).

Getting Linux to rock on the RDP Thinbook

You will need a machine running a recent version of Ubuntu (tested on Ubuntu 16.04.3 Xenial Xerus LTS).

Copyright and License

Except where otherwise indicated, all files in this repository are Copyright Sundar Nagarajan 2017.

Except where otherwise indicated, all files in this repository are licensed under the terms of the GNU LESSER GENERAL PUBLIC LICENSE version 3 or a later version of the GNU LESSER GENERAL PUBLIC LICENSE as per your choice. You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE version 3 in this repository.

The software in this repository also uses software from the bootutils repository. The software in that repository is also Copyright Sundar Nagarajan 2017 and is also licensed under the terms of the GNU LESSER GENERAL PUBLIC LICENSE version 3 or a later version of the GNU LESSER GENERAL PUBLIC LICENSE as per your choice.

Please familiarize yourself with the terms of the GNU LESSER GENERAL PUBLIC LICENSE version 3 before you use, modify or distribute this software.

Make UEFI (BIOS) changes

Entering UEFI

Get or build a remastered ISO with linux kernel 4.13 (or newer)

I highly recommend you use the Simplified single-script method below to download and build your own kernel and remaster the ISO yourself. Downloading and using / installing ISOs created by people you do not know or trust is BAD SECURITY PRACTICE.

That said, many people provide pre-built ISOs for users to eaily try / use, and I have provided one too. I try to mitigate some of your risk by providing a GPG signature.

Remastering your own ISO can take a while. It takes about 30 mins on a 32 x Intel Xeon e5-2670 server with 112GB of RAM and a Sansung 960 EVO NVME disk. On a more 'standard desktop' machine it could take several hours. Don't even think about doing it on an RDP Thinbook unless you have a lot of patience or you have something to prove.

You will need about 10 GB+ free space to build the kernel and remaster the ISO.

Simplified single-script method to build your own remastered ISO

You will need about 10 GB+ free space to build the kernel and remaster the ISO.

Download make_rdp_iso.sh from this repository

Packages required

grub-efi-ia32-bin grub-efi-amd64-bin grub-pc-bin grub2-common
grub-common util-linux parted gdisk mount xorriso genisoimage
squashfs-tools rsync git build-essential kernel-package fakeroot
libncurses5-dev libssl-dev ccache libfile-fcntllock-perl

For the most up-to-date list of required packages:

Your directory structure should look like this:

new_dir  ---------- TOPLEVEL DIR
│
├── make_rdp_iso.sh
│
└── ISO
    ├── in
    │   │
    │   └── source.iso  - you need to rename source ISO to 'source.iso'
    │
    └─── out

Run the following command to create the remastered ISO:

sudo ./make_rdp_iso.sh

Remastered ISO will be ISO/out/modified.iso

Alternative - download pre-built remastered ISO for RDP Thinbook

Use this method ONLY if you are willing to trust my pre-compiled kernel and remastered ISO (at least on a test machine). You will need about 2GB free disk space to download the ISO.

Note: DO NOT rely on the same ISO being available and linked from this github repo. Periodically, as new kernels come out, I intend to test and update the ISOs I link to from here.

Also DO NOT bookmark the ISO URLs, as they are likely to change any time. I plan to update the ISOs (and corresponding GPG signatures) as the kernel is updated, and as I make changes to the enabling scripts etc.

Ubuntu releases I provide as ISO

Examples

Ubuntu flavors

I do not plan to support more flavors; if at all dispense with Ubuntu Mate. The purpose of ISOs is to be able to TEST. Once everything is fine, I expect users to know how to install the standard Ubuntu flavor, and then customize it by installing the required desktop meta-packages.

Available ISOs:

Note:

SHA256SUMS
Distribution Signed SHA256SUMS
16.04 Xenial Xerus SHA256SUMS.asc.xenial
18.04 Bionic Beaver SHA256SUMS.asc.bionic
Ubuntu version Release Flavor Kernel ISO
Xenial Xerus 16.04.3 LTS Ubuntu 4.13.9 ISO
Xenial Xerus 16.04.3 LTS Ubuntu Mate 4.13.9 ISO
Xenial Xerus 16.04.3 LTS xubuntu 4.13.9 ISO
Bionic Beaver 18.04 LTS Ubuntu 4.16.18 ISO
Bionic Beaver 18.04 LTS Ubuntu Mate 4.16.18 ISO
Bionic Beaver 18.04 LTS xubuntu 4.16.18 ISO
Bionic Beaver 18.04 with asound.state fix LTS xubuntu 4.18 ISO
Bionic Beaver 18.04.2 LTS Ubuntu 5.4.13 ISO

Verifying GPG signature

If you are downloading a Xenial Xerus ISO, download SHA256SUMS.asc.xenial first.

Similarly, if you are downloading a Bionic Beaver ISO, download SHA256SUMS.asc.bionic first.

Run the command:

gpg --verify SHA256SUMS.asc.xenial

and / or (depending on which SHA256SUMS file you downloaded)

gpg --verify SHA256SUMS.asc.bionic

The output should be something like:

gpg: Signature made Fri 29 Jun 2018 05:23:27 PM PDT using RSA key ID 857CADBD

Use the following command to verify the downloaded ISOs:

Xenial Xerus 16.04
sha256sum -c SHA256SUMS.asc.xenial 2>/dev/null | grep 'OK$'
Bionic Beaver 18.04
sha256sum -c SHA256SUMS.asc.bionic 2>/dev/null | grep 'OK$'

You can find my GPG public key here. If you want to add my public key to your GPG keychain, use the following command:

gpg --keyserver pgp.mit.edu --recv-keys F0C3CE69C8C00D1E4D8834F5DF2AC095857CADBD

Once you have imported my public key with the command above (note: you are not TRUSTING my public key for anything), if you rerun the gpg --verify command above, the output should look like:

gpg: Signature made Fri 29 Jun 2018 05:23:27 PM PDT using RSA key ID 857CADBD
gpg: Good signature from "Sundar Nagarajan <sun.nagarajan@gmail.com>"

Once you have verified the signature, you can delete my public key using the command, to avoid cluttering your keyring:

gpg --yes --delete-key F0C3CE69C8C00D1E4D8834F5DF2AC095857CADBD

For a weak indication that this key belongs to me, search for me on pgp.mit.edu. Enter my email sun.nagarajan@gmail.com in the Search string field, and you should find this key as one of the results - note the double space between the first 5 and last 5 4-character hex strings.

Write ISO to USB drive

Assuming that your USB drive is /dev/sdk and you downloaded to a filenamed modified.iso

# cd to the directory containing the ISO
# DOUBLE CHECK that DEV is set to your removable devices' name
# Change next line:
DEV=/dev/sdk
sudo dd if=modified.iso of=$DEV bs=128k status=progress oflag=direct
sync

Now boot into the new ISO. In the live session, everything should just work!

To know more about the steps involved, read DetailedSteps.md

What do you get

Distributions, models, testing done

If you have tested a distribution-model not listed here, open an issue, and I will list your observations here. If you had problems with a distribution (Ubuntu-based only for now), open an issue.

Distribution RDP Thinbook Model Issues, if any Tested by
Ubuntu 18.04 14.1 inch RDP Thinbook 1430 (X5-8300) Issue 36 Me
Ubuntu Mate 18.04 14.1 inch RDP Thinbook 1430 (X5-8300) Issue 36 Me
xubuntu 18.04 14.1 inch RDP Thinbook 1430 (X5-8300) Issue 36 Me
Ubuntu 18.04 11 inch RDP Thinbook 1130 (X5-8350) Issue 35 Me
Ubuntu Mate 18.04 11 inch RDP Thinbook 1130 (X5-8350) Issue 36 Me
xubuntu 18.04 11 inch RDP Thinbook 1130 (X5-8350) Issue 35 Me
Ubuntu Mate 16.04 Original 14.1-inch RDP Thinbook (X5-Z8300) None Me
Ubuntu Mate 16.04 New 14.1-inch RDP Thinbook (X5-Z8350) None RDP staff
Ubuntu Mate 16.04 11.6-inch RDP Thinbook (X5-Z8350) None RDP staff
Ubuntu 16.04.3 Original 14.1-inch RDP Thinbook (X5-Z8300) None Me
xubuntu 16.04.3 Original 14.1-inch RDP Thinbook (X5-Z8300) None Me

Problems?

AT LEAST provide the following information when you open an issue:

  1. Did you use one of the pre-compiled remastered ISOs? If so, which one?
  2. If you remastered your own ISO, what was the source ISO (distribution, version, 32-bit or 64-bit)?
  3. Did you install on to the main SSD or to an external (USB) medium?
  4. While partitioning your target disk during installation, did you create (and use) a GPT partition table and an EFI partition?
  5. What was the EXACT error message you saw, if any, and at what stage of install etc

Journey so far in brief

Booting

Out of the box it wouldn't boot any Linux distro. This is because, like many other newer low-priced Cherry Trail laptops, the UEFI firmware has a 32-bit EFI loader. Most (all that I could find) Linux distributions only provide 64-bit UEFI-compatible ISO images. This is a MISTAKE by the upstream Linux distributions, and one that I hope to influence.

Getting it to boot wasn't very hard - it required making a multiboot disk image that was 32-bit and 64-bit EFI loader compatible.

Only additional step to boot was to turn secure boot off.

What worked out of the box in Linux

UEFI (BIOS) settings that needed to be changed

Things that needed work, but which work perfectly now

What is not working yet

Everything on the RDP Thinbook now works perfectly in Linux.

All files, scripts and documentation on this repository have been updated and tested.

This was the bug that held up sound support - fixed with es8316 driver: Bug 189261 - Chuwi hi10/hi12 (Cherry Trail tablet) soundcard not recognised - rt5640

Diagnostics, accessories