十年前的老机器小米4c安装postmarketOS

安装过程可以参考官方链接 https://wiki.postmarketos.org/wiki/Xiaomi_Mi_4c_(xiaomi-libra) 但是很多坑下面会提到

  1. 安装pmbootstrap使用uv装会比较简单

    1
    2
    3
    4
    5
    6
    # 源码安装
    git clone https://gitlab.postmarketos.org/postmarketOS/pmbootstrap.git
    cd pmbootstrap
    mkdir -p ~/.local/bin
    ln -s "$PWD/pmbootstrap.py" ~/.local/bin/pmbootstrap
    pmbootstrap --version
    1
    2
    3
    # uv安装
    uv tool install --python 3.11 git+https://gitlab.postmarketos.org/postmarketOS/pmbootstrap.git
    pmbootstrap --version
  2. 初始化配置

    1
    2
    pmbootstrap -y zap
    pmbootstrap init # 需要国际网络环境

    特别注意:

    • Choose the postmarketOS release channel.
      选edge (只有这个版本才能选libra)
    • Device codename
      选libra (官方文档写错了选xiaomi-ferrari不对)
    • Install systemd
      选never (libra内核版本和systemd不兼容会导致无法编译)
  3. 安装并刷写镜像

    1
    2
    3
    pmbootstrap install
    pmbootstrap flasher flash_kernel
    # pmbootstrap flasher flash_rootfs # 大坑先不要执行

    如果按官方文档刷入rootfs镜像开机则会提示ERROR: root partition not found!找不到root分区,经过研究发现是刷入的镜像格式不对,使用pmbootstrap export命令导出镜像文件存储在/tmp/postmarketOS-export下使用file xiaomi-libra.img可以看到文件是DOS/MBR boot sector; partition 1 : ID=0xee, start-CHS (0x0,0,2), end-CHS (0x3ff,255,63), startsector 1, 1964031 sectors, extended partition table (last) 格式并不是Android设备支持的格式所以直接刷到手机中会出现问题,我们需要从这个文件中再提取出rootfs

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    # 查看镜像内部分区
    fdisk -l /tmp/postmarketOS-export/xiaomi-libra.img

    # 假设输出显示分区从 sector 2048 开始
    # 提取纯文件系统部分
    OFFSET=$((2048 * 512))
    LOOP=$(sudo losetup --offset $OFFSET --find --show /tmp/postmarketOS-export/xiaomi-libra.img)

    # 验证
    sudo file -s $LOOP
    # 应该显示: Linux rev 1.0 ext4 filesystem data

    # 导出纯文件系统镜像
    sudo dd if=$LOOP of=/tmp/rootfs-pure.img bs=4M status=progress

    # 释放 loop
    sudo losetup -d $LOOP

    # 用纯镜像刷入
    fastboot flash userdata /tmp/rootfs-pure.img
  4. 最后
    虽然成功解决找不到root分区的问题但是开机黑屏暂时还不知道原因没精力研究了留给后人了

参考:

https://wiki.postmarketos.org/wiki/Xiaomi_Mi_4c_(xiaomi-libra)

https://wiki.postmarketos.org/wiki/SSH

Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2015-2026 Kaisar
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信