#include <linux/unistd.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/minix_fs.h>
#include <linux/romfs_fs.h>
#include <linux/initrd.h>
#include <linux/sched.h>
#include <linux/freezer.h>
#include <linux/kmod.h>
#include <uapi/linux/mount.h>
#include "do_mounts.h"
unsigned long initrd_start, initrd_end;
int initrd_below_start_ok;
static unsigned int real_root_dev;
static int __initdata mount_initrd = …;
phys_addr_t phys_initrd_start __initdata;
unsigned long phys_initrd_size __initdata;
#ifdef CONFIG_SYSCTL
static struct ctl_table kern_do_mounts_initrd_table[] = …;
static __init int kernel_do_mounts_initrd_sysctls_init(void)
{ … }
late_initcall(kernel_do_mounts_initrd_sysctls_init);
#endif
static int __init no_initrd(char *str)
{ … }
__setup(…);
static int __init early_initrdmem(char *p)
{ … }
early_param(…);
static int __init early_initrd(char *p)
{ … }
early_param(…);
static int __init init_linuxrc(struct subprocess_info *info, struct cred *new)
{ … }
static void __init handle_initrd(char *root_device_name)
{ … }
bool __init initrd_load(char *root_device_name)
{ … }