<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[HandsomeHacker的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/github_38345754</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; github_38345754]]></copyright><item><title><![CDATA[记一个老年机的逆向工程与主线linux移植 （二）—— 主线内核和postmarketOS]]></title><link>https://blog.youkuaiyun.com/github_38345754/article/details/125939785</link><guid>https://blog.youkuaiyun.com/github_38345754/article/details/125939785</guid><author>github_38345754</author><pubDate>Fri, 29 Jul 2022 22:00:56 +0800</pubDate><description><![CDATA[大家好，我是练习时长两月半的老年机。能跑linux5.18、gtk、qt5、wayland。喜欢的话就多多为我点赞吧！]]></description><category></category></item><item><title><![CDATA[记一个老年机的逆向工程与主线linux移植 （一）—— 信息收集与Bootloader移植]]></title><link>https://blog.youkuaiyun.com/github_38345754/article/details/125825636</link><guid>https://blog.youkuaiyun.com/github_38345754/article/details/125825636</guid><author>github_38345754</author><pubDate>Sat, 16 Jul 2022 23:11:27 +0800</pubDate><description><![CDATA[震惊！一男子竟然让主线linux跑在了老年机上，真相竟然是？！]]></description><category></category></item><item><title><![CDATA[我的4g网卡运行着GNU/Linux -- 某4g无线网卡的逆向工程与主线Linux移植 (二)]]></title><link>https://blog.youkuaiyun.com/github_38345754/article/details/121481021</link><guid>https://blog.youkuaiyun.com/github_38345754/article/details/121481021</guid><author>github_38345754</author><pubDate>Thu, 25 Nov 2021 22:26:10 +0800</pubDate><description><![CDATA[修改lk2nd
lk1st yes!
移植主线Linux
usb 改造
PostmarketOS 使用体验

]]></description><category></category></item><item><title><![CDATA[我的4g网卡运行着GNU/Linux -- 某4g无线网卡的逆向工程与主线Linux移植 (一)]]></title><link>https://blog.youkuaiyun.com/github_38345754/article/details/121462292</link><guid>https://blog.youkuaiyun.com/github_38345754/article/details/121462292</guid><author>github_38345754</author><pubDate>Thu, 25 Nov 2021 22:25:50 +0800</pubDate><description><![CDATA[最近，某鱼和某宝上开始出现一些基于高通处理器的4g无线网卡，有一些网卡采用的方案也就是我之前折腾过的红米2的主控msm8916。如果能够在这些无线网卡上跑起主线linux，这应该是世界上最便宜的arm64单板电脑了。但是这些板子的源码基本上就是个黑盒，把所有的功能都驱动起来可能有点麻烦。
First Look
（板子图）
收到货首先就是把主板拆出来，可以看见主板上已经预留好串口和一些调试用的测试点，而且每一个点上都有标注这个点的功能，这让我的工作减轻了不少。在主板的背面还有一个按钮，没有标注任何文字，按着上]]></description><category></category></item><item><title><![CDATA[小米平板4上的Debian Linux（Droidian）方便日常使用的一些设置]]></title><link>https://blog.youkuaiyun.com/github_38345754/article/details/120936810</link><guid>https://blog.youkuaiyun.com/github_38345754/article/details/120936810</guid><author>github_38345754</author><pubDate>Sun, 24 Oct 2021 17:45:10 +0800</pubDate><description><![CDATA[这篇文章是我为日常使用Droidian做的一些记录，可能有些不太准确，仅供参考！
通过usb线进行调试
droidian在devtools那个包中默认开启了usb网络，刷入devtool那个包后可以通过usb线ssh连接到我们的设备。
ssh droidian@10.15.19.82

Postmarketos-Tweak
这是postmarketos项目弄的一个类似于gnome-tweak的小工具，可以用于切换phosh的gtk主题和一些外观，但是debian并没有打包这个软件，只能通过编译的形式进行安装]]></description><category></category></item><item><title><![CDATA[发布：世界上第一个小米平板4上的Debian Linux 刷机包]]></title><link>https://blog.youkuaiyun.com/github_38345754/article/details/120911574</link><guid>https://blog.youkuaiyun.com/github_38345754/article/details/120911574</guid><author>github_38345754</author><pubDate>Sat, 23 Oct 2021 12:17:32 +0800</pubDate><description><![CDATA[经过一段时间的研究，没搞过任何安卓刷机包适配的我还是把halium 9成功在米板4上跑起来啦。并移植上了最新的Debian GNU/Linux（Droidian）。尽管还不是很完美，对文件系统的修改没有按Droidian的那一套规范来，但是日常使用应该是没什么大问题的。
注意事项

这个刷机包仅在我的机器上测试通过了，我不对机器刷成砖、爆炸等造成机器无法使用的情况负责。
这个刷机包会清除设备上的所有数据，我不对任何数据的损失负责。
Droidian系统还处在早期开发阶段，应该还不太适合日常使用（我觉得没问题]]></description><category></category></item><item><title><![CDATA[Halium 9 尝鲜 -- 在小米平板4上的移植 （七）]]></title><link>https://blog.youkuaiyun.com/github_38345754/article/details/120734237</link><guid>https://blog.youkuaiyun.com/github_38345754/article/details/120734237</guid><author>github_38345754</author><pubDate>Wed, 13 Oct 2021 19:14:04 +0800</pubDate><description><![CDATA[嗯，好像距离上次研究Halium已经过了很久了。虽然一直没时间弄这个，但是没全部驱动心里一直不太服气，最近还是抽出时间来把它弄好了。小米平板4终于有机会可以摆脱“大型手机”的困境，虽然还是有很多坑，不过作为一个看看视频、写写码的小电脑还是可以胜任的。
Droidian项目
迷惑的 Treble
跑起wifi
声卡
未完待续

...]]></description><category></category></item><item><title><![CDATA[自己DIY一个pinephone——debian与主线linux在红米2（msm8916）上的移植 (二)]]></title><link>https://blog.youkuaiyun.com/github_38345754/article/details/119808446</link><guid>https://blog.youkuaiyun.com/github_38345754/article/details/119808446</guid><author>github_38345754</author><pubDate>Thu, 19 Aug 2021 18:39:32 +0800</pubDate><description><![CDATA[简介
​	近段时间，msm8916-mainline项目的大佬们又为红米2完成了充电芯片的驱动，这意味着可以在主线内核中能够正常充电和检测电池容量，还有otg的供电。距离完整可用的主线Linux手机又进了一步。
​    Postmarketos项目的那帮大佬也不知道最近在整什么新的功能，导致edge版本的postmarketos要么会在构建rootfs时对包的checksum报错，要么刷进去产生一些稀奇古怪的bug，体验很差，也许基于musl libc的alpine linux可能真的不太适合手机这种设备]]></description><category></category></item><item><title><![CDATA[全志主线内核lradc 按键的一种调试方法]]></title><link>https://blog.youkuaiyun.com/github_38345754/article/details/116600129</link><guid>https://blog.youkuaiyun.com/github_38345754/article/details/116600129</guid><author>github_38345754</author><pubDate>Mon, 10 May 2021 16:40:31 +0800</pubDate><description><![CDATA[通过dev_info打印出电压的值
通过修改 /drivers/input/keyboard/sun4i-lradc-keys.c
实现在dmesg内打印lradc检测到的电压
From 7d2532e1274f75a9d157cbe0e8a4cee3c7760db4 Mon Sep 17 00:00:00 2001
From: handsomeyingyan &lt;handsomeyingyan@github.com&gt;
Date: Mon, 10 May 2021 11:12:20 +0800
S]]></description><category></category></item><item><title><![CDATA[自己DIY一个pinephone——debian与主线linux在红米2（msm8916）上的移植]]></title><link>https://blog.youkuaiyun.com/github_38345754/article/details/114291930</link><guid>https://blog.youkuaiyun.com/github_38345754/article/details/114291930</guid><author>github_38345754</author><pubDate>Tue, 02 Mar 2021 22:54:20 +0800</pubDate><description><![CDATA[这里有个标题会比较厉害
pine64出品了一个基于全志a64的soc全开源手机，搜了下某宝竟然要接近2000大洋，即使几年前的高通的处理器的性能都可以完爆全志了，搞一个可以运行“正常”linux的高通手机应该还是蛮有意思的。
目前以主线linux为主的比较大规模的linux移动发行版就只有postmarketos，做的真的还可以，用python写的部署工具（pmbootstrap）能够做到一个工具构建文件系统和烧录，但是postmarketos基于的发行版Alpine Linux的软件包都是用musl的c库]]></description><category></category></item><item><title><![CDATA[Halium 9 尝鲜 -- 在小米平板4上的移植 （六）]]></title><link>https://blog.youkuaiyun.com/github_38345754/article/details/113545355</link><guid>https://blog.youkuaiyun.com/github_38345754/article/details/113545355</guid><author>github_38345754</author><pubDate>Tue, 02 Feb 2021 12:03:05 +0800</pubDate><description><![CDATA[烧写
生成了三个需要的镜像后，需要用twrp把vendor.img和halium-boot.img分别烧写到vendor分区和boot分区（在烧写前建议格式化system vendor cache davilk cache 这几个分区防止产生影响）
然后去ubport的CI下载最新生成的rootfs，不同的架构的rootfs是不同的，这里提供的是arm64的rootfs
rootfs下载
还需要halium-install安装脚本
脚本
这个脚本有个奇妙的BUG就是passwd指令找不到无限卡死
通过修改f]]></description><category></category></item><item><title><![CDATA[Halium 9 尝鲜 -- 在小米平板4上的移植 （五）]]></title><link>https://blog.youkuaiyun.com/github_38345754/article/details/113524473</link><guid>https://blog.youkuaiyun.com/github_38345754/article/details/113524473</guid><author>github_38345754</author><pubDate>Mon, 01 Feb 2021 17:36:19 +0800</pubDate><description><![CDATA[编译 Halium 9
在完成上述修改后，终于可以开始编译了～～
写一个xml并同步你的适配包
在halium/devices/manifests目录下创建你的机型的xml
命名格式 （厂商）_（codename）.xml
下面是一个例子(xiaomi_clover.xml)
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!--
    Copyright (C) 2021 HandsomeYingyan &lt;handsomeyingyan@gmail]]></description><category></category></item><item><title><![CDATA[Halium 9 尝鲜 -- 在小米平板4上的移植 （四）]]></title><link>https://blog.youkuaiyun.com/github_38345754/article/details/113523882</link><guid>https://blog.youkuaiyun.com/github_38345754/article/details/113523882</guid><author>github_38345754</author><pubDate>Mon, 01 Feb 2021 16:59:10 +0800</pubDate><description><![CDATA[修改kernel
检查并修改内核选项
Halium提供了一个脚本检查defconfig的有些选项是否已经打开。找到内核项目里的defconfig，就可以开搞了。
脚本
 ./check-kernelconfig 你的defconfig -w

这个脚本就会自动勾选上Halium依赖的内核模块。
启动时永远启动到initramfs
Halium-boot是一个initramfs，不能够让内核绕过它。
修改内核文件夹下的 init/initramfs.c
do_skip_initramfs = 1;

改为
d]]></description><category></category></item><item><title><![CDATA[Halium 9 尝鲜 -- 在小米平板4上的移植 （三）]]></title><link>https://blog.youkuaiyun.com/github_38345754/article/details/113522443</link><guid>https://blog.youkuaiyun.com/github_38345754/article/details/113522443</guid><author>github_38345754</author><pubDate>Mon, 01 Feb 2021 16:34:13 +0800</pubDate><description><![CDATA[修改device
由于不同的机型情况不一样这里只列举一些常见的修改，启动到rootfs应该是没什么问题的。
准备好一个可以用的git平台账号，fork目标机型的lineage os 16适配就可以开始弄了。
去掉脚本删除不掉的JAR包
Halium 从9开始提供了处理jar和apk内容的工具脚本会自动清除掉vendor里BoardConfigVendor.mk和device里proprietary-files.txt的jar和apk，但是device里的device.mk里仍然存在一些没有处理掉的jar包。]]></description><category></category></item><item><title><![CDATA[Halium 9 尝鲜 -- 在小米平板4上的移植 （二）]]></title><link>https://blog.youkuaiyun.com/github_38345754/article/details/113505311</link><guid>https://blog.youkuaiyun.com/github_38345754/article/details/113505311</guid><author>github_38345754</author><pubDate>Mon, 01 Feb 2021 11:56:15 +0800</pubDate><description><![CDATA[配置环境
Halium 9 是基于lineage os 16修改而来，所以基本上对环境的要求与其一致，推荐使用内存8gb以上的台式机和梯子进行编译。Ubuntu 20.04亲测是可以通过的。
安装依赖的命令如下
        sudo apt-get install -y \
       openjdk-8-jdk android-tools-adb bc \
       bison build-essential curl flex g++-multilib \
       gcc-multili]]></description><category></category></item><item><title><![CDATA[Halium 9 尝鲜 -- 在小米平板4上的移植 （一）]]></title><link>https://blog.youkuaiyun.com/github_38345754/article/details/113500229</link><guid>https://blog.youkuaiyun.com/github_38345754/article/details/113500229</guid><author>github_38345754</author><pubDate>Mon, 01 Feb 2021 11:32:15 +0800</pubDate><description><![CDATA[废话
最近Apple出了一个基于arm的笔记本，arm的低功耗、高续航的特点的确香到我了，但是学生党太穷买不太起，只有一个安卓系统的小米平板4在吃灰。在UOS和菊花厂的推动下，好多国产软件都有了arm64版，如果调通了halium应该配合着deepin桌面做一个移动办公的小电脑应该还是比较有意思的。
Halium 好像7版本的教程挺多的，但是9还没什么教程，主要是多了一个treble(vendor分区)，还有现在的设备的soc大多数都是arm64和halium 7时大多数的设备都还是armhf的情况不大一样]]></description><category></category></item><item><title><![CDATA[如何写一个你自己的bhuman模块]]></title><link>https://blog.youkuaiyun.com/github_38345754/article/details/109135735</link><guid>https://blog.youkuaiyun.com/github_38345754/article/details/109135735</guid><author>github_38345754</author><pubDate>Sat, 17 Oct 2020 17:23:44 +0800</pubDate><description><![CDATA[最近去搞nao机器人了，写bhuman的人真是牛啊~~~
模块的作用
一个bhuman模块分为表征(representation)和modules两个部分，这两个部分分别存放于src目录的两个不同的地方（与他们名字相同的两个文件夹），其中representation提供数据，在有这个模块依赖（比如REQUIRES(TeamData)就是把teamdata的表征实例化，这个模块里就可以以theTeamData的形式访问到表征里的具体数据）的地方实例成“the（表征名字）”形式的对象。Modules时时刻刻的在]]></description><category></category></item><item><title><![CDATA[工厂废品小爱同学mini的重生（4）——— Linux 填坑]]></title><link>https://blog.youkuaiyun.com/github_38345754/article/details/108697710</link><guid>https://blog.youkuaiyun.com/github_38345754/article/details/108697710</guid><author>github_38345754</author><pubDate>Sun, 20 Sep 2020 20:45:37 +0800</pubDate><description><![CDATA[博通wifi芯片的坑
小爱同学用的wifi芯片和树莓派zero的差不太多，不难解决
&amp;mmc1 {
  pinctrl-names = "default";
  pinctrl-0 = &lt;&amp;mmc1_pg_pins&gt;;
  vmmc-supply = &lt;&amp;reg_aldo1&gt;;
  mmc-pwrseq = &lt;&amp;wifi_pwrseq&gt;;
  bus-width = &lt;4&gt;;
  non-removable;
  status ]]></description><category></category></item><item><title><![CDATA[工厂废品小爱同学mini的重生（3）——— Uboot和硬改SD卡]]></title><link>https://blog.youkuaiyun.com/github_38345754/article/details/108247740</link><guid>https://blog.youkuaiyun.com/github_38345754/article/details/108247740</guid><author>github_38345754</author><pubDate>Wed, 26 Aug 2020 22:30:34 +0800</pubDate><description><![CDATA[硬改SD卡
由提取出的设备树结合硬件可以得到，蓝牙使用的为UART1，调试口占用UART0，在A面的调试点分别是JTAG和UART0，还有S-UART（设备树里没有使用），查看全志R16的用户手册得知，MMC0与JTAG和UART0复用，只要接上一个sd卡的卡槽就可以完成硬件的改装，加上全志soc先检查sd卡可启动性的传统艺能，基本上使得启动主线Uboot成为可能。
按照下图的定义接线，再使用主线uboot现成的a33-q8-tablet设备树，就可以启动到uboot的spl阶段了，但是要填的坑还是有点多。]]></description><category></category></item><item><title><![CDATA[工厂废品小爱同学mini的重生（2）————提取设备树]]></title><link>https://blog.youkuaiyun.com/github_38345754/article/details/108158635</link><guid>https://blog.youkuaiyun.com/github_38345754/article/details/108158635</guid><author>github_38345754</author><pubDate>Fri, 21 Aug 2020 22:34:52 +0800</pubDate><description><![CDATA[开端
买到的板子A面长这样

在买之前发现板子上有两个UART 和一个JTAG调试口，全志R16是A33的马甲，看数据收册得知sd卡槽与UART0和JTAG复用这样便使得（比较）无损的从sd卡启动主线linux和uboot成为可能，AC108麦克风矩阵+蓝牙+wifi，让我果断上车。。。。。
开始挖坑
一番探索后发现PWRON测试点旁边的按钮可以进入sunxi-fel模式，但是是通过SPL而不是直接启动的fel，按照linux-sunxi的说法，这种fel是提取不了nand里的数据的（具体参照linux-s]]></description><category></category></item></channel></rss>