]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'SMB-rootfs'
authorDavid S. Miller <davem@davemloft.net>
Wed, 2 Oct 2019 16:15:15 +0000 (12:15 -0400)
committerDavid S. Miller <davem@davemloft.net>
Wed, 2 Oct 2019 16:15:15 +0000 (12:15 -0400)
commite74828353d1dbf1ecc73108bd5dc5bd177e2857d
treeaef79e722524c5afb1c58763906ee71e7b626d4f
parentb59737de9e8c9623761384b64ddb1a3f8f55bb0c
parentfbce43da9dbd6d6266bd584894d7acf1dfe521f7
Merge branch 'SMB-rootfs'

Paulo Alcantara says:

====================
Experimental SMB rootfs support

This patch series enables Linux to mount root file systems over the
network by utilizing SMB protocol.

Upstream commit b39ded2ab863 ("cifs: Add support for root file
systems") introduced a new CONFIG_CIFS_ROOT option, a virtual device
(Root_CIFS) and a kernel cmdline parameter "cifsroot=" which tells the
kernel to actually mount the root filesystem over a SMB share.

The feature relies on ipconfig to set up the network prior to mounting
the rootfs, so when it is set along with "cifsroot=" parameter:

    (1) cifs_root_setup() parses all necessary data out of "cifsroot="
    parameter for the init process know how to mount the SMB rootfs
    (e.g. SMB server address, mount options).

    (2) If DHCP failed for some reason in ipconfig, we keep retrying
    forever as we have nowhere to go for NFS or SMB root
    filesystems (see PATCH 2/2). Otherwise go to (3).

    (3) mount_cifs_root() is then called by mount_root() (ROOT_DEV ==
    Root_CIFS), retrieves early parsed data from (1), then attempt to
    mount SMB rootfs by CIFSROOT_RETRY_MAX times at most (see PATCH
    1/2).

    (4) If all attempts failed, fall back to floppy drive, otherwise
    continue the boot process with rootfs mounted over a SMB share.

My idea was to keep the same behavior of nfsroot - as it seems to work
for most users so far.

For more information on how this feature works, see
Documentation/filesystems/cifs/cifsroot.txt.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>