postmarketOS aims to be like a typical Linux distribution - with lots of possibilities to choose from. And with a default selection of components, that are most useful to casual users.
This means, that there is no concrete plan, that everyone must follow for it to succeed. Instead, everyone is encouraged to work on what they enjoy most!
In consequence, pmOS does not use a regular milestone plan with versions (at least right now). Here is a list with what individuals are working on. Feel free to add yourself here and what you are interested in (optionally with priorities and estimated finish date), but you don't have to! If you do, please keep your section of this list updated.
These are all estimations and the community is expected to understand when something does not work out as planned here. This is a free time project after all, so be grateful, that the individuals step up and share their plans at all.
Basically all points listed below are done together with other community members. In fact, when I do postmarketOS work today, it is most of the time not running/porting pmOS on a device, but doing something else from below.
Make development enjoyable for everybody:
- fix all pmbootstrap bugs
- test / review / integrate pull-requests
- help whenever someone is stuck with development
- find, write down and resolve technical debt
- work on features, that make development easier (e.g. #688 new kernel porting workflow, #383 split aports into its own git repository)
- assist with implementation ideas in GitHub issues
- improve documentation in the wiki
- improve continuous integration (e.g. #110 more automatic shell checking, #760 run fast tests in Travis)
- write about what we do in blog posts
- help with infrastructure (homepage, wiki, ...)
- work together with upstream
Get postmarketOS ready for daily usage:
- research on how we could implement "daily driver" stuff (e.g. #161 plasma-mobile, #598 cellular modem, #592 firmware patching)
- binary package repository
My plan for telephony:
- Mainline the Nexus 4, improve
pmbootstraptooling for mainlining (e.g. #1210) and writing a step by step mainlining guide (like the porting guide) in the process. I've learned a lot about mainlining, and for the most part it's writing the dts file from what I understand, at least when all the phone's components are in upstream already (which is the case for the Nexus 4 from what I know).
- Get telephony working on that with ofono and QMI (there's a QMI driver in the mainline kernel)
- Try to post as much different devices as portable to find edgecases in the build process
- Maintaining some of the pmos infra (wiki, binary package mirrors, website)
- project-specific (devs)
- Means: current: word of mouth in Sao Paulo ; future: meetups, talks, panels, presentations
- philosophy and anthropology of tool-making (gateway for layperson to the hacking community)
- Means: writings and discussions with intellectuals, the urban youth, the homeless, and the elite of Sao Paulo society
- On-boarding and new dev integration
-(more details to come)-
- [x] 1. Implement a feature in pmbootstrap, what will allow users to create recovery flashable zips for android devices. (#109)
- Make postmarketOS work on the following devices:
- [x] Sony Xperia Z1 Compact (amami)
- [ ] Motorola Moto G 3rd gen. (osprey)
- [ ] Motorola Defy+ (jordanplus)
- Add support for new devices (actually focused on Moto G 2014). If you want, you can send me your device by mail and I will try to add pmOS support to it. After that I will return the device back to you.
- Make pmOS debugging easier for new developers
- Improve documentation & usability of
- Develop osk-sdl, an sdl/directfb on-screen keyboard for use during initramfs execution
- Make the greatest device ever, the Nokia N900, the best device to use with postmarketOS.
- UI (plasma?)
- Assist with documentation & on IRC/matrix where I can.
- ☑ Optimizing the pmOS system image size by creating the partitions as small as possible and resize them during the first boot (#127)
- ☑ Add possibility to export an Odin flashable file for samsung devices (
pmbootstrap flasher export --odin)
- ☑ Add framebuffer debugging tools to debug-shell initramfs hook (#1188)
- ☑ Implement charging mode (#1081)
- ☐ Use LVM over system and userdata partitions (#60)
- ☐ Add versioning in initramfs scripts (check initramfs and initramfs-extra versions)
- ☐ Integrate alternative flashing method using netcat (#456)
- ☐ Getting mainline kernel working on existing devices
- ☐ Add support for new devices
- ☐ Add support for MTD devices (generate yaffs2 image or UBIFS, adapt initramfs script) [Low priority]
- ☐ Porting PostmarketOS to a BlackBerry [Low priority]
In general, get postmarketOS to a ready for daily usage state, in my case getting packages and UI packaged for the end user to install. Right now focus is on:
- Packaging Phone UI: Plasma Mobile
- Packaging Phone UI: UBports/Yunit
- Getting postmarketOS working on my device locally
- Helping to make Plasma Mobile working on postmarketOS
- Get bootloader for Coolpad Modena 2 opensourced and unlocked. Requires lots of reverse engineering work.
- Eventually start porting device to pmOS.
- Write open source replacement for SP flashtool (very low priority).
- Expand support for the Mozilla Flame
- Work on pmOS documentation and website
- Help develop the pmOS architecture
- Get audio and BT working to overtake the n900 in supported features
- Get mainline working for castor
- [x] Basic support for yuga
- [ ] Getting mainline working for yuga.
- [ ] Getting more features working on yuga.
- Adding more device support
- Work on wiki
- In general: make pmos usable as a daily driver
- kernel work on Nokia N900
- would like to use N900 as daily phone
- some interest in Nokia N9, N950, LG Optimus Chic E720
- mild interest in OpenMoko gt01, Nokia N770, N800, N810
✔ Basic Kindle Fire HDX (2013) support
✖ Get X11/xorg working on the HDX
✖ Get wifi working on the HDX...
- ☑ Mainline the OnePlus One: linux-postmarketos works with the proper DTS.
- ☑ Get Freedreno working on the OnePlus One: The upstream Mesa bug has been fixed.
- ☑ Get WiFi working on the OnePlus One: Seems to work, but not well-tested. Bluetooth works as well.
- ☐ Get oFono working on the OnePlus One
- ☐ Port the OnePlus 3
- ☐ Mainline the OnePlus 3
- Build out a developer-friendly PostmarketOS UI option, emphasizing Scheme/Racket or Rust.
- Get a daily driver configured with WiFi (including AP UI), email, IRC, Web, offline OpenStreetMap, DrRacket.
- Find volunteer programmers for systems-level device support, UI, and apps.
- [ ] Make it so mainline kernel boots reliably on Xperia M
- [ ] Make a *usable* Xperia X port (with 4.9 kernel hwaccel could be a thing!)
- [ ] Improve overall Xperia M support
- [ ] Improve overall Xperia M4 support
- [ ] Bump Xperia M4 to kernel 4.4 or at least 3.18
- [ ] Make a port for a non-Android device (low priority, will require lots of work)
- [ ] Perhaps once more devices get calling/sms support I could try making a notification sound / ringtone
- [ ] Add more Sony devices, cause why not :D
- [ ] Get uart access to xiaomi-gemini
- [ ] Get mainline booting on xiaomi-gemini
- [ ] Get either of my devices (xiaomi-gemini or xiaomi-santoni) working to the point where I can start dogfeeding
- [ ] Develop native mobile programs for pmos to replace (some of) what I use android for
- [ ] Get PmOS booting on Galaxy Note 3
- [ ] Get mainline kernel booting on Galaxy Note 3
- [ ] Get PmOS booting on Amazon Fire TV
- [ ] Get mainline kernel booting on Amazon Fire TV
- [ ] Make the Samsung Galaxy Ace II X last forever.
- [ ] Do the same with the LG X Power.