Ubuntu/Debian on a Lenovo Ideapad 100s -- Linux has issues with this laptop
I picked up an Ideapad 100s and have been trying to install Ubuntu on it. So far I have been unsuccessful to boot the Ubuntu installer. That machine comes with windows 10, uses UEFI and its setup only allows to disable Secure Boot (does not have BIOS compatibility mode). I was able to create a windows restore USB flash drive and used it to verify that the system has capability to boot from EFI USB drives (Fn+F12 for boot options).
I used ubuntu-15.04-desktop-amd64.iso
and tried two ways to write to USB media:
I used
dd if=ubuntu-15.04-desktop-amd64.iso of=/mnt/sdb
then rebooted the ideapad onto boot options, but the EFI boot menu shows Windows Boot Manager as the only choice.I mounted the iso onto
/mnt/iso
and created/dev/sdb1
(viafdisk
) with type vfat and made it bootable. Created fs onto/dev/sdb1
viamkfs.vfat
and mounted it onto/mnt/sdb1
. Then usedcp -a /mnt/iso/* /mnt/sdb1
to copy all the content. Booted the ideapad yet the boot menu only showed Windows Boot Manager as a option.
Was looking at related posts (e. g. Problem Installing Ubuntu on Lenovo Ideapad U330p) and seems that other machines easily recognize the Ubuntu loaded USB flash drive. This is a nice lightweight laptop I would like to keep, but only if I can install Linux on it. This first hurdle of actually booting Ubuntu installer seems already large (probably would see lots of device issues under Linux–but I'd be glad to get that far).
If anyone has any ideas for me to try, I would be grateful.
Edit #1: I tried booting with http://cdimage.debian.org/cdimage/weekly-builds/multi-arch/iso-cd/debian-testing-amd64-i386-netinst.iso (used dd
to write to flashdrive /dev/sdb
) and the ideapad UEFI boot menu now gives me the choice for 'EFI USB Device'. I select it and next screen is GRUB prompt. Something is not right, but it's some progress from before. What this tells me is that the amd64 Ubuntu iso image has efi/boot/bootx64.efi
but this ideapad's Firmware needs 32bit .efi
file. The Debian img above has both the 64bit and efi/boot/bootia32.efi
. Why does it get stuck at grub>
is my next mystery to solve. This is starting to sound similar to Ubuntu on Asus X205TA and http://ubuntuforums.org/showthread.php?t=2254322.
Edit #2: So I copied bootia32.efi
from the Debian release onto efi/boot/
of Ubuntu 15.04 and tried booting with that, but ii gets stuck at the grub>
menu as well, and I could not have it boot vmlinuz
. I then noticed that this machine is running windows 10 32bit version, so I went to look for the 32bit Ubuntu version. No luck: neither 15.10, nor 15.04, nor 14.04 have EFI/
in it.
So I went for the Debian i386 version. I got the grub menu, hit Install, and it progressed to the installation screen. The installer asked for language selection, and there I found that it would not accept key presses from the ideapad's own keyboard (later when I chose the graphical install, it would not take mouse input either). I plugged in a USB keyboard which was recognized correctly enabling me to make the menu selections. I plugged in a USB WiFi dongle and it was recognized, but it would not load the rtxxx
firmware so that halted my installation.
I switched to a terminal with Alt+F1 and lspci
was only showing 5 entries:
00:00.0 Host bridge, 00:02.0 VGA compatible controller
00:14.0 USB controller
00:1a.0 Encryption controller
00:1f.0 ISA bridge
It does not seem like Linux can detect all the hardware. Even /proc/cpuinfo
only reports only one processor. I'm afraid that the 4.2 kernel in Debian's debian-testing-i386-netinst.iso
(updated at 2015-10-12 12:53) is not ready yet to work with this laptop.
I'm almost ready to stop trying (and return it).
I succeeded in installing Ubuntu 32bit. Used ubuntu-15.10-beta2-desktop-i386.iso
(thought 15.10 would have better support, did not try the other Ubuntus yet). The key is to use 32bit efi and grub (I took them from Debian 32bit). Here are quick steps:
fdisk /dev/mmcblk0
create one large vfat, bootable partition, then format it:
mkfs.vfat /dev/mmcblk0p1
then mount the images and the usb card:
mount /dev/mmcblk0p1 /mnt/flshdrv/
mount ubuntu-15.10-beta2-desktop-i386.iso /mnt/ubuntu/
from Ubuntu copy:
cp -a /mnt/ubuntu/* /mnt/ubuntu/.disk /mnt/flshdrv/
mount debian-testing-i386-netinst.iso /mnt/debian/
mkdir -p /mnt/flshdrv/efi/boot
cp /mnt/debian/efi/boot/bootia32.efi /mnt/flshdrv/efi/boot/
from Debian i386 copy:
cp -a /mnt/debian/boot/grub/* /mnt/flshdrv/boot/grub/
grub directory will then have all the i386 grub items:
$ ls /mnt/debian/boot/grub/
total 362
-r--r--r-- 1 root root 5000 Sep 5 21:21 font.pf2
dr-xr-xr-x 1 root root 32768 Oct 11 20:34 i386-efi/
dr-xr-xr-x 1 root root 2048 Oct 12 06:51 theme/
-r--r--r-- 1 root root 2549 Oct 12 06:51 grub.cfg
-r--r--r-- 1 root root 327680 Oct 12 06:51 efi.img
We still need the original grub config:
mv /mnt/flshdrv/boot/grub/loopback.cfg /mnt/flshdrv/boot/grub/grub.cfg
then umount /mnt/flshdrv
and remove from other machine.
Insert into ideapad 100s (I inserted to extension USB slot of my USB keyboard, you may need a USB hub because you will need a USB Wifi dongle). I had secure boot disabled earlier. Use Alt+F12, choose to boot from usb drive. Proceed installation as usual. Needed USB Wifi dongle for the network. Keyboard and mouse work. Did not try sound, nor internal wifi, nor mmc card. Had to do some of tweaking, ex. stop thermal.service
because it caused lots of ACPI errors in dmesg
. For some reason after grub it would take ~20sec for vmlinuz
to load. Don't know why.
Next I tried with a 64bit version of Debian daily builds. Did the same as above steps (and copied firmware-linux-nonfree.deb
to the USB card). After Ubuntu installation finished, booted fine (in 64bit mode), but the kernel in Debian has some modules missing (keyboard and mouse would not work, screen would go blank and machine frees after some activity). So I copied over and installed (in single user mode) Ubuntu's Linux kernel 4.2.0-16 deb package. Upon booting, mouse and keyboard work, and no issues with screen blanking out. The LCD does turn off after ~10min of inactivity (machine is alive), pressing any key turns it back on.
ISSUES:
- Soundcard does not seem to get recognized.
- Internal wifi card does not seem to be detected at all.
- Closing the lid does nothing, doesn't even turn the LCD off.
- Battery state and percentage is reported at 100%
- Sleep mode is not supported
From the windows list of devices: sound is Intel SST Audio Device (WDM), network is Realtek RTL8723BS Wireles Lan SDIO Network Adapter. Here is the output of lspci
:
lspci -v
:
00:00.0 Host bridge: Intel Corporation Atom Processor Z36xxx/Z37xxx Series SoC Transaction Register (rev 0f)
Subsystem: Lenovo Device 390c
Flags: bus master, fast devsel, latency 0
Kernel driver in use: iosf_mbi_pci
00:02.0 VGA compatible controller: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Graphics & Display (rev 0f) (prog-if 00 [VGA controller])
Subsystem: Lenovo Device 390c
Flags: bus master, fast devsel, latency 0, IRQ 248
Memory at 90000000 (32-bit, non-prefetchable) [size=4M]
Memory at 80000000 (32-bit, prefetchable) [size=256M]
I/O ports at 1000 [size=8]
Expansion ROM at <unassigned> [disabled]
Capabilities: <access denied>
Kernel driver in use: i915
00:14.0 USB controller: Intel Corporation Atom Processor Z36xxx/Z37xxx Series USB xHCI (rev 0f) (prog-if 30 [XHCI])
Subsystem: Lenovo Device 390c
Flags: bus master, medium devsel, latency 0, IRQ 201
Memory at 90800000 (64-bit, non-prefetchable) [size=64K]
Capabilities: <access denied>
Kernel driver in use: xhci_hcd
00:1a.0 Encryption controller: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Trusted Execution Engine (rev 0f)
Subsystem: Lenovo Device 390c
Flags: bus master, fast devsel, latency 0, IRQ 246
Memory at 90700000 (32-bit, non-prefetchable) [size=1M]
Memory at 90600000 (32-bit, non-prefetchable) [size=1M]
Capabilities: <access denied>
Kernel driver in use: mei_txe
00:1f.0 ISA bridge: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Power Control Unit (rev 0f)
Subsystem: Lenovo Device 390c
Flags: bus master, medium devsel, latency 0
Capabilities: <access denied>
Kernel driver in use: lpc_ich
Sound related error in dmesg
:
sst-acpi: cannot load firmware intel/fw_sst_0f28.bin-i2s_master
byt-rt5640 byt-rt5640: ASoC: CPU DAI baytrail-pcm-audio not registered
Tried with https://chromium.googlesource.com/chromiumos/third_party/linux-firmware/+/refs/heads/stabilize-5339.B/intel/ as explained in http://ubuntuforums.org/showthread.php?t=2254631 and I also get error:
baytrail-pcm-audio: ipc: error DSP boot timeout
I tried putting the laptop to sleep via systemctl suspend
and it went to sleep alright, but I could not wake it up. Had to do a power reset.
Conclusions: The laptop is usable, light and relatively responsive, Linux detects four processors and with light usage it stays very cool (~34 °C), and battery lasts >8 hours. I will probably return the unit because without sound, wireless, battery information, and sleep ability it's just not worth keeping when there are other alternatives out there.
Hope this is useful to someone.