mirror of https://gitee.com/openkylin/linux.git
[PATCH] BLK_DEV_INITRD: do not require BLK_DEV_RAM=y
Initramfs initrd images do not need a ramdisk device, so remove this restriction in Kconfig. BLK_DEV_RAM=n saves about 13k on i386. Also without ramdisk device there's no need for "dry run", so initramfs unpacks much faster. People using cramfs, squashfs, or gzipped ext2/minix initrd images are probably smart enough not to turn off ramdisk support by accident. Cc: Al Viro <viro@ftp.linux.org.uk> Cc: Christoph Hellwig <hch@lst.de> Cc: "H. Peter Anvin" <hpa@zytor.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
05eeae208d
commit
340e48e662
|
@ -401,7 +401,6 @@ config BLK_DEV_RAM_SIZE
|
|||
|
||||
config BLK_DEV_INITRD
|
||||
bool "Initial RAM disk (initrd) support"
|
||||
depends on BLK_DEV_RAM=y
|
||||
help
|
||||
The initial RAM disk is a RAM disk that is loaded by the boot loader
|
||||
(loadlin or lilo) and that is mounted as root before the normal boot
|
||||
|
|
|
@ -506,6 +506,7 @@ void __init populate_rootfs(void)
|
|||
panic(err);
|
||||
#ifdef CONFIG_BLK_DEV_INITRD
|
||||
if (initrd_start) {
|
||||
#ifdef CONFIG_BLK_DEV_RAM
|
||||
int fd;
|
||||
printk(KERN_INFO "checking if image is initramfs...");
|
||||
err = unpack_to_rootfs((char *)initrd_start,
|
||||
|
@ -525,6 +526,15 @@ void __init populate_rootfs(void)
|
|||
sys_close(fd);
|
||||
free_initrd();
|
||||
}
|
||||
#else
|
||||
printk(KERN_INFO "Unpacking initramfs...");
|
||||
err = unpack_to_rootfs((char *)initrd_start,
|
||||
initrd_end - initrd_start, 0);
|
||||
if (err)
|
||||
panic(err);
|
||||
printk(" done\n");
|
||||
free_initrd();
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue