> We are also announcing this week an “/e/ easy installer” that will make the flashing process much more easier, by pluging the smartphone to a PC and launching a dedicated application that will make most of the job.
Why do phones require device-specific builds and ROM flashing just to install a different OS? Why isn't there a phone out there with a normal boot loader that allows me to install whatever OS I want like I can on a PC?
I have a perfectly good phone, but I know I'm going to have to buy a new one eventually just because the manufacturer will stop supporting the hardware. Meanwhile, I have decades-old PCs that are running just fine.
Privacy is important. Removing Google from the picture is great. But I don't see this, LineageOS, or anything else taking off until we have a more accessible solution for installing mobile operating systems. An application that streamlines the flashing process is nice, but I don't think that's enough.
> Why do phones require device-specific builds and ROM flashing just to install a different OS? Why isn't there a phone out there with a normal boot loader that allows me to install whatever OS I want like I can on a PC?
A few reasons:
1. Proprietary drivers are the norm for mobile devices, whereas (with a few exceptions) this is not the case for desktops/laptops.
2. Even when the drivers are free, standard practice among device manufacturers seems to be forking the kernel for each device and working off that fork. These things don’t and can’t run on mainline Linux/Android.
See the Librem 5 and PinePhone for what are probably the only two devices attempting to fix the above problems. And even if you fixed those:
3. ARM devices typically don’t have the same device enumeration capabilities as x86 PCs, meaning you need a separate device tree for each one. I believe there are also efforts underway to improve this situation, but that’s where we are at the moment.
The separate device tree (#3) is not as big an issue as the first ones. If you are making a Linux kernel for an ARM device, you will have to make a device tree, and it should not change once written.
That’s true, it’s less of an issue than the others, but it’s still a per-device difference that the kernel needs to know about before you bring the system online. If you’re trying to make an installer that’ll run on any ARM device like those on x86, that’s a problem - how does the installation image know what device tree to use?
The device tree is part of the solution, not part of the problem. The reason PCs are able to handle this is that the really gnarly stuff (pincfg, gpios, I2C, SPI, random power management), is handled by per board tables in ACPI, and device tree handles the same niche.
The problem is that the device trees are half assed since they run against a hacked up kernel, not that they exist in the first place.
Ah, interesting. I think I have some reading to do; there clearly are multiplatform images out there now (Debian for example https://wiki.debian.org/DebianKernel/ARMMP) so my understanding of the situation was somewhat mistaken.
If I remember when I did it for the Novena, you had to include that specific dtb file for the install. That does make it a pain, as you are correct, the installation image is board/chip specific
It does on Linux, where there's no stable ABI for drivers to use, right? Yes, that's a design decision on Linux's part, but it's one that seems to be working out just fine for PCs.
But that's less than 10% of the market. The rest doesn't have those problems either, despite having almost entirely proprietary drivers. Therefore it's not the propreitary drivers that are the issue.
Given the set of design decisions Linux has made, and assuming the Linux driver development model isn't going to change to accommodate manufacturers that want to keep their source to themselves, the proprietary drivers are part of the issue here. (The other part is manufacturers not working with the Linux community on upstreaming their drivers, even when there are free drivers.)
Yes, a stable interface is another potential solution. It's unlikely to happen[0], but it would solve the issue.
The problem's not the bootloader (pretty much all Android kernels use the same bootloader format), it's that the hardware introspectable by software, and the device tree passed in to make up for that isn't designed to be used by anybody other than the OEM in the first place.
It's like the days of when Linux didnt support ACPI well, but now everything is behind ACPI tables instead of PCI config space.
acpi would be a blessing, the norm for ARM SoCs is absolutely no enumerablity whatsoever, just devices hanging off a random address in memory somewhere.
I downvoted your comment because it lacked substance, invited a flame war (whether or not it was intended), and ended with an idiom I associate with low quality discourse.
> And reasons that Google/Apple want you locked to their operating system, their hardware.
Well, do they not? Locking you to their product, forcing you to use their product for their own gain.
Apple won't even let you repair your phone unless you go via their own dealers.
You could call communism, but there isn't any communism element to it. It's all capitalism to answer OP's question to "Why can't I install any operating system" because you can, there is nothing stopping you apart from the companies that control the product.
Capitalism + IP Protectionist policy would be more apt a description. But this isn't any more or less capitalism than say Capitalism + Social welfare programs are Marxism or Socialism.
Personally, I'm hoping that some states grow a pair and actually pass meaningful right to repair legislation, then a lot of things will tumble. There are plenty of Libertarian and Capitalist supporters who do not like the corporatist status quo. That doesn't mean that Capitalism itself is the issue.
If it weren't for IP protections, there would be more interoperability most likely, or better service/support. Sharing communication breaks, and offering run-alike chip and interface replacements would be less of an issue. Not to mention, it's Corporatist IP protections that keep out competitive upstarts.
Also, Apple happens to make most of their devices in a Communist country, so how does that stand?
> we replace with a software layout called microG that can still receive push notifications and have geolocation data for apps (using Mozilla geolocation service)
It's good that they set up microG for you; that's one of the hurdles with using Lineage this way.
I'm very curious about their Maps app. That was one of the very biggest problems when I tried to use Google-free Android a couple years ago. The open-source options at the time were bad. If they've made a decent alternative, that would truly be a game-changer.
One other random thought: the name "/e/" is terrible. Hard to search for, hard to meaningfully verbalize, hard to interpret.
Some osm apps have good navigation, but they don't have the same data, e.g. on traffic. 'Here' isn't bad. And in doubt there's always Google maps by browser.
OSMAnd was what I used, and it was horrendous. The actual data was okay (I didn't expect it to be on-par), but the user experience was just really bad. Barely usable.
Haven't heard of "Here". I did end up using Google Maps in the browser sometimes, although it felt like a compromise (and obviously didn't have a stellar user-experience itself).
As other user replied and to extend it, /e/ is a rebranded LineageOS with microG integrated plus some small commits.
Also, it uses a Nextcloud fork which isn't even open source as a replacement for Google cloud service, and same as another reply, why trust /e/ over Google?
As that it's mostly stolen work in some sorts(Earn money with OSS devs effort? Seriously what a disgrace.), instead, please support LineageOS for microG[1]
Binary blobs dont have trackers and snoops? Phones have FPGA and need binary blobs. Certified RF segments for regulatory permitted operation in the mobile telephony world.
Why do phones require device-specific builds and ROM flashing just to install a different OS? Why isn't there a phone out there with a normal boot loader that allows me to install whatever OS I want like I can on a PC?
I have a perfectly good phone, but I know I'm going to have to buy a new one eventually just because the manufacturer will stop supporting the hardware. Meanwhile, I have decades-old PCs that are running just fine.
Privacy is important. Removing Google from the picture is great. But I don't see this, LineageOS, or anything else taking off until we have a more accessible solution for installing mobile operating systems. An application that streamlines the flashing process is nice, but I don't think that's enough.