~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/driver-api/firmware/direct-fs-lookup.rst

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 ========================
  2 Direct filesystem lookup
  3 ========================
  4 
  5 Direct filesystem lookup is the most common form of firmware lookup performed
  6 by the kernel. The kernel looks for the firmware directly on the root
  7 filesystem in the paths documented in the section 'Firmware search paths'.
  8 The filesystem lookup is implemented in fw_get_filesystem_firmware(), it
  9 uses common core kernel file loader facility kernel_read_file_from_path().
 10 The max path allowed is PATH_MAX -- currently this is 4096 characters.
 11 
 12 It is recommended you keep /lib/firmware paths on your root filesystem,
 13 avoid having a separate partition for them in order to avoid possible
 14 races with lookups and avoid uses of the custom fallback mechanisms
 15 documented below.
 16 
 17 Firmware and initramfs
 18 ----------------------
 19 
 20 Drivers which are built-in to the kernel should have the firmware integrated
 21 also as part of the initramfs used to boot the kernel given that otherwise
 22 a race is possible with loading the driver and the real rootfs not yet being
 23 available. Stuffing the firmware into initramfs resolves this race issue,
 24 however note that using initrd does not suffice to address the same race.
 25 
 26 There are circumstances that justify not wanting to include firmware into
 27 initramfs, such as dealing with large firmware files for the
 28 remote-proc subsystem. For such cases using a userspace fallback mechanism
 29 is currently the only viable solution as only userspace can know for sure
 30 when the real rootfs is ready and mounted.

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php