Re: [Nbd] [RFC 4/4] nbd: Add support for nbd as root device

From: Markus Pargmann
Date: Fri Jan 30 2015 - 03:04:15 EST


Hi,

On Fri, Jan 30, 2015 at 12:42:54AM +0100, Wouter Verhelst wrote:
> On Tue, Jan 13, 2015 at 02:44:25PM +0100, Markus Pargmann wrote:
> > 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 module parameter. The
> > module parameter has the format
> > '[<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.
>
> Not that I'm opposed to this, but you do realize that doing nbd-client
> from initramfs or similar is possible, right? Most initramfs
> implementations these days support it.

Yes, that was the first idea how to implement a complete netboot for an
embedded ARM device. However, an initramfs is at least around 1MB in
size which has to be loaded using tftp. As the essential nbd-client
connection setup and negotiation is quite small I decided to go with
nbd-root support.

Also it is quite useful to have nbd-root support much like nfsroot
directly built-in for debugging purposes. It has the big advantage of
booting/testing read-only filesystem images for embedded systems without
the need for an initramfs.

Best regards,

Markus

--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |

Attachment: signature.asc
Description: Digital signature