xref: /kernel/linux/linux-5.10/init/noinitramfs.c (revision 8c2ecf20)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * init/noinitramfs.c
4 *
5 * Copyright (C) 2006, NXP Semiconductors, All Rights Reserved
6 * Author: Jean-Paul Saman <jean-paul.saman@nxp.com>
7 */
8#include <linux/init.h>
9#include <linux/stat.h>
10#include <linux/kdev_t.h>
11#include <linux/syscalls.h>
12#include <linux/init_syscalls.h>
13
14/*
15 * Create a simple rootfs that is similar to the default initramfs
16 */
17static int __init default_rootfs(void)
18{
19	int err;
20
21	err = init_mkdir("/dev", 0755);
22	if (err < 0)
23		goto out;
24
25	err = init_mknod("/dev/console", S_IFCHR | S_IRUSR | S_IWUSR,
26			new_encode_dev(MKDEV(5, 1)));
27	if (err < 0)
28		goto out;
29
30	err = init_mkdir("/root", 0700);
31	if (err < 0)
32		goto out;
33
34	return 0;
35
36out:
37	printk(KERN_WARNING "Failed to create a rootfs\n");
38	return err;
39}
40rootfs_initcall(default_rootfs);
41