Debian on the Odys Neron

There seems to be some Windows flashing tool to be available. I'd much prefer to not use Windows, though.

Unfortunately, I could not find any documentation on how to root this device. I could not install KingRoot, due to too-old SDK version.

After spelunking through Linux CVE archives, I decided to give the system as-is another look. Lo' and behold:

/system/xbin/rksu

has the suid bit set - and a suggestive name.

Indeed it is a working su and, as far as I can tell, part of the stock firmware!

Unfortunately it is not usable with SimpleSSHd's rsync, so let's rig an artisanal superSU installation:

adb -s DEA0017625 pull /system/xbin/su superSU
adb -s WAWJMZTJQX push superSU /system/xbin/su
root@android:/sdcard # cp superSU /system/xbin/su
root@android:/sdcard # chmod 4755 /system/xbin/su

And syncing over from another tablet with a 3.0.36+ kernel (which also includes the updated xorg-input-evdev drivers):

rsync -aHvD -P -e 'ssh -p 2222' --exclude '/run/*' --exclude '/proc/*' --exclude '/sys/*' / root@192.168.2.117:/data/debian-jessie

very, very often (due to flaky WiFi apparently).

The obligatory hack to make the debian dynamic linker available to the chroot.android binary:

root@android % cp /data/debian-jessie/lib/ld-linux-armhf.so.3 /system/ld-lx-armhf.so.3

Unfortunately, the kernel does not seem to provide /dev/tty1 nor /dev/tty64. Hrm, but Xorg requires a terminal to "run on". Ok, can it run on ttyGS0? Yes!

cd /dev
mknod tty1 c 251 0     # not actually tty1, but ttyGS0.

The other /dev/input devices are

/dev/input/event0 -> hardware keys
/dev/input/event2 -> touchscreen

So the final X11 config for working touchscreen and making the device ready for inclusion into the multi monitor setup:

Section "ServerLayout"
  Identifier "Layout0"
  Screen   "Screen0"
  InputDevice "Mouse0" "CorePointer"
  InputDevice "Keyboard0" "CoreKeyboard"
EndSection

Section "InputDevice"
  Identifier  "Keyboard0"
  Driver   "evdev"
  Option  "Device" "/dev/input/event1"
  Option  "Protocol" "usb"
EndSection

Section "InputDevice"
  Identifier "Mouse0"
  Driver  "evdev"
  Option  "Device" "/dev/input/event2"
  Option  "IgnoreRelativeAxes" "true"
  Option  "IgnoreAbsoluteAxes" "false"
  Option  "InvertX" "true"
  Option  "InvertY" "true"
  Option  "Mode" "Absolute"
EndSection

Section "Device"
  Identifier "Card0"
  Driver  "fbdev"
  Option  "fbdev" "/dev/fb0"
  Option  "debug" "true"
  Option  "Rotate" "UD"
  VendorName "Unknown"
  BoardName "Unknown"
EndSection

Section "Screen"
  Identifier  "Screen0"
  Device  "Card0"
  Monitor "Monitor0"
  DefaultDepth    32
  SubSection      "Display"
    Depth               32
    Modes   "1280x800"
  EndSubSection
EndSection

Section "Monitor"
  Identifier "Monitor0"
  Mode "1280x800"
      # D: 64.000 MHz, H: 44.444 kHz, V: 54.003 Hz
      DotClock 64.001
      HTimings 1280 1328 1360 1440
      VTimings 800 802 808 823
      Flags    "-HSync" "-VSync"
  EndMode
EndSection

Section "ServerFlags"
  Option "AutoAddDevices" "false"
EndSection