Week 3, 2025: Development and Testing Updates

Summary of weekly development and testing activities by /e/OS developers and volunteers. Updated content has the :new: emoji.

:warning: Server outage :warning:

Current status:

As you may be aware Murena Workspace and associated services have been impacted by an outage since Oct 6 19:50 CET.
This is the current status.

  • Email: Working. Also accessible through desktop clients like Thunderbird and webmail. (To configure a desktop client you can use this guide)

  • Murena cloud: a subset of services : Contacts,Calendar,Tasks,Email,Deck,Bookmarks,Gitlab,Spot,Murena website link, Donate, Passwords, News are available for users at present.

  • OTA device build download: Downloads are working now.

    • Devices which got the last build on Pie, Q or R may be missing builds. We will try to add these builds at a date to be shared later.
  • File /drive access

    • Current plan is to access data from all shards or sections, copy it to a clean system and replug Murena.io
    • Still issues exist in 1/3 of the backups. For the 2/3 we have put in place a system to offer users to download their data. Download status for the 1/3 is around 30% and ongoing.
    • Emails being sent out to premium users from the 2/3 with links to download the data.
      • Password to access download link as well as unzip it shows up in the passwords app.
      • We have received confirmations from some of the users who were able to retrieve their data.
      • Some who have only received part of the data will have to wait for the restoration of the file system. Once that is accomplished users would be able to see all their files.
        -The entire process of sending emails to all users premium and free will take a couple of weeks. As we have a large number of free users .
  • We are working on a plan to compensate paying users whose cloud services were impacted by the outage. We will share more details through our newsletter, this forum and channels. Those who received any notification about recharges can fill up the form for the helpdesk team here with issue details

Read GaĆ«lā€™s explanation and updates for the outage

Release

v2.7

Status: Release to be initiated :new:

ETA: 13 Jan to 20 Jan - staggered release

Release notes will show up here once the release process starts.

User feedback and voting

Upcoming releases

Ongoing development tasks
  • /e/OS GSI on T or Android 13. The team is working to see if GSI can be made available OTA. An app to detect what works and what does not work with the GSI is also in the works. ETA for release will be shared

 

Previous 5 releases & user feedback

:warning: Do not post test build information on the forum :warning:

  • Please do not post information or links to /e/OS test builds on the forum.

  • These builds are as yet untested and under development and may in some cases cause user devices to soft brick.

  • Such information can confuse other users who do not see these builds in the updater.

  • Remember not all users who come to this forum are experts in installing and formatting custom ROMs and can end up seriously damaging their devices by trying out these test builds

  • If you are genuinely interested in helping with the testing activities and also understand how to fix and do some minor level of testing on custom ROMS, you are welcome to join the testing team

  • As part of the testing team you can share your comments on the dedicated testing telegram channel.

 

Helpdesk services - Exclusively for paying Murena customers

:point_right: Murena helpdesk services will be exclusively for

  • Customers who purchased Murena devices
  • Paid for a Murena cloud account
  • Active donors from past year

Paying customers can write in here with issue details

:point_right: Users who use the /e/OS or Murena cloud for free will have the following modes for issue resolution:

Free services users will also get assistance on this forum for issues such as:

  • Gitlab Account opening related issues
  • Murena Workflow / cloud account issues

:warning: Please note, the old helpdesk emails IDā€™s are not monitored any more :warning:

Murena Cloud and Self hosting

:star: Murena cloud current version : 28.0.9.6

:star: Self Hosting current version v 26.0.8.23

  • Release notes

  • Check this guide for help with the upgrade
    :point_right: Next release - team to plan this development activity. ETAā€™s will be shared.

How to check the NextCloud version click here

You can find the complete documentation and current NC version under Login ā€“ Murena >> NextCloud xx user documentation. The xx should show the latest version.

  • Another way to check the current version is to check the NextCloud scan link and input https://murena.io this should display the current version number as well as the security level.

:information_source: Please note if MurenaCloud patch number is not the same as the NC patch number, the rating would show up as bad \U0001f610 This is not exactly a problem. We do not immediately jump to the next NC patch as soon as it is released. We first test it and then set out with the deployment.

GSI

  • Current GSI version is on /e/OS Q and v1.17

  • Download available here

  • Sources available here

:point_right: GSI OS version will next move to T or A13 skipping the R and S . Team is working on /e/OS T GSI. Will share release dates once available

 

OS OTA Related information

Completed
  • Fairphone: FP4 : S (A12) to T (A13)

  • Samsung: S9/9+ : R(A11) to S(A12)

  • Gigaset: GS290 : Q (A10) to A 11 (R)

  • Oneplus: avicii : A12

  • OnePlus : avicii : Q ( A10) R (A11)

  • Fairphone: FP4 : R ( A11) to S (A12)

  • Fairphone:FP3 : R (A11) to S (A12)

  • Fairphone:FP3 : Q (A10) to R (A11)

  • Samsung: s7 / s7+ : Nougat (A7) to Q (A10)

  • Samsung: s9 / s9+ : Oreo (A8) to Q (A10)

  • Samsung: Galaxy S9/9+ : Q (A10) to R(A11)

  • Samsung: s8 / s8+ : Pie (A9) to R (A11)

  • Teracube: 2e / zirconia: Q (A10) to R (A11)

  • Teracube: emerald & zirconia : R (A11) to S (A12)

  • Samsung: S7 ā€˜herolteā€™ ā€˜hero2lteā€™: Q ( A10) to R (A11)

  • Google Pixel ā€˜redfinā€™: S(A12) to T(A13)

  • Gigaset: GS290: R(A11) to S (A12)

  • Fairphone: FP3 : S (A12) to T (A13)

  • Samsung: S7/7+ : R(A11) to S(A12)

  • FP4: T (A13) to U (A14) :new:

  • S8/8+ R (A11) to S (A12) :new:

:information_source: All OTA OS upgrades are on stable or official builds

Testing
Our definition of an OS OTA upgrade

Usually for /e/OS ROMs to upgrade the OS you have to do the following

  • If available download the correct OS build from the supported device list

  • For some devices you also need to download the stock ROM from the vendor site.

  • Take a back up of your data

  • First install the Stock ROM

  • Next install the /e/OS ROM. Here you can take help of the install guides available on our documentation site.

  • If required apply the backups you downloaded before starting the whole process

An alternate to this tedious process is where we offer the user the option to upgrade the OS OTA. This option is available for stable device builds only.

This process is easy for the user but requires a lot of development and testing effort.

Different /e/OS build types

 

Misc information

Read Gael 's roadmap for 2024

Device and Vendor specific Announcements

Gigaset GS290

  • We have stopped the sales of the Gigaset GS290 on the eSolutionsShop as the vendor has stopped production of the device. We will continue support for existing users.

:loudspeaker: Message being shared on the request of our vendor partners

  • Vendors whose phones we sell on our eSolutions Store do not directly sell /e/OS flashed devices.

  • The vendors only sell their devices with their own stock ROM.

  • To get pre flashed /e/OS phones, you have to purchase them from the eSolutions Shop.

/e/OS Pre flashed device sales

  • We sell directly in EU, US, Canada and Australia

  • Find details of what devices are available in which countries here Murena Shop.

/e/OS website and social media Links and Support

:point_right: Murena helpdesk services will be exclusively for

  • Customers who purchased Murena devices
  • Paid for a Murena cloud account
  • Active donors from past year

Paying customers can write in here with issue details

:point_right: Users who use the /e/OS or Murena cloud for free will have the following modes for issue resolution:

Free services users will also get assistance on this forum for issues such as:

  • Gitlab Account opening related issues
  • Murena Workflow / cloud account issues

Websites

Telegram Channel

Social Media

Newsletters

Regain your privacy! Adopt /e/OS the deGoogled mobile OS and online servicesphone

13 Likes

Some user with FP3 devices have reported an issue with the vbmeta.img file being missing. The issue is the /e/OS FP3 u build fetches its device files from the lineage site and the vbmeta is missing upstream.

While we will raise an issue upstream to add this file in the build, as a temporary method of flashing through the script, users who want to run the v2.6.3 can try replacing the script in the v2.6.3 u FP3 community build with this script created by our developer.

Please note this is a temporary fix. We expect to get the vbmeta file included in the v2.7 build. In this script the firmware parts are all commented out. Not a perfect solution but as I mentioned it is a temporary fix while we work in getting it fixed upstream.

Steps if you want to use a script to flash the fp3 u build that came with v2.6.3

  • Copy the text that shows up in the section below
  • Paste it to a file and rename it flash_FP3_factory.sh
  • Replace it in the u build you downloaded from the images server
  • Execute it as you would execute the normal script
Copy the code from here
#!/usr/bin/env bash

##########
# This script is created and maintained by
#       Bharath(@teamb58).org
# Feel free to connect for any queries or suggestions.
##########

##########
# This script flashes a software release and complete wipes the device.
#
# The script wipes both user data and the Google factory reset protection
# information. It will unlock the phone, delete the data, and re-lock it.
##########

set -e
set -u

CLEAN_FLASH="true" # Control data wipe behavior. Default is "true".

# Target device info
PRODUCT="Fairphone 3"
PRODUCT_ID="FP3"

# Paths/files
ROOT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
IMAGES_DIR="${ROOT_DIR}"

# Abort the script (and wait for a key to be pressed).
abort_now() {
  echo ""
  read -rp "ERROR: Aborting now (press Enter to terminate)." a
  exit 1
}

# Check for connected phone
find_device() {
  echo "INFO: Looking for connected device(s)..."
  DEVICE_FOUND="false"
  while [ ${DEVICE_FOUND} = "false" ]
  do
    serial_numbers=

    for sn in $("${FASTBOOT_BIN}" devices | grep fastboot | grep -oE '^[[:alnum:]]+')
    do
      # Checking the product ID
      PRODUCT_STRING=$("${FASTBOOT_BIN}" -s "${sn}" getvar product 2>&1)
      # Add serial, if product matches
      if [[ ${PRODUCT_STRING} == *"${PRODUCT_ID}"* ]] || [[ ${PRODUCT_STRING} == *"${PRODUCT_ID_OLD}"* ]]
      then
        serial_numbers="${serial_numbers} $sn"
      fi
    done

    case $(echo "${serial_numbers}" | wc -w | grep -oE '[0-9]+') in
      0)
        echo ""
        echo "WARNING: No ${PRODUCT} found in fastboot mode."
        echo "WARNING: Make sure that a ${PRODUCT} is connected."
        ;;
      1)
          echo "INFO: One ${PRODUCT} in fastboot mode found (serial number: ${sn})."

        DEVICE_FOUND="true"
        break
        ;;
      *)
        echo ""
        echo "WARNING: Several ${PRODUCT}'s in fastboot mode connected."
        echo "WARNING: Please connect only one ${PRODUCT}."
        ;;
    esac

    echo ""
    while true
    do
      read -rp "Do you want to look for a ${PRODUCT} again? [(Y)es/(n)o]: " a
      if [ -z "${a}" ] || [ "${a}" = 'y' ] || [ "${a}" = 'Y' ]
      then
        break
      elif [ "${a}" = 'n' ] || [ "${a}" = 'N' ]
      then
        exit 0
      fi
    done
  done
}

# Flash (or manipulate) relevant partitions
flash_device() {

#  flash_image_ab_or_abort "${sn}" modem "${IMAGES_DIR}/modem.img"
#  flash_image_ab_or_abort "${sn}" sbl1 "${IMAGES_DIR}/sbl1.img"
#  flash_image_ab_or_abort "${sn}" rpm "${IMAGES_DIR}/rpm.img"
#  flash_image_ab_or_abort "${sn}" tz "${IMAGES_DIR}/tz.img"
#  flash_image_ab_or_abort "${sn}" devcfg "${IMAGES_DIR}/devcfg.img"
#  flash_image_ab_or_abort "${sn}" dsp "${IMAGES_DIR}/dsp.img"
#  flash_image_ab_or_abort "${sn}" aboot "${IMAGES_DIR}/aboot.img"

  flash_image_ab_or_abort "${sn}" boot "${IMAGES_DIR}/boot.img"
  flash_image_ab_or_abort "${sn}" dtbo "${IMAGES_DIR}/dtbo.img"
  flash_image_ab_or_abort "${sn}" system "${IMAGES_DIR}/system.img"
  flash_image_ab_or_abort "${sn}" vbmeta "${IMAGES_DIR}/vbmeta.img"
  flash_image_ab_or_abort "${sn}" vendor "${IMAGES_DIR}/vendor.img"
#  flash_image_ab_or_abort "${sn}" mdtp "${IMAGES_DIR}/mdtp.img"
#  flash_image_ab_or_abort "${sn}" lksecapp "${IMAGES_DIR}/lksecapp.img"
#  flash_image_ab_or_abort "${sn}" cmnlib "${IMAGES_DIR}/cmnlib.img"
#  flash_image_ab_or_abort "${sn}" cmnlib64 "${IMAGES_DIR}/cmnlib64.img"
#  flash_image_ab_or_abort "${sn}" keymaster "${IMAGES_DIR}/keymaster.img"


  if [ "${CLEAN_FLASH}" = "true" ]
  then
    flash_image_or_abort "${sn}" userdata "${IMAGES_DIR}/userdata.img"
  fi

  "$FASTBOOT_BIN" -s "${sn}" --set-active=a

  echo "INFO: Locking bootloader"
  "${FASTBOOT_BIN}" -s "${sn}" oem lock
  echo
  echo "****** READ CAREFULLY ******"
  echo ""
  echo "INFO: The device is waiting for you to lock the bootloader."
  echo "      You can do so on the device itself. Use the volume buttons"
  echo "      to choose the correct option, then the power button to select."
  echo "      The device will then reboot."
  read -rp "      Press any key to close this script." a
  exit 0

}

# Flash an image to a partition. Abort on failure.
# Arguments: <device serial number> <partition name> <image file>
flash_image_or_abort() {
  local retval=0
  "$FASTBOOT_BIN" -s "${1}" flash "${2}" "${3}" || retval=$?

  if [ "${retval}" -ne 0 ]
  then
    echo ""
    echo "ERROR: Could not flash the ${2} partition on device ${1}."
    echo ""
    echo "ERROR: Please unplug the phone, take the battery out, boot the device into"
    echo "ERROR: fastboot mode, and start this script again."
    echo "ERROR: (To get to fastboot mode, press Volume-Down and plug in the USB-C)"
    echo "ERROR: (cable until the fastboot menu appears.)"
    abort_now
  fi
}

# Flash an image to both A and B slot of partition. Abort on failure.
# Arguments: <device serial number> <partition name without slot> <image file>
flash_image_ab_or_abort() {
  flash_image_or_abort "${1}" "${2}_a" "${3}"
  flash_image_or_abort "${1}" "${2}_b" "${3}"
}

# Operating system checks and variable definition
os_checks() {
  case "$(uname -s 2> /dev/null)" in
    Linux|GNU/Linux)
      echo "INFO: You are using a Linux distribution."
      FASTBOOT_BIN="${ROOT_DIR}/bin-linux-x86/fastboot"
      ;;
    msys|MINGW*)
      echo "INFO: You are using MinGW on Windows"
      FASTBOOT_BIN="${ROOT_DIR}/bin-msys/fastboot.exe"
      ;;
    *)
      echo "ERROR: Unsupported operating system (${OSTYPE})."
      echo "ERROR: Only GNU/Linux, and MinGW on Windows are currently supported."
      abort_now
      ;;
  esac
}

# Warn about data wipe, and ask for confirmation
data_wipe_check() {
  if [ "${CLEAN_FLASH}" = "true" ]
  then
    echo ""
    echo "WARNING: Flashing this image wipes all user data and settings on the phone."
    echo " Are you sure you want to wipe data and continue?"
    echo ""
    # Read user's input
    read -rp " Type \"Yes\" (case sensitive) and press enter to wipe data and continue. Else, just press enter: " a
    echo ""
    if [ "_${a:-"No"}" != '_Yes' ]
      # NOTE: $a is being set by the read command above,
      #   so the check for a to be set is mostly redundant
    then
         echo "WARNING: You DID NOT type \"Yes\", proceeding without data wipe."
         echo ""
         CLEAN_FLASH="false"
    else
         echo "WARNING: You typed \"Yes\", proceeding with data wipe."
         CLEAN_FLASH="true"
    fi
  fi
}

echo ""
echo "*** ${PRODUCT} flashing script ***"
echo ""
echo "INFO: The procedure will start soon. Please wait..."
echo "Note that this will detect and flash only on FP3 or FP3+ devices."
sleep 2

# Begin with some OS checks and variable definition
os_checks

# Call function to look for device(s)
# If only one device is found $sn will store its serial number
find_device

# Call function to look for data wipe check
data_wipe_check

# Flash the device
flash_device
4 Likes

Could the whole script code please be preformatted in the section :wink: ?

okā€¦ Added it to a code section . Pl check if it is ok now.

2 Likes

Looking good now :+1: . Thank you.

Is there any info about the approximate ETA of U Official for FP3 and FP5? I couldnā€™t help but notice that there is not a single device in the ā€œTestingā€ segment of ā€œOS OTA Related Informationā€.

8 Likes

Hello, I just saw that you have released version 2.7, will the processors of oneplus nord have access to this update ?

Not yet. The official builds are usually OTA OS upgrade builds and require more time and development effort. We have released the community /e/OS U builds for the U builds. We will share details when the official U builds would be available.

5 Likes

by experience it could take months, so i am currently collecting builds archives from users :