/boot/firmware 是什么?它有什么用?

/boot/firmware 是什么?它有什么用?

这是我在 Raspberry Pi 4(Ubuntu 20.04 LTS 映像)上的分区布局

root@jk4:/home/ubuntu# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0  3.7T  0 disk
└─sda1        8:1    0  3.7T  0 part
mmcblk0     179:0    0 29.1G  0 disk
├─mmcblk0p1 179:1    0  256M  0 part /boot/firmware
└─mmcblk0p2 179:2    0 28.9G  0 part /

我想知道/boot/firmware是什么?它是 Raspberry 独有的吗?

在维基百科中我仅找到/boot,这也是我多年前从书本上学到的。

root@jk4:/home/ubuntu# ls -al /boot/firmware
total 99020
drwxr-xr-x 3 root root     4096 Jan  1  1970 .
drwxr-xr-x 4 root root     4096 Jul  4 05:29 ..
-rwxr-xr-x 1 root root    26247 Jul  4 05:29 bcm2710-rpi-2-b.dtb
-rwxr-xr-x 1 root root    26247 Jul  4 05:28 bcm2710-rpi-2-b.dtb.bak
-rwxr-xr-x 1 root root    27288 Jul  4 05:29 bcm2710-rpi-3-b.dtb
-rwxr-xr-x 1 root root    27288 Jul  4 05:28 bcm2710-rpi-3-b.dtb.bak
-rwxr-xr-x 1 root root    27907 Jul  4 05:29 bcm2710-rpi-3-b-plus.dtb
-rwxr-xr-x 1 root root    27907 Jul  4 05:28 bcm2710-rpi-3-b-plus.dtb.bak
-rwxr-xr-x 1 root root    26102 Jul  4 05:29 bcm2710-rpi-cm3.dtb
-rwxr-xr-x 1 root root    26102 Jul  4 05:28 bcm2710-rpi-cm3.dtb.bak
-rwxr-xr-x 1 root root    46368 Jul  4 05:29 bcm2711-rpi-4-b.dtb
-rwxr-xr-x 1 root root    46368 Jul  4 05:28 bcm2711-rpi-4-b.dtb.bak
-rwxr-xr-x 1 root root    19924 Jul  4 05:29 bcm2837-rpi-3-a-plus.dtb
-rwxr-xr-x 1 root root    19924 Jul  4 05:28 bcm2837-rpi-3-a-plus.dtb.bak
-rwxr-xr-x 1 root root    20373 Jul  4 05:29 bcm2837-rpi-3-b.dtb
-rwxr-xr-x 1 root root    20373 Jul  4 05:28 bcm2837-rpi-3-b.dtb.bak
-rwxr-xr-x 1 root root    20793 Jul  4 05:29 bcm2837-rpi-3-b-plus.dtb
-rwxr-xr-x 1 root root    20793 Jul  4 05:28 bcm2837-rpi-3-b-plus.dtb.bak
-rwxr-xr-x 1 root root    19700 Jul  4 05:29 bcm2837-rpi-cm3-io3.dtb
-rwxr-xr-x 1 root root    19700 Jul  4 05:28 bcm2837-rpi-cm3-io3.dtb.bak
-rwxr-xr-x 1 root root    52304 Apr 23 15:12 bootcode.bin
-rwxr-xr-x 1 root root     2603 Jul  4 05:29 boot.scr
-rwxr-xr-x 1 root root     2603 Jul  4 05:28 boot.scr.bak
-rwxr-xr-x 1 root root      141 Apr 23 15:12 cmdline.txt
-rwxr-xr-x 1 root root     1117 Apr 23 15:12 config.txt
-rwxr-xr-x 1 root root     3112 Apr 23 15:12 fixup4cd.dat
-rwxr-xr-x 1 root root     6200 Apr 23 15:12 fixup4.dat
-rwxr-xr-x 1 root root     9192 Apr 23 15:12 fixup4db.dat
-rwxr-xr-x 1 root root     9192 Apr 23 15:12 fixup4x.dat
-rwxr-xr-x 1 root root     2656 Apr 23 15:12 fixup_cd.dat
-rwxr-xr-x 1 root root     6745 Apr 23 15:12 fixup.dat
-rwxr-xr-x 1 root root     9817 Apr 23 15:12 fixup_db.dat
-rwxr-xr-x 1 root root     9819 Apr 23 15:12 fixup_x.dat
-rwxr-xr-x 1 root root 29527996 Jul  4 05:29 initrd.img
-rwxr-xr-x 1 root root 29528551 Jul  4 05:28 initrd.img.bak
-rwxr-xr-x 1 root root      240 Apr 23 15:12 meta-data
-rwxr-xr-x 1 root root      770 Apr 23 15:12 network-config
-rwxr-xr-x 1 root root     1371 Jul  4 05:29 overlay_map.dtb
-rwxr-xr-x 1 root root     1371 Jul  4 05:28 overlay_map.dtb.bak
drwxr-xr-x 2 root root    34816 Jul  4 05:29 overlays
-rwxr-xr-x 1 root root     1514 Apr 23 15:12 README
-rwxr-xr-x 1 root root   784316 Apr 23 15:12 start4cd.elf
-rwxr-xr-x 1 root root  4593508 Apr 23 15:12 start4db.elf
-rwxr-xr-x 1 root root  2784800 Apr 23 15:12 start4.elf
-rwxr-xr-x 1 root root  3546468 Apr 23 15:12 start4x.elf
-rwxr-xr-x 1 root root   690884 Apr 23 15:12 start_cd.elf
-rwxr-xr-x 1 root root  4859912 Apr 23 15:12 start_db.elf
-rwxr-xr-x 1 root root  2883204 Apr 23 15:12 start.elf
-rwxr-xr-x 1 root root  3797384 Apr 23 15:12 start_x.elf
-rwxr-xr-x 1 root root      327 Apr 23 15:12 syscfg.txt
-rwxr-xr-x 1 root root   493528 Apr 23 15:12 uboot_rpi_3.bin
-rwxr-xr-x 1 root root   492824 Apr 23 15:12 uboot_rpi_4.bin
-rwxr-xr-x 1 root root      200 Apr 23 15:12 usercfg.txt
-rwxr-xr-x 1 root root     2114 Apr 23 15:12 user-data
-rwxr-xr-x 1 root root  8381742 Jul  4 05:29 vmlinuz
-rwxr-xr-x 1 root root  8381742 Jul  4 05:28 vmlinuz.bak

我识别出一些文件,例如 Linux 内核。bcm*看起来像是 Broadcom 的东西。请提供详细信息。

答案1

它是 Raspberry 独有的吗?

是的。有点。这些文件对我来说更重要,并且确实用于 PI 安装。/boot/firmware不是默认的 Linux 目录。

关于内容:请参阅树莓派关于“boot”的话题:

start.elf、start_x.elf、start_db.elf、start_cd.elf、start4.elf、start4x.elf、start4cd.elf、start4db.elf

这些是加载到 SoC 中的 VideoCore 上的二进制 blob(固件),然后接管启动过程。start.elf 是基本固件,start_x.elf包括摄像头驱动程序和编解码器,start_db.elf 是固件的调试版本,并且start_cd.elf是精简版,不支持编解码器和 3D 等硬件块,并gpu_mem=16在 config.txt 中指定时使用。有关如何使用它们的更多信息,请参阅 config.txt 部分。

start4.elf、start4x.elf、start4cd.elf 和 start4db.elf 是 Pi 4 特定的固件文件。

还列出了一些其他文件。

相关内容