gpt4 book ai didi

android -/dev/block/bootdevice/by-name 是如何创建的?

转载 作者:行者123 更新时间:2023-12-05 07:35:00 43 4
gpt4 key购买 nike

我在定制的 Yocto 中从 busybox 切换到 toybox。切换后,我不再填充 /dev/block/

我想了解 /dev/block/bootdevice/by-name 是如何填充的?这是由 mdev 完成的吗?

toybox mdev 命令仍处于pending。但是,/dev/block/bootdevice/by-name 似乎是使用 toybox irc 的 Android 功能。

最佳答案

在 Android 中有几个部分:

  1. /dev/block/bootdevice 由初始化脚本创建,例如 init.hardware.rc :

    symlink /dev/block/platform/${ro.boot.boot_devices} /dev/block/bootdevice

    在这种情况下,ro.boot.boot_devices 属性派生自 BoardConfig-common.mk 构建内核镜像时设置的内核命令行参数。 :

    BOARD_KERNEL_CMDLINE += androidboot.boot_devices=soc/1d84000.ufshc

    (所有 androidboot.* 命令行选项都被 init 转换为 ro.boot.* 属性,参见 ProcessKernelCmdline())。

  2. /dev/block/platform/* 链接由 ueventd 创建(它是 Android 版本的 init 的一部分) ).负责这个的功能是DeviceHandler::GetBlockDeviceSymlinks() .

    此函数还负责根据内核在 uevent 中提供的分区名称创建 /dev/block/platform/*/by-name 链接。并非所有分区方案都提供分区名称,例如 GPTDOS MBR 时执行分区表没有。

    此函数的更新版本还将在 /dev/block/by-name 中为引导设备上的分区创建通用链接。使用 androidboot.boot_devices 内核命令行选项再次识别引导设备。

关于android -/dev/block/bootdevice/by-name 是如何创建的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49822694/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com