简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!
优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀
优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
1.前言
本篇目的:在刷入自己的编译的内核镜像时,进入fastbootd模式时,出现以上以下报错:
2.报错
E:failed to open /dev/block/bootdevice/by-name/misc: No such file or directory
3.解题思路
<1>.首先查看misc分区代码配置
- out/target/product/redfin/recovery/root/system/etc/recovery.fstab
<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/dev/block/bootdevice/by-name/boot /boot emmc defaults slotselect,avb=boot,first_stage_mount
system /system ext4 ro,barrier=1 wait,slotselect,avb=vbmeta_system,logical,first_stage_mount
system_ext /system_ext ext4 ro,barrier=1 wait,slotselect,avb=vbmeta_system,logical,first_stage_mount
vendor /vendor ext4 ro,barrier=1 wait,slotselect,avb=vbmeta,logical,first_stage_mount
product /product ext4 ro,barrier=1 wait,slotselect,avb,logical,first_stage_mount
/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard,data=journal,commit=1 wait,formattable,first_stage_mount,check,metadata_csum
/dev/block/bootdevice/by-name/modem /vendor/firmware_mnt vfat ro,shortname=lower,uid=0,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait,slotselect
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults
/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt latemount,wait,check,quota,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized,reservedsize=128M,sysfs_path=/dev/sys/block/bootdevice,keydirectory=/metadata/vold/metadata_encryption,checkpoint=fs
/devices/platform/soc/a600000.ssusb/a600000.dwc3* auto vfat defaults voldmanaged=usb:auto
/dev/block/zram0 none swap defaults zramsize=2147483648,max_comp_streams=8,zram_backingdev_size=512M
可以看出misc分区已经配置:
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults
<2>查看:/dev/block/bootdevice/by-name/misc
# ls /dev/block/bootdevice/by-name/misc -al
/dev/block/bootdevice/by-name/misc -> /dev/block/sda3
/dev/block/bootdevice/by-name/misc实际是一个软链接,它真正的实体是 /dev/block/sda3。
4.解决方案
<1>.编译的vendor_boot.img大小
# ls -lh vendor_boot.img
36M vendor_boot.img
只有36M。
<2>.出厂vendor_boot.img大小
# ls -lh vendor_boot.img
96M vendor_boot.img
发现它是96M,所以自己编译的vendor_boot.img肯定缺东西。
<3>.解决
将出厂和编译的vendor_boot.img解压后,使用比较工具比较下,把编译的vendor_boot.img缺少的部分拷贝进入,然后再打包镜像即可。