Persistent or zero-copy (2D) texture (storage) mapping?

I want to create some texture (storage) that can be persistent or zero-copy mapped, and preferably accessed as normal 2D textures.

On Android, GraphicBuffer + eglCreateImage is zero-copy. And at least on some platforms, it is persistent.

How to get it on core GL?
Buffer Texture is 1D and thus does not fit my needs.