Meefik's Blog

Freedom and Open Source

Overview of Linux Deploy options

19 Nov 2012 | android linuxdeploy

The following describes the Linux Deploy settings for installing GNU/Linux distributions on Android.

Instructions for installing GNU/Linux via Linux Deploy

18 Nov 2012 | android linuxdeploy

Instructions for installing the GNU/Linux distribution via Linux Deploy for Android:

  1. Connect WiFi or another network with Internet access. Installation is carried out over the network and will not work without Internet access.

  2. Make sure that you have superuser (root) rights on the device.

  3. Install the latest version of Linux Deploy.

  4. Install the BusyBox app and start the installation with the “Install” button. By default, BusyBox is installed in the /system/xbin directory, which usually does not need to be changed. If the installation directory already contains utilities of the same name, they will not be replaced by utilities from BusyBox, which can subsequently lead to problems with Linux Deploy. To prevent this from happening, in the BusyBox settings the option “Settings” -> “Replace applets” must be selected.

  5. Launch the Linux Deploy application and go to settings. Verify that “Settings” -> “BusyBox directory” specifies the BusyBox installation directory in the previous step. If for some reason BusyBox cannot be installed on the system partition (for example, HTC has a system partition write lock), you can specify the /data/data/ru.meefik.busybox/files/bin path as the BusyBox directory. After changing the BusyBox directory, you need to update the working environment of the “Settings” -> “Update ENV”. It is useful to leave the “Settings” -> “Screen Lock” option enabled: while the application is active, the screen, WiFi and processor will not go into sleep mode.

  6. The program supports work with several profiles, where the settings for each Linux instance are stored. You can quickly switch between instances through the profile management window (opens by clicking on the icon in the header of the main window). By default, a profile is created with the name Linux. Go to the settings of the current profile (rightmost button) and set the necessary options for installing and running the GNU/Linux distribution (see description of parameters).

  7. Start the installation from the “Properties” -> “Install” button. The installation log is displayed in the main application window. Installation takes about 30 minutes on average.

  8. If the installation is complete without errors, you can start the Linux system with the “START” button. This will start the services selected in the parameters - SSH, VNC.

  9. To access the Linux console over SSH, you must install ConnectBot (or another SSH client). To access the Linux desktop, you must install a VNC client, such as VNC Viewer. The default settings for connecting to the system via VNC are: Host - 127.0.0.1, Port - 5900. The default password for SSH and VNC is changeme. You can change the password of the current user in the application settings, either from the console with the passwd command for SSH or vncpasswd for VNC. To run programs from the root user, use the sudo command (for example, sudo synaptic). By default, the root user (unless specified in the settings as the user name) does not have a password, but you can set a password for it with sudo passwd root.

  10. To stop the Linux system, all the services running under it and unmount the disks, just press the “STOP” button.

Java keystore password guessing

16 Nov 2012 | java

An interesting story happened to me not so long ago. I posted an app to Google Market and when it was time to update it, I found that I had lost the key password to sign my apps. The standard way out of this situation was to create a new key, shut down the old app, and upload the new app under a new name in the marketplace. I did not want to do this, and as a result, the application KeystoreBreaker appeared. The application allows you to select a password for keystore under certain conditions with the possibility of distributed calculation. You can specify the set of characters that make up the intended password, and then divide all possible combinations of these characters into non-overlapping groups and bust for each group separately. It can be distribution on several cores within one computer, and distribution on several computers. The essence of the algorithm is that each variant of the password is represented in N-digit number system, which is formed on the basis of the input character set. After that, the entire range from the first to the last character, for example 000000-zzzzzz, can be divided into any number of smaller ranges in which the search is carried out.

Video of Linux Deploy 1.0

11 Nov 2012 | linuxdeploy

Demo of installing and running Ubuntu on an Android phone using Linux Deploy.

IceWM desktop environment setup

17 Oct 2012 | android linuxdeploy

Installing and configuring a desktop environment that is not on the Linux Deploy settings list, using IceWM as an example.

E17 desktop environment setup

13 Oct 2012 | android linuxdeploy

Installing and configuring the desktop environment, which is not in the list of Linux Deploy program settings, on the example of Enlightenment.

Extending a Linux Deploy image

08 Oct 2012 | android linuxdeploy

To increase the image file size for Linux Deploy, you first need to expand the existing image, and then expand the file system to a new size. For example, to increase the image by 3000 MB, you need to do the following:

dd if=/dev/zero bs=1048576 count=3000 >> /mnt/sdcard/linux.img
e2fsck -f /mnt/sdcard/linux.img
resize2fs /mnt/sdcard/linux.img

You must first make a backup copy of the image.

Launch BackTrack on Android

05 Oct 2012 | android linuxdeploy

Linux Deploy supports the launch of the BackTrack distribution for Android. The prepared image of this distribution can be downloaded from the Linux-on-Android project website.

Playbook

IntelliJ IDEA launched on Android

03 Oct 2012 | android linuxdeploy

IntelliJ IDEA was launched using Linux Deploy.

linuxdeploy

Runs on OpenJDK 7 under Debian 7.0 on Samsung Galaxy S2. It was possible to build and run the “Hello World” project.

Linux Deploy performance test

02 Oct 2012 | android linuxdeploy

Tested under Debian/wheezy/armhf on a Samsung Galaxy S II.

SD card read / write speed (10 class) on Android for file systems vfat, ext2, ext4:

Installation time and use space on disk (Debian wheezy/armhf on Samsung Galaxy S II):