当前位置:网站首页>onie支持pice硬盘

onie支持pice硬盘

2022-07-06 07:39:00 菜菜的阿庄

引言

我们知道,SATA硬盘和pcie硬盘的dev设备名不一样:

SATA设备名一般是是sd*,例如sda sdb,分区后设备名为sda1,sda2等;
而pcie接口硬盘设备名一般是nvme0n*,分区后设备名为nvme0n1p1 nvme0n1p2等。

onie中怎么支持将onie安装到指定硬盘上的呢?

onie支持pice类型硬盘

installer/grub-arch/install-arch 中的 install_image 接口中,将 $onie_dev 变量作为onie安装位置,从 echo "Installing ONIE on: $onie_dev"也可以看出这点。
onie_dev 变量是在 init_onie_install 接口中,通过 [ -b "$onie_dev" ] || onie_dev="$(install_device_platform)" 定义了的。
因此,需要支持指定的硬盘,只需要在自己的vendor_modules下重载 install_device_platform 接口,并返回相应的硬盘设备名。例如支持nvme硬盘:

install_device_platform()
{
    
    mass_bus="nvme0"
    for i in 1 2 3 4 ; do
        if $(ls -l /sys/block/nvme0n$i/device 2>/dev/null | grep -q "$mass_bus") ; then
            echo "/dev/nvme0n$i"
            return 0
        fi
    done
    echo "storage-not-found"
    return 1
}

接口只要返回/dev/nvme0n1即可。
同样如果需要将onie安装到SATA硬盘或U盘,接口返回/dev/sda /dev/sdb等即可.

原网站

版权声明
本文为[菜菜的阿庄]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_28499879/article/details/125615882