User:Libv

= Hardware =

A10

 * Hcore hc860
 * Hyundai A7
 * Hyundai A7HD
 * Mele A1000
 * Olimex A10-OLinuXino-Lime
 * Rikomagic mk802
 * Rikomagic mk802ii

A13

 * Forfun Q88DB
 * Inet 86vz
 * Olimex A13-OLinuXino
 * Q8

A10s

 * Semitime g2

A20

 * Cubietech Cubietruck
 * Inet k70hc
 * Inet k100c
 * Olimex A20-OLinuXino-Micro

A23

 * Ippo q8h

= Installation =

Here i describe my own detailed installation routine, so i remember what steps i need to take for a fully working test system.

Rootfs
Select an Ubuntu Core Rootfs.

Serial access
Add etc/init/ttyS0.conf so that upstart starts a serial console on ttyS0:


 * 1) ttyS0 - getty
 * 2) This service maintains a getty on ttyS0 from the point the system is
 * 3) started until it is shut down again.
 * 1) started until it is shut down again.

start on stopped rc or RUNLEVEL=[12345] stop on runlevel [!12345]

respawn exec /sbin/getty -L 115200 ttyS0 vt102

To be able to log in as root later on, edit etc/shadow and change from: root:*:15629:0:99999:7::: to root::15629:0:99999:7:::

This will get fixed once you run passwd.

Disable NetworkManager
This humongous heap of redhat shit always gets in the way, so kill it with fire...

echo "manual" > etc/init/network-manager.override

Add usb ethernet
Edit etc/modules and add: g_ether

Edit etc/modprobe.d/g_ether.conf options g_ether host_addr=22:AA:F2:BB:12:DB

Edit etc/network/interfaces and add: auto usb0 iface usb0 inet static address 192.168.4.2 netmask 255.255.255.0 gateway 192.168.4.1

The latter line is to make sure that routing is setup.

Setup name resolution
echo "nameserver 192.168.1.1" > etc/resolv.conf

Host networking setup
So that our device can access the web through usb networking, we need to enable routing/nat on the host computer.

Enable forwarding: echo 1 > /proc/sys/net/ipv4/ip_forward

Set up iptables, with usb1 the usb connection with the device, and eth1 the wlan adapter:

iptables -A FORWARD -i eth1 -o usb1 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -i usb1 -o eth1 -j ACCEPT

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Initial setup
Now you should be able to boot this image and log into it through serial.

root password
Set a root password: passwd

Hostname
Run: echo "newname" > /etc/hostname

packages
First, add universe packages in /etc/apt/sources.list

Then run: apt-get update apt-get upgrade

Then, install some basics:

apt-get install ubuntu-minimal nano wireless-tools wpasupplicant usbutils openssh-utils

locale
locale-gen en_US.UTF-8

user
adduser user adduser user video

Remove usb ether gateway
Remove: gateway 192.168.4.1 from etc/network/interfaces.

Add wifi
Edit /etc/modules and add: 8192cu

Edit /etc/network/interfaces and add: auto wlan0 iface wlan0 inet dhcp wpa-ssid ssid wpa-psk key

Stop boot from waiting for ages for auto interfaces
Edit /etc/init/failsafe.conf, and reduce the script block to:

script exec initctl emit --no-wait failsafe-boot end script

This gets you a terminal or desktop much, much faster in case usb is not attached.

Packages
apt-get install xfce4 xubuntu-default-settings lightdm

Default login
Add the following to /etc/lightdm/lightdm.conf.d/10-xubuntu.conf, under the SeatDefaults section:

autologin-user=user