avatar
文章
133
标签
553
分类
37

首页
时间轴
标签
目录
友情链接
推荐工具
站长工具
Zhangzqs
搜索
首页
时间轴
标签
目录
友情链接
推荐工具
站长工具
无题
发表于2026-06-22|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-22|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
最新文章
无题2026-06-22
无题2026-06-22
基于 rust-vmm 玩转虚拟化2026-06-19
8. VIVO-Y927 Linux 内核设备树完善(电池和充电)2026-06-15
8. VIVO-Y927 Linux 内核设备树完善(WiFi-蓝牙)2026-06-14
分类
  • AI2
  • Android7
  • GAMES101课程笔记11
  • Git1
  • Golang6
  • Java框架2
  • Python1
  • ROS机器人1
标签
BK命令 最大公约数 面板驱动 能量守恒 pingora入门 Matlab 常微分方程求解 分布式系统 Qemu 演奏器 矩阵加密解密 HBase安装配置 Drawable文件 虚拟硬盘 LRU接口实现 自上而下分析 河流承载能力模型 因果图法 BusyBox 光的折射 十二平均律 二项式定理 HBase环境搭建 递归算法 JSON Web Token 投影变换 HDFS文件管理 字节码反编译 原料搭配问题 Playfair算法实践 文法左递归消除 俄罗斯轮盘赌(Russian Roulette) 猪猪侠主题曲 指弹 Geogebra 等价类划分法 洋流影响 EditText布局 Spark环境搭建 Remmina配置
归档
  • 六月 202612
  • 二月 20262
  • 一月 20261
  • 十二月 20251
  • 十一月 20252
  • 十月 20255
  • 八月 20254
  • 六月 20251
网站资讯
文章数目 :
133
已运行时间 :
本站总字数 :
243k
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2026 By Zhangzqs
框架 Hexo|主题 Butterfly
搜索
数据库加载中