In this page, we summarize how to install android 2.3.4 (Gingerbread)
into Sharp NetWalker (PC-Z1).
Our method is based on
Android on NetWalker (by androidzaurus)
To build gingerbread, please note that JDK1.6 and 64bit OS are required.
History
2011.7.29: Open to the public
To build the android from the sources, please see Section 1.
If you want to try it as soon as possible, please see Section 7.
1. Downloading android sources
To download the sources, please use another x64-based PC.
First please determine the destination directory, and the set a environment variable ANDROID to it, e.g.,
$ export ANDROID=/home/kanamaru/gingerbread-netwalker
Then, please download the sources.
$ mkdir -p $ANDROID
$ cd $ANDROID
$ repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.4_r1
$ repo sync
2. Downloading kernel
$ cd $ANDROID
$ wget http://netbook-remix.archive.canonical.com/updates/pool/public/l/linux-fsl-imx51/linux-fsl-imx51_2.6.28-15.50fsl1araneo19.tar.gz
$ tar zxf linux-fsl-imx51_2.6.28-15.50fsl1araneo19.tar.gz
3. Downloading and applying the patches by androidzaurus
First, download the patches from
androidzaurus / droidwalker.
By clicking "Downloads" , "Download.tar.gz", download "androidzaurus-droidwalker-61b2290.tar.gz" to $ANDROID directory.
$ cd $ANDROID
$ tar zxf androidzaurus-droidwalker-61b2290.tar.gz
$ cd jaunty-arm
$ patch -p1 < ../androidzaurus-droidwalker-61b2290/diff-araneo-android-2.6.28.patch
$ patch -p1 < ../androidzaurus-droidwalker-61b2290/disable_double_buffering.patch
$ patch -p1 < ../androidzaurus-droidwalker-61b2290/fbmem_8m.patch
$ patch -p1 < ../androidzaurus-droidwalker-61b2290/build-wifi-defconfig.patch
4. Downloading and applying our patches
$ cd $ANDROID
$ wget http://brain.cc.kogakuin.ac.jp/research/files/vendor_tk-netwalker-gingerbread2.3.4-20110726.tar.gz
$ tar zxf vendor_tk-netwalker-gingerbread2.3.4-20110726.tar.gz
$ $ANDROID/vendor/tk/patch/tk_patch.sh
5. Building kernel
$ cd $ANDROID/jaunty-arm
$ make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- netwalker_android_defconfig
$ make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- zImage modules
The built kernel is $ANDROID/jaunty-arm/arch/arm/boot/zImage.
You can also use
pre-build kernel.
6. Building android
$ cd $ANDROID/
$ source build/envsetup.sh
$ lunch netwalker-eng
$ make -j8
After the completion of build, please execute the following command.
$ $ANDROID/vendor/tk/netwalker/image/netwalker-image.sh
(SU password is required once.)
The android system will be stored in $ANDROID/vendor/tk/netwalker/image/gingerbread.
You can also use
pre-built binary.
7. Setting up NetWalker
In ths following, the kernel (zImage) and android system are required.
If you want to try first, please use
pre-built zImage and
pre-built system gingerbread2.3.4.tgz.
First, please install gparted into your NetWalker, and make partitions in your SD card.
To install gparted, please try the command "sudo apt-get install gparted,"
and if it does not work, please find gparted_0.4.3-0ubuntu1_armel.deb from the Internet, and install it with "dpkg -i gparted_0.4.3-0ubuntu1_armel.deb".
sudo gparted /dev/mmcblk0
The following two partitions are required.
- 1GB of ext3 (for kernel and android system), label = rootfs
- remaining of FAT32 (LBA) (for SD card area), label = media
Then mount the SD card by re-inserting the SD card.
Then, install the android as follows. You should have write permission in the working directory.
- Download http://mit.sharp.co.jp/os.tar.bz2, and extract it in ext3 area of your SD card.
wget http://mit.sharp.co.jp/os.tar.bz2
sudo tar xf os.tar.bz2 -C /media/rootfs
- Erase all the lines in /media/rootfs/etc/udev/rules.d/70-persistent-net.rules in order to fix the Wifi device as "eth0".
For example, please use gedit.
sudo gedit /media/rootfs/etc/udev/rules.d/70-persistent-net.rules
- Rename /media/rootfs/etc/rc2.d/S01upfirm as /media/rootfs/etc/rc2.d/~S01upfirm.
sudo mv /media/rootfs/etc/rc2.d/S01upfirm /media/rootfs/etc/rc2.d/~S01upfirm
- Edit the console option in /media/rootfs/boot/boot.conf as
"console=tty1"
For example, please use gedit.
sudo gedit /media/rootfs/boot/boot.conf
- Copy the kernel zImage ($ANDROID/jaunty-arm/arch/arm/boot/zImage)
into the boot directory.
wget http://brain.cc.kogakuin.ac.jp/research/files/zImage
sudo cp zImage /media/rootfs/boot/
- Put the android system in /media/root/android/gingerbread
sudo mkdir /media/rootfs/android
wget http://brain.cc.kogakuin.ac.jp/research/files/gingerbread2.3.4.tgz
sudo tar zxf gingerbread2.3.4.tgz -C /media/rootfs/android
- Edit the /media/rootfs/etc/rc.local, and put a line
/usr/sbin/chroot /android/gingerbread /init
before "exit 0".
For example,
sudo gedit /media/rootfs/etc/rc.local
- Then, unmount the CD card.
sudo umount /media/*
And shutdown Ubuntu. Please unmount the SD card everytime before you shutdown Ubuntu.
sudo poweroff
- To launch android, please press two mouse buttons and power button simultaneously.
If small black square appears at the left side of Sharp logo,
the launch is successful.
[Status]
- Wifi
OK
- Ethernet
We confirmed that corega CG-FEUSBTXCW (with DM9601 driver) and Buffalo LANLUA3-U2-ATX (with AX8817X driver) work.
When wifi is enabled, they can be recognized as eth1. So please execute the foolowing commands in the console of android.
netcfg eth1 up
netcfg eth1 dhcp
We recommend you to fix the wifi device and ethernet device as
eth0 and eth1, respectively,
byy editing /media/rootfs/etc/udev/rules.d/70-persistent-net.rules.
- Bluetooth
We confirmed that Buffalo BSHSBD02 works.
You can use BluetoothChat in android SDK and the cursor movement with Wii remote controller.
To enable Wii remote controller, please enable Bluetooth, and then press buttons 1 and 2 simultaneously.
- WebCam
We confirmed that Logicool Webcam C210 works. The resolution is 352x288.
You cannot save the image, and the video mode does not work.
We recommend the Logicool cameras.
- USB-Serial
You can use the devices with FTDI driver and PL2302 driver.
- Sound
OK
- Others
- NetWalker sleeps by pressing the power button.
To restore from the sleep, press the power button, and then type Alt+F7.
- F1, F2, and F3 keys can be used as MENU, HOME, and BACK, respectively.
- The airplane mode is disabled.
- You can choose "Never timeout" for sleep mode.
- To enlarge the lock screen, use "Spare Parts" application and disable "Compatibility Mode", and reboot the NetWalker.
- You can use the console of android by typing Alt-F1.
You can also use the console of linux by typing Alt-F2.
To login to linux, user:root and password:(none) can be used.
To go back to android, type Alt-F7.
- You can shutdown the android by long-pressing the power button.
However, this method sometimes seems to crash your SD card.
So we recommend to use poweroff command in the console of linux.
- Other problems
- LiveWallpaper does not work
- Battery always show 100%
- The frequency of CPU is always set maximized because "on demond" mode seems not to work.
[References]