this post was submitted on 01 Sep 2025
54 points (98.2% liked)

Linux

57930 readers
1150 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 6 years ago
MODERATORS
 

Hi all! I'd like to get into development for linux-based OSes for mobile phones but don't know where to start. I mainly want to support the broadening of supported devices for something like Postmarketos. Where do I start? Are there any handbooks out there that can guide me in the right direction? What's the most promising project to start contributing to?

top 14 comments
sorted by: hot top controversial new old
[–] humanoidchaos@lemmy.cif.su 5 points 2 days ago (1 children)

I'm not a developer, but I'm guessing a good start would be to try installing it on an old phone if you have one.

See what problems you come across, try to learn what's going on, share your knowledge with others.

[–] timidtaxidermist@lemmy.ca 2 points 2 days ago

From the responses I've seen, it looks like this is the way to go. I have a couple old phones to choose from so I'll just jump in and give it a try!

[–] bigmclargehuge@lemmy.world 4 points 2 days ago* (last edited 2 days ago)

The postmarketOS wiki has info for specific devices, but also an article on installing the generic Snapdragon ~~865~~ 845 build of the OS on any device with that chip, of which there are numerous, many without extensive support. That might be a starting point?

[–] Strit@lemmy.linuxuserspace.show 18 points 4 days ago (1 children)

I recently saw a post from one of the PostmarketOS devs asking for someone to start maintaining the sdm845 out-of-tree fork of the kernel.

Post was on mastodon, but I can't find it right now.

But you could ask in the PostmarketOS support/dev chats on what they need help with.

[–] timidtaxidermist@lemmy.ca 8 points 3 days ago (1 children)

Great - I'll head over there too.

[–] Serinus@lemmy.world 4 points 3 days ago

Go to their GitHub and look at issues and their comments first.

[–] bjoern_tantau@swg-empire.de 15 points 3 days ago* (last edited 3 days ago) (1 children)

I think the easiest is to get the thing onto some device. Pick something that annoys you and make it work better. There are so many parts to this it's hard to recommend one. You have low level device drivers, the user interface in the form of DEs, or the apps themselves, either making the desktop apps work better or creating mobile ones.

You can also pick one of these things, find the related bugtracker and try to fix some easy looking bugs.

[–] timidtaxidermist@lemmy.ca 7 points 3 days ago

Sounds good - I have a couple devices lying around so l'll try jumping in and see where it goes!

[–] Katzenmann@feddit.org 7 points 3 days ago (1 children)

Great to hear that you're looking to get into PostmarketOS development! I recommend taking a phone that's already supported, using it and then figure out how improve support the device.

Porting/Mainlining a new device is also possible but that can be demotivating if it doesn't work and it's generally harder to get started with.

If you have any questions or need help you can dm me and I can help.

[–] timidtaxidermist@lemmy.ca 4 points 3 days ago

I have a pixel 6a - it looks like there's been some work done already and it seems to be supported, but lots of work to be done. Let's see what I can do with it!

[–] communism@lemmy.ml 6 points 3 days ago (1 children)

Have you done OS dev before? Do you know a systems programming language? Learn an appropriate language if you don't already know one, then look up OS dev books/guides online for that language. Someone's probably made a minimal kernel in that language you can refer to.

You mentioned postmarketOS so you could have a look here and here.

[–] timidtaxidermist@lemmy.ca 3 points 3 days ago (1 children)

Thank you - OS dev is new to me. I don't have any real competency in any language yet, so I'll make that a priority. I'll use postmarketOS as my main point of reference, so I'll take a look through their docs as a starting point.

[–] communism@lemmy.ml 5 points 3 days ago (1 children)

I'd recommend learning either C or Rust. Pretty much every mainstream OS will be written in C. Rust is newer but known for its safety and a much more modern language. There are other systems programming languages but those two are very popular and will have lots of OS dev resources, plus if you are working with existing codebases they will be in C. Other languages may be entirely possible to write an OS in, and for really big ones like C++ and Go I'm sure there's lots of OS dev resources for them too, I'm just not familiar with the OS dev ecosystem for those languages (and at the very least I hope it's not controversial to say C++ has been made obsolete by the new systems languages...)

[–] timidtaxidermist@lemmy.ca 3 points 3 days ago

Great, C it is for a starting point