forked from luck/tmp_suning_uos_patched
initrd: remove support for multiple floppies
Remove the special handling for multiple floppies in the initrd code. No one should be using floppies for booting these days. (famous last words..) Includes a spelling fix from Colin Ian King <colin.king@canonical.com>. Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
7e0adbfc20
commit
c8376994c8
|
@ -91,8 +91,6 @@ __tagtable(ATAG_VIDEOTEXT, parse_tag_videotext);
|
|||
static int __init parse_tag_ramdisk(const struct tag *tag)
|
||||
{
|
||||
rd_image_start = tag->u.ramdisk.start;
|
||||
rd_doload = (tag->u.ramdisk.flags & 1) == 0;
|
||||
rd_prompt = (tag->u.ramdisk.flags & 2) == 0;
|
||||
|
||||
if (tag->u.ramdisk.size)
|
||||
rd_size = tag->u.ramdisk.size;
|
||||
|
|
|
@ -290,8 +290,6 @@ void __init setup_arch(char **cmdline_p)
|
|||
|
||||
#ifdef CONFIG_BLK_DEV_RAM
|
||||
rd_image_start = RAMDISK_FLAGS & RAMDISK_IMAGE_START_MASK;
|
||||
rd_prompt = ((RAMDISK_FLAGS & RAMDISK_PROMPT_FLAG) != 0);
|
||||
rd_doload = ((RAMDISK_FLAGS & RAMDISK_LOAD_FLAG) != 0);
|
||||
#endif
|
||||
|
||||
if (!MOUNT_ROOT_RDONLY)
|
||||
|
|
|
@ -353,8 +353,6 @@ void __init setup_arch(char **cmdline_p)
|
|||
ROOT_DEV = old_decode_dev(root_dev);
|
||||
#ifdef CONFIG_BLK_DEV_RAM
|
||||
rd_image_start = ram_flags & RAMDISK_IMAGE_START_MASK;
|
||||
rd_prompt = ((ram_flags & RAMDISK_PROMPT_FLAG) != 0);
|
||||
rd_doload = ((ram_flags & RAMDISK_LOAD_FLAG) != 0);
|
||||
#endif
|
||||
|
||||
prom_setsync(prom_sync_me);
|
||||
|
|
|
@ -659,8 +659,6 @@ void __init setup_arch(char **cmdline_p)
|
|||
ROOT_DEV = old_decode_dev(root_dev);
|
||||
#ifdef CONFIG_BLK_DEV_RAM
|
||||
rd_image_start = ram_flags & RAMDISK_IMAGE_START_MASK;
|
||||
rd_prompt = ((ram_flags & RAMDISK_PROMPT_FLAG) != 0);
|
||||
rd_doload = ((ram_flags & RAMDISK_LOAD_FLAG) != 0);
|
||||
#endif
|
||||
|
||||
task_thread_info(&init_task)->kregs = &fake_swapper_regs;
|
||||
|
|
|
@ -870,8 +870,6 @@ void __init setup_arch(char **cmdline_p)
|
|||
|
||||
#ifdef CONFIG_BLK_DEV_RAM
|
||||
rd_image_start = boot_params.hdr.ram_size & RAMDISK_IMAGE_START_MASK;
|
||||
rd_prompt = ((boot_params.hdr.ram_size & RAMDISK_PROMPT_FLAG) != 0);
|
||||
rd_doload = ((boot_params.hdr.ram_size & RAMDISK_LOAD_FLAG) != 0);
|
||||
#endif
|
||||
#ifdef CONFIG_EFI
|
||||
if (!strncmp((char *)&boot_params.efi_info.efi_loader_signature,
|
||||
|
|
|
@ -2,12 +2,6 @@
|
|||
|
||||
#define INITRD_MINOR 250 /* shouldn't collide with /dev/ram* too soon ... */
|
||||
|
||||
/* 1 = load ramdisk, 0 = don't load */
|
||||
extern int rd_doload;
|
||||
|
||||
/* 1 = prompt for ramdisk, 0 = don't prompt */
|
||||
extern int rd_prompt;
|
||||
|
||||
/* starting block # of image */
|
||||
extern int rd_image_start;
|
||||
|
||||
|
|
|
@ -28,8 +28,6 @@
|
|||
|
||||
#include "do_mounts.h"
|
||||
|
||||
int __initdata rd_doload; /* 1 = load RAM disk, 0 = don't load */
|
||||
|
||||
int root_mountflags = MS_RDONLY | MS_SILENT;
|
||||
static char * __initdata root_device_name;
|
||||
static char __initdata saved_root_name[64];
|
||||
|
@ -39,7 +37,7 @@ dev_t ROOT_DEV;
|
|||
|
||||
static int __init load_ramdisk(char *str)
|
||||
{
|
||||
rd_doload = simple_strtol(str,NULL,0) & 3;
|
||||
pr_warn("ignoring the deprecated load_ramdisk= option\n");
|
||||
return 1;
|
||||
}
|
||||
__setup("load_ramdisk=", load_ramdisk);
|
||||
|
@ -553,66 +551,20 @@ static int __init mount_cifs_root(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_BLK_DEV_RAM) || defined(CONFIG_BLK_DEV_FD)
|
||||
void __init change_floppy(char *fmt, ...)
|
||||
{
|
||||
struct termios termios;
|
||||
char buf[80];
|
||||
char c;
|
||||
int fd;
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
vsprintf(buf, fmt, args);
|
||||
va_end(args);
|
||||
fd = ksys_open("/dev/root", O_RDWR | O_NDELAY, 0);
|
||||
if (fd >= 0) {
|
||||
ksys_ioctl(fd, FDEJECT, 0);
|
||||
ksys_close(fd);
|
||||
}
|
||||
printk(KERN_NOTICE "VFS: Insert %s and press ENTER\n", buf);
|
||||
fd = ksys_open("/dev/console", O_RDWR, 0);
|
||||
if (fd >= 0) {
|
||||
ksys_ioctl(fd, TCGETS, (long)&termios);
|
||||
termios.c_lflag &= ~ICANON;
|
||||
ksys_ioctl(fd, TCSETSF, (long)&termios);
|
||||
ksys_read(fd, &c, 1);
|
||||
termios.c_lflag |= ICANON;
|
||||
ksys_ioctl(fd, TCSETSF, (long)&termios);
|
||||
ksys_close(fd);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void __init mount_root(void)
|
||||
{
|
||||
#ifdef CONFIG_ROOT_NFS
|
||||
if (ROOT_DEV == Root_NFS) {
|
||||
if (mount_nfs_root())
|
||||
return;
|
||||
|
||||
printk(KERN_ERR "VFS: Unable to mount root fs via NFS, trying floppy.\n");
|
||||
ROOT_DEV = Root_FD0;
|
||||
if (!mount_nfs_root())
|
||||
printk(KERN_ERR "VFS: Unable to mount root fs via NFS.\n");
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
#ifdef CONFIG_CIFS_ROOT
|
||||
if (ROOT_DEV == Root_CIFS) {
|
||||
if (mount_cifs_root())
|
||||
return;
|
||||
|
||||
printk(KERN_ERR "VFS: Unable to mount root fs via SMB, trying floppy.\n");
|
||||
ROOT_DEV = Root_FD0;
|
||||
}
|
||||
#endif
|
||||
#ifdef CONFIG_BLK_DEV_FD
|
||||
if (MAJOR(ROOT_DEV) == FLOPPY_MAJOR) {
|
||||
/* rd_doload is 2 for a dual initrd/ramload setup */
|
||||
if (rd_doload==2) {
|
||||
if (rd_load_disk(1)) {
|
||||
ROOT_DEV = Root_RAM1;
|
||||
root_device_name = NULL;
|
||||
}
|
||||
} else
|
||||
change_floppy("root floppy");
|
||||
if (!mount_cifs_root())
|
||||
printk(KERN_ERR "VFS: Unable to mount root fs via SMB.\n");
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
#ifdef CONFIG_BLOCK
|
||||
|
@ -631,8 +583,6 @@ void __init mount_root(void)
|
|||
*/
|
||||
void __init prepare_namespace(void)
|
||||
{
|
||||
int is_floppy;
|
||||
|
||||
if (root_delay) {
|
||||
printk(KERN_INFO "Waiting %d sec before mounting root device...\n",
|
||||
root_delay);
|
||||
|
@ -675,11 +625,6 @@ void __init prepare_namespace(void)
|
|||
async_synchronize_full();
|
||||
}
|
||||
|
||||
is_floppy = MAJOR(ROOT_DEV) == FLOPPY_MAJOR;
|
||||
|
||||
if (is_floppy && rd_doload && rd_load_disk(0))
|
||||
ROOT_DEV = Root_RAM0;
|
||||
|
||||
mount_root();
|
||||
out:
|
||||
devtmpfs_mount();
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
#include <linux/major.h>
|
||||
#include <linux/root_dev.h>
|
||||
|
||||
void change_floppy(char *fmt, ...);
|
||||
void mount_block_root(char *name, int flags);
|
||||
void mount_root(void);
|
||||
extern int root_mountflags;
|
||||
|
|
|
@ -15,11 +15,9 @@
|
|||
#include <linux/decompress/generic.h>
|
||||
|
||||
|
||||
int __initdata rd_prompt = 1;/* 1 = prompt for RAM disk, 0 = don't prompt */
|
||||
|
||||
static int __init prompt_ramdisk(char *str)
|
||||
{
|
||||
rd_prompt = simple_strtol(str,NULL,0) & 1;
|
||||
pr_warn("ignoring the deprecated prompt_ramdisk= option\n");
|
||||
return 1;
|
||||
}
|
||||
__setup("prompt_ramdisk=", prompt_ramdisk);
|
||||
|
@ -178,7 +176,7 @@ int __init rd_load_image(char *from)
|
|||
int res = 0;
|
||||
int in_fd, out_fd;
|
||||
unsigned long rd_blocks, devblocks;
|
||||
int nblocks, i, disk;
|
||||
int nblocks, i;
|
||||
char *buf = NULL;
|
||||
unsigned short rotate = 0;
|
||||
decompress_fn decompressor = NULL;
|
||||
|
@ -243,21 +241,15 @@ int __init rd_load_image(char *from)
|
|||
|
||||
printk(KERN_NOTICE "RAMDISK: Loading %dKiB [%ld disk%s] into ram disk... ",
|
||||
nblocks, ((nblocks-1)/devblocks)+1, nblocks>devblocks ? "s" : "");
|
||||
for (i = 0, disk = 1; i < nblocks; i++) {
|
||||
for (i = 0; i < nblocks; i++) {
|
||||
if (i && (i % devblocks == 0)) {
|
||||
pr_cont("done disk #%d.\n", disk++);
|
||||
pr_cont("done disk #1.\n");
|
||||
rotate = 0;
|
||||
if (ksys_close(in_fd)) {
|
||||
printk("Error closing the disk.\n");
|
||||
goto noclose_input;
|
||||
}
|
||||
change_floppy("disk #%d", disk);
|
||||
in_fd = ksys_open(from, O_RDONLY, 0);
|
||||
if (in_fd < 0) {
|
||||
printk("Error opening disk.\n");
|
||||
goto noclose_input;
|
||||
}
|
||||
printk("Loading disk #%d... ", disk);
|
||||
break;
|
||||
}
|
||||
ksys_read(in_fd, buf, BLOCK_SIZE);
|
||||
ksys_write(out_fd, buf, BLOCK_SIZE);
|
||||
|
@ -284,8 +276,6 @@ int __init rd_load_image(char *from)
|
|||
|
||||
int __init rd_load_disk(int n)
|
||||
{
|
||||
if (rd_prompt)
|
||||
change_floppy("root floppy disk to be loaded into RAM disk");
|
||||
create_dev("/dev/root", ROOT_DEV);
|
||||
create_dev("/dev/ram", MKDEV(RAMDISK_MAJOR, n));
|
||||
return rd_load_image("/dev/root");
|
||||
|
|
Loading…
Reference in New Issue
Block a user