Zapic's Blog - 小米平板5
type: channel
link: https://blog.zapic.moe/tag/%E5%B0%8F%E7%B1%B3%E5%B9%B3%E6%9D%BF5/
items: 小米平板5 + Linux

小米平板5 + Linux
type: item
date: 2025-01-17T00:27:00+08:00
description: 很早之前就想要一个比轻薄本还便携的设备了，最好能像iPad一样优雅就好了。然后就锚定了一块小米平板5，买了个12+512的终极扩容版本，再加一块Doqo的磁吸悬浮支架键盘，性能够用，这玩意带上键盘也足够轻薄，长得像iPad但是不装iPad OS，加一起1700RMB拿下，简直薄纱iPad。 本来计划是用Windows的，因为Windows下驱动比较完善，而且部署方便，常用软件都有，而且还符合我长期的操作习惯。但是，Windows下没法驱动这块键盘的触摸板...我反反复复找了好几块键盘，发现都做得很屎，还很丑，果然还是放不下这块键盘，思来想去直接用Linux，虽然驱动不是特别完善，但是至少能发挥这块键盘的全部实力，实现完整形态。软件的问题都不是问题，硬件才让人头大，头铁刷入Linux。 故作次踩坑笔记，方便后来之人。安装参考教程: https://github.com/nabu-alarm/installation-guide/blob/main/guide/English/install.md可以使用他的UEFI Installer和nabu-alarm/images提供的rEFInd，可以dualboot到安卓和Linux。已过时的步骤，timoxa0将托管在他服务器上的数据全部删掉了，文件失传，仅供参考。使用lon-tool一键安装，非常方便，会设置好rootfs和UEFI启动，之后可以方便的把自己编译的内核替换上去。参考教程: https://github.com/nabu-alarm/installation-guide/blob/main/guide/English/install.md简述安装工具: powershell.exe -C "irm https://s.tx0.su/ltw | iex"下载镜像: https://timoxa0.su/?dir=share/nabu/images/v3/latest刷入: lon-tool deploy /path/to/image.lni编译6.12内核上一步镜像使用的是6.1的镜像，通常来说也够用，不必自行编译内核。实际上可以使用6.12的内核，记录在Ubuntu 24.04 x64上的编译步骤。思路参考: Nabu merge request in postmarketOS安装依赖: sudo apt install build-essential gcc-aarch64-linux-gnu bc flex bison 7zip kmod bash cpio binutils tar git wget dpkg libssl-dev (参考map220v/ubuntu-xiaomi-nabu的workflow)拉取6.12内核的代码: git clone https://gitlab.postmarketos.org/panpanpanpan/sm8150-mainline.git --branch 6.12-wip --depth 1修补内核: 请参考在小米平板 5 上安装 Arch Linux 只需要参考修补的内容，编译步骤在Ubuntu上完全不同针对patch文件，使用git apply /path/to/patch，其他文件找到相应的文件并直接替换。修改后编译出来的内核会有dirty标识，可以使用git commit -am 'patch'去除。准备编译，指定编译器: export ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-加载配置: make defconfig sm8150.config按需修改配置: make -j16 nconfig建议启用framebuffer console的rotate功能，因为一般横着用，但是默认是竖起来显示启动日志的。一些自用额外的配置# put these to arch/arm64/configs/extra.config # make defconfig sm8150.config extra.config CONFIG_LOCALVERSION="-nabu" # Xbox controller supporting CONFIG_INPUT_JOYSTICK=y CONFIG_JOYSTICK_XPAD=y CONFIG_JOYSTICK_XPAD_FF=y CONFIG_JOYSTICK_XPAD_LEDS=y # Wacom stylus supporting CONFIG_INPUT_TABLET=y CONFIG_TABLET_SERIAL_WACOM4=y # Framebuffer console CONFIG_FONTS=y CONFIG_FONT_TER…