casey (pattable)

@cas@treehouse.systems
2.8K Followers
786 Following
5.4K Posts

🏳️‍🌈 lesbian hacker in Berlin!

I do #LinuxMobile and @postmarketOS stuff. Don't dm me for support, ping me in a public matrix channel.

I maintain U-Boot for Qualcomm devices and do other cool embedded stuff @ Linaro

"you are never beating the down bad allegations" ~ @isa

#GoVegan 🌱

This account is mostly for technical topics, my personal account is @casey

pronounsshe
GitHubhttps://github.com/kcxt
Matrixcaleb:postmarketos.org
Websitehttps://connolly.tech
OH: "i shoved a dream machine up my ass"

I'm super happy to share, that the #Fairphone (Gen. 6) was just announced, and we've been able to already publish a lot of code for it!

* #postmarketOS support is submitted
* 59(!) patches were sent to bring up upstream #Linux on the SM7635 SoC and enable the device.
* The stock Android source code is public on code.fairphone.com

This has been a lot of work over the last couple of months so it's awesome to finally be able to share it!

Introducing initial support for #postmarketOS in #mkosi 🥳

https://github.com/systemd/mkosi/pull/3781

@murena @volkskrant @e_mydata Ignoring of course that Android, and thus /e/OS is still fully relying on Google and thus an American company.

@simonjust

(Hopefully this helps explain why things seem so fragmented, sorry for the wall of text)

doing actual virtualisation is out of the question on most devices since we don't get EL2 (hypervisor) level access to the system, it is already running a proprietary hypervisor which is needed for functionality like audio or wifi (yay DSPs and firmware signing)

For many if not almost all of the phones in our main and community categories the only real blockers to having generic images are the limited bootloader machinery (no dynamic devicetree selection means the android boot image has to be specific to the device to load the correct drivers) and that they require kernel patches and drivers which aren't in the upstream Linux kernel.

The former I'm actively working on solving for the Qualcomm based phones with U-Boot which I originally talked about over a year ago at FOSDEM https://archive.fosdem.org/2024/schedule/event/fosdem-2024-1716-u-boot-for-modern-qualcomm-phones/

this work is still ongoing (and getting close to the point where we'll start publishing images and getting the necessary distro changes in). This will let us have a generic image for e.g. all the SDM845 powered phones, one for all the SM7150 phones, etc. Since U-Boot can pick the right DTB for us (though it's important to note that the U-Boot build is still device specific, but at least it's a one time thing now)

This just leaves the kernel, which is unfortunately a much bigger problem. Since many devices rely on drivers for the touchscreen, speaker codec, haptics, and more which are pulled directly from the vendor kernel. Rewriting them to be suitable for acceptance into upstream can be a huge amount of work since they must be reverse engineered from crap vendor code and rewritten. And even when that process is "done" the actual process of getting them merged varies from doable, to tedious, to outright blocked, especially when maintainers ask questions that the developer can't answer due to missing documentation.

This process is getting better in recent years, but it's really hard to invest the time when it's volunteered time and could be less frustratingly spent fixing bugs for users or enabling new features.

From the distro side, I can potentially imagine some ways to de-dup these kernel forks internally, but so far nobody has tried taking the leap of faith. Hopefully once we get automated hardware testing up and running on enough devices this will be something worth looking into more seriously, but we'll need some way to support holding back upgrades for a single device if it introduces regressions...

FOSDEM 2024 - U-Boot for modern Qualcomm phones

i'm also happy and excited to announce that we've signed a partnership with @LinaroLtd to collaborate on the integration of the Qualcomm QCS6490 processor in the MNT Reform series of devices, including Pocket, Next, and especially our future mini tablet. more about this soon!

We often talk about the scouting rule of “always leave the campsite cleaner than you found it”, or in a software context “always leave the code a little bit better than you found it”.

If you see duplication in the code, then remove that before you leave the method. If you see poor variable names then fix those before you leave.

What we don’t talk about as much is how a culture of branching and Pull Requests (PR’s) actively discourages making small changes for that purpose. If I want to rename a method to make it clearer and know that making that little change is going to require real effort to go through a review process and manual merges, then I’m more likely to decide to just live with the original name, even if it is is poor.

Whereas if I can make that little refactoring and directly check it into mainline then it’s a very low effort change that contributes to the quality of the product. It’s become easy to do the right thing.

How many things do we have like this, that actively discourage us from doing the right thing?

thanks everyone who helped make the new #postmarketOS release! they just get better and better every time.

i continue to be more and more hopeful that we will deliver on our mission to build a production ready OS, made by and for the community that continue to contribute (whether through code, reports, debugging, or donations).

we are not stopping with systemd... next up will be factory reset support, update rollbacks, EFI on qualcomm phones, immutability, and huge tooling improvements

embedded edition is also on my mind, we need better ways to build and maintain embedded systems and we absolutely have the raw ingredients

https://postmarketos.org/blog/2025/06/22/v25.06-release/

v25.06: the one with systemd

Aiming for a 10 year life-cycle for smartphones

postmarketOS
so #gpn23 was absolutely incredible,, this one feels so lucky to get to spend time with so many cool people :3
×
@wezm distro packaging issue? it is ok with opensuse.
@stephanie yeah it might be a Chimera issue.
musl libc - Open Issues

@wezm ah debloated distro moment /nm