avatar
文章
133
标签
553
分类
37

首页
时间轴
标签
目录
友情链接
推荐工具
站长工具
Zhangzqs
搜索
首页
时间轴
标签
目录
友情链接
推荐工具
站长工具
无题
发表于2026-06-28|VIVO-Y927移植主线Linux发行版
安装 pmbootstrap 工具 1234567cd ~/y927git clone https://gitlab.postmarketos.org/postmarketOS/pmbootstrap.git --depth 1cd pmbootstrapuv tool install .# 验证pmbootstrap --version 克隆 pmaports 12cd ~/y927git clone https://gitlab.postmarketos.org/postmarketOS/pmaports.git --depth 1 生成 pmbootstrap 配置文件 12345mkdir -p ~/y927/pmbootstrap-workdir && cd ~/y927/pmbootstrap-workdirpmbootstrap -w ~/y927/pmbootstrap-workdir \ -p ~/y927/pmaports \ --details-to-stdout \ init 12345678910111213141516 ...
无题
发表于2026-06-28|AI
一般大家使用 Claude Code 或者 Codex 编程,流程基本上就是先使用 plan 模式进行设计,然后再开启 bypass permissions on/auto review等自动审批模式开始进行实现。这叫做 Plan-and-Execute模式。 其中一般大家可能搭配superpowers里的一些skill进行设计和开发,通常在 plan 阶段使用brainstream,writing-plans,进行需求分析,使用executing-plans,tdd在执行阶段开始写代码实现。 但我觉得,对于一些复杂的需求场景,单靠一轮的plan和execute,仅完全拆分成两个阶段可能是不太合理的。很多时候plan阶段很难做到完全的可行性分析,很难确保plan出来的内容是真的可以实行的,很多时候execute阶段跑的很不顺畅,而且可能跑的甚至还越来越偏离plan,大概率都是因为plan的可行性分析没有做好评估,错误地认为execute阶段一定能完全跑通plan中的计划。所以,plan阶段一定需要人的介入,一定是要带着人的思考和评估去做,稍微大一点的工作尽量拆分成阶段性的目标,落实拆分 ...
8. VIVO-Y927 Linux 内核设备树完善(电池和充电)
发表于2026-06-15|VIVO-Y927移植主线Linux发行版
第8阶段:完善电池和充电 目标 可以检测到BMS驱动,检测到电池状态。 硬件分析 Y927 充电硬件用 PM8916 内置 LBC(线性充电器),不存在外部 SMB358/SMB1360 芯片——原厂 DTB 里有 smb_int_pin: smb1360_int_gpio = <gpio62> 这种引脚标签,但没有实际的 smb 设备节点,是参考设计残留。原厂另有一条 vivo,charger-monitor compatible 是 vivo 私有充电策略,主线不复刻。 DTS 改动分析 电池侧用主线 simple-battery + &pm8916_bms + &pm8916_charger 的标准三件套。 123456789101112131415161718192021222324252627282930313233343536/ { /* * Y927 原厂电池:4.35V / 2260 mAh * 数据来源:原厂 DTB `qcom,b76-atl-4v35-2260mah-data` 节点。 * ...
8. VIVO-Y927 Linux 内核设备树完善(WiFi-蓝牙)
发表于2026-06-14|VIVO-Y927移植主线Linux发行版
第7阶段:完善WiFi-蓝牙 目标 让 WCN3620 这颗 WiFi/蓝牙 SoC 跑起来——dmesg 里看到 wlan0 和 hci0 注册成功。 硬件分析 Y927 用的 WiFi/蓝牙是 Qualcomm WCN3620——MSM8916 板上的协处理器,跟主 SoC 共享 SMD 总线,整条链路涉及 6 个角色: 角色 内核模块 DTS 节点 作用 协处理器加载 qcom_wcnss_pil (CONFIG_QCOM_WCNSS_PIL) &wcnss 用 PIL 把 wcnss.mdt 加载到协处理器 协处理器内存 — &wcnss_mem 给 WCNSS 预留 6 MiB 共享内存 RF 子模块 — &wcnss_iris 声明 RF 子模块型号(qcom,wcn3620) WiFi MAC wcn36xx (CONFIG_WCN36XX) 通过 SMD 自动关联 注册 wlan0 蓝牙 HCI btqcomsmd (CONFIG_BT_QCOMSMD) 通过 SMD 自动关联 注册 hci0 WCNSS ...
7. VIVO-Y927 Linux 内核设备树完善(GPU)
发表于2026-06-14|VIVO-Y927移植主线Linux发行版
第6阶段:完善GPU 目标 Y927 用的 GPU 是 Adreno 306(来自 MSM8916 SoC,Qualcomm A3xx 系列),主线 freedreno 驱动支持得很好。整体比 WiFi 简单一档——没有协处理器、没有 RF 校准。 之前dmesg里可以看到有 1[0.505468] msm_mdp 1a01000.display-controller: no GPU device was found 本章将启用GPU驱动,让Y927能够识别到GPU设备,使该错误消失。 DTS 改动分析 123&gpu { status = "okay";}; 内核配置 1234cd ~/y927/linux./scripts/config --enable DRM_MSM./scripts/config --enable CONFIG_DRM_MSM_GPU_STATEmake ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- olddefconfig 编译 Linux 内核 12c ...
6. VIVO-Y927 Linux 内核设备树完善(触摸屏)
发表于2026-06-14|VIVO-Y927移植主线Linux发行版
第5阶段:完善触摸屏 目标 支持 Goodix GT9271 多点电容触摸屏。 DTS 改动分析 Y927 触摸屏挂在 blsp_i2c5,I2C 地址 0x14,中断走 tlmm GPIO13、复位走 tlmm GPIO12,AVDD28(约 2.85V 模拟供电)由 PM8916 LDO16 提供,VDDIO(1.8V 数字 IO 供电)由 PM8916 LDO6 提供。 主线 Goodix 驱动 drivers/input/touchscreen/goodix.c 已经支持 goodix,gt9271 这条 compatible,所以不需要写驱动,只要把 DTS 写对。 1234567891011121314151617181920212223242526272829303132333435363738394041424344/* AVDD28 走 PM8916 LDO16,dtsi 默认未声明这条 LDO,板级要补上 */&pm8916_rpm_regulators { pm8916_l16: l16 { regulator ...
5. VIVO-Y927 Linux 内核设备树完善(GPIO按键)
发表于2026-06-14|VIVO-Y927移植主线Linux发行版
第4阶段:完善 GPIO 按键 目标 支持音量键/电源键 DTS 改动分析 123456789101112131415161718192021222324252627282930313233#include <dt-bindings/input/input.h>/ { gpio-keys { compatible = "gpio-keys"; pinctrl-names = "default"; pinctrl-0 = <&gpio_keys_default>; label = "GPIO Buttons"; button-volume-up { label = "Volume Up"; gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; linux,code ...
4. VIVO-Y927 Linux 内核设备树完善(eMMC-SD卡-屏幕驱动)
发表于2026-06-08|VIVO-Y927移植主线Linux发行版
第2阶段:启用eMMC/SD卡设备 目标 上一章节只有 initramfs 的临时文件系统(RAM),断电就没了。手机有 16GB 的 eMMC 芯片焊在主板上,我们需要内核识别它,为后续挂载持久化 rootfs 做准备。 DTS 改动分析 需要写多少 DTS? 答案:两行。 12&sdhc_1 { status = "okay"; }; // eMMC — 焊死在主板上的内部存储&sdhc_2 { status = "okay"; }; // SD 卡 — 外部卡槽(Y927 有 TF 卡槽) 不需要写 GPIO、不需要写 pinctrl、不需要写寄存器地址。原因和阶段0的骨架 DTS 一样——这一切早在 msm8916.dtsi 和 msm8916-pm8916.dtsi 里定义好了。 msm8916.dtsi(SoC 级)第 2170-2190 行为 sdhc_1 写了: 属性 值 含义 reg 0x07824900 / 0x07824000 eMMC 控制 ...
3. VIVO-Y927 Linux 内核 + BusyBox 最小系统引导启动实验
发表于2026-06-07|VIVO-Y927移植主线Linux发行版
背景 上一章节完成了 lk1st 的移植,为Linux主线内核的引导和ARM64 Linux 的启动提供了基础。此时 fastboot 正常工作,但是 fastboot boot 无法启动下一步。 本章即将进入到Linux主线内核的真正启动阶段, 获取Linux内核源码 获取内核源码 123cd ~/y927git clone https://github.com/msm8916-mainline/linux.git -b wip/msm8916/7.0 --depth 1cd linux 第0阶段:零外设验证内核引导启动 目标 最极简的验证:不需要串口、不需要 USB、不需要看屏幕任何输出。只需要一个秒表。 原理: 1内核启动 → 挂载 initramfs → 执行 /init → sleep 15 秒 → exit 触发 panic → kernel 重启 观察设备行为: 刷入 boot.img 后重启 屏幕亮起(lk1st splash) → 停 ~15 秒 → 重启 → 再次亮起(lk1st) 如果这个循环发生了,内核就启动了。 不需要任何调试外设,不需要 DTB ...
2. VIVO-Y927 lk1st 的移植
发表于2026-06-06|VIVO-Y927移植主线Linux发行版
背景 Y927 原厂 Android 4.4 的 tz/hyp 是 32 位,无法启动 ARM64 内核。lk2nd 也受限于此。必须同时替换 tz、hyp、aboot 三个分区。 最终启动链 1PBL → SBL1 → DB410c tz → qhypstub (EL2) → lk1st (EL1, aarch32) → Linux (EL1, aarch64) ✅ 核心组件 组件 作用 DB410c tz DragonBoard 410c 的 TrustZone(与 qhypstub 兼容) qhypstub 开源 hyp stub,替代原厂 hyp,支持 ARM64 EL2 启动 lk1st 从 lk2nd 仓库构建的主引导程序(aboot 替换),提供 Fastboot 备份关键分区 本章操作只替换 tz/hyp/aboot,这三个分区的原厂镜像在线刷包中都有,即使变砖也能 EDL 刷回。 但 modem 和 fsg 存着每台手机唯一的 IMEI,线刷包的 modem 镜像是通用的,覆盖前务必先备份。 123456789101112131 ...
12…14
avatar
Zhangzqs
一个分享与记录的个人空间
文章
133
标签
553
分类
37
Follow Me
最新文章
2. VIVO-Y927 lk1st 的移植2026-06-28
无题2026-06-28
无题2026-06-28
基于 rust-vmm 玩转虚拟化2026-06-19
8. VIVO-Y927 Linux 内核设备树完善(电池和充电)2026-06-15
分类
  • AI2
  • Android7
  • GAMES101课程笔记11
  • Git1
  • Golang6
  • Java框架2
  • Python1
  • ROS机器人1
标签
演奏器 线刷 Leetcode 凯撒密码 开发技巧 Android Broadcast ConstraintLayout 旅行行程优化 MySQL安装与配置 形式化方法 Grafana PVE oh-my-zsh安装 搜索引擎 Rust 凯撒密码变种 命名规范 三角函数 Java代码 Hive踩坑解决 大整数求幂模 密钥分配 黑白棋子移动问题 怀尔斯定理 Hive环境搭建 反证法 嵌入式Linux 矩阵运算 FAT12 Socks5协议 蓝桥杯 黑匣子沉降轨迹 Follow集合 RSA算法 光线追踪 二元关系符 EDL刷机 数学符号 postmarketOS ARM64
归档
  • 六月 202612
  • 二月 20262
  • 一月 20261
  • 十二月 20251
  • 十一月 20252
  • 十月 20255
  • 八月 20254
  • 六月 20251
网站资讯
文章数目 :
133
已运行时间 :
本站总字数 :
246.2k
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2026 By Zhangzqs
框架 Hexo|主题 Butterfly
搜索
数据库加载中