debootstrap sid WMEDIA_SDK
mount -o bind /proc $PWD/WMEDIA_SDK/proc
mount -o bind /dev $PWD/WMEDIA_SDK/dev
cp /etc/hosts WMEDIA_SDK/etc/
vi WMEDIA_SDK/etc/hosts
chroot WMEDIA_SDK
export LC_ALL=C LANGUAGE=C LANG=C
vi /etc/apt/sources.list
apt-get update
apt-get install build-essential libncurses5-dev qemu-user-static debootstrap git binfmt-support libusb-1.0-0-dev pkg-config locales u-boot-tools
apt-get install emdebian-archive-keyring
echo "deb http://www.emdebian.org/debian/ sid main" >> /etc/apt/sources.list.d/emdebian.sources.list
apt-get update
--- FIXING DEPS ---
apt-get install equivs
equivs-control gcc-4.8-base-armel-cross
vi gcc-4.8-base-armel-cross
dpkg -i gcc-4.8-base-armel-cross_4.8.2-13_all.deb
---
apt-get install g++-4.7-arm-linux-gnueabi
for i in /usr/bin/arm-linux-gnueabi*-4.*; do ln -rs $i ${i%%-4.*}; done
wget http://ftp.gpl-devices.org/pub/vendors/Wondermedia/WM8650/KERNEL-DS_ANDROID_2.6.32_WM8650.111209.1514.tgz
tar zxvf KERNEL-DS_ANDROID_2.6.32_WM8650.111209.1514.tgz
cd ANDROID_2.6.32-DS/
---
* Add devtmpfs
---
--- FIX DRIVER OLD KERNEL ---
vi drivers/video/wmt/vpp.h
/* Line 828 */
/* EXTERN __inline__ void vpp_cache_sync(void);*/
EXTERN void vpp_cache_sync(void);
---
git clone https://github.com/linux-wmt/linux-vtwm.git LINUX-VTWM
cd LINUX-VTWM
NOTE: Uncheck arm v6 and v7 in order to get v5 (tablet).
https://github.com/linux-wmt/linux-vtwm/wiki/Build-the-source
make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm menuconfig
NOTE: Need to adjust Device Tree Sources in some cases.
vi arch/arm/boot/dts/wm8505-ref.dts
vi arch/arm/boot/dts/wm8505.dtsi
vi arch/arm/boot/dts/wm8650-mid.dts
vi arch/arm/boot/dts/wm8650.dtsi
soc {
...
eth0@d8004000 {
compatible = "via,vt8500-rhine";
reg = <0xd8004000 0x100>;
interrupts = <10>;
rhine,revision = <0x84>;
no-eeprom;
};
...
};
make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm zImage modules
make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm dtbs
cat arch/arm/boot/zImage arch/arm/boot/dts/wm8650-mid.dtb > zImage_w_dtb
mkimage -A arm -O linux -T kernel -C none -a 0x8000 -e 0x8000 -n "mark-v" -d zImage_w_dtb uzImage.bin
wget http://ftp.gpl-devices.org/pub/vendors/Wondermedia/WM8650/U-BOOT_WM8650.111212.tgz
tar zxvf U-BOOT_WM8650.111212.tgz
NOTE: Not used so far.
--- BASIC INIT SCRIPT
mmcinit 0
fatload mmc 0 0 uImage
setenv bootargs 'mem=214M root=/dev/mmcblk0p2 noinitrd rw rootfstype=ext3 console=ttyWMT0,115200n8 rootdelay=5'
bootm 0
---
NOTE: Console change to "ttyWMT0" in the newer kernel.
mkimage -C none -A arm -T script -d wmt_scriptcmd.txt wmt_scriptcmd
apt-get install debootstrap qemu-user-static
debootstrap --arch armel --foreign sid WM_ROOT
cp /usr/bin/qemu-arm-static WM_ROOT/usr/bin
mkdir WM_ROOT/dev/pts
modprobe binfmt_misc
mount -o bind /dev/pts $PWD/WM_ROOT/dev/pts
mount -o bind /proc $PWD/WM_ROOT/proc
chroot WM_ROOT
export LC_ALL=C LANGUAGE=C LANG=C
/debootstrap/debootstrap --second-stage
echo "HOSTNAME" > /etc/hostname # Set hostname
passwd # Set root pass
vi /etc/inittab # Add Serial T0
vi /etc/network/interfaces # Add lo and eth0
vi /etc/fstab # Add /dev/root
vi /etc/apt/sources.list # Add repos
apt-get update
apt-get install -f
apt-get install locales openssh-server usbutils alsa-utils u-boot-tools
exit
vi /etc/default/hwclock
HWCLOCKACCESS=no
umount $PWD/WM_ROOT/dev/pts
umount $PWD/WM_ROOT/proc
fdisk /dev/mmcblk0
Command (m for help): n
Select (default p): p
Using default value 1
First sector (2048-3842047, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-3842047, default 3842047): +100M
Command (m for help): n
Select (default p): p
Partition number (1-4, default 2): 2
First sector (206848-3842047, default 206848):
Using default value 206848
Last sector, +sectors or +size{K,M,G} (206848-3842047, default 3842047):
Using default value 3842047
Command (m for help): w
mkfs.vfat /dev/mmcblk0p1
mkfs.ext3 /dev/mmcblk0p2
mount /dev/mmcblk0p1 $PWD/WMEDIA_SDK/mnt/1
mount /dev/mmcblk0p2 $PWD/WMEDIA_SDK/mnt/2
chroot WMEDIA_SDK/
cd /
rsync -aAXv WM_ROOT/* /mnt/2 --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found,qemu-arm-static}
cd ANDROID_2.6.32-DS/ANDROID_2.6.32
make INSTALL_MOD_PATH=/mnt/2 CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm modules_install
cp arch/arm/boot/uImage /mnt/1/
cd LINUX-VTWM
make INSTALL_MOD_PATH=/mnt/2 CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm modules_install
cp uzImage.bin /mnt/1/
Kernel config:
CONFIG_PACKET=y
CONFIG_ATH9K*=m
Turn it on:
echo 6 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio6/direction
echo 1 > /sys/class/gpio/gpio6/value
Patching VIA driver:
wget "https://groups.google.com/group/vt8500-wm8505-linux-kernel/attach/d7548d80d153c441/0001-net-via-rhine-switch-to-generic-DMA-functions.patch?part=2&authuser=0" -O 0001-net-via-rhine-switch-to-generic-DMA-functions.patch
patch -p1 < 0001-net-via-rhine-switch-to-generic-DMA-functions.patch
patching file drivers/net/ethernet/via/via-rhine.c
Hunk #7 succeeded at 1694 (offset -1 lines).
Hunk #8 succeeded at 1830 (offset -1 lines).
Hunk #9 succeeded at 1923 (offset -1 lines).
Hunk #10 succeeded at 1944 (offset -1 lines).
Hunk #11 succeeded at 1978 (offset -1 lines).
wget "https://groups.google.com/group/vt8500-wm8505-linux-kernel/attach/d7548d80d153c441/0002-net-via-rhine-reduce-usage-of-the-PCI-specific-struc.patch?part=3&authuser=0" -O 0002-net-via-rhine-reduce-usage-of-the-PCI-specific-struc.patch
patch -p1 < 0002-net-via-rhine-reduce-usage-of-the-PCI-specific-struc.patchpatching file drivers/net/ethernet/via/via-rhine.c
Hunk #24 succeeded at 1663 (offset -1 lines).
Hunk #25 succeeded at 1700 (offset -1 lines).
Hunk #26 succeeded at 1793 (offset -1 lines).
Hunk #27 succeeded at 1837 (offset -1 lines).
Hunk #28 succeeded at 1869 (offset -1 lines).
Hunk #29 succeeded at 1931 (offset -1 lines).
Hunk #30 succeeded at 1940 (offset -1 lines).
Hunk #31 succeeded at 1952 (offset -1 lines).
Hunk #32 succeeded at 1986 (offset -1 lines).
Hunk #33 succeeded at 2111 (offset -1 lines).
Hunk #34 succeeded at 2133 (offset -1 lines).
Hunk #35 succeeded at 2144 (offset -1 lines).
Hunk #36 succeeded at 2285 (offset -1 lines).
Hunk #37 succeeded at 2362 (offset -1 lines).
Hunk #38 succeeded at 2374 (offset -1 lines).
wget "https://groups.google.com/group/vt8500-wm8505-linux-kernel/attach/d7548d80d153c441/0003-net-via-rhine-add-OF-bus-binding.patch?part=4&authuser=0" -O 0003-net-via-rhine-add-OF-bus-binding.patch
patch -p1 < 0003-net-via-rhine-add-OF-bus-binding.patch
patching file Documentation/devicetree/bindings/net/via-rhine.txt
patching file drivers/net/ethernet/via/Kconfig
patching file drivers/net/ethernet/via/via-rhine.c
Hunk #9 succeeded at 2340 (offset -1 lines).
Hunk #10 succeeded at 2354 (offset -1 lines).
Hunk #11 succeeded at 2435 (offset -1 lines).
Hunk #12 succeeded at 2475 (offset -1 lines).
Hunk #13 succeeded at 2515 (offset -1 lines).
Hunk #14 succeeded at 2529 (offset -1 lines).