noinitramfs.c 813 B

12345678910111213141516171819202122232425262728293031323334353637383940
  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. * Create a simple rootfs that is similar to the default initramfs
  15. */
  16. static int __init default_rootfs(void)
  17. {
  18. int err;
  19. err = init_mkdir("/dev", 0755);
  20. if (err < 0)
  21. goto out;
  22. err = init_mknod("/dev/console", S_IFCHR | S_IRUSR | S_IWUSR,
  23. new_encode_dev(MKDEV(5, 1)));
  24. if (err < 0)
  25. goto out;
  26. err = init_mkdir("/root", 0700);
  27. if (err < 0)
  28. goto out;
  29. return 0;
  30. out:
  31. printk(KERN_WARNING "Failed to create a rootfs\n");
  32. return err;
  33. }
  34. rootfs_initcall(default_rootfs);