[PATCH v2 04/13] commands: add mknod command

Ahmad Fatoum a.fatoum at pengutronix.de
Mon Dec 15 03:21:29 PST 2025


Hi,

On 12/9/25 1:51 PM, Sascha Hauer wrote:
> Add a mknod command. This is intended for testing/debugging purposes as
> normally device special nodes are created automatically in devfs.
> 
> Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>

Reviewed-by: Ahmad Fatoum <a.fatoum at pengutronix.de>

Single nitpick below:

> +static int do_mknod(int argc, char *argv[])
> +{
> +	const char *filename, *cdevname;
> +	umode_t mode;
> +
> +	if (argc < 4)

argc != 4 to reduce misuse.

> +		return COMMAND_ERROR_USAGE;
> +
> +	filename = argv[1];
> +	if (!strcmp(argv[2], "b"))
> +		mode = S_IFBLK;
> +	else if (!strcmp(argv[2], "c"))
> +		mode = S_IFCHR;
> +	else
> +		return COMMAND_ERROR_USAGE;
> +
> +	cdevname = argv[3];
> +
> +	return mknod(filename, mode, cdevname);
> +}
> +
> +BAREBOX_CMD_HELP_START(mknod)
> +BAREBOX_CMD_HELP_TEXT("make a device special node.")
> +BAREBOX_CMD_HELP_TEXT("")
> +BAREBOX_CMD_HELP_TEXT("usage: mknod <name> c|b <cdevname>")
> +BAREBOX_CMD_HELP_TEXT("")
> +BAREBOX_CMD_HELP_TEXT("Create a device special node named <name> directing")
> +BAREBOX_CMD_HELP_TEXT("to cdev <cdevname>. This can either be a block (b) or")
> +BAREBOX_CMD_HELP_TEXT("character (c) device.")
> +BAREBOX_CMD_HELP_END
> +
> +BAREBOX_CMD_START(mknod)
> +        .cmd            = do_mknod,
> +        BAREBOX_CMD_DESC("make device nodes")
> +        BAREBOX_CMD_OPTS("NAME TYPE CDEVNAME")
> +        BAREBOX_CMD_GROUP(CMD_GRP_FILE)
> +        BAREBOX_CMD_HELP(cmd_mknod_help)
> +BAREBOX_CMD_END
> 

-- 
Pengutronix e.K.                  |                             |
Steuerwalder Str. 21              | http://www.pengutronix.de/  |
31137 Hildesheim, Germany         | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686  | Fax:   +49-5121-206917-5555 |




More information about the barebox mailing list