Hacker News new | past | comments | ask | show | jobs | submit login

> underneath it runs a crusty old 2017 kernel full of holes of different sizes

> LineageOS and other projects can’t fix things in kernels they can’t compile

I think that you're wrong on this, that is unless you decided to use term "kernel" above too liberally, referring to all software running on a device. AFAIK, alternative Android images, such as LineageOS, include relevant - and quite up-to-date! - AOSP common kernels (aka Android common kernels or ACKs; https://source.android.com/devices/architecture/kernel/andro...), which are open source, plus some manufacturer-specific proprietary binary drivers and firmware (though there exist a related, but slowly-moving, project Replicant focused on creating and maintaining a fully open, i.e., kernel + drivers + firmware, Android distribution: https://replicant.us).




No, I’m talking about the Linux kernel. You can check this for yourself. Take a look at the roms distributed on LineageOS as the example project and see if they include kernels that are up to date in any way. For older phones outside of vendor support, those kernels will always be out of date.

Some diligent LineageOS projects are known to incorporate some open source kernel fixes sometimes, or grab newer blobs from other phones from other devices. But there’s only so much to they can do. In general, it’s true to say that older devices with community Android support are not completely up to date - the kernels are old, and vendor drivers are not getting updated. Outside of making big usability concessions in projects like Replicant, the community can’t do much here.


Good points. Though I'm a bit confused by your reply. Are you saying that LineageOS folks do not always or, at least, mostly use the latest AOSP common kernels for their relevant ROMs (as opposed to "some open source kernel fixes")?


I don’t know. I’m saying that custom rom use kernels that make your phone work. In the best case that involves shipping 1) the driver and firmware blobs the vendor provided while supporting the phone and 2) a kernel that is binary compatible with those blobs. Because of how Linux works, in the best case (2) is an old kernel of the same major version as the vendor shipped with the phone, with maybe some security fixes that made it into the mainline kernel or in the Android kernel. But if your stock rom has security bugs in e.g. the wifi driver, graphics driver of baseband firmware, your custom rom has those exact same bugs. Even if the custom rom is years newer than the latest vendor update.


Understood, thank you for clarifying.


Just ran across this relevant nice little article, which I found quite interesting: https://arstechnica.com/gadgets/2021/09/android-to-take-an-u.... I hope that people who interacted with me in this sub-thread (and other folks here) will enjoy reading it as well.


So would you please help me to find an ROM with an up-to-date Android Common Kernel for my i9300 Samsung Galaxy S3?

AFAIK, the only way to run it with working drivers for all hardware components, are ROMs which use the rusty 3.0.101 Linux kernel from back in the day and I think that is what DCKing is referring to. If you want to create a new ROM, you either have to use the old kernel and have an upper Limit of Android 7.x (in this case) or you have to accept, that not all components are supported (e.g. no GPS).

I would be glad if the situation would be different. Maybe it is different for phones you buy today?


Obviously, not all devices have up-to-date kernels. It depends on whether they are supported by relevant Android distributions. That's why I used the phrase "quite up-to-date" instead of just "up-to-date". Unfortunately for you, LineageOS has stopped supporting i9300 Samsung Galaxy S3 with the latest official release being 14.1, which is based on Nougat (Android 7.1.2).

Having said that, I ran across the following post that describes successful installation of LineageOS 18.1 (Android 11) ROM on Samsung Galaxy S3 i9300: https://devsjournal.com/install-lineage-os-in-galaxy-s3-i930.... This is just FYI. So, if you understand relevant risks and feel adventurous, you can try to install it on your device. Disclaimer: I'm neither affiliated with the author of the post, nor responsible for any damage that might be associated with following the advice contained in the above-linked post.


Thank you for looking up that ROM, as I might want to try it out. However, you are also proving my point, even that ROM with Android 11 is still running the old 3.0.101 Linux kernel. You can see it in the video at the last row:

https://youtu.be/K_i29pczfRA?t=10

So congratulations to the guy who made it possible to run Android 11 with that ancient Linux kernel, even when Android officially doesn't support it. And to illustrate what I mean by ancient: Linux 3.0 was released in 2011 and got support updates until 2013 [1]. So even when CyanogenMod/LineageOS supported the Samsung Galaxy S3 the included Linux kernels were old as crap. You can't blame them for it, as they had little choice given that a few crucial drivers are not open source and included in the upstream Linux kernel.

I just wonder if anything has changed for modern devices?

[1]: https://en.wikipedia.org/wiki/Linux_kernel_version_history


You're welcome and good luck!


https://forum.xda-developers.com/t/kernel-7-x-i9300-hybrid.3...

backported 4.2, which includes some of the 4.3 changes as well. supports lineage. 4.1 is a version google supports till 2024, so I'm assuming 4.2/4.3 is going to be even later. So, you got a phone from 2011 that's going to run a modern kernel and latest android till after 2024.

> And to illustrate what I mean by ancient

yes. I would love to see an iphone from 2011 that's going to be running the latest ios and apple kernel after 2024.


Given that the kernel still identifies as 3.0.101, my guess is that they just backported some features from 4.x and applied them to the ancient kernel ;-) I am not so sure that qualifies as a 4.1 in terms of Android support.

I think the discussion about which devices live longer is simple to answer: Apple (iPhone) and Google (Nexus/Pixel) do probably the best job of supporting their devices for a while from a manufacturers point of view (in comparison to Samsung, Xiaomi, LG, Huawei, Sony, etc.). However, if you want to spend some time and flash alternative ROMs yourself you are better off with Android due to the large modder community, but it also depends a bit on the device you bought.

My biggest issue on the other hand, is that if the manufacturers would also open source the drivers, they could be included in the Linux kernel and we would not have this discussions, because one could simply use an up-to-date kernel as you can with every PC.


And how does the kernel affect you in any way. Most of the internet runs on old kernels because servers user long term stable kernels anyway. If they ux is good the kernel shouldn't be a problem to you


There are three dimensions:

1. UX: most of the time kernel updates don't affect the user experience. However, from time to time there are scheduler updates which can have positive effects.

2. Security: Being able to run the kernel with the latest security updates is evidently very important to have a system that is not vulnerable to newly discovered exploits.

3. Dependencies: As discussed already, some software components like the Android itself requires certain kernel features and therefore certain versions to let you run the latest versions of the software.

Btw. even LTS kernels are just supported for six years or so.

My biggest problem with the situation is, that 99% of the software is open source (Android incl. the Linux kernel) and just a few vendor-specific drivers make it very hard to upgrade the kernel and therefore the system.


Interesting information, good to know.


It is different for phones made by the people who also make Android. Google. Which is why I was specifically talking about the pixel and the nexus phones sold by google. For example, kernel version 4.9.3 - the latest one (yes, originally released in november of 2017) supports up to the latest Android. In fact, since 4.1 supports the latest Android, and will till June 2024 according to google. I'm going to go on a limb here, and given the current timeline, project 4.9.3 is going to be supported for probably whatever android is released in 2026.

So, Nexus6 released in 2014 will be able to run the latest android, fully security patched including kernel (which is not that important), till about 2026.

Now let's keep in mind that I replied to a guy who said how great it is that ios has more longevity.


> So, Nexus6 released in 2014 will be able to run the latest android, fully security patched including kernel (which is not that important), till about 2026.

This is getting to borderline misinformation here. Sorry to have made you dig in to this position, but please don’t call this fully patched. Qualcomm abandoned the Snapdragon 805 in the Nexus 6 in 2017 (maybe even 2016), and no updates to that platform's kernel drivers or other proprietary components exist. You can patch up open source pieces - those are important too - but that doesn’t count as “fully security patched”. Kernel drivers are a very important vector on any system, on Android especially so.

This is why e.g. CalyxOS has these EoL notices for Google devices much newer than the Nexus 6 here: https://calyxos.org/install/ They’re honest not everything can be updated!

If you choose to run your devices this way, more power to you. It's a legit way of extending a phone's life with some tradeoffs. But please inform others about the actual limitations.

> For example, kernel version 4.9.3 - the latest one (yes, originally released in november of 2017) supports up to the latest Android.

I couldn't find anything online about Nexus 6 kernels that are not some version of Linux 3.10, which despite being an LTS release was EoLed by the Linux kernel developers end of 2017. Would be curious to get any sources on the information that the Nexus 6 has modern-ish kernels available.

It's a rare feat that Android devices get a new major kernel version, _even with_ vendor support.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: