ZHYQ118

一个太过正常的人的自白

佳能官方说明书往往侧重于“如何操作”,而忽略了“为什么要用这个模式”以及它们在实际创作中的细微差别。对于佳能EOS R10这台微单相机,“创意拍摄区”(即模式转盘上的 Fv、P、Tv、Av、M)是发挥相机性能的核心。

以下是对这几个模式的深度解析与横向比较,希望能帮你彻底理清它们的关系。


1. 核心模式详解与底层逻辑

P 模式:程序自动曝光 (Program AE)

  • 逻辑:相机自动决定“光圈”和“快门”。

  • 既然全是自动,它和全自动(绿色的A+)有什么区别?

    • 核心区别:在P模式下,你可以控制除了光圈快门以外的所有参数(如ISO、白平衡、对焦模式、测光模式)。

    • 必杀技——程序偏移 (Program Shift):这是说明书常一笔带过的功能。半按快门测光后,转动主拨盘,你可以改变光圈和快门的组合,但维持曝光总量不变。

    • 适用场景:扫街、旅游记录。当你不想因为参数错过画面,但又想保留对照片色调(白平衡)和亮度(曝光补偿)的控制权时使用。

Tv 模式:快门优先 (Shutter-priority AE)

  • 逻辑:你锁死“快门速度”,相机自动配“光圈”。

  • 核心控制点时间。你是想凝固瞬间(高速快门),还是想记录光轨/流水(慢速快门)。

  • 风险提示:如果你设定的快门太快(如1/4000秒),而镜头光圈不够大或环境太暗,光圈值会闪烁,提示你画面会欠曝(太黑)。

  • 适用场景:体育运动(高速)、宠物抓拍(高速)、瀑布拉丝(慢速)。

Av 模式:光圈优先 (Aperture-priority AE)

  • 逻辑:你锁死“光圈值”,相机自动配“快门”。

  • 核心控制点景深。你是想背景虚化(大光圈,f/1.8),还是想前后都清晰(小光圈,f/8)。这是人像摄影师最常用的模式。

  • 风险提示:在暗光下使用小光圈(如f/11),相机为了保证亮度,可能会自动把快门降得极慢(如1/10秒),导致手抖拍糊。

  • 适用场景:人像(虚化背景)、风光(全景清晰)、静物。

M 模式:手动曝光 (Manual Exposure)

  • 逻辑:光圈、快门都由你决定。

  • 核心控制点完全掌控。相机不再替你做决定,除了ISO(如果你设为AUTO的话)。

  • 现代M模式的变体(M + ISO Auto):这是现代微单最强大的用法之一。你固定光圈(控制景深)和快门(控制动态),让ISO去自动平衡亮度。这实际上变成了“第三种半自动模式”。

  • 适用场景:影棚闪光灯拍摄(必须用M)、极端光线环境、拍摄星空、全景接片(保证每一张亮度一致)。

Fv 模式:灵活优先 (Flexible-priority AE)

  • 逻辑:这是佳能R系统(包括R10)特有的“超级模式”。它可以在P、Tv、Av、M之间无缝切换,无需转动模式转盘。

  • 操作方式:初始状态下,光圈、快门、ISO都是“AUTO”(此时等于P模式)。你可以选中其中任何一个参数进行调整:

    • 如果你只动了光圈,它就变成了Av模式。

    • 如果你只动了快门,它就变成了Tv模式。

    • 如果你动了光圈和快门,它就变成了M模式。

    • 按下删除键(垃圾桶图标),可以将选中的参数一键重置回AUTO。

  • 核心价值效率。对于熟练工,这是最快的模式,不用眼睛离开取景器就能应对突发的光线变化。


2. 模式横向比较与痛点解析

为了更直观地理解,我们将它们放在具体的冲突场景中对比:

Av (光圈优先) vs. Tv (快门优先)

  • 痛点:有时候我用Av拍人,结果人动了一下糊了,为什么?

  • 区别:Av只管景深,不管时间。在室内弱光下,Av模式为了维持曝光,会毫不犹豫地把快门降到很慢,导致糊片。

  • 解决:这种情况下,要么改用Tv模式保证速度,要么在Av模式菜单里设置“最低快门速度”。

P (程序自动) vs. Fv (灵活优先)

  • 痛点:既然Fv全自动时就是P,为什么还要保留P?

  • 区别:P模式更简单,适合“不想思考参数”的时候;Fv则是“随时准备思考参数”。P模式一旦关机或重置,逻辑很简单;Fv会保留你上次手动设置的那个参数,如果你忘了你把快门锁在1/4000秒,下次开机拍夜景就会一片漆黑。

  • 结论:新手用P,老手用Fv。

M (手动) vs. Fv (灵活优先)

  • 痛点:Fv既然能全手动,我为什么还要切到M?

  • 区别:操作手感不同。M模式下,R10的前后拨盘通常被锁死为“前拨盘控制快门,后拨盘控制光圈”(或者反过来)。而在Fv模式下,你需要先“选中”参数,再“调整”参数,多了一个步骤。

  • 结论:如果你需要长时间维持纯手动拍摄(如影棚拍摄),M模式操作更直接;如果你在户外光线变化剧烈,Fv更灵活。


3. 特殊模式:B门 (Bulb)

  • 在R10上,B门通常是在M模式下,将快门速度一直往慢拨,超过30秒后出现的(或者是独立的B模式,视固件设置)。

  • 定义:按下快门,快门帘打开;松开快门,快门帘关闭。

  • 用途:曝光时间超过30秒的场景,如拍摄烟花、车轨、星轨。必须配合三脚架和快门线(或手机APP遥控)。


4. 总结对比表

模式 决定权在谁 核心用途 适合场景 致命弱点
P 相机 抓拍、记录 旅游、家庭合影 无法控制虚化程度或运动模糊
Tv 用户定时间 控制动态效果 运动、宠物、流水 光圈不够大时画面会黑
Av 用户定光圈 控制背景虚化 人像、静物、风光 暗光下快门过慢导致手抖糊片
M 用户定一切 精准控制曝光 影棚、星空、复杂光线 操作慢,容易过曝或欠曝
Fv 混合 高效切换逻辑 扫街、光线多变环境 操作逻辑复杂,容易忘重置参数

5.详细比较M (手动) 和Fv (灵活优先)两种模式的区别

这两种模式在“最终能拍出什么照片”上是一模一样的,它们的区别完全在于操作逻辑拨盘的分配方式

由于EOS R10只有两个拨盘(前拨盘+顶部后拨盘),这两种模式的操作体验差异会比在高端机型(如R5/R6)上更明显。

以下是针对R10用户的深度对比:

a. 核心逻辑的区别

  • M 模式 (手动曝光):是**“硬连接”**。

    • 逻辑:各个参数各司其职,雷打不动。

    • R10上的操作

      • 前拨盘 = 死死锁死为快门速度。

      • 后拨盘 = 死死锁死为光圈值。

      • ISO = 通常是自动(除非你专门进菜单改)。

    • 优点极快。你的肌肉记忆会非常牢固,手一摸就知道哪个轮子管哪个。

    • 缺点:如果你想临时调一下曝光补偿(让画面亮一点/暗一点),在“M模式+Auto ISO”下,你往往需要组合键(比如按住某个键再转拨盘,或者去触摸屏幕),操作相对繁琐。

  • Fv 模式 (灵活优先):是**“选谁调谁”**。

    • 逻辑:把四个参数(快门、光圈、ISO、曝光补偿)放在一排,你可以“选中”其中任何一个来调整,也可以随时把它们“踢回”AUTO状态。

    • R10上的操作

      • 后拨盘(通常)= 光标移动器。用来在光圈、快门、ISO、曝光补偿这四个图标之间来回切换(选中谁,谁就变成橙色)。

      • 前拨盘(通常)= 数值调节器。调节你刚才选中的那个参数。

    • 优点无缝切换。你不需要转动模式转盘,就能在这一种模式下实现P、Av、Tv、M的所有功能。特别是调整“曝光补偿”非常方便,选中它直接转前拨盘即可。

    • 缺点操作多一步。你想调光圈时,必须先确认光标是不是停在光圈上。如果光标在快门上,你转前拨盘改的就是快门。这对抓拍来说,多这一步确认可能就是致命的。


b. 实战场景对比:为什么要二选一?

场景一:你正在拍摄奔跑的孩子(需要频繁调整快门和光圈)
  • M 模式 (胜):你的大拇指和食指可以同时工作。食指转前轮加一档快门,大拇指转后轮减一档光圈,所见即所得,零延迟

  • Fv 模式 (败):你需要先用后轮把光标移到快门上,转前轮调快门;然后再把光标移到光圈上,转前轮调光圈。手忙脚乱。

场景二:光线忽明忽暗的扫街(主要靠自动测光,但偶尔想干预亮度)
  • Fv 模式 (胜):你可以把光圈、快门都设为AUTO(类似P模式),但是把光标停在“曝光补偿”上。一旦看到逆光脸太黑,直接转前轮加曝光;一旦进入室内,想控制景深,把光标移到光圈,转一下就有数值了(变身Av模式)。拍完按一下“垃圾桶/下键”,瞬间回到全自动。进可攻退可守

  • M 模式 (败):如果你用M+Auto ISO,当你觉得画面太暗想加亮时,你会发现前轮管快门,后轮管光圈,没有轮子管亮度(曝光补偿)了!你得去菜单里找或者按组合键,非常打断节奏。


c. 操作小技巧(针对R10)

  • Fv模式的神技——“一键还原”: 在Fv模式下,无论你把参数调得多么乱,按下机身背面的 “下键”(或者垃圾桶键,视设置而定),可以直接把你选中的那个参数重置回 AUTO。长按该键,通常可以把所有参数重置回AUTO。这是Fv模式的灵魂,一定要学会。

  • M模式的神技——“Auto ISO”: 现在90%的职业摄影师用M模式时,其实并不是纯手动。他们设置好光圈(控制虚化)和快门(控制不糊),然后把ISO设为AUTO。这实际上是**“超级半自动模式”**,既保证了你要的效果,又不用担心曝光出错。

d.总结建议

  • 什么时候用 M?

    • 当你明确知道自己需要什么光圈和快门组合时。

    • 棚拍闪光灯(必须用M)。

    • 拍星空(必须用M)。

    • 体育/飞鸟(需要极速响应调整参数)。

  • 什么时候用 Fv?

    • 旅游/扫街/活动记录。你需要大部分时间依赖相机的自动判断(P模式),但偶尔需要强力介入一下(比如强制把快门拉高拍个跳跃,或者强制把光圈开大拍个特写)。

    • Fv模式是**“给想偷懒的高手”**准备的。

建议: 如果你觉得Fv那种“先选再调”的逻辑很绕,就彻底忘掉Fv,专精 Av(日常用) + M(复杂光线/定拍用) 这一对组合就足够应对99%的场景了。

总结:这些模式名称中的“优先”你怎么理解?

这是一个非常深刻的问题。理解了“优先”这两个字,你就理解了相机设计的底层逻辑,也就跨过了从“瞎拍”到“创作”的门槛。

在摄影中,“优先”的本质其实是 “权力的锁定”“责任的分配”

你可以把拍照想象成你(摄影师)和相机(电脑)在合作完成一项任务。曝光三要素(光圈、快门、ISO)必须达到一个平衡,画面才不会太亮或太暗。

“优先”就是你对相机下达的最高指令

a. “优先” = 我锁死一个变量,你负责凑出答案

在任何“优先”模式下,都存在这样的对话逻辑:

  • Tv(快门优先)——关于“时间”的独裁

    • 你的潜台词:“我不管背景虚不虚化,我也不管画面噪点多不多。我只要这个瞬间被凝固(或者流淌)。只有时间(快门速度)是我关心的,其他的你看着办。

    • 应用:比如拍跑步的学生,你必须锁死1/1000秒。此时光圈是f/2.8还是f/5.6,对你来说不重要,只要亮度正常就行。

    • “优先”的含义时间是不可妥协的硬指标。

  • Av(光圈优先)——关于“空间”的独裁

    • 你的潜台词:“我不管快门是快是慢(只要别糊),我只要这个背景虚化得漂亮(或者前后都清晰)。只有景深(光圈值)是我关心的,其他的你看着办。

    • 应用:比如给领导拍特写,你必须锁死f/1.8让背景杂乱人群消失。至于快门是1/200还是1/500,对照片主题影响不大。

    • “优先”的含义画面层次感是不可妥协的硬指标。

b. “优先” = 牺牲的艺术

理解“优先”的另一个维度,是理解代价。当你给予某一项参数“优先权”时,意味着其他参数必须为了它做出牺牲

  • 在 Tv 模式下:你为了“优先”保证高速快门,相机可能会被迫把光圈开到最大(牺牲景深),甚至画质变差(ISO飙升)。

  • 在 Av 模式下:你为了“优先”保证小光圈的大景深,相机可能会被迫把快门降得很慢(牺牲清晰度,导致手抖糊片)。

所以,“优先”不仅是你在选什么,更是你在赌什么。 你赌的是:牺牲其他参数,换取我想要的核心效果,是值得的。

c. 特殊的 Fv(灵活优先)

这里的“优先”含义稍微不同。

  • Fv(灵活优先)——关于“控制权”的独裁

    • 你的潜台词:“我现在什么都不锁死,但我保留随时锁死任何参数的权力。”

    • 它的“优先”指的是 “灵活度优先” (Flexible Priority)。

    • 在P/Tv/Av模式下,规则是固定的(比如Av模式你死活改不了快门)。但在Fv模式下,规则由你当场制定。上一秒你可能只锁光圈(Av逻辑),下一秒你觉得不行,手动把快门也锁了(M逻辑)。

    • 理解:这是给不想被单一模式束缚的人准备的。它优先保障的是你的操作自由

d. 总结:一个通俗的比喻

想象你是伊川县实验高中宣传部的主任(用户),相机是你的干事(电脑):

  • 全自动 (A+):你说:“去拍点照片回来,清楚就行。” —— 干事全权负责,你不管事。

  • 光圈优先 (Av):你说:“背景必须给我虚化(指定光圈),其他的你自己看着办。” —— 你只抓这一项KPI。

  • 快门优先 (Tv):你说:“运动会跑步的人绝不能拍虚(指定快门),其他的你自己看着办。” —— 你只抓这一项KPI。

  • 手动模式 (M):你说:“光圈要f/4,快门要1/200,ISO要400,少一点都不行。” —— 微观管理,干事只负责执行。

  • 灵活优先 (Fv):你带着干事去现场,一会儿说“这张随便拍”,一会儿说“这张必须虚化”,一会儿说“这张参数我全部自己调”。 —— 你根据现场情况,动态收回或下放权力。

以上内容由google gemini创作完成。

前几天准备将openwrt升级时,发现无法写入emmc,尝试了几种方法都没有解决,最后觉得最大的问题可能是emmc分区乱掉了,遂决定来个彻底恢复。方法也比较简单,但长时间不操作了容易忘,记录一下:

制作一个能够从U盘正常启动的armbian系统

测试过几个版本之后,只有这个版本最简单好用,不需要修改任何内容,直接把镜像通过写盘软件写入优盘即可,下载链接Armbian_5.44_S9xxx_Ubuntu_bionic_3.14.29_server_20180729.zip

进入armbian系统使用ddbr恢复分区

1、进入armbian

启动盘制作好后插入N1机身,然后插上网线后通电,正常情况下就可以直接启动了,到路由器中找出新出现的有线设备(一般带一个aml后缀的设备),复制ip地址,使用终端ssh进入armbian,用户名root,密码1234,进入系统后后要求强制修改。修改好后reboot设备再次进入系统即可。

2、下载ddbr原版恢复包

地址如下

-emmc.img.gz

3、ddbr恢复

进入系统后使用命令

1
ddbr

然后输入b(backup),在进度条开始后即可Ctrl+C取消,这样可以获取到ddbr备份的文件的名称。

1.jpg

打开winscp用sftp加你的ssh登录信息登陆,进入/ddbr目录,可以看到一个*-emmc.img.gz文件,将它的文件名复制下来然后删除该文件。把从网盘下载的原版系统ddbr包上传到该目录,上传完成后把文件名改成刚才复制的文件名。

2.jpg

然后回到终端,输入ddbr指令,这回键入r(restore),它会询问你是否使用了压缩(DID YOU USED COMPRESSION),选择y即可

3.jpg

成功后,输入poweroff关机,大功告成。

然后可以继续用优盘制作openwrt启动盘,插入启动,写入emmc,一切就像新的一样丝滑。

参考链接:

斐讯N1探索手记#1

斐讯N1探索手记#2

在蜗牛星际的 BIOS 中关闭串口(Serial Port/COM Port),通常是为了避免与黑群晖引导程序冲突(尤其是使用 TinyCore RedPill 等引导时,未使用的串口可能导致内核报错或干扰正常启动)。以下是详细步骤:


📌 关闭串口的 BIOS 操作步骤

  1. 开机进入 BIOS:

    • 将显示器、键盘连接到蜗牛星际主板。

    • 开机后立即反复按 DeleteF2(具体按键需看开机画面提示,通常是 DelF2)进入 BIOS 设置界面。

  2. 定位串口设置选项:

    • 在 BIOS 主界面,使用 方向键 切换到 Advanced(高级) 选项卡。

    • 找到 Super IO ConfigurationSerial Port Configuration 选项(不同 BIOS 名称可能略有差异,重点找 SerialCOM 字样)。

  3. 禁用串口:

    • 进入 Super IO Configuration 后,你会看到类似以下选项:

      • Serial Port 1COM1(对应主板背板的 DB9 接口)

      • Serial Port 2COM2(对应主板上的排针接口)

    • 将需要关闭的串口状态设置为 Disabled

      • 选中 Serial Port 1 → 按 Enter → 选择 Disabled

      • 同理关闭 Serial Port 2(如果存在)。

  4. 保存并退出:

    • F10 键 → 选择 Yes 保存设置并退出 BIOS。

    • 系统将自动重启。


⚠️ 注意事项

  1. 安全操作:

    • 修改 BIOS 前建议断开所有硬盘数据线(避免意外损坏数据)。

    • 操作时保持主板供电稳定(防止 BIOS 设置丢失)。

  2. 串口位置:

    • COM1 一般对应蜗牛星际机箱背部的 DB9 串口(大号梯形接口)。

    • COM2 通常对应主板上的 4针/9针排针(需用线缆扩展,默认可能未使用)。

  3. 黑群晖兼容性:

    • 关闭串口后,可减少引导时出现 ttyS* 相关内核错误(如 "Could not set serial console"),提升黑群晖启动稳定性。

🔧 替代方案(若 BIOS 无关闭选项)

极少部分精简版 BIOS 可能隐藏串口设置,此时可通过 修改引导参数 强制忽略串口:

  1. 适用于 TinyCore RedPill / RR 引导:

    • 编辑引导盘的 grub.cfguser_config.json 文件。

    • 在内核参数(cmdline)中添加 console=ttyS0,115200n8console=tty0(强制指定输出到第一个串口或虚拟终端)。

    • 或添加 ignore_loglevel 参数抑制串口初始化错误(临时方案):

      1
      2
      3
      4
      5
      "extra_cmdline": {
      ...,
      "console": "ttyS0,115200n8", # 指定串口
      "ignore_loglevel": "1" # 忽略日志级别错误(部分情况有效)
      }

💎 总结

步骤 操作要点
1. 进入 BIOS 开机按 DelF2
2. 定位串口设置 AdvancedSuper IO Configuration
3. 禁用串口 设置 Serial Port 1/2Disabled
4. 保存退出 F10Yes

关闭串口是优化蜗牛星际运行黑群晖的关键步骤之一,配合正确的引导驱动(如网卡驱动)和 VID/PID 设置,可显著减少启动故障。如仍有问题,建议结合 上一篇回复 中的网络驱动排查方法综合解决。

补充说明:在蜗牛星际主板中关闭所有串口(Serial Port)不会影响 USB 启动盘的正常工作

在windows中安装fastboot驱动一直比较头疼,默认的android fastboot驱动总是处于不可用状态,尤其是重新安装系统后,总要经过一番折腾。
默认就像这样,黄色感叹号。
1.png
输入fastboot devices后没有反应。需要手动安装,步骤如下:

  • 1、打开设备管理器,找到上面的黄色感叹号Android,右键“更新驱动程序”,选择“浏览我的电脑以查找驱动程序”
    2.png
  • 2、继续,让我从计算机上的可用驱动程序列表中选取

3.png

  • 3、显示所有设备
    4.png

  • 4、下一步,选择“从磁盘安装”
    5.png

  • 5、浏览,找到自己存放驱动的位置,选择android_winusb,后缀应该是inf,不过你的可能不显示。
    6.png
    7.png

  • 6、下一步选择“Android Bootloader Interface”
    8.png
    弹出警告信息后选“是”就可以安装成功了,如图
    10.png
    如上,就完成了,回到设备管理器,查看状态
    11.png

大功告成。

需要下载的驱动建议官网下载。

安装 debian 后,中文环境下home目录下文件夹显示的是中文,不方便使用cd命令,用到的软件xdg-user-dirs-gtk(Gnome 环境已默认安装),可以方便更改为英文。

1
2
3
4
5
6
#临时转换系统语言为英文,重启后会自动恢复原值的
export LANG=en_US
#执行转换命令,弹出的窗口中会询问是否将目录转化为英文路径,同意并关闭
xdg-user-dirs-gtk-update
#转换回系统语言为中文,也可以不执行下面的命令,直接重启也一样的
export LANG=zh_CN

下次进入系统后,会提示是否把目录转化为中文,选择不,并选择不再提示,并取消修改。

又从disqus切换到了gitalk

简介

gitalk是一个基于github开发的评论插件,它将文章评论以issues形式保存在github仓库中

实现步骤如下:

  1. 注册github应用
  2. NexT配置

注册github应用

进入github注册页面:Register a new OAuth application

  • Application name:应用名,方便起见直接填github用户名
  • Homepage URL:网站地址
  • Application description:应用描述
  • Authorization callback URL:网站地址

注册成功后会生成Client IDClient Secret

提示:Homepage URLAuthorization callback URL如果绑定了自己的域名,最好填写自定义域名,不要填写***.github.io ,否则可能会出现The redirect_uri is not associated with this application 的提示。

NexT配置

修改主题_config.yml(根目录下)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# Gitalk
# For more information: https://gitalk.github.io
gitalk:
enable: true
github_id: zjykzj # GitHub repo owner
repo: guestbook # Repository name to store issues
client_id: e15xxxxx63dce # GitHub Application Client ID
client_secret: 76cxxxxxf766 # GitHub Application Client Secret
admin_user: zjykzj # GitHub repo owner and collaborators, only these guys can initialize gitHub issues
distraction_free_mode: true # Facebook-like distraction free mode
# When the official proxy is not available, you can change it to your own proxy address
proxy: https://cors-anywhere.herokuapp.com/https://github.com/login/oauth/access_token # This is official proxy adress
# Gitalk's display language depends on user's browser or system environment
# If you want everyone visiting your site to see a uniform language, you can set a force language value
# Available values: en | es-ES | fr | ru | zh-CN | zh-TW
language: zh-CN
  • 设置enabletrue
  • github_id填入github帐号(用户名,不是邮箱)
  • repo填入github仓库名(注意:是仓库名不是仓库地址),评论将会以issues形式保存在该仓库下
  • client_id填入注册生成的值
  • client_secret填入注册生成的值
  • admin_user填入github帐号,用于初始化评论账户(用户名,不是邮箱)

Error: Not Found

问题描述:在文章底部评论框中出现错误信息

1
Error: Not Found

解决:和配置选项的填写有关,注意填写的内容

备注:填写主题中的配置的时候一定要小心,否则可能就出现此问题。我折腾了一个小时,最后发现是填写仓库名称的时候#号漏删了。
另外,如果配置都正确的情况下,如果还是出现此问题,那么请注意把评论所在仓库设置为public

未找到相关的issue进行评论

错误提示:Related Issues not found:未找到相关的issue进行评论,出现这种情况是因为文章评论还未初始化,只需要点击下面的按钮,登录 GitHub 账户即可。

文章少的话记得登录github账户后一篇一篇打开进行初始化,如果已有文章较多,建议查找脚本操作。

隐藏评论框

设置gitalk评论系统后,将会在每篇文章末尾添加评论框,而对于标签页/类别页等不需要评论的文章,可在front-matter设置属性进行隐藏

1
comments: false

因为一加Ace3切换成OxygenOS后会伴随有信号丢失的问题,解决办法就是刷ocdt分区和oplusstanvbk分区,但是这个也不是一劳永逸的方法,每次ota后都要重新操作一遍,为了方便自己使用,特在此记录。

恢复信号

1
2
3
adb reboot fastboot
fastboot flash ocdt ocdt.img
fastboot flash --slot=all oplusstanvbk oplusstanvbk.img

这里面的ocdt.img和oplusstanvbk.img是自己在买回新机后备份的原ColorOS系统的分区,一直保留使用,据说这个是和自己的手机绑定的,所以使用别人的,以及其它版本的不知道是否可行。

Root

现在使用APatch进行root,虽然从Apr 4, 2024已经没有再进行更新了,但截止到目前依然可用,目前最新版本的oos为CPH2609_15.0.0.400(EX01) 。使用它的原因是感觉比Magisk好用,内核级别的root,不容易被检测到。第一次安装刷入的步骤不难,也不是自己的目的,升级后进行的操作步骤如下:

获取boot镜像文件

  • 1、下载全量包,可通过oxygen Updater 获得
  • 2、解包
    • 通过解压软件获取payload.bin 文件
    • 通过payload dumper 获取boot.img文件

修补镜像

将获取到的原系统boot.img传输到手机,打开APatch,点击右上角手机图标,选择选择一个启动镜像并修补 ,找到文件,选择进行修补,之后修补好的文件会被保存到download文件夹,名称类似于apatch_patched_10763_0.10.7_prob.img

刷入修补后的boot文件

将修补后的apatch_patched_10763_0.10.7_prob.img传到电脑,在相应文件夹内打开终端,输入

1
2
adb reboot bootloader
fastboot flash boot xxx_boot.img

完成

补充:

在oos14时代,可能是内核版本没变,一次修补好的boot文件连续用了好几次,升级后直接刷入,免除了解包的麻烦。

但在oos15时代,不知道什么原因,第一次大版本升级后修补的boot镜像,直接用在后面的小版本OTA后都导致了无法进入系统的问题,所以,还是不要偷懒,每次都解包重新修补比较保险。

当然,出现无法启动的问题后,只需要刷入原版boot.img即可重新开机。

附:Linux环境下payload dumper使用方法

系统要求

  • Python3, pip
  • google protobuf for python pip install protobuf

准备工作

1
python -m pip install -r requirements.txt

这里要注意,如果不能安装,要进入python虚拟环境,方法在这一篇 ,这一点至关重要,我在这里花费了不少时间。

全量包解包

1
python payload_dumper.py payload.bin

python虚拟环境

一、安装虚拟环境包

在使用虚拟环境之前,首先需要安装虚拟环境管理工具。Python提供了多种工具来创建虚拟环境,最常用的是venv和virtualenv。

  • 安装venv
    Python 3.3及以上版本自带venv模块,因此无需额外安装。只需确保Python版本符合要求。
  • 安装virtualenv
    对于Python 2或者需要额外功能,可以选择安装virtualenv。使用以下命令安装virtualenv:
1
pip install virtualenv

二、创建虚拟环境

  • 使用venv创建虚拟环境
    在命令行中导航到项目目录,然后使用以下命令创建虚拟环境:
1
python -m venv myenv

其中myenv是虚拟环境的名称,可以根据需要更改。

  • 使用virtualenv创建虚拟环境
    同样,在项目目录下,使用以下命令创建虚拟环境:
1
virtualenv myenv

三、激活虚拟环境

在Unix或MacOS上激活

1
source myenv/bin/activate

四、在虚拟环境中安装和管理包

激活虚拟环境后,所有的包安装和管理操作都会在该虚拟环境中进行,而不会影响全局的Python环境。

1. 安装包

例如,安装requests库:

1
pip install requests

2、查看已安装包

1
pip list

3、退出虚拟环境

1
deactivate

五、在项目中使用虚拟环境

1. 项目文件结构

建议将虚拟环境目录排除在版本控制之外(例如Git),可以在项目根目录中创建一个.gitignore文件并添加以下内容:

myenv/

2. 使用requirements.txt管理依赖

在项目开发中,可以使用requirements.txt文件来管理依赖。在虚拟环境中,生成requirements.txt文件:

1
pip freeze > requirements.txt

在新的环境中,可以使用以下命令安装所有依赖:

1
pip install -r requirements.txt

六、其它

1、包冲突问题

在虚拟环境中安装包时,可能会遇到包冲突问题。可以使用pipdeptree工具查看包依赖关系,并解决冲突:

1
2
pip install pipdeptree
pipdeptree

2、使用不同版本的Python

可以在创建虚拟环境时指定Python版本。例如,使用Python 3.8创建虚拟环境:

1
virtualenv -p python3.8 myenv

3、使用venv和virtualenv同时管理多个项目

可以在不同的项目中使用不同的虚拟环境,以便独立管理各个项目的依赖关系。

获取docker镜像

拉取homeassistant最新docker镜像
终端登入执行以下命令

docker pull homeassistant/home-assistant:latest

创建docker容器

创建homeassistant的docker容器
点击Docker>容器菜单,然后 点击添加按钮

点击 命令行 按钮

在弹出的弹窗中 准备输入以下代码

docker run -d --name="hass" -v 你的挂载点/hassistant:/config -p 8123:8123 homeassistant/home-assistant:latest

挂在点在 openwrt>系统>挂载点 查看,就是结尾带docker字样的那个

由此最终得出 弹窗中需要输入的命令行 即为

docker run -d --name="hass" -v /mnt/mmcblk2p4/docker/hassistant:/config -p 8123:8123 homeassistant/home-assistant:latest

然后在创建docker容器处,配置以下两项:

  • docker镜像:选择homeassistant/home-assistant:latest
  • 网络:选择host | host

启动docker容器

找到容器,点击启动,稍微等待一会儿

最后在浏览器 输入你的http://软路由IP地址:8123 就可以登录homeassistant后台

安装hacs

到现在为止,我们的Home Assistant系统已经安装完毕并正常运行了,但它仍然是一个空壳子。本质上,现在的Home Assistant,就相当于刚刚买回来的手机或者笔记本电脑,只有操作系统,还需要安装各种软件(应用/App),才能够真正满足日常使用需求。
HACS(Home Assistant Community Store,HA社区商店) 是一个应用商店,我们推荐安装!

网上找到的教程基本都是针对国内访问优化过的商店,不放心,我找到了官方原版,安装步骤也很详细,姑且复制过来。
官方地址
1、进入终端
2、进入容器:

docker exec -it <name of container running homeassistant> bash

上面创建的容器名称为hass,所以最终命令应为

docker exec -it hass bash

3、下载运行bash脚本

wget -O - https://get.hacs.xyz | bash -

4、重启homeassistant

最后你的homeassistant的左侧就多出了 hacs 的菜单,就可以使用了。

保存备用
netsh int ip reset
netsh winsock reset
ipconfig /flushdns