In the place where I live (Central America) it’s very difficult to find phone models compatible with /e/ list. Actually, I finally found one after several days of lookup in second-hand stores. So I came with 2 simple questions:
if when I want to install linux on my computer there’s just one file to download, that works for all possible models (for example “ubuntu-64bit.iso”), why there a different ROM for each device? what makes mobiles different from computers?
what is needed to create a ROM for a model that is not on the list?
Have a look on the size of img files of a linux distro and on a android rom. A distro has hundreds of different hardware driver included so it could work on different devices. A android rom has only the device specific hardware drivers included.
Ubuntu is also known for including many non-free/libre drivers to make installs easier, and make users more blissful (or ignorant). Most mobiles have much less storage than PCs, and more limited download bandwidth (and higher cost if on cell network).
Yepp, that’s it. If you build a rom, you need to have the device specific sources (device tree, vendor tree, kernel).
All other sources are general, for all devices the same.