1*c33df4eaSJean-Paul Saman /* 2*c33df4eaSJean-Paul Saman * init/noinitramfs.c 3*c33df4eaSJean-Paul Saman * 4*c33df4eaSJean-Paul Saman * Copyright (C) 2006, NXP Semiconductors, All Rights Reserved 5*c33df4eaSJean-Paul Saman * Author: Jean-Paul Saman <jean-paul.saman@nxp.com> 6*c33df4eaSJean-Paul Saman * 7*c33df4eaSJean-Paul Saman * This program is free software; you can redistribute it and/or modify 8*c33df4eaSJean-Paul Saman * it under the terms of the GNU General Public License as published by 9*c33df4eaSJean-Paul Saman * the Free Software Foundation; version 2 of the License. 10*c33df4eaSJean-Paul Saman * 11*c33df4eaSJean-Paul Saman * This program is distributed in the hope that it will be useful, 12*c33df4eaSJean-Paul Saman * but WITHOUT ANY WARRANTY; without even the implied warranty of 13*c33df4eaSJean-Paul Saman * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14*c33df4eaSJean-Paul Saman * GNU General Public License for more details. 15*c33df4eaSJean-Paul Saman * 16*c33df4eaSJean-Paul Saman * You should have received a copy of the GNU General Public License 17*c33df4eaSJean-Paul Saman * along with this program; if not, write to the Free Software 18*c33df4eaSJean-Paul Saman * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19*c33df4eaSJean-Paul Saman */ 20*c33df4eaSJean-Paul Saman #include <linux/init.h> 21*c33df4eaSJean-Paul Saman #include <linux/stat.h> 22*c33df4eaSJean-Paul Saman #include <linux/kdev_t.h> 23*c33df4eaSJean-Paul Saman #include <linux/syscalls.h> 24*c33df4eaSJean-Paul Saman 25*c33df4eaSJean-Paul Saman /* 26*c33df4eaSJean-Paul Saman * Create a simple rootfs that is similar to the default initramfs 27*c33df4eaSJean-Paul Saman */ 28*c33df4eaSJean-Paul Saman static int __init default_rootfs(void) 29*c33df4eaSJean-Paul Saman { 30*c33df4eaSJean-Paul Saman int err; 31*c33df4eaSJean-Paul Saman 32*c33df4eaSJean-Paul Saman err = sys_mkdir("/dev", 0755); 33*c33df4eaSJean-Paul Saman if (err < 0) 34*c33df4eaSJean-Paul Saman goto out; 35*c33df4eaSJean-Paul Saman 36*c33df4eaSJean-Paul Saman err = sys_mknod((const char __user *) "/dev/console", 37*c33df4eaSJean-Paul Saman S_IFCHR | S_IRUSR | S_IWUSR, 38*c33df4eaSJean-Paul Saman new_encode_dev(MKDEV(5, 1))); 39*c33df4eaSJean-Paul Saman if (err < 0) 40*c33df4eaSJean-Paul Saman goto out; 41*c33df4eaSJean-Paul Saman 42*c33df4eaSJean-Paul Saman err = sys_mkdir("/root", 0700); 43*c33df4eaSJean-Paul Saman if (err < 0) 44*c33df4eaSJean-Paul Saman goto out; 45*c33df4eaSJean-Paul Saman 46*c33df4eaSJean-Paul Saman return 0; 47*c33df4eaSJean-Paul Saman 48*c33df4eaSJean-Paul Saman out: 49*c33df4eaSJean-Paul Saman printk(KERN_WARNING "Failed to create a rootfs\n"); 50*c33df4eaSJean-Paul Saman return err; 51*c33df4eaSJean-Paul Saman } 52*c33df4eaSJean-Paul Saman rootfs_initcall(default_rootfs); 53