惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
Arctic Wolf
U
Unit 42
爱范儿
爱范儿
WordPress大学
WordPress大学
博客园 - 司徒正美
腾讯CDC
酷 壳 – CoolShell
酷 壳 – CoolShell
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Last Week in AI
Last Week in AI
美团技术团队
博客园_首页
宝玉的分享
宝玉的分享
Hugging Face - Blog
Hugging Face - Blog
P
Palo Alto Networks Blog
H
Hacker News: Front Page
博客园 - 叶小钗
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
罗磊的独立博客
TaoSecurity Blog
TaoSecurity Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Help Net Security
Help Net Security
雷峰网
雷峰网
S
Security @ Cisco Blogs
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Forbes - Security
Forbes - Security
T
Troy Hunt's Blog
V
V2EX
博客园 - 聂微东
Cloudbric
Cloudbric
大猫的无限游戏
大猫的无限游戏
Google Online Security Blog
Google Online Security Blog
S
Security Affairs
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Recent Commits to openclaw:main
Recent Commits to openclaw:main
IT之家
IT之家
S
SegmentFault 最新的问题
T
Threat Research - Cisco Blogs
J
Java Code Geeks
H
Heimdal Security Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
Know Your Adversary
Know Your Adversary
小众软件
小众软件
Microsoft Azure Blog
Microsoft Azure Blog
The GitHub Blog
The GitHub Blog
AWS News Blog
AWS News Blog
The Cloudflare Blog
Simon Willison's Weblog
Simon Willison's Weblog
月光博客
月光博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python) The Hidden Cost of AI Systems Nobody Talks About. undefined vs undeclared, and how typeof behaves Switching from file-based jobs to NATS/Kafka in Rust without changing code io_uring Adventures: Rust Servers That Love Syscalls Why Agentic AI is Killing the Traditional Database The POUR principles of web accessibility for developers and designers Quantum Neural Network 3D — A Deep Dive into Interactive WebGL Visualization How To Install Caveman In Codex On macOS And Windows Automation Pipeline Reliability: Why Your Workflow Breaks When Nobody Is Watching I Built an 'Open World' AI Coding Agent — It Works From ANY Folder From Freelancing to Product: A Tech Service Company's SaaS Transformation China's AI Giants: Adding Tencent Hunyuan & ByteDance Doubao to AI University (74 Providers) On the Vibe Coders and Their Lies clerk: Auto-Summarize Your Claude Code Sessions AI Weekly — 2026/04/10–04/17 | The Model Lockdown Is Here, but the Toolchain Is the Real Battleground AI 週報 — 2026/04/10–2026/04/17 模型封鎖潮來了,但工具鏈才是真戰場 Maybe this is how Open-Source apps are born... 🚀 Fine-Tune LLMs with LoRA and QLoRA: 2026 Guide tRPC v11 + Next.js App Router: End-to-End Type Safety Without the Boilerplate ShadCN UI in 2026: Why I Stopped Installing Component Libraries and Started Owning My Components SaaS Billing in React Server Components: Stripe + Supabase Without a Single `useEffect` Join our DEV Weekend Challenge — $1,000 in Prizes Across TEN winners! Submissions Due April 20 at 6:59 AM UTC. Implementing FSRS Spaced Repetition in Flutter + Supabase — Adding Memory Science to an AI Learning App "I Texted My Localhost From the Train — Claude Code Fixed the Bug Before I Got Home" I Built a Sales Prep AI and It Went Deeper Than Expected Design to Code #2: One JSON, Eleven Outputs Solving the 100M-Row Problem: A Summary Table Pattern for High-Volume Push Notification Logs Flutter Web With Wasm: What Actually Changes For Developers I Built 50 Royalty-Free Soundtracks for My Side Project in a Weekend Using AI Music Generation The Vibe Coding Security Checklist: 7 Things to Check Before You Ship Stop Letting Googlebot Guess Fix Your React App's SEO Right Desconstruindo o Streaming do LinkedIn: Como Criar um Engine de Extração de Vídeo de Alta Performance com HLS e FFmpeg (EDA Part-1) EDA (Exploratory Data Analysis) Explained With Real Life — Why Looking at Your Data Is the Most Important Step in Machine Learning Brand Relationship Management at Scale: Our 4-Touch Outreach System for 200+ Brands Why String.fromEnvironment() Might Return an Empty String in Dart JGuardrails 1.0.0 — Hardening Java LLM Apps Against Jailbreaks, Toxicity, and Prompt Injection Plan and Schedule a Full Week of Threads Content From One Claude Conversation Coding Cat Oran Ep3, Five Tables Changed Everything Updated: BFF Pattern I'm done watching freelancers get buried by 200 proposals. So I'm building the alternative. This is my first post BFS Algorithm in Java Step by Step Tutorial with Examples Tracking LLM Pricing Monthly: An Open Dataset for 22 AI Models How We Measure Content ROI on a Comparison Site: Revenue Attribution Without Perfect Data Introducing Nova AI Ops: The AI-Native Operating System for SRE Teams I built a free desktop video downloader for Windows — Grabbit How Talkie OCR Helps Vision-Impaired & Dyslexic Users Read the World Around Them VRCFaceTracking安装和iPhone面捕配置教程,有bug Even CrowdStrike Can't See Your Agents The Automation Gold Rush: What n8n Workflows and Claude Are Opening Up for Developers Right Now
CalyxOS on Android 16: I Ran It on a Motorola G45 5G (India Variant)
Nishant Mish · 2026-05-06 · via DEV Community

After a year of silence, CalyxOS is back — and it's running on a ₹10,000 phone with a locked bootloader.

Every privacy OS article you've ever read has the same device photo: a Pixel. GrapheneOS? Pixel. CalyxOS? Pixel. Even LineageOS showcases Pixels 90% of the time.

But my daily driver isn't a Pixel. It's the Motorola G45 5G — India variant — a phone that costs around ₹10,000-12,000. No NFC, because let's be honest, most of us aren't using GPay tap-to-pay anyway.

And after almost a year of radio silence, CalyxOS now runs Android 16 on it. With a locked bootloader. And working PhonePe. Here's my first 24 hours as a developer and daily driver.

The Hiatus: We Thought It Was Over

Let me be real: when a privacy-focused OS disappears for nearly a year, you assume it's dead. The CalyxOS subreddit went quiet. Forums slowed down. People started migrating to GrapheneOS or just gave up and went back to stock.

Then, out of nowhere: CalyxOS 7.2.1.0 — Android 16 QPR2 community test builds.

And the device list wasn't just Pixels. It included Fairphone 4 and 5, several Motorola devices including the moto g series, and yes — my Motorola G45 5G India variant.

I flashed it immediately.

What Is CalyxOS 7.2.1.0? (The Official Context)

Before we dive into my experience, here's what the CalyxOS team announced with this build:

"Signed with the new signing solution earlier discussed in our talk at FOSDEM, 7.2.1.0 is ported to Android 16 QPR2."

Supported devices for this test build include:

For Pixels, the entire lineage from 4a (5G) all the way to the Pixel 9 series is supported — that means Pixel 9, 9 Pro, 9 Pro Fold, 9 Pro XL, 9a, then the 8 series including the Pixel Fold and Tablet, the 7 series, the 6 series, and finally the 5, 5a, and 4a (5G).

For Fairphone, both the Fairphone 4 and Fairphone 5 are supported.

For Motorola, the list includes the moto g 5g (2024), moto g84, moto g34/45 (that's me!), moto g52, moto g42, and moto g32.

A note on kernel patches (from the CalyxOS team):

"Pixel 6 and newer Pixel devices are fully patched. All other devices are missing certain Qualcomm patches, which we are actively working to pick up alongside other upstream patches and the May Android Security Bulletin (ASB). We wanted to get this out as quickly as possible and official releases will include more complete patchsets as usual."

Enter fullscreen mode Exit fullscreen mode

So yes — my G45 is in the "actively being patched" category. But for a test build? I'll take it.

New Branding: A Fresh Visual Identity

Beginning in late 2024, the Calyx Institute has been undergoing an organization-wide effort to clarify their mission and rebuild their brand to fairly reflect their identity and values in an uplifting visual language. This includes the rebranding of CalyxOS — their vision for a privacy-respecting, security-oriented Android OS.

In this latest release (7.2.1.0), you get a sneak peek of the new visual identity.

What's new visually: The redesign is based on the latest Material You design system, with custom designed elements from the logo to the boot animation to the iconography. The CalyxOS team invites users to join this journey in improving the visual language and user interface by sending feedback.

From what I've seen in 24 hours: the boot animation is cleaner, the icons feel more cohesive, and the overall UI has a polish that was missing in older versions. It's a small thing, but visual identity matters when you're asking people to trust you with their digital lives.

Bundled Apps in CalyxOS 7.2.1.0

CalyxOS ships with a set of free-and-open-source apps that can be installed during the Setup Wizard or afterwards without network access. Here's what's included in this build:

F-Droid Basic 2.0 alpha (version 2.0-alpha8) — this newly revamped version replaces the old F-Droid Basic app.

Aurora Store (version 4.7.5) — the Google Play Store alternative.

Breezy Weather (version 6.1.3_freenet) — a privacy-focused weather app.

GCam Photos Preview (version 1.1) — a camera gallery replacement.

Signal (version 8.7.3) — the encrypted messaging app.

OnionShare (version 0.2.3-beta) — for secure file sharing over Tor.

Tor Browser for Android (version 15.0.10) — private browsing.

Tor VPN Beta (version 1.6.0Beta) — this new Tor VPN project replaces the Orbot app.

Riseup VPN (version 1.5.3) — VPN from the riseup collective.

OONI Probe (version 6.0.1) — for testing internet censorship.

CoMaps (version 2026.04.07-8-FDroid) — this app replaces Organic Maps.

Scrambled Exif (version 1.7.14) — to remove metadata from photos before sharing.

Thunderbird (version 18.0) — the email client.

DAVx5 (version 4.5.10-ose) — for CalDAV and CardDAV synchronization.

My take: The shift from Orbot to Tor VPN Beta is interesting. Organic Maps being replaced by CoMaps feels like a fork decision I need to explore further. And having OONI Probe pre-installed? That's a statement about CalyxOS's commitment to anti-censorship.

How to Test and Give Feedback (If You Want to Join)

This release of CalyxOS is intended for community testers. When you try to install and run this build, you might encounter bugs, unexpected crashes, or odd behavior.

Important: It is not prepared for your primary daily device at this time. (I ignored this advice. You can too, but keep a backup.)

If you're still interested in helping test CalyxOS, join the CalyxOS Matrix Tester's room. Check the pinned message for full instructions, including links to the device flasher, CalyxOS builds, installation instructions, and a list of known issues. To send feedback, message the team directly in the Matrix channel or create a new issue in their GitLab repo.

I'll be submitting my own feedback about the G45 India variant once I've tested more.

Why the Motorola G45 5G (India Variant) Matters

Most Indians don't own Pixels. They own Moto Gs, Samsung M-series, Realme, Xiaomi — the affordable mid-rangers and budget phones that actually sell in this market.

If CalyxOS works well on a ₹10k Motorola, it's a legitimate option for Indian privacy enthusiasts. Not just for people who can afford flagship phones imported from the US.

My device specs for context:

My daily driver is the Motorola G45 5G India variant. It runs on a Snapdragon 6s Gen 3 chipset with 6GB of RAM and 128GB of storage. The India variant does not have NFC, so that's one less thing to worry about. My SIM setup is dual Airtel — two different numbers on the same network. The phone came with stock Android 14 running Moto's near-stock skin. I'm now on CalyxOS build 7.2.1.0 (Android 16), and crucially, I have relocked the bootloader after flashing. The phone cost me around ₹10,000-12,000.

This is a budget phone. And it's now running Android 16 with a locked bootloader before most Pixels.

Critical Security Note: Bootloader Relocking

Most custom ROMs force you to keep the bootloader unlocked. That's a security risk — an unlocked bootloader means someone with physical access can flash anything.

CalyxOS on Motorola allows you to re-lock the bootloader.

Here's what I did after flashing:
bash

fastboot oem lock

That's it. The device is now bootloader-locked with CalyxOS's signing keys. This means verified boot works, no unauthorized OS can be flashed, banking apps and UPI apps see a "locked" device, and you get Pixel-level boot security on a ₹10k Moto.

This is a huge deal and one of the main reasons I chose CalyxOS over other custom ROMs for this device.

First Boot: Smoother Than Expected

I'll be honest — I expected problems. Motorola's bootloader unlock process is straightforward (fastboot oem unlock), but custom ROM support for Moto devices has always been patchy in India.

The installation: I unlocked the bootloader (took 5 minutes, no issues), flashed CalyxOS via the device flasher tool, then re-locked the bootloader with fastboot oem lock. First boot took about 4 minutes, which is normal for AOSP-based ROMs.

What worked immediately: Both Airtel SIMs were detected — two different numbers on the same network, no conflicts, no radio issues. 5G connectivity works on both SIMs (tested Airtel 5G on both numbers). The side-mounted fingerprint sensor works perfectly. WiFi calling works on Airtel. Moto's gesture features — chop for flashlight, twist for camera — still work, which genuinely shocked me. VoLTE works on both Airtel lines.

What doesn't matter because India variant: NFC is not present on this model, so nothing to break there.

What didn't work out of the box: Almost nothing. The India variant seems to have fewer hardware quirks than international models.

For a community test build on a budget Indian phone with a relocked bootloader? This is incredible.

Critical India Update: PhonePe Works

This is huge and needs its own section.

PhonePe — fully working. I tested UPI payments (sending and receiving money), QR code scanning, bill payments (recharged both Airtel numbers), and bank account linking. No crashes. No "rooted device" warnings. No bootloader unlock errors. PhonePe just works.

This alone makes CalyxOS viable for Indian daily drivers. Most of us live on UPI, and PhonePe is one of the big three along with GPay and Paytm. Having it work out of the box is a dealbreaker feature that CalyxOS passes with flying colors.

Here's the status of various UPI apps on my setup: PhonePe is fully working. Google Pay works via the mobile website but the app may complain. Paytm is untested in my setup so far. BHIM UPI should work since PhonePe is working. Banking apps like HDFC, ICICI, and SBI generally detect the custom OS and refuse to run.

Dual SIM: Airtel + Airtel (Same Network)

This was a specific concern of mine. Some custom ROMs struggle with two SIMs from the same carrier, same network with different numbers, and 5G plus 5G simultaneously.

CalyxOS handles it perfectly. Both SIMs show separate signal strengths. You can set default call, SMS, and data SIM per preference. 5G works on whichever SIM is set for data. Calls on SIM1 don't drop SIM2 coverage — DSDS works as expected.

If you're running dual Airtel (or any same-carrier dual SIM), CalyxOS has you covered.
What Broke (The Honest Section)

Some banking apps — My bank's apps (HDFC, ICICI) detected the custom OS and refused to run, even with a locked bootloader. Some banks verify the ROM signing keys, not just the bootloader state. The workaround is to use the mobile website plus PhonePe for transactions. Annoying but manageable.

5G indicator is inconsistent — 5G works. Speed tests confirm 100+ Mbps on Airtel 5G. But the status bar icon sometimes shows "LTE" even when connected to 5G. This is purely a cosmetic issue.

MicroG setup takes patience (once) — On first boot, I had to manually grant signature spoofing permissions, enable device registration in MicroG settings, and add a location backend (Mozilla's is still broken, so I used Nominatim). Took about 10 minutes. You do it once and never think about it again.

Nothing else broke — No app crashes. No random reboots. No radio drops. No SMS or MMS issues. For a test build on a budget device, this is remarkably stable.

What Surprised Me (In a Good Way)

Moto gestures work — This is the shocker. Motorola's "chop for flashlight" and "twist for camera" gestures are typically tied to Moto Actions, a proprietary app. Somehow, the CalyxOS team preserved them. I tested both. They work exactly like stock. This is the kind of attention to detail that makes me trust a ROM.

No Motorola bloat — Stock Moto G45 (India variant) comes with Moto Notifications (half-broken), Facebook services pre-installed and impossible to fully remove, LinkedIn (why is this here?), Motorola's own app store, and various "enhancement" apps that phone home. CalyxOS has none of this. Just AOSP plus privacy tools plus MicroG. The phone feels lighter.

Bootloader relocking works — This deserves repeating. I went from fastboot oem unlock to flashing CalyxOS to fastboot oem lock. The device booted normally. Verified boot works. No corruption. No "your device is corrupt" warnings. On a ₹10k Motorola. That's rare.

The display looks better — Moto's stock color calibration is oversaturated to compete with AMOLED screens. CalyxOS uses AOSP's neutral calibration. The G45's IPS LCD looks more natural now — colors are accurate, not blown out.

The new boot animation — Part of the rebranding. It's subtle, clean, and doesn't overstay its welcome. A nice touch.

Who This OS Is For (India Variant — No NFC, Dual Airtel)

If you own a Moto G45 and care about privacy, this OS is absolutely for you. The same goes if you're on a budget with a ₹10k phone — this is your best option. Developers testing on real hardware will find the 6GB of RAM plenty for development work. Dual SIM users, especially those with two numbers on the same carrier like my Airtel+Airtel setup, will find it works perfectly. PhonePe users will be happy to know it's fully working. Bootloader security purists will love that the bootloader is relockable. For banking app power users, you'll need to use mobile websites instead of native apps for now. If you want to test and give feedback, definitely join the Matrix room. And if you need NFC? That's irrelevant for this device — the India variant doesn't have the hardware anyway.

The India-Specific Verdict

Let me be direct with you.

The Motorola G45 5G India variant costs ₹10,000-12,000. For that price, you get a 5G phone, a clean near-stock Android experience (usually), a side fingerprint sensor, decent battery life, and dual SIM support.

With CalyxOS and a relocked bootloader, you get Android 16 (before most Pixels), zero Google telemetry, no bloatware, PhonePe working, dual Airtel SIMs working perfectly, verified boot with a locked bootloader, working Moto gestures, and a fresh Material You visual identity.

The only real sacrifice is some banking apps — and since PhonePe plus mobile websites cover almost everything, that's a minor inconvenience.

Should you flash it right now?

If you have a Moto G45 5G India variant and you care about privacy: Yes. Do it today. Relock the bootloader. Install PhonePe. Never look back.

If you need every banking app to work perfectly: Wait for stable, but honestly, the browser plus PhonePe combo might already be enough. Or join the Matrix tester room and help report bugs so the stable release comes sooner.

For me? My phone feels faster, has a locked bootloader, runs Android 16, sports a fresh new look, and still lets me pay for chai via PhonePe. What more could I want?
Part 2 Coming Soon

In Part 2, I'll cover: battery life breakdown (my full 48-72 hour test with dual SIM active), OTA updates with relocked bootloader and whether they actually work, gaming performance on BGMI and Call of Duty Mobile on Android 16, more UPI app testing including GPay, Paytm, and Amazon Pay, any new bugs discovered after extended use, and my feedback submitted to the CalyxOS team via Matrix and GitLab.

Follow me on dev.to so you don't miss it.

Drop a comment if you're running CalyxOS on an Indian budget phone — especially if you've also relocked the bootloader. Would love to compare notes before Part 2. Or if you're in the Matrix tester room, say hi!

Device: Motorola G45 5G (India Variant, 6GB/128GB, no NFC)

Build: CalyxOS 7.2.1.0 (Android 16 QPR2)

SIM setup: Dual Airtel (two different numbers, same network)

Bootloader: Relocked after flashing

UPI status: PhonePe working

Previous OS: Stock Android 14

Test duration: First 24 hours of active daily use in India