Archos101it
Install Kubuntu on Archos 10.1 internet tablet
- Install SDE firmware (see archos.com)
- Generate a kubuntu mobile img using rootstock
sudo rootstock --fqdn archos --login u --password u --keepimage --imagesize 1500M --seed kubuntu-mobile -- dist maverick
- Mount the rootfs.img of the SDE from your data partition (that is the thing you can mount when doing the USB sharing dance with Android)
- Mount your Kubuntu .img
- copy /lib/modules/* from the former to the latter
- Unmount both (best also run sudo sync)
- Move the SDE rootfs.img out of the way
- Copy your Kubuntu .img as new rootfs.img on the data partition
- sudo sync; unmount and power off the device
- Power on and hold volume down pressed until the recovery boot thing comes up
- Select developer edition using the volume button and confirm using the power button
- If all goes fine you should get to either KDM or TTY login
- To power off again you'll need to reset by keeping the power button pressed for 10 seconds
Configure
The better part of ARM/n900 also applies for the Archos 10.1.
Install Software
Sames as n900 really. Mount the rootfs.img and chroot into it then do whatever modifications you deem necessary.
sudo apt-get install ssh
Once you have SSH you can do everything else over SSH and USB networking, see below.
USB Networking
- In the device's /etc/network/interfaces
auto usb0 iface usb0 inet static pre-up rmmod musb_hdrc pre-up modprobe musb_hdrc mode_default=2 pre-up modprobe g_ether address 192.168.0.202 netmask 255.255.255.0 network 192.168.0.0 gateway 192.168.0.200
- In the host's /etc/network/interfaces
auto usb0 iface usb0 inet static address 192.168.0.200 netmask 255.255.255.0 up iptables -A POSTROUTING -t nat -s 192.168.0.0/24 -j MASQUERADE up echo 1 > /proc/sys/net/ipv4/ip_forward down iptables -D POSTROUTING -t nat -s 192.168.0.0/24 -j MASQUERADE down echo 0 > /proc/sys/net/ipv4/ip_forward
- If you wish, you can of course also pull udev magic as with the n900 as to not having to use usb0
- After starting the device you should be able to connect to it at 192.168.0.202
Graphics
sudo apt-get install xserver-xorg-video-omapfb xserver-xorg-input-tslib
- xorg.conf:
Section "Module" Load "extmod" Load "dbe" Load "glx" Load "freetype" Load "type1" Load "record" Load "dri" EndSection Section "Monitor" Identifier "Builtin Default Monitor" EndSection Section "Device" Identifier "Builtin Default fbdev Device 0" Driver "omapfb" EndSection Section "Screen" Identifier "Builtin Default fbdev Screen 0" Device "Builtin Default fbdev Device 0" Monitor "Builtin Default Monitor" EndSection Section "InputDevice" Identifier "Touchscreen" Option "DeviceName" "Touchscreen" Option "Device" "/dev/input/by-id/usb-UNITEC_USB_Touch__Win7_-event-if00" Option "Emulate3Buttons" "false" Option "SendCoreEvents" "On" Driver "evdev" EndSection Section "InputDevice" Identifier "dummy" Driver "void" Option "Device" "/dev/input/mice" EndSection Section "ServerLayout" Identifier "Builtin Default Layout" Screen "Builtin Default fbdev Screen 0" InputDevice "Touchscreen" "CorePointer" InputDevice "dummy" EndSection
tslib without evdev should technically also work, however it claims the device is no touchscreen, so maybe not
- turning off 3 button emulation is essential to get some sort of sensible click behavior
GLES
Not yet working, will at least need kernel headers and sources present: ARM/OMAP/Graphics
Kernel
initramfs
The SDE comes with a very tiny initramfs which basically only takes care of mounting the rootfs.img as final root of the system.
TTY Messages
The default kernel uses ttyS2 as console which will prevent it from printing anything useful to the display. To change this you will need to change the initramfs to not throw some bootsplash image at fb0 AND build your own kernel with cmdline containing "console=tty1,ttyS2...".
Source
Archos published a monster patch for their 2.6.29 kernel as part of their openembedded overlay tar. It also contains a config for the kernel. Using both it is pretty easy to replicate the kernel (and for example get debug output).
Mind that for building you will need the arm cross compile GCC packages and set the env var appropriately:
export CROSS_COMPILE=arm-linux-gnueabi-
Archos recently also published a git repo with their plunder, which should make things easier: http://gitorious.org/archos
ARM/Archos101it (last edited 2011-04-22 12:38:20 by 188-22-146-173)