首页 > 系统相关 >小米平板5(nabu)安装 HyperOS + Arch Linux 双系统

小米平板5(nabu)安装 HyperOS + Arch Linux 双系统

时间:2024-10-12 23:43:41浏览次数:1  
标签:双系统 HyperOS 10 sudo 网卡 XX wlan0 Linux Arch

小米平板5(nabu)安装 HyperOS + Arch Linux 双系统

资源准备

(TODO)

HyperOS

系统本体

进入Bootloader

Uotan工具箱中Wired Flash -> More Flash -> Xiaomi Script

选择Hyper_OS_1.1.5.0.VNXCNXM.BETA_安卓15/nabu_XiaomiPad5_OS1.1.5.0.VNXCNXM.BETA_15.0_By_mytiantian/flash_all.sh,注意路径不能有空格

flash_all_except_storage.sh可以不清除数据,也不会影响Linux

ROOT

(由于装Linux会清除userdata分区,Android侧会被还原,因此应该先装完Linux再继续)

adb install Magisk_27.0.apk

然后打开Magisk,它会自动修补并重启。

新内核

(要先完成ROOT才有TWRP)

(似乎装完之后会把UEFI覆盖掉,所以目前决定不做)

先备份boot:

Uotan工具箱 Format&Extract -> Extract -> PartName=boot_a -> Physical Part

然后推送内核包到设备:

adb push xxx.zip /sdcard

然后进入TWRP

Install -> 选择内核zip包 -> 滑动install

Linux

系统本体

Guide-Linux-Nabu

进入Bootloader

lon-tool deploy ArchLinuxArmGnome.lni

WiFi问题

(由于未知bug,平板内置无线网卡发送功率被限制,导致网速非常慢,< 10 Mbps)

现象:

sudo dmesg
......
[  403.870295] wlan0: authenticate with XX:XX:XX:XX:XX:XX
[  403.870351] wlan0: capabilities/regulatory prevented using AP HT/VHT configuration, downgraded
[  403.887663] wlan0: send auth to XX:XX:XX:XX:XX:XX (try 1/3)
[  403.893183] wlan0: authenticate with XX:XX:XX:XX:XX:XX
[  403.893214] wlan0: send auth to XX:XX:XX:XX:XX:XX (try 1/3)
[  403.922796] wlan0: authenticated
[  403.924309] wlan0: associate with XX:XX:XX:XX:XX:XX (try 1/3)
[  403.931876] wlan0: RX AssocResp from XX:XX:XX:XX:XX:XX (capab=0x1511 status=0 aid=2)
[  404.004361] wlan0: associated
[  404.095151] wlan0: Limiting TX power to 27 (30 - 3) dBm as advertised by XX:XX:XX:XX:XX:XX
[  404.141740] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
......

查到可能是由于无线监管域未正确配置,相关命令:

iw reg get # 查询无线监管域相关信息
sudo iw reg set CN # 设置无线监管域为CN
nmcli device wifi # 查询频道和带宽等信息

然而在我这台设备上设置无线监管域和频道都不起作用。

Workaround: 使用c转a转接头+USB无线网卡(见后文网卡驱动)

网卡驱动

(购买了绿联AX900无线网卡,支持Linux 6.x内核,但需要自己编译安装驱动)

依赖包
sudo pacman -S usbutils # for lsusb
sudo pacman -S xmlto kmod inetutils bc libelf git cpio perl tar xz # for kmod building
准备内核源码

平板安装的ArchLinux使用的是修改过的内核maverickjb/linux-6.1.10,即6.1.10-nabu

另:网卡驱动内核模块编译时使用的version magic需要与内核保持一致才能被加载,通过置空LOCALVERSION来防止版本号自动添加后缀+

git clone https://github.com/maverickjb/linux-6.1.10.git # fetch kernel source
cd linux-6.1.10
zcat /proc/config.gz > .config # use config of the running kernel
make ARCH=arm64 LOCALVERSION= oldconfig # make sure no new options
make ARCH=arm64 LOCALVERSION= modules_prepare -j7 # prepare the kernel for building module
make ARCH=arm64 LOCALVERSION= kernelrelease # check it, MUST be `6.1.10-nabu` !!!
构建并安装驱动
cd /path/to/aic8800_linux_driver
sudo bash install_setup.sh # prerequisite

cd drivers/aic8800
sudo ln -s /path/to/linux-6.1.10 /lib/modules/6.1.10-nabu/build # build with custom source
make -j7 # build the driver
ls aic_load_fw/aic_load_fw.ko && ls aic8800_fdrv/aic8800_fdrv.ko # check completion
sudo make install

然后插入无线网卡,ip a应当显示新设备。

Trouble Shooting

深度修复

(出现HyperOS设置密码卡死的问题,怀疑TEE相关固件异常)

刷入小米平板5_恢复分区表专用包_A13/flash_all.sh即可复原纯真MIUI14

安卓无法启动

(在UEFI Boot Menu中选择安卓后,重复进入UEFI的异常现象)

接入充电器,开机,进入UEFI,选择安卓,在黑屏且显示安卓标志之前拔掉充电器,随后成功进入安卓。

(玄学,原理不明)

GNOME无法启动

(Arch滚包后重启无法进入桌面)

发现是由于屏幕键盘模块在GNOME-47会崩溃 ref

sudo -u gdm dbus-run-session gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled false
sudo systemctl restart gdm

标签:双系统,HyperOS,10,sudo,网卡,XX,wlan0,Linux,Arch
From: https://www.cnblogs.com/terrasse/p/18461726/linux_on_nabu

相关文章

  • Elasticsearch 基础入门
    查询集群文档数量查询集群文档数量curl-XGET-k-uelastic:passwd-H'Content-Type:application/json''https://localhost:9200/_count?pretty'curl-i显示响应头信息curl-XGET-i-k-uelastic:passwd-H'Content-Type:application/json''https:......
  • Elasticsearch 安装
    Elasticsearch权威指南启动dockerubuntudockerrun-it-d-p22:22--nameubuntu_devubuntudockerexec-itubuntu_devbash安装工具aptupdateaptinstall-ycurlvimsudoadduseropenssh-server重置ubuntu用户密码passwdubuntu切换ubuntu用户(ES不能......
  • SpringBoot2.x 版本集成elasticsearch 8.x
    之前使用的elasticsearch7.14.2,Springboot版本是2.4.13(这个版本坑比较多,用的人也比较少,找问题真的很痛苦)。 es中间件升级到8.13.3之后,之前的代码在使用保存和编辑之后,es数据里面是都操作成功,但是代码接口却会报错。atjava.util.Objects.requireNonNull(Objects.jav......
  • SpringBoot2.x 版本集成elasticsearch 8.x(基于elasticsearch-java)
    上次elasticsearch到8.13.3之后,由于springboot版本2.4.13,jdk版本是11,使用springboot内置的ElasticsearchRestTemplate查询的时候做了兼容性之后虽然代码没有报错了,但是每次查询都会有一个警告[WRAN],如果查询比较频繁的时候日志里面看到的全都是这种警告信息:[ignore_throttle......
  • Arch Linux ARM相关
    ArchLinuxARM软件源编辑 /etc/pacman.d/mirrorlist,在文件的最顶端添加Server=https://mirrors.ustc.edu.cn/archlinuxarm/$arch/$repo搜索包:pacman-Ss关键字:在仓库中搜索含关键字的包。pacman-Qs关键字:搜索已安装的包。pacman-Qi包名:查看有关包的详尽信息。p......
  • Elasticsearch安装学习
    前言:ElasticSearch官网:http://www.elasticsearch.org/先上一张elasticsearch的总体框架图:ElasticSearch是基于Lucene开发的分布式搜索框架,包含如下特性:分布式索引、搜索索引自动分片、负载均衡自动发现机器、组建集群支持Restful风格接口配置简单等。Elasticse......
  • WSL(Windows Subsystem for Linux)——简单的双系统开发
    文章目录WSLWSL的作用WSL的使用WSL的安装挂载磁盘的作用安装linux发行版wsl下载mysql,mongodb,redisWSL前言:本人由于在开发中需要linux环境,同时还想要直接在Windows下开发,来提升开发效率,随即简单学习WSL。WSL(WindowsSubsystemforLinux)是微软开发的一项技术,允许用......
  • 迅为itop-3568开发板AMP双系统使用手册之编译AMP镜像
       瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和MaliG522EE图形处理器。RK3568支持4K解码和1080P编码,支持SATA/PCIE/USB3.0外围接口。RK3568内置独立NPU,可用于轻量级人工智能应用。RK3568支持安卓11和linux系......
  • ElasticSearch快速入门
    目录快速入门快速了解与MySQL对比相关组件,概念增删改查快速入门快速了解一、Elasticsearch官方定义Elasticsearch是一个分布式、RESTful风格的搜索和数据分析引擎,同时是可扩展的数据存储和矢量数据库,能够应对日益增多的各种用例。作为ElasticStack的核心,Ela......
  • Elasticsearch 全文搜索
    全文搜索matchoperator提高精度minimum_should_match控制精度bool组合查询must必须匹配must_not必须不匹配should如果有must则表示没有必须匹配但有会更匹配,如果没有must则表示至少需要有一个匹配minimum_should_match控制多少个should需要匹配boost......