Halium 9 尝鲜 -- 在小米平板4上的移植 (六)

Halium 9移植实战:为小米平板4适配Linux移动系统的内核与驱动集成 在移动设备开发领域,内核移植与硬件驱动集成是连接底层硬件与上层操作系统的核心技术。其核心原理在于通过修改Linux内核,使其能够适配特定设备的硬件抽象层(HAL)和板级支持包(BSP),从而为不同的操作系统提供统一的硬件访问接口。这项技术的价值在于能够复用庞大的安卓硬件生态,为Ubuntu Touch、Sailfish OS等基于Linux的移动操作系统铺平道路,极大地扩展了开源系统的设备兼容性。典型的应用场景包括为老旧或特定型号的移动设备移植非安卓系统,实现硬件资源的再利用与系统定制。本文以小米平板4(代 阅读详情
AI摘要

本文介绍如何通过烧写自定义镜像实现Ubuntu Touch系统在特定设备上的移植过程。包括使用twrp烧写vendor.img和halium-boot.img,下载并安装rootfs,以及调试过程中遇到的问题及解决方法。

烧写

生成了三个需要的镜像后,需要用twrp把vendor.img和halium-boot.img分别烧写到vendor分区和boot分区(在烧写前建议格式化system vendor cache davilk cache 这几个分区防止产生影响)
然后去ubport的CI下载最新生成的rootfs,不同的架构的rootfs是不同的,这里提供的是arm64的rootfs
rootfs下载
还需要halium-install安装脚本
脚本

这个脚本有个奇妙的BUG就是passwd指令找不到无限卡死
通过修改functions/distributions.sh得到解决

	ut)
		echo -n "enabling SSH ... "
		sudo sed -i 's/PasswordAuthentication=no/PasswordAuthentication=yes/g' "$ROOTFS_DIR/etc/init/ssh.override"
		sudo sed -i 's/manual/start on startup/g' "$ROOTFS_DIR/etc/init/ssh.override"
		sudo sed -i 's/manual/start on startup/g' "$ROOTFS_DIR/etc/init/usb-tethering.conf"
		echo "[done]"
        #注释掉以下两行
		#setup_passwd phablet $USERPASSWORD
		#copy_ssh_key_phablet

设备进入twrp,运行halium-install烧写镜像
处理完后会自动通过adb把rootfs.img和system.img推送到/data

./halium-install -v -s -p ut ubuntu-touch-android9-arm64.tar.gz system.img

重启见证奇迹!ubuntu亮了!
启动了!!!

DEBUG

这个就比较玄学了,本人只跑起来了按键、GPU、还有触摸其他的就不太会了,这里列举几个常用的指令。

ubuntu touch起来以后会建立一个usb有线网
这时可以ssh进去

ssh phablet@10.15.19.82	

密码和用户名是一样的

查看内核日志

dmesg

查看系统日志

cat /var/log/syslog

让根目录可写

sudo mount -o remount,rw /

看安卓容器是不是起来了

sudo lxc-info -n android

如果失败可以查看失败的原因

sudo lxc-start -n android -F

容器起来以后可以调用logcat查看哪里崩了

sudo -s
LD_LIBRARY_PATH=/system/lib64 lxc-attach -e -n android -- /system/bin/logcat

杀掉ubuntu touch的图形界面测试libhybris的驱动情况

sudo stop lightdm
EGL_PLATFORM=hwcomposer strace test_hwcomposer
strace test_(各种)

图赏

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

大体上就是这些了,只是粗略的体验了一下,也只是基本能跑图形,欢迎star和fork~~~
等libhybris全部驱动起来了我就可以开始deepin的移植工作了!
Gayhub项目

libhybris 和 halium详解(四) ubuntu touch 使用Libhybris调用android资源 阅读详情

相关推荐

libhybris 和 halium详解(六)

libhybris 代码结构分析,及egl适配的注意点

m0_71347865的博客 1123

Halium 9 尝鲜 -- 在小米平板4上的移植 (七)

嗯,好像距离上次研究Halium已经过了很久了。虽然一直没时间弄这个,但是没全部驱动心里一直不太服气,最近还是抽出时间来把它弄好了。小米平板4终于有机会可以摆脱“大型手机”的困境,虽然还是有很多坑,不过作为一个看看视频、写写码的小电脑还是可以胜任的。 Droidian项目 迷惑的 Treble 跑起wifi 声卡 未完待续 ...

HandsomeHacker的博客 4246

Halium 9移植实战:在小米平板4上运行Linux发行版

移动设备操作系统移植是一个将不同系统内核与硬件驱动相结合的技术领域,其核心原理在于通过中间层实现硬件抽象与系统调用转换。这一技术的价值在于突破原生系统的限制,为老旧或特定设备赋予运行全功能Linux发行版的能力,从而扩展设备的使用场景与生命周期。在工程实践中,Halium项目作为Android硬件与GNU/Linux发行版之间的“粘合剂”,通过其hybris中间层和libhybris库,将Android的硬件抽象层(HAL)服务桥接给上层Linux系统。这使得开发者能够基于Android内核和驱动,为设备构

weixin_42527401的博客 1699

Halium构建笔记

1.Halium是什么 在我的理解里,halium是uports社区为ubuntu touch等而建立的一个项目。我认为就是社区版的ubuntu touch,尽管官方已经放弃了这个系统,这个系统也由于小众和缺少app,处于和sailfish os,tizen os和已经被放弃的firefox os一样的境地,但是,有一点不同的是,ubuntu touch 致力于安卓高端手机上成为潮流的连接上显示器...

zd200572的博客 3397

基于Halium 9为小米平板4移植Ubuntu Touch:内核适配与驱动调试实战

在移动设备生态中,Linux内核作为核心,通过硬件抽象层(HAL)管理底层硬件驱动,为上层系统提供统一接口。其模块化设计允许深度定制,是实现跨平台移植的技术基础。Halium项目正是利用这一原理,构建了一个中间层,将安卓内核的硬件支持能力“翻译”成标准Linux发行版能识别的格式,从而在手机、平板等移动设备上运行Ubuntu Touch、postmarketOS等移动Linux系统,极大地拓展了老旧设备的再利用价值。这一技术为开发者提供了在常见安卓硬件上进行Linux系统开发与定制的可能,尤其在嵌入式与物联

weixin_42639246的博客 371

老设备新生:小米平板4 Plus刷Debian13(Droidian)的避坑指南与性能优化

本文详细介绍了如何为小米平板4 Plus刷入Droidian系统(基于Debian13),包括前期准备、刷机流程、性能优化及外设修复等关键步骤。通过TWRP恢复环境和Halium中间层技术,将老旧设备转变为高效Linux生产力工具,显著提升性能与续航表现。

yolo5detector的博客 490

Halium 9 尝鲜 -- 在小米平板4上的移植 (一)

废话 最近Apple出了一个基于arm的笔记本,arm的低功耗、高续航的特点的确香到我了,但是学生党太穷买不太起,只有一个安卓系统的小米平板4在吃灰。在UOS和菊花厂的推动下,好多国产软件都有了arm64版,如果调通了halium应该配合着deepin桌面做一个移动办公的小电脑应该还是比较有意思的。 Halium 好像7版本的教程挺多的,但是9还没什么教程,主要是多了一个treble(vendor分区),还有现在的设备的soc大多数都是arm64和halium 7时大多数的设备都还是armhf的情况不大一样

HandsomeHacker的博客 3611

老设备新生命:小米平板4 Plus刷Debian13实战记录与性能优化技巧

本文详细记录了为小米平板4 Plus刷入Debian13(Droidian)系统的完整实战过程。从Bootloader解锁、TWRP刷入,到Droidian系统安装与性能优化,手把手教你将旧平板改造为功能完整的Linux便携设备,涵盖蓝牙修复、显示缩放等常见问题解决方案。

Python的专栏 352

libhybris 和 halium详解(二)

Halium是一个android 运行时环境,是根据Libhybris的需要经过裁剪的最小android系统;

m0_71347865的博客 783

小米平板4刷Droidian:移动Debian日用配置与踩坑

在 ARM 移动设备上运行 Debian 系 Linux,难点通常不在刷入,而在输入法、显示缩放、电源管理、DNS 与文件共享等日用细节。以 Wayland/Phosh 会话为例,fcitx5 开机自启必须通过 environment.d 注入环境变量,否则进程启动也输入不了中文;DNS 配置常被 systemd-resolved 或 NetworkManager 覆盖,Samba 无法登陆则多与 valid users 和 smbpasswd 密码库有关。zram 利用内存压缩交换,能明显缓解 4GB 小

weixin_33834628的博客 390

小米平板4 Plus刷Debian13实战:Droidian驱动适配与七层性能调优

Linux桌面系统在ARM64移动设备上的运行,本质是内核兼容性、硬件抽象层(HAL)复用与用户空间优化的协同问题。Debian作为最稳定的通用发行版,其ARM64支持长期受限于闭源GPU驱动、传感器HAL缺失及电源管理不完善等瓶颈。Droidian通过复用LineageOS安卓内核与vendor驱动栈,将Adreno GPU、摄像头、WiFi等关键模块转化为标准Linux接口,显著降低ARM移动平台部署门槛。结合Debian 13的LTO编译优化、cgroup v2内存控制与GNOME 43原生Wayla

weixin_31421613的博客 246

live-server 快速搭建服务---前端

转载于:链接: link. 首先的话,就是使用npm run build打包后,然后快速测试你的项目是否有问题! 然后在项目根目录执行 比如你的项目为:myApp 那么就在这个文件下,使用cmd进入终端,然后在终端中输入以下命令: live-server --port=8080 详情请参考转载处! ...

weixin_47409897的博客 920

如何利用ADS中的耦合线设计带通滤波器并转换为HFSS模型

耦合线带通滤波器是一种常用的微带滤波器形式,由多个长度为四分之一波长的耦合线节组成,在所需频点形成谐振,构成滤波器的频率响应特性。首先我们先来了解一下耦合线带通滤波器的电路结构,见下图:包括两对耦合线,中间为公共连接点,其中两对耦合线的偶奇模阻抗为(Z1e,Z1o)和(Z2e,Z2o,端口输入阻抗为Z0)。2.指定一个初始奇偶模值,ADS优化出一个合适的结果,通过奇偶模值利用linecalc工具计算出微带耦合线尺寸。假设中心频率为2GHz,则对应频点的电长度为。5.运行结果,两个软件仿真结果基本一致。

auqihc的博客 2227

发布:世界上第一个小米平板4上的Debian Linux 刷机包

经过一段时间的研究,没搞过任何安卓刷机包适配的我还是把halium 9成功在米板4上跑起来啦。并移植上了最新的Debian GNU/Linux(Droidian)。尽管还不是很完美,对文件系统的修改没有按Droidian的那一套规范来,但是日常使用应该是没什么大问题的。 注意事项 这个刷机包仅在我的机器上测试通过了,我不对机器刷成砖、爆炸等造成机器无法使用的情况负责。 这个刷机包会清除设备上的所有数据,我不对任何数据的损失负责。 Droidian系统还处在早期开发阶段,应该还不太适合日常使用(我觉得没问题

HandsomeHacker的博客 1万+

Kimi K3大模型API实战:从调用到本地知识库问答系统构建

大语言模型(LLM)作为人工智能的核心技术,通过海量数据训练获得理解和生成自然语言的能力。其工作原理基于Transformer架构,通过自注意力机制捕捉长距离依赖关系。这项技术的核心价值在于能够将非结构化文本转化为可计算、可交互的智能体,极大地提升了信息处理和自动化任务的效率。在应用场景上,大模型广泛应用于智能对话、代码生成、文档总结与问答等领域。其中,国产大模型如月之暗面推出的Kimi K3,凭借其在**长文本处理**和**中文场景优化**方面的优势,为开发者提供了新的技术选项。本文将以Kimi K3为例

weixin_30694389的博客 299

密码学实战:如何利用生日攻击破解哈希函数

本文深入探讨了生日攻击在密码学中的应用及其对哈希函数的威胁。通过分析生日悖论的数学原理,揭示了哈希函数在实际应用中的脆弱性,并提供了防御策略,如升级哈希算法、正确使用加盐技术等。文章结合实战案例,帮助开发者理解如何有效防范此类攻击,确保系统安全。

weixin_42530732的博客 191

Halium 9 尝鲜 -- 在小米平板4上的移植 (三)

修改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包。

HandsomeHacker的博客 2067

射频收发机(RF Transceiver)

2,既然原来外差的思路是把声音频率的信号,通过混频搬移到高频电磁波频率,那对高频率信号放大的时候,是不是也可以先在比较低的射频频率进行放大,然后再通过频率搬移的方式,将放大后的信号搬移到高频率呢?频率搬移过程中,中间预先设定的固定射频频率被称为“中频”(中间频率,IF,Intermediate Frequency),由于这个频率超出了声音可听的范围,是“超声波”(supersonic),所以被命名为“超外差”(Super-Heterodyne)。混频后的信号在0频率附近,可能会发生DC偏移。

2301_77317229的博客 1122

Halium 9 尝鲜 -- 在小米平板4上的移植 (五)

编译 Halium 9 在完成上述修改后,终于可以开始编译了~~ 写一个xml并同步你的适配包 在halium/devices/manifests目录下创建你的机型的xml 命名格式 (厂商)_(codename).xml 下面是一个例子(xiaomi_clover.xml) <?xml version="1.0" encoding="UTF-8"?> <!-- Copyright (C) 2021 HandsomeYingyan <handsomeyingyan@gmail

HandsomeHacker的博客 1562

【目标检测】全局上下文感知的详解

目标检测中的全局上下文感知(Global Context Awareness)​是指模型在定位和识别目标时,能够有效利用图像中全局或大范围的上下文信息(如场景语义、目标间关系、空间布局等),而不仅仅依赖局部特征。这种能力显著提升了检测的鲁棒性,尤其是在复杂场景(如遮挡、小目标、密集目标)中表现突出。

浩瀚之水的专栏 644

MATLAB基础应用精讲-【强化学习】Actor - Critic 算法(附python代码实现)

这种架构结合了策略梯度方法(Policy - Gradient Methods)和价值函数估计方法(Value Function Estimation Methods)的优点。在强化学习中,智能体(Agent)需要通过与环境(Environment)的交互来学习最优的行为策略,以获得最大的累积奖励(Cumulative Reward)。

qq_36130719的博客 361

Halium 9 尝鲜 -- 在小米平板4上的移植 (二)

配置环境 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

HandsomeHacker的博客 1916

【PostgreSQL数据分析实战:从数据清洗到可视化全流程】5.2 数据分组与透视(CUBE/ROLLUP/GROUPING SETS)

【PostgreSQL数据分析实战:从数据清洗到可视化全流程】5.2 数据分组与透视(CUBE/ROLLUP/GROUPING SETS)

kngines 1834

Halium 9 尝鲜 -- 在小米平板4上的移植 (四)

修改kernel 检查并修改内核选项 Halium提供了一个脚本检查defconfig的有些选项是否已经打开。找到内核项目里的defconfig,就可以开搞了。 脚本 ./check-kernelconfig 你的defconfig -w 这个脚本就会自动勾选上Halium依赖的内核模块。 启动时永远启动到initramfs Halium-boot是一个initramfs,不能够让内核绕过它。 修改内核文件夹下的 init/initramfs.c do_skip_initramfs = 1; 改为 d

HandsomeHacker的博客 1468

OpenClaw 超级 AI 实战专栏【实战案例】(五)邮件收发 + 日历日程 + 文件管理一站式搞定

OpenClaw 实现办公自动化核心是模块解耦:邮件收发、文件管理、日历日程各自封装,便于维护和扩展;开发中需重点解决编码兼容、权限配置、时间格式、重复处理四大类坑点,核心思路是 “提前校验 + 异常兜底 + 统一格式”;敏感信息(邮箱密码、API Token)务必通过.env管理,避免硬编码泄露。

qq_36130719的博客 741

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

libhybris 和 halium详解(三)

halium-boot halium-GSI

m0_71347865的博客 816

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

上一篇: Halium 9 尝鲜 -- 在小米平板4上的移植 (五)
下一篇: 自己DIY一个pinephone——debian与主线linux在红米2(msm8916)上的移植
HandsomeHacker
博客等级 码龄10年 345粉丝 22原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值