X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=init%2Finitramfs.c;h=43ae0cc9df48c1851a8611a247b26875430249a2;hb=d91ca21f9ac06733b3895deab952e016ed20c2a1;hp=a67ef9dbda9dae0ea7a1619a393c55157a6d8592;hpb=2af78448fff61e13392daf4f770cfbcf9253316a;p=firefly-linux-kernel-4.4.55.git diff --git a/init/initramfs.c b/init/initramfs.c index a67ef9dbda9d..43ae0cc9df48 100644 --- a/init/initramfs.c +++ b/init/initramfs.c @@ -18,6 +18,7 @@ #include #include #include +#include static __initdata char *message; static void __init error(char *x) @@ -579,9 +580,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(err); /* Failed to decompress INTERNAL initramfs */ if (initrd_start) {