• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

Is Lineage's adoptive storage a Link2SD rehash?

Search This thread

DrWu

Senior Member
Feb 10, 2015
106
3
Does LineageOS's adoptive storage run on Link2SD? I ask because I was looking to get around Lineage's habit of formatting the entire SD card for adoptive storage, so I thought to try to resize the partition using 'gparted' on a Linux box. gparted was unable because it doesn't recognize the partition's format, but more importantly it reports that the label for the partition is "link2sd." Why would it do that if Lineage hadn't name it that itself?

I am aware there is a method for partitioning using ADB and dedicating only a limited portion of the SD card to adoptive storage but as yet I haven't got that process to work. But what's the point beating myself up figuring that out if all I'm ending up with is link2sd, exactly as I have been with pre-adoptive storage Android phones.

So basically it comes down to this. Is adoptive storage simply a convenience so you don't have to install any 3rd-party storage manager apps, or does it have material advantages over the 3rd-party add-ons (in addition to the fact that it is 'native')?
 

hergen66

Senior Member
Aug 7, 2013
101
50
Berlin
Does LineageOS's adoptive storage run on Link2SD? I ask because I was looking to get around Lineage's habit of formatting the entire SD card for adoptive storage,
That's not a LineageOS habit, but original Android functionality as designed by Google. And no, it's not related in any way to Link2SD.

so I thought to try to resize the partition using 'gparted' on a Linux box. gparted was unable because it doesn't recognize the partition's format, but more importantly it reports that the label for the partition is "link2sd." Why would it do that if Lineage hadn't name it that itself?
The contents of the adoptive storage partition are encrypted. I doubt gparted is able to read a label from that, let alone apply changes to it.
Likely, the shown label is only a (wrong) guess based on the 1byte partition type code.

So basically it comes down to this. Is adoptive storage simply a convenience so you don't have to install any 3rd-party storage manager apps, or does it have material advantages over the 3rd-party add-ons (in addition to the fact that it is 'native')?
The idea behind adoptive storage is, that the SD card acts as a memory expansion for the internal storage. The user is not supposed to think about which data goes where. and is not allowed to ever remove the card without losing data.

If you want to put data explicitly in a certain space and/or want to use the card for data exchange with a PC, then adoptive storage is not made for you.
 
Last edited:
  • Like
Reactions: kurtn

DrWu

Senior Member
Feb 10, 2015
106
3
...If you want to put data explicitly in a certain space and/or want to use the card for data exchange with a PC, then adoptive storage is not made for you.
Thank you for clearing that up for me, hergen66.

The references I was referring to in the OP stated that it was possible to format an BD card for adoptive storage using ADB but splitting it into multiple partitions like so:

"adb shell sm partition disk:179,64 mixed 60"

I gather from what you're saying that this either is incorrect or outdated?
 

DrWu

Senior Member
Feb 10, 2015
106
3
Then again, maybe it can be done.

For reasons I have yet to determine, I still can't get my Nook connected to ADB via USB (which is why I didn't try this earlier). However, I have found I can get it to connect by TCP/IP. And I was able to split-partition the SD card through ADB (with 'ADB over network' enabled and 'USB configuration' set to MTP) with the one-liner I posted above. I created a 12gb "adoptable" partition (with it's companion 16mb metadata partition) and a 47gb "portable" storage partition. LineageOS recognizes them as adoptable storage and portable storage and they appear to be functioning accordingly.

Apparently all Lineage cares about to initiate adoptable storage is that the SD card has the two partitions it creates (metadata and encrypted storage) when it formats for adoptable storage. Whatever else is on the card doesn't seem to matter. The process of ADB formatting causes the OS to see the reformatted card as new and asks how you want it used. When I answered 'portable storage,' it apparently did nothing to alter the card but still mounted and recognized and accepted the 12gb partition as adoptable storage, while also accepting the 47gb patition as 'portable.'

To make sure it was operating as adoptable storage I installed 34 new apps and it definitely is writing to the adoptable partition on the external SD card. I don't have Link2SD or anything of the sort installed, this was all the LineageOS' doing:



So just for giggles I removed the SD card, stuck it in a Linux PC, used gparted to shrink the portable storage partition a bit, and added a fourth partition in the freed-up space, 256mb formatted in swap. Put it back in the Nook, selected portable storage (again) and Lineage remounted it as per usual, with adoptable storage still working. I did the 'mkswap/swapon' thing to activate the new swap slice so now I've also got "overflow" VM on the SD card.

2ekkttx.jpg


So now I've got adoptable storage, portable storage and swap space, all functional and coexisting on the same SD card. I only ever intend apps and data going to adoptable storage because I do most of my mods and management via Airdroid because it allows me the convenience of a PC's full size keyboard. So consequently it's also more convenient for me to add video, music and ebook files via USB connection to a PC (from Linux Nemo or Windows Explorer), which I couldn't have done if the entire SD card had been dedicated to adoptable storage. Which is why I couldn't/wouldn't stop picking at this until I'd found a solution. I don't know that I won't eventually switch to Link2SD anyway, but I like the idea of using a native app versus a 3rd-party add-on, so for the timebeing I'm test-driving the adoptable storage solution.
 
  • Like
Reactions: lapu

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    Does LineageOS's adoptive storage run on Link2SD? I ask because I was looking to get around Lineage's habit of formatting the entire SD card for adoptive storage,
    That's not a LineageOS habit, but original Android functionality as designed by Google. And no, it's not related in any way to Link2SD.

    so I thought to try to resize the partition using 'gparted' on a Linux box. gparted was unable because it doesn't recognize the partition's format, but more importantly it reports that the label for the partition is "link2sd." Why would it do that if Lineage hadn't name it that itself?
    The contents of the adoptive storage partition are encrypted. I doubt gparted is able to read a label from that, let alone apply changes to it.
    Likely, the shown label is only a (wrong) guess based on the 1byte partition type code.

    So basically it comes down to this. Is adoptive storage simply a convenience so you don't have to install any 3rd-party storage manager apps, or does it have material advantages over the 3rd-party add-ons (in addition to the fact that it is 'native')?
    The idea behind adoptive storage is, that the SD card acts as a memory expansion for the internal storage. The user is not supposed to think about which data goes where. and is not allowed to ever remove the card without losing data.

    If you want to put data explicitly in a certain space and/or want to use the card for data exchange with a PC, then adoptive storage is not made for you.
    1
    Then again, maybe it can be done.

    For reasons I have yet to determine, I still can't get my Nook connected to ADB via USB (which is why I didn't try this earlier). However, I have found I can get it to connect by TCP/IP. And I was able to split-partition the SD card through ADB (with 'ADB over network' enabled and 'USB configuration' set to MTP) with the one-liner I posted above. I created a 12gb "adoptable" partition (with it's companion 16mb metadata partition) and a 47gb "portable" storage partition. LineageOS recognizes them as adoptable storage and portable storage and they appear to be functioning accordingly.

    Apparently all Lineage cares about to initiate adoptable storage is that the SD card has the two partitions it creates (metadata and encrypted storage) when it formats for adoptable storage. Whatever else is on the card doesn't seem to matter. The process of ADB formatting causes the OS to see the reformatted card as new and asks how you want it used. When I answered 'portable storage,' it apparently did nothing to alter the card but still mounted and recognized and accepted the 12gb partition as adoptable storage, while also accepting the 47gb patition as 'portable.'

    To make sure it was operating as adoptable storage I installed 34 new apps and it definitely is writing to the adoptable partition on the external SD card. I don't have Link2SD or anything of the sort installed, this was all the LineageOS' doing:



    So just for giggles I removed the SD card, stuck it in a Linux PC, used gparted to shrink the portable storage partition a bit, and added a fourth partition in the freed-up space, 256mb formatted in swap. Put it back in the Nook, selected portable storage (again) and Lineage remounted it as per usual, with adoptable storage still working. I did the 'mkswap/swapon' thing to activate the new swap slice so now I've also got "overflow" VM on the SD card.

    2ekkttx.jpg


    So now I've got adoptable storage, portable storage and swap space, all functional and coexisting on the same SD card. I only ever intend apps and data going to adoptable storage because I do most of my mods and management via Airdroid because it allows me the convenience of a PC's full size keyboard. So consequently it's also more convenient for me to add video, music and ebook files via USB connection to a PC (from Linux Nemo or Windows Explorer), which I couldn't have done if the entire SD card had been dedicated to adoptable storage. Which is why I couldn't/wouldn't stop picking at this until I'd found a solution. I don't know that I won't eventually switch to Link2SD anyway, but I like the idea of using a native app versus a 3rd-party add-on, so for the timebeing I'm test-driving the adoptable storage solution.