Android: Ubuntu Chroot
Installing Linux and LibreCAD on the Motorola Xoom and other android devices.
Introductory Note: Although this article refers specifically to the Motorola Xoom, it is likely that if you own any brand of device with the armel architecture the instructions herein will enable you to install Linux and LibreCAD on your device.
Note: Wherever installation involves executing a command in the android terminal, you can simply copy the command from this document and paste into the terminal at the promt. Also, the ' is not included as part of the command. Take care in making sure where a dot occurs before '/', like this './' it is included with a command.
You should determine what type of cpu (central processing unit) your device has before choosing a linux distribution for installation. To use an armhf distribution your device must have at least an armv7 architecture. See: http://en.wikipedia.org/wiki/ARM_architecture and search the internet for information pertaining to your device architecture.
The primary difference between devices will be the method used to unlock your bootloader (root the device). If a method for rooting your device cannot be found here: Android & Windows Phone: Tablets, Apps, & ROMs @ xda-developers , then use your browser's search engine inserting your model with the word root or rooting. You are bound to find a method somewhere. There is no way I can know about all of the various approaches used to root different android devices. Consequently the method you use may not include instructions to install SuperSu, an android app downloadable from Google Play. If your instructions neglect to mention this application, go to Google Play, download and install SuperSu.
I recommend you download from Google Play "Linux Deploy" ( see: https://github.com/meefik/linuxdeploy for sparse instructions). I recommend this installer because I have successfully used it myself. I cannot recommend "Complete Linux Installer" or Galoula's "Linux Installer" which I have also tried. Other methods are available, but require significant prior experience using Linux.
Install the Android Terminal Emulator, bVNC Free and "akRDCFree" VNC Viewers from Google Play.
- The terminal is used to download and install file dependencies and LibreCAD.
- The viewer is necessary to access your Linux desktop.
Please note that the features between available viewers vary considerably. The most important considering in choosing a vnc viewer when using LibreCAD is the mouse. Next is whether or not the capability to zoom in and out of the desktop is included. akRDCFree and free bVNC have this feature, but only free bVNC has pinch and zoom.
Using Linux Deploy GUI with the default settings, create a loop filesystem, install the distribution and Window Manager. I installed Ubuntu Precise.
If you have the space available Linux Deploy will create a loop filesystem sized to 4 gigabytes (4,076 megabytes).
This is the largest file size permitted in a vfat filesystem, the type of filesystem found on android internal sdCards.
You will be downloading a lot of development files/utilities and may need extra space for compiling and installing other files later on. Linux Deploy has an option to access a custom mount. In my setup I've defined this as /storage/sdcard1.
Once the installation is complete mount the loop filesystem following the steps below.
- Open the android terminal.
Type 'su' at the prompt Press <enter>
- Copy/paste or type:
and press <enter>
- Create a root password:
Type at the terminal prompt 'passwd root' press enter
Supply a password you will not forget! Re-enter the password as requested. You will need this password when logging into a terminal from within the linux vnc desktop.
Your Linux file system is now 'mounted' and fully accessible.
To view the linux filesystem structure use one of the several file managers available from Google Play and 'navigate' to /data/local/linux/mnt . Be careful in whatever you do while navigating the file system and issuing commands from within the terminal. You are working at all times within a 'root' environment and can destroy your installation! Take a look around. Note that you can create directories, copy, move, rename and delete files from with a file manager as part of this project. But the rest must be done from within the terminal.
- Enter the '/home' directory from within the terminal by typing:
'cd /home' and press <enter> type 'mkdir Downloads' and press <enter>
- Next type:
'cd Downloads' and press <enter>
- Make sure you are still connected to the internet.
To download the source code copy and paste 'git clone git://github.com/LibreCAD/LibreCAD.git' into the terminal and press <enter>.
- Install the LibreCAD dependencies plus OpenGL:
aptitude install g++ gcc make git-core libqt4-dev qt4-qmake libqt4-help qt4-dev-tools libboost-all-dev libmuparser-dev libfreetype6-dev libcoin60-dev libgl1-mesa-swx11 libgl1-mesa-swx11-dev libglu1-mesa-dev
- Follow the directions found here: http://librecad.org/cms/home/from-source/linux.html beginning with "Now you can run qmake (or qmake-qt4) to create a makefile and run make to compile LibreCAD"***
--Take note of comments pertaining to your linux distribution.--
- Using Linux Deploy GUI mount the loop file, start ssh and vnc server by tapping on the 'Start' icon. To unmount the system, you tap on the square 'Stop' icon. *Start the bVNC Free vnc viewer by tapping on it's icon.
Make sure the settings in bVNC Free are:
Name: "new Server" or any other name you wish to use, IP Address: "localhost",
- Note: Regarding instructions below Linux Deploy has a preset password for ssh and vnc that can be changed. It is "changeme"
Authentication: vnc password. "changeme" VNC server type: "Autodetect". Operating system type: "Other".
Linux Deploy simply requires one to start (click on the play icon) or stop (click on the square icon) the process from within the Installer. Still, your settings within the vnc viewer must be set as above.
Connect to the Window Manager and start LibreCAD . From within your vnc viewer click on "connect". You should see the XFCE desktop.
- Open a terminal.
- NOTE: Before LibreCAD can be launched after following the instructions in the link provided above (http://librecad.org/cms/home/from-source/linux.html), you must execute at a terminal prompt:
'export LD_LIBRARY_PATH=/home/android/Downloads/LibreCAD/unix' <enter>
Then try launching LibreCAD with each of the commands in the order listed below. Use the one that works...
1.) root@localhost:/home/android/Downloads/LibreCAD/unix/librecad <enter> 2.) /home/android/Downloads/LibreCAD/unix/librecad -graphicssystem openGL <enter>