Installing and uninstalling hybris mesa packages kills device

Right, so I have restored the missing two library files. Not terribly easy to do.

Prerequisites

  • a Linux machine
  • some storage space on that (about 8G)
  • root or sudo access to mount filesystem images
  • the simg2img tool, e.g. from https://github.com/anestisb/android-simg2img. There might be a android-tools package in your distribution which has that

Howto

  1. Download the SFOS install image from https://shop.jolla.com/. In my case, that was Sailfish_OS-Jolla-3.3.0.16-i4113-0.0.4.6.zip (for the Xperia 10 DualSIM). make sure to get the correct image for your device and SFOS version!
  2. Unzip the package
  3. inside, you find fimage.img001, which is an android-formatted filesystem image
  4. using the tool simg2img, convert it to a regular linux image: simg2img fimage.img001 fimage.img001.raw
  5. mount it somewhere: mount -oloop,ro fimage.img001.raw /mnt/image
  6. At the mounted location you will find Sailfish_OS-Jolla-3.3.0.16-i4113-0.0.4.6/root.img.gz, another filesystem image.
  7. uncompress and store the image somewhere: gunzip -c Sailfish_OS-Jolla-3.3.0.16-i4113-0.0.4.6/root.img.gz > /var/tmp/root.img
  8. unmount fimage.img001.raw
  9. mount the root image somewhere: mount it somewhere: mount -oloop,ro /var/tmp/root.img /mnt/image
  10. dig around the root fs in /mnt/image to find the missing files.
  11. Copy the files onto the broken device.
  12. Put them in the right place (/usr/lib) and run ldconfig
  13. Now applications should work again
  14. Reinstall the rpms to make sure ownerships etc are alright: pkcon install libhybris-lib{EGL,GLESv2}
3 Likes