解决 Proxmox VE 无法安装到 eMMC 上的问题

2024-02-25 567℃

⚠️警告:PVE 并未针对这种设备优化,eMMC 也并非针对这种使用设计。PVE 每天要往存储设备中写入一定量的日志信息,USE AT YOUR OWN RISK!

  1. 启动 PVE 安装程序,进入安装初始界面
  2. 启动后点击 Install Proxmox VE (Debug mode)
  3. 在第一次提示你可以输入命令的时候输入 Ctrl-D ,继续安装过程
  4. 在第二次提示你可以输入命令的时候输入 vi /usr/bin/proxinstall 编辑文件(或者使用其他文字编辑器如 nano)
  5. 输入 /unable to get device 定位到对应位置
  6. 你可以看到类似下方的内容:
    ...
        } elsif ($dev =~ m|^/dev/[^/]+/hd[a-z]$|) {
            return "${dev}$partnum";
        } elsif ($dev =~ m|^/dev/nvme\\d+n\\d+$|) {
            return "${dev}p$partnum";
        } else {
            die "unable to get device for partitionpartnum on devicedev\n";
        }
    ...
    
    将其修改(添加)为:
    ...
        } elsif ($dev =~ m|^/dev/[^/]+/hd[a-z]$|) {
            return "${dev}$partnum";
        } elsif ($dev =~ m|^/dev/nvme\\d+n\\d+$|) {
            return "${dev}p$partnum";
        } elsif ($dev =~ m|^/dev/mmcblk\\d+$|) {
            return "${dev}p$partnum";
        } else {
            die "unable to get device for partitionpartnum on devicedev\n";
        }
    ...
    
  7. 然后输入 Ctrl-D ,继续安装过程
  8. 此时应该进入了正常的安装程序,硬盘选择的时候选择 /dev/mmcblk1 (没有 bootX 后缀)(建议关闭 swap)
  9. 最后安装完成后输入 Ctrl-D ,重启系统

 

原理

Install Proxmox VE (Debug mode) 提供了在安装过程中各个阶段执行脚本的能力。

修改的文件是为安装程序提供 MMC 设备检测支持。

没有直接修改 ISO 主要是由于,一是该文件在 pve-installer.squashfs 中,由安装程序在运行的时候加载,修改需要解包后重新打包,二是这样更透明,避免使用一个来源不是很明确的二进制文件。

安装过程中,配置信息那里使用了 Linux 的图形界面,类似于 Ubuntu 的使用,按下 Ctrl+Alt+F1/F2 为相应的日志信息,按下 Ctrl+Alt+F3 可以切换出命令行,按下 Ctrl+Alt+F4 可以切换回图形界面。

标签: PVE

非特殊说明,本博所有文章均为博主原创。