Segfault > IT > Hardware > Smartphone Intex Aqua Fish running Sailfish OS > Sailfish OS - First changes (on the Intex Aqua Fish)
First published on: 19.Oct.2016

Last change: 19.Dec.2016

1) OS update

The first thing I did after configuring WiFi was to disable automatic updates of the OS ("Settings => System => Sailfish OS updates" and change to "manual") and then to perform a full update ("Settings => System => Sailfish OS updates" and scroll down to display the option at the very top).

The update took a few minutes and I didn't have any problems.

My phone's current build is (as of 20.Oct.2016) 2.0.2.51 (as of 19.Dec.2016) 2.0.4.14.

2) Developer mode

All changes are done in the Linux-console, therefore you'll have a very hard time doing all this if you don't have Linux-knowhow.

From this point onwards I assume that "Developer mode" and "Remote connection" (sub-entry of "developer mode") settings have been enabled in your settings.
Remark: you'll probably need an active WiFi connection as well in this case, because probably the phone will have to download and install some admin-utilities.

Enabling "developer mode" and "remote connection" should:

  • make available the utilities "ssu" (repository management?) and devel-su (to be able to switch to the user "root")
  • activate a SSH-server (you'll have to set up a password under "Remote connection").
    The name of the normal user is "nemo" (kind of funny? I suppose because of "sailfish"?) => from this point onwards you should be able to ssh to the phone from any other device with e.g. "ssh nemo@[ip address shown when you enabled remote connection]"

    If you want to be able to login directly using the superuser "root", you'll first have to:
    - login using the user "nemo"
    - execute "devel-su" (and enter the user's "nemo" password) => now you should be the "root" user.
    - execute "passwd" to set a password for the "root" user.
    - edit the file "/etc/ssh/sshd_config" and add at the very end the string "PermitRootLogin yes" (this string has to be EXACTLY like this otherwise your phone might not be able to boot anymore)
    - execute "systemctl restart sshd" or just reboot the phone ("shutdown -r now")
  • install the app "FingerTerm", which is a terminal emulator.

The endresult is that you can now become the "root" user either directly using "FingerTerm" or by ssh-ing remotely.

Next:
you'll have to choose if you A) want only to get rid of the "Gaana" application and the hidden service that sends an "Hello there"-SMS to Intex whenever you reboot your device or B) if you want to uninstall EVERYTHING and have a virgin phone.
I chose the light variant because I read that  with the hardcore one you won't automatically get simple-to-install&automatic OS-updates anymore, but I did test the hardcore variant and it worked (the device was still working perfectly) but at that time there were no upgrades available, and anyway the Intex-stuff (backgrounds, sounds, etc...) aren't bad.

3a) Light changes: get rid of ONLY the "Gaana" app & SMS-sending stuff

  1.  Refresh your software repositories
    pkcon refresh
  2. I know that I have the SMS-stuff-that-I-dont-like installed because if I execute "pkcon search name intex | grep -i sms" I get 2 lines showing that it is installed.
  3. I know that I have the Gaana-app installed because (it annoys me every time I scroll on the phone and because) if I execute "pkcon search name gaana" I get 1 line showing that it is installed.
  4. Remove the program that send to Intex an SMS whenver you reboot your device (this does not have anything to do with the SMS-service itself - your SMS will still work):
    pkcon remove sms-activation-intex
    This will ask you to confirm to remove 3 packages: the 2 packages for the hidden SMS-notification to Intex ("sms-activation-intex" and "sms-activation-intex-conf") and a "feature intex" package.
  5. Remove the "Gaana"-app:
    pkcon remove sailfish-content-partnerspaces-intex-gaana
    This will ask you to confirm to remove 2 packages: "sailfish-content-partnerspaces-intex" and "sailfish-content-partnerspaces-intex-gaana".
  6. Once you've done the above, reboot the device by shutting it down and then starting it up or by issuing the following command:
    shutdown -r now
    ...and keep fingers crossed :)

Ta-daaa! None of your screens should now show the Gaana-app.

3b) Hardcore changes: get rid of ALL "Gaana"/"Intex" stuff

This is basically a copy of what was posted on Jolla's forum (thanks a lot "kat6" and "scegliau"!!!), which in my case it worked perfectly.
This will basically reset everything and you'll end up with a neutral device which does not contain anything related to Gaana/Intex.
As I mentioned above, be aware that by doing this you might not get OS-updates anymore!

  1. To do this you could use on the phone the included terminal emulator "FingerTerm", but I strongly suggest to use a PC and to connect to the phone through SSH => this way you'll be 100% sure that you won't have any typo.
  2. Ensure that you're connected to the Internet because your phone will have to download some packages.
  3. Once you have a shell open become the user "root" (if you're the user "nemo", then execute "devel-su")
  4. Refresh your software repositories
    pkcon refresh
  5. Remove the app Gaana:
    pkcon remove sailfish-content-partnerspaces-intex-gaana all-translations-intex-pack splash-img-l500d-intex
  6. Install the standard SailfishOS packages:
    pkcon install jolla-calculator-all-translations jolla-calendar-all-translations jolla-mediaplayer-all-translations jolla-notes-all-translations sailfish-components-weather-qt5-all-translations sailfish-office-all-translations sailfish-utilities-all-translations-pack splash-img-l500d jolla-settings-system-about-mp3 jolla-settings-system-about-mp4 jolla-settings-system-about-avc
  7. Set as boot animation the standard SailfishOS logo
    /var/lib/platform-updates/flash-splash.sh
  8. Remove stuff related to the Intex company:
    pkcon remove sailfish-content-ambiences-default-community sailfish-content-ambiences-intex sailfish-content-ambiences-intex-default-ambience sailfish-content-browser-intex sailfish-content-configuration-intex sailfish-content-gallery-configuration-intex sailfish-content-graphics-intex sailfish-content-graphics-intex-z1.25 sailfish-content-partnerspaces-intex-tutorial sailfish-content-profiled-settings-intex sailfish-content-tones-intex jolla-settings-system-storage-shortcut geoclue-provider-mlsdb-data-in harbour-apk-com.here.app.maps harbour-apk-com.aptoide.partners
  9. Remove additional non-standard stuff
    pkcon remove sailfish-content-graphics-default
  10. Install the standard Sailfish stuff
    pkcon install sailfish-content-ambiences-default sailfish-content-ambiences-default-default-ambience sailfish-content-apps-default-configs sailfish-content-browser-default sailfish-content-configuration-jolla sailfish-content-gallery-configuration-2k feature-jolla sailfish-utilities geoclue-provider-mlsdb-data-fi usb-moded-connection-sharing-android-config
  11. Flush any pending writes to storage (99.999% not needed, but better safe than sorry)
    sync
  12. Reboot
    shutdown -r now
  13. Keep fingers crossed => after 30 seconds or so my smartphone was back in a neutral state (e.g. no background image) and without Gaana :)

4) Additional external software & software repositories

IMPORTANT REMARKIt seems that before performing an OS upgrade, all the additional SW-repositories need to be disabled/uninstalled!
Please read this: https://jolla.zendesk.com/hc/en-us/articles/202398218-What-is-Open-Repos-

I cannot confirm nor deny this as I did not test it.

In any case here are some notes about external repos and examples how to install software.

  • mer-tools repository
    Here is a copy of what posted here:
    ============================
    4) programming languages are available and simple to install: gcc 4.6.4 (with gcc-c++, gcc-objc, gcc-objc++), perl 5.16.1 (already installed), ruby 1.9.3, tcl 8.5.8, tcl/tk 8.5.12 (with mer-tools repository), vala (0.16), etc. For example:

    4.a) Python 2.7.5 :
    $ pkcon install python

    4.b) C/C++ (gcc/g++ 4.6.4) :
    $ pkcon install gcc gcc-c++
    Yeah, you can compile C/C++ code and run .o objects at CLI. No Harmattan aegis limitations anymore

    5) additional softwares in mer-tools repository, e.g.: dosfstools, emacs, git, htop, less, mtools, parted, powertop, rsync, ruby 1.9.3, strace, sudo, tcl/tk 8.5.12, zsh.

    First enable the repository by entering root (with Developer Mode password) :
    $ devel-su
    # ssu ar mer-tools
    # ssu ur
    $ pkcon refresh
    Now you can install, for example:
    $ pkcon install htop less powertop

    htop creates an icon which doesn't work, but inside Terminal it is ok.

    6) OpenRepos.net via Warehouse client has many CLI softwares. NielDK published more than one hundred : apache, bash 4.3, cpufrequtils, imagemagick, lynx, mc (Midnight Commander), php, qemu, screen, wget, etc.
    ==========================
  • OpenRepos repository (warehouse)
    Please find here the instructions: http://www.jollatides.com/2014/01/08/tutorial-how-to-download-beta-apps-from-openrepos/

5) Small recap of commands

  • To swap/change/login to the "root" user when you're already logged in as the user "nemo":
    devel-su
  • To refresh the package repository:
    pkcon refresh
  • To list all the repositories that will be searched when you want to install a package:
    pkcon repo-list
  • To install a package:
    pkcon install [package name]
  • To remove a package:
    pkcon remove [package name]
  • To search for a package:
    pkcon search name python
  • To add an additional software repository:
    "ssu ar " (or "ssu addrepo ")
    "ssu ur" (or "ssu updaterepos")