Re: [PATCH 2/2] nbd: add support for nbd as root device

From: Josef Bacik
Date: Thu Jun 13 2019 - 11:15:19 EST


On Wed, Jun 12, 2019 at 07:31:44PM +0300, roman.stratiienko@xxxxxxxxxxxxxxx wrote:
> From: Roman Stratiienko <roman.stratiienko@xxxxxxxxxxxxxxx>
>
> Adding support to nbd to use it as a root device. This code essentially
> provides a minimal nbd-client implementation within the kernel. It opens
> a socket and makes the negotiation with the server. Afterwards it passes
> the socket to the normal nbd-code to handle the connection.
>
> The arguments for the server are passed via kernel command line.
> The kernel command line has the format
> 'nbdroot=[<SERVER_IP>:]<SERVER_PORT>/<EXPORT_NAME>'.
> SERVER_IP is optional. If it is not available it will use the
> root_server_addr transmitted through DHCP.
>
> Based on those arguments, the connection to the server is established
> and is connected to the nbd0 device. The rootdevice therefore is
> root=/dev/nbd0.
>
> Patch was initialy posted by Markus Pargmann <mpa@xxxxxxxxxxxxxx>
> and can be found at https://lore.kernel.org/patchwork/patch/532556/
>
> Change-Id: I78f7313918bf31b9dc01a74a42f0f068bede312c
> Signed-off-by: Roman Stratiienko <roman.stratiienko@xxxxxxxxxxxxxxx>
> Reviewed-by: Aleksandr Bulyshchenko <A.Bulyshchenko@xxxxxxxxxxxxxxx>

Just throw nbd-client in your initramfs. Every nbd server has it's own
handshake protocol, embedding one particular servers handshake protocol into the
kernel isn't the answer here. Thanks,

Josef