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 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 |