Recently the lab granted one laptop for each PhD candidate, since I already had a Macbook Air, I chose the Lenovo Yoga 3 Pro Ultrabook. Several days ago, it showed up:
This blog illustrates how I install Kali Linux in Yoga 3 Pro, and enable its otherwise disabled wifi.
If you don’t know what Kali Linux is, please find it here.
I built it in Windows, first downloaded official Kali image from here. Actually I downloaded it several months ago, when the version was 1.0.6, with 3.12 kernel. What’s more, the latest 1.0.9 version image has some problems to be installed in my Yoga 3 pro ultrabook, so that I chose the old image.
After downloading the image, I used the rufus to install it to the USB, as shown in the figure:
It is quite easy to build the USB installer, which is a matter of one click.
Actually the Live USB can boot up alone without installing, as the “live” suggests, and we can even add persistence to the live USB to make its storage persistent.
But the aim of this blog is to install Kali into the disk storage. Before installing OS, we need to enter BIOS to enable legacy mode: it comes with a small button on the side of the power button to enable the BIOS edit and boot sequence. When we press it, the computer powers up with the config menu. Then we have to edit the BOOT tab to modify UEFI mode to legacy mode:
After that, you should be greeted with the Kali Boot screen. Choose either graphical or text-mode install. The installation process is quite similar with normal debian installation process, I just omit it here.
It is noted that if you want to reboot into your Windows system, you have to enter BIOS and modify the BOOT to UEFI mode again. I think there must be some ways to solve such inconvenience. (Actually I’ve found a blog telling how to make Windows 8.1 and Kali Linux dual boot on UEFI mode machines, and tried it successfully).
In order to build some new kernel modules, I need to recompile the kernel and have the kernel source. However I found that the official Kali latest 3.14.5 kernel cannot work in my Yoga 3, I cannot figure out why, so I just used another 3.13.7 kernel version. And added following apt source-list to the /etc/apt/sources.list
:
deb ftp://ftp.sjtu.edu.cn/debian testing main contrib non-free
deb-src ftp://ftp.sjtu.edu.cn/debian testing main contrib non-free
The installed Kali Linux cannot recognize the WiFi card due to driver absence. It is not hard to handle this problem.
At first I need to know which network controller it uses:
$ lspci -vvnn | grep -A 20 Network
It shows that the network controller is Broadcom Corporation Device [14e4:43b1]
, and I found here that both b43
and b43legacy
drivers do not support devices with 14e4:43b1
PCI-ID. But I searched in the web that wl
driver works. So we can install broadcom-sta-dkms
:
$ aptitude install broadcom-sta-dkms
Then we can see that wl
driver is inserted into the module list:
$ lsmod | grep wl
wl 6294918 0
cfg80211 411101 1 wl
With the wl
driver, the wireless
option showed up, but with a “wireless is disabled” tip. Using rfkill
command I find:
$ rfkill list all
0: ideapad_wlan: Wireless LAN
Soft blocked: yes
Hard blocked: yes
1: ideapad_bluetooth: Bluetooth
Soft blocked: no
Hard blocked: yes
2: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
3: phy1: Wireless LAN
Soft blocked: yes
Hard blocked: yes
even if I use rfkill unblock all
command, I found the option for ideapad_wlan hard blocked
is still yes
.
To solve such problem, you can refer to here, or use my simple and rude approach:
$ rmmod ideapad_laptop
and add blacklist ideapad_laptop
to the /etc/modprobe.d/blacklist.conf
file to disable its load in boot time.
After that I can finally use wifi.
However till now, the touchpad does not work, and I can only use hardware mouse. Since I seldom use mouse in linux, so it is not a big problem for me.