Ignore:
Timestamp:
10/02/2022 01:49:39 PM (19 months ago)
Author:
Xi Ruoyao <xry111@…>
Branches:
xry111/arm64, xry111/arm64-12.0
Children:
1dcfd50
Parents:
111194c (diff), 6582ddc5 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge remote-tracking branch 'origin/trunk' into xry111/arm64

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chapter07/kernfs.xml

    r111194c r96323bd  
    1515  </indexterm>
    1616
    17     <para>Various file systems exported by the kernel are used to communicate to
    18     and from the kernel itself. These file systems are virtual in that no disk
     17    <para>Applications running in user space utilize various file
     18    systems exported by the kernel to communicate
     19    with the kernel itself. These file systems are virtual: no disk
    1920    space is used for them. The content of the file systems resides in
    20     memory.</para>
     21    memory. These file systems must be mounted in the $LFS directory tree
     22    so the applications can find them in the chroot environment.</para>
    2123
    22     <para>Begin by creating directories onto which the file systems will be
     24    <para>Begin by creating directories on which the file systems will be
    2325    mounted:</para>
    2426
     
    2830    <title>Mounting and Populating /dev</title>
    2931
    30       <para>During a normal boot, the kernel automatically mounts the
    31       <systemitem class="filesystem">devtmpfs</systemitem> filesystem on the
    32       <filename class="directory">/dev</filename> directory, and allow the
    33       devices to be created dynamically on that virtual filesystem as they
    34       are detected or accessed. Device creation is generally done during the
    35       boot process by the kernel and Udev.
    36       Since this new system does not yet have Udev and
    37       has not yet been booted, it is necessary to mount and populate
    38       <filename class="directory">/dev</filename> manually. This is
    39       accomplished by bind mounting the host system's
     32      <para>During a normal boot of the LFS system, the kernel automatically
     33      mounts the <systemitem class="filesystem">devtmpfs</systemitem>
     34      filesystem on the
     35      <filename class="directory">/dev</filename> directory; the kernel
     36      creates device nodes on that virtual filesystem during the boot process
     37      or when a device is first detected or accessed. The udev daemon may
     38      change the owner or permission of the device nodes created by the
     39      kernel, or create new device nodes or symlinks to ease the work of
     40      distro maintainers or system administrators.  (See
     41      <xref linkend='ch-config-udev-device-node-creation'/> for details.)
     42      If the host kernel supports &devtmpfs;, we can simply mount a
     43      &devtmpfs; at <filename class='directory'>$LFS/dev</filename> and rely
     44      on the kernel to populate it (the LFS building process does not need
     45      the additional work onto &devtmpfs; by udev daemon).</para>
     46
     47      <para>But, some host kernels may lack &devtmpfs; support and these
     48      host distros maintain the content of
     49      <filename class="directory">/dev</filename> with different methods.
     50      So the only host-agnostic way for populating
     51      <filename class="directory">$LFS/dev</filename> is
     52      bind mounting the host system's
    4053      <filename class="directory">/dev</filename> directory. A bind mount is
    4154      a special type of mount that allows you to create a mirror of a
    42       directory or mount point to some other location. Use the following
    43       command to achieve this:</para>
     55      directory or mount point at some other location. Use the following
     56      command to do this:</para>
    4457
    4558<screen><userinput>mount -v --bind /dev $LFS/dev</userinput></screen>
     
    90103      directory needs to be created.</para>
    91104
    92       <para>In other cases <filename>/dev/shm</filename> is a mountpoint
     105      <para>In other host systems <filename>/dev/shm</filename> is a mount point
    93106      for a tmpfs. In that case the mount of /dev above will only create
    94       /dev/shm in the chroot environment as a directory. In this situation
    95       we explicitly mount a tmpfs,</para>
     107      /dev/shm as a directory in the chroot environment. In this situation
     108      we must explicitly mount a tmpfs:</para>
    96109
    97110<screen><userinput>if [ -h $LFS/dev/shm ]; then
Note: See TracChangeset for help on using the changeset viewer.