X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=init%2Finitramfs.c;h=f8ce812ba43e9356fdf35393d6c6b423078514ba;hb=da51c393a970e68199727c6ebe11a8a4839c4eac;hp=b32ad7d97ac94f52a0c50acd2a904e8a0c2f888d;hpb=5132361cd97ed21863fb48bb8e4a0e6203a4269a;p=firefly-linux-kernel-4.4.55.git diff --git a/init/initramfs.c b/init/initramfs.c index b32ad7d97ac9..f8ce812ba43e 100644 --- a/init/initramfs.c +++ b/init/initramfs.c @@ -18,6 +18,7 @@ #include #include #include +#include static ssize_t __init xwrite(int fd, const char *p, size_t count) { @@ -605,9 +606,25 @@ static void __init clean_rootfs(void) } #endif +static int __initdata do_skip_initramfs; + +static int __init skip_initramfs_param(char *str) +{ + if (*str) + return 0; + do_skip_initramfs = 1; + return 1; +} +__setup("skip_initramfs", skip_initramfs_param); + static int __init populate_rootfs(void) { - char *err = unpack_to_rootfs(__initramfs_start, __initramfs_size); + char *err; + + if (do_skip_initramfs) + return default_rootfs(); + + err = unpack_to_rootfs(__initramfs_start, __initramfs_size); if (err) panic("%s", err); /* Failed to decompress INTERNAL initramfs */ if (initrd_start) {