ARM-based linux tablets and SAP
How to work with SAP on cheap 7’’ $100 Chinese Android tablet? With the ability to boot linux from SD card without any change of existing firmware settings? In this case, you are not limited to simple mobile applications but the tablet becomes an almost full replacement of the x86 notebook including support for applications such as SAPGUI for Java.
How to install Linux on tablet?
In my case of GoClever tablet with Allwinner A10 procesor was necessary to compile the kernel to support this processor. In principle, procedure similar to this one was used here
To boot linux with touchscreen or wifi support, requiered drivers must compiled into kernel or loaded as kernel modules. First, it is necessary to find out what devices the tablet contains. The manufacturer usually does not provide such detail and the only option (other than the dismantling of the tablet which might not turn out well …) is to install Android SDK, connect tablet via USB and obtain such information using adb shell.
Touchscreen module can be displayed using command
adb shell su – getevent-lp /dev/input/event1
in my case ft5x_ts
Wifi device name can be found in the file with the kernel messages using
adb shell cat /proc/kmsg
in my case 8192cu
Areas of use
With this functional kernel and linux distribution, already installed Firefox browser can be used for all web application without limits of mobile browsers (SAP portal, WebDynpro …)
SAPGUI for Java contains native JPlatin library which is available only for the x86 platform.
The easiest option is remote desktop with OS running on a supported platform with installed SAPGUI. Open source variant with freeNX server and QtNX client has been successfully tested. Attribute “Custom Session Command” with guilogon script name can be specified in QtNX configuration file. In this case, SAPLogon session is displayed like a separate SAPLogon Citrix application.
In the case of unavailable third party tools like above mentioned, x86 emulator.can be used. Experiments with QEMU in user mode (x86 emulation at the java process level) or using x86 linux image have not been successful. Better results were achieved with Bochs emulator. Image was created using lightweight Linux distribution SliTaz (www.slitaz.org).This distribution contains (unlike more familiar DSL – Damn Small Linux) the current version of OS libraries required by JPlatin library and starts in only 128MB RAM. Sun Java JRE 1.6 package and PlatinGui 7.20 were installed additionally and java parameters in guilogon script were adapted to limited RAM size (-Xms16M –Xmx64M) . To start the system as soon as possible, startup scripts were simplified – the file /etc/init.d/rcS was renamed and replaced with this one:
/bin/mount -o remount,rw /
/bin/hostname -F /etc/hostname
/sbin/ifconfig lo 127.0.0.1 up
/sbin/route add 127.0.0.1 lo
#/usr/bin/slim -d &
/sbin/ifconfig eth0 up
#/sbin/udhcpc -b -T 1 -A 12 -i eth0 -p /var/run/udhcpc.eth0.pid
The resulting image of about 250 MB was launched in Bochs, console login appeared after 3-4 minutes. After the DISPLAY environment variable setting, SAPLogon was launched and displayed on the host linux for ARM for next four minutes. After this, SAPGUI speed was quite acceptable. This solution is suitable if there is no other one.
If SAP would compile JPlatin library for ARM linux using cross compiler without any source code change, SAPGUI could be operated using native OpenJDK 6 without any emulation.
Yes, user interface of native mobile OS like Android is better than linux “mouse-oriented” desktop, slightly better results can be achieved with Plasma Active UI for touchscreen devices. Yes, the installation isn’t easy. Yes, it’s experimental.
But so much happiness for one hundred dollars!