首先官网链接为postmarketos.org

环境:虚拟机ubuntu20.04

安装步骤:

安装工具pmbootstrap https://wiki.postmarketos.org/wiki/Installing_pmbootstrap

1、安装3.4以上python

wget -c https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz连接
#解压文件 tar -xzvf Python-3.7.3.tgz
#执行 ./configure
cd Python-3.7.3
sudo ./configure -prefix=/var/opt/python/3.7.3
# 安装依赖库,编译 make
//安装依赖库 3.x特有
sudo apt install build-essential checkinstall
sudo apt install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
sudo make
#安装 make install
sudo make install
# 查看可执行文件路径which python

然后按照指导进行安装、配置。

2、使用pmbootstrap配置好要安装项目

3、安装

pmbootstrap install

问题比较多,提示了8个error。多次重新执行命令,科学上网才成功。

adil@adil-pc:~/postmarketos$ pmbootstrap install
[19:11:07] *** (1/5) PREPARE NATIVE CHROOT ***
[19:11:07] *** (2/5) CREATE DEVICE ROOTFS ("xiaomi-kenzo") ***
[sudo] password for adil:
[19:11:13] (rootfs_xiaomi-kenzo) install postmarketos-base device-xiaomi-kenzo device-xiaomi-kenzo-nonfree-firmware postmarketos-ui-xfce4^CTraceback (most recent call last):File "/usr/local/bin/pmbootstrap", line 11, in <module>load_entry_point('pmbootstrap==1.20.0', 'console_scripts', 'pmbootstrap')()File "/usr/local/lib/python3.8/dist-packages/pmbootstrap-1.20.0-py3.8.egg/pmb/__init__.py", line 49, in maingetattr(frontend, args.action)(args)File "/usr/local/lib/python3.8/dist-packages/pmbootstrap-1.20.0-py3.8.egg/pmb/helpers/frontend.py", line 231, in installpmb.install.install(args)File "/usr/local/lib/python3.8/dist-packages/pmbootstrap-1.20.0-py3.8.egg/pmb/install/_install.py", line 606, in installpmb.chroot.apk.install(args, install_packages, suffix)File "/usr/local/lib/python3.8/dist-packages/pmbootstrap-1.20.0-py3.8.egg/pmb/chroot/apk.py", line 226, in installpmb.chroot.root(args, ["apk", "--no-progress"] + command, suffix=suffix, disable_timeout=True)File "/usr/local/lib/python3.8/dist-packages/pmbootstrap-1.20.0-py3.8.egg/pmb/chroot/root.py", line 74, in rootreturn pmb.helpers.run_core.core(args, msg, cmd_sudo, None, output,File "/usr/local/lib/python3.8/dist-packages/pmbootstrap-1.20.0-py3.8.egg/pmb/helpers/run_core.py", line 274, in core(code, output_after_run) = foreground_pipe(args, cmd, working_dir,File "/usr/local/lib/python3.8/dist-packages/pmbootstrap-1.20.0-py3.8.egg/pmb/helpers/run_core.py", line 156, in foreground_pipesel.select(timeout)File "/usr/lib/python3.8/selectors.py", line 468, in selectfd_event_list = self._selector.poll(timeout, max_ev)
KeyboardInterruptadil@adil-pc:~/postmarketos$ pmbootstrap install[19:20:06] *** (1/5) PREPARE NATIVE CHROOT ***
[19:20:07] *** (2/5) CREATE DEVICE ROOTFS ("xiaomi-kenzo") ***
[19:20:08] (rootfs_xiaomi-kenzo) install postmarketos-base device-xiaomi-kenzo device-xiaomi-kenzo-nonfree-firmware postmarketos-ui-xfce4
[sudo] password for adil:
Sorry, try again.
[sudo] password for adil:
[19:44:52] (rootfs_xiaomi-kenzo) write /etc/os-release
[19:44:52] (rootfs_xiaomi-kenzo) mkinitfs xiaomi-kenzo
[19:45:15]  *** SET LOGIN PASSWORD FOR: 'adil' ***
New password:
Retype new password:
passwd: password updated successfully
[19:52:55] NOTE: No valid keymap specified for device
[19:53:25] *** (3/5) PREPARE INSTALL BLOCKDEVICE ***
[19:53:25] (native) create xiaomi-kenzo.img (806M)
[19:53:25] (native) mount /dev/install (xiaomi-kenzo.img)
[19:53:25] (native) partition /dev/install (boot: 128M, reserved: 0M, root: the rest)
[19:53:26] (native) format /dev/installp2
[19:53:26] (native) mount /dev/installp2 to /mnt/install
[19:53:26] (native) format /dev/installp1 (boot, ext2), mount to /mnt/install/boot
[19:53:26] *** (4/5) FILL INSTALL BLOCKDEVICE ***
[19:53:26] (native) copy rootfs_xiaomi-kenzo to /mnt/install/
[19:53:30] (native) make sparse rootfs
[19:53:30] (native) install android-tools
[19:53:55] *** (5/5) FLASHING TO DEVICE ***
[19:53:55] Run the following to flash your installation to the target device:
[19:53:55] * pmbootstrap flasher flash_rootfs
[19:53:55]   Flashes the generated rootfs image to your device:
[19:53:55]   /home/adil/.local/var/pmbootstrap/chroot_native/home/pmos/rootfs/xiaomi-kenzo.img
[19:53:55]   (NOTE: This file has a partition table, which contains /boot and / subpartitions. That way we don't need to change the partition layout on your device.)
[19:53:55] * pmbootstrap flasher flash_kernel
[19:53:55]   Flashes the kernel + initramfs to your device:
[19:53:55]   /home/adil/.local/var/pmbootstrap/chroot_rootfs_xiaomi-kenzo/boot
[19:53:55]   (NOTE: fastboot also supports booting the kernel/initramfs directly without flashing. Use 'pmbootstrap flasher boot' to do that.)
[19:53:55] * If the above steps do not work, you can also create symlinks to the generated files with 'pmbootstrap export' and flash outside of pmbootstrap.
[19:53:55] NOTE: chroot is still active (use 'pmbootstrap shutdown' as necessary)
[19:53:55] Done

4、将系统刷入手机。

先进入fastboot ,接入到虚拟机。

再执行以下两条命令。

$ pmbootstrap flasher flash_rootfs
$ pmbootstrap flasher flash_kernel

第一条好久没反应,重刷一次,会要求输入密码,然后又是漫长的等待

三次之后终于完成了,输出信息如下

adil@adil-pc:~/.local/var/pmbootstrap/chroot_native/home/pmos/rootfs$ pmbootstrap flasher flash_rootfs
[21:47:31] (native) flash rootfs image
[21:47:32] (native) install avbtool
Sending sparse 'system' 1/2 (522596 KB)            OKAY [124.267s]
Writing 'system'                                   OKAY [ 28.436s]
Sending sparse 'system' 2/2 (38500 KB)             OKAY [  9.488s]
Writing 'system'                                   OKAY [  5.588s]
Finished. Total time: 167.798s
[21:50:32] NOTE: chroot is still active (use 'pmbootstrap shutdown' as necessary)
[21:50:32] Done
adil@adil-pc:~/.l

下一条一次成功

adil@adil-pc:~/.local/var/pmbootstrap/chroot_native/home/pmos/rootfs$ pmbootstrap flasher flash_kernel
[21:51:20] (rootfs_xiaomi-kenzo) mkinitfs xiaomi-kenzo
[21:51:44] (native) flash kernel xiaomi-kenzo
Sending 'boot' (10306 KB)                          OKAY [  2.213s]
Writing 'boot'                                     OKAY [  0.141s]
Finished. Total time: 2.374s
[21:51:46] You will get an IP automatically assigned to your USB interface shortly.
[21:51:46] Then you can connect to your device using ssh after pmOS has booted:
[21:51:46] ssh adil@172.16.42.1
[21:51:46] NOTE: If you enabled full disk encryption, you should make sure that osk-sdl has been properly configured for your device
[21:51:46] NOTE: chroot is still active (use 'pmbootstrap shutdown' as necessary)
[21:51:46] Done

成功开机,可以通过usb进入终端,OTG功能失效不能外接键鼠。暂时没有什么实际用途,只是体验一下。

给红米Note3高配版手机刷入Linux系统postmarketOS相关推荐

  1. 小米4手机刷入linux系统

    小米4手机刷入linux系统的正确路径 一.手机root 首先刷入开发版miui系统,参考https://www.miui.com/download.html,刷完系统后需要通过recovery清楚所 ...

  2. 红米 Note3 (kenzo)刷入 Lineage OS

    红米 Note3 (kenzo)刷入Lineage OS 的过程 详细的教程请看 Install LineageOS on kenzo 本文做一些额外的补充 0 刷机之前的准备工作 如果登陆了 Goo ...

  3. 万物Linux皆可刷安卓,万物皆可Win,开发者成功在安卓手机刷入Win10系统

    原标题:万物皆可Win,开发者成功在安卓手机刷入Win10系统 [PConline 资讯]ARM版本Windows 10的推出,意味着这款称霸个人电脑多年的操作系统拥有了更大的舞台,也给开发者们的想象 ...

  4. 玩客云刷入Linux系统,搭建FTP服务器

    玩客云刷入LINUX系统参考这篇博客:https://lishuma.com/archives/3412 根据上面大佬的博客一步一步来很简单,简要总结几点: 1: 先刷安卓固件包,然后刷armbian ...

  5. linux系统苹果刷机,iPhone7刷入Linux系统,成苹果阵营刷机小王子!

    原标题:iPhone7刷入Linux系统,成苹果阵营刷机小王子! 据外媒4月27日报道,通过开发者的逆向工程后,iPhone 7已成功引导了postmarketOS,成为首款苹果Linux智能手机.这 ...

  6. ilitek win10 触摸屏驱动_大佬手机刷入win10系统开机 小米8多少原生系统可以尝鲜...

    作为一名钟爱刷机的小强,什么原生.移植包.官改包,只要有资源,有大佬能做出来.我真的超级乐意去感受,刷入之后感受它的新鲜感和未知的BUG.突然感觉自己有点像刷机届的西门大官人,哈哈哈--喜新厌旧. 手 ...

  7. 小米手机系统服务组件是干什么的_大佬手机刷入win10系统开机 小米8多少原生系统可以尝鲜...

    作为一名钟爱刷机的小强,什么原生.移植包.官改包,只要有资源,有大佬能做出来.我真的超级乐意去感受,刷入之后感受它的新鲜感和未知的BUG.突然感觉自己有点像刷机届的西门大官人,哈哈哈--喜新厌旧. 手 ...

  8. 华为荣耀c4刷入linux系统,华为荣耀畅玩4C刷机教程_荣耀畅玩4C强刷官方系统包的教程...

    咱们的华为荣耀畅玩4C手机也是有强制升级教程的,也主是大家经常说的强刷教程,只是叫法不一样,不过操作都是一样的,这个强刷教程主要就是针对官方的rom包操作的,因为咱们的这个手机官网提供的也有固件包,不 ...

  9. 华为荣耀c4刷入linux系统,华为荣耀畅玩4C升级教程 荣耀畅玩4C升级更新官方系统包的方法...

    其实咱们的华为荣耀畅玩4C手机也有升级教程,这个升级教程就是大家比较习惯用的系统升级方法了,直接是在手机开机的状态下在系统界面里操作的,唯一的一点就是需要把下载下来的固件rom包放到手机的SD卡里就可 ...

  10. 【物联家居】第二章:服务器--玩客云刷入armbian系统,作为数据交互中心

    日记:现在是2021年6月12日 14:07:18. [物联家居]总目录 目录 一.玩客云 二.需要材料 三.刷入Armbian 步骤一:刷底包 步骤二:把armbian固件写入U盘(同sd卡) 步骤 ...

最新文章

  1. POJ - 2289 Jamie's Contact Groups(二分图多重匹配)
  2. python执行adb命令_Python实现对adb命令封装
  3. 【LeetCode 2】两数相加(链表)
  4. 简析多种编码方式(Hex, Base64, UTF-8)
  5. 【Pyhton】随机漫步散点图
  6. C#LeetCode刷题之#933-最近的请求次数(Number of Recent Calls)
  7. vscode 格式化json
  8. putty的保存功能如何使用
  9. Web Service Software Factory
  10. Arch LInux | 网络管理工具iproute2(网络接口、ip地址、路由表)
  11. oracle恢复误删除数据/数据回滚
  12. Deepin常用命令、系统命令、Vi命令
  13. 诛仙2怎样修改服务器时间,《诛仙2》3月2日服务器数据互通公告
  14. 卢卡斯(Lucas)定理
  15. Learn How Google Works: in Gory Detail
  16. os.rename和os.renames区别
  17. PHP CURL Authorization: Basic 获取token
  18. 导航坐标系:地心惯性坐标系、地心地固坐标系、当地水平坐标系、载体/机体坐标系
  19. win10任务栏透明_TrayS - 终极美化任务栏(透明、应用居中)
  20. 【每日新闻】谷歌CEO皮查伊:AI会拯救人类,而不是摧毁 | 致远互联签约锤子科技

热门文章

  1. 对于程序员而言,是否金三银四才是最佳跳槽季
  2. [实用代码] 基于CH554电容触摸屏IIC转USB转IIC方案代码分享
  3. 联想服务器怎么拆硬盘,联想ThinkStation P900工作站高清拆解
  4. QQ群推广最大化营销效果分析
  5. OpenCV-绘制圆角矩形
  6. SpringBoot2.3整合Mockito实现单元测试
  7. 2008计算机多用户远程,Win2008 R2实现多用户远程连接设置方法
  8. 中国第一个 Apache 顶级开源项目的突围之路!
  9. centos6使用devtoolset快速升级GCC版本4.8/5.2/8.3
  10. git 提交错误:The requested URL returned error: 502