Remove UMS partition
The stock ROM of Samsung Galaxy S II (i9100) does include an UMS (USB Mass Storage) partition. The device was first delivered with Android 2.3 when emulated storage (
/data/media) did not exist. So it had an internal partition that behaved like a non-removable portable storage and similar to a SD card.
Android 3.0 introduced emulated storage that has many advantages, for example a proper file system, encryption and multi-user support. So starting with Android 3.0 the
UMS partition is not needed anymore and the
DATAFS partition can be used as emulated storage.
Grim Kriegor provided a patch and PIT file that shrink the UMS partition to a minimum, remove its
fstab entry and set
0 and thus enable emulated storage.
If Replicant requires the device to repartitioned and removes the
UMS partition, it will break compatibility with the stock ROM, requires the user to backup their data and complicates the installation. However, the partition layout that came with the stock ROM of the device that I have requires the partition layout to be changed anyhow because
FACTORYFS partition is too small. So I think it makes sense to provide a PIT file to repartition the device.
So I think the following changes are required:
- provide a PIT to enlarge the
DATAFSpartitions and shrink or disable the
- update the installation instructions to include a download link to the PIT file and an additional command line switch to
- change the
fstabto remove the
Updated by Matthias-Christian Ott over 2 years ago
I also tried to use the
UMS partition as adoptable storage but LineageOS did correctly remove the
encryptable=userdata option from the
fstab because otherwise the entire eMMC is made unusable because the disk that contains the storage partition is repartitioned with a GPT partition table when storage is adopted. The review of LineageOS change 36272 explains this in more detail.
Updated by Kurtis Hanna over 1 year ago
Matthias-Christian, is Grim Kriegor's patch and PIT file still needed if you use the new Replicant images for the i9100 here? https://jenkins.minhas.io/nightly_builds/replicant/6.0-dev/i9100/
Or has the LineageOS change that you posted included in the new Replicant 6 i9100 images?