Everything for setting up a native Linux on a Lenovo A10 netbook
###1. Kernel
Stock Kernel from Lenovo with modified defconfig to boot Linux instead of Android from eMMC flash. Keyboard and battery driver are patched:
Keyboard:
- Use normal layout with function keys
- Search, switch Window and ... Keys are still unchanged
Battery:
- Reports to system as BAT0, charge and discharge current with changed sign, so battery plugins (e.g. from XFCE4) show correct data
####Building Kernel
cd kernel
ARCH=arm make rk3188_a10_linux_flash_defconfig
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make Image
###2. WIFI Driver RTL8723AS
Modified for rtl8723as and Lenovo A10 by Steffen Graf
####Building Kernel Module When arm-linux-gnueabihf- cross compiler is installed and kernel source is in ../kernel/ simply enter make and a kernel module will be built.
cd rtl8723as
make
###3. Bootimage Mkbootimage from https://github.com/neo-technologies/rockchip-mkbootimg is used.
Generating boot.img using compiled Kernel and prebuilt initrd including fbcon, wifi driver and nanddriver
####Building mkbootimg
cd rockchip-mkbootimg
make
####Generating Bootimage using mkbootimg
cd scripts
mkdir ../out
./make_boot_img.sh
###4. Flashtool rkflashtool from http://sourceforge.net/projects/rkflashtool/
####Building flashtool
cd rkflashtool-5.1-src
make
####Flashing the boot.img When flashing via USB:
cd scripts
./flash_usb.sh
When running the script on the A10:
cd scripts
./flash_mtd.sh
Both scripts must be run as root. To be able to flash via USB, it is necessary to enter bootloader mode. When Android is still running and developer mode is activated, this can be done with:
adb reboot bootloader
Otherwise you have to open the device and short the recovery pad to GND and press reset.
###5. Fixing Standby To wakeup from pm-suspend add following to /etc/pm/sleep.d/10_standby
#!/bin/bash
PATH=/sbin:/usr/sbin:/bin:/usr/bin
case "${1}" in
hibernate|suspend)
rmmod rtl8723as
;;
resume|thaw)
echo on > /sys/power/state
sleep 3
modprobe rtl8723as
;;
esac
The device will wake up on every keypress.
Good luck!