github.com/stackdocker/rkt@v0.10.1-0.20151109095037-1aa827478248/stage1/usr_from_kvm/lkvm/patches/quiet-booting.patch (about)

     1  diff --git a/arm/kvm.c b/arm/kvm.c
     2  index d0e4a20..d795c5f 100644
     3  --- a/arm/kvm.c
     4  +++ b/arm/kvm.c
     5  @@ -54,7 +54,7 @@ void kvm__arch_read_term(struct kvm *kvm)
     6   	}
     7   }
     8   
     9  -void kvm__arch_set_cmdline(char *cmdline, bool video)
    10  +void kvm__arch_set_cmdline(char *cmdline, bool video, bool earlyprintk)
    11   {
    12   }
    13   
    14  diff --git a/builtin-run.c b/builtin-run.c
    15  index 1ee75ad..d63fe4c 100644
    16  --- a/builtin-run.c
    17  +++ b/builtin-run.c
    18  @@ -591,7 +591,8 @@ static struct kvm *kvm_cmd_run_init(int argc, const char **argv)
    19                   kvm->cfg.network = DEFAULT_NETWORK;
    20   
    21   	memset(real_cmdline, 0, sizeof(real_cmdline));
    22  -	kvm__arch_set_cmdline(real_cmdline, kvm->cfg.vnc || kvm->cfg.sdl || kvm->cfg.gtk);
    23  +	// rkt: do earlyprintk only when do_debug_print
    24  +	kvm__arch_set_cmdline(real_cmdline, kvm->cfg.vnc || kvm->cfg.sdl || kvm->cfg.gtk, do_debug_print);
    25   
    26   	if (strlen(real_cmdline) > 0)
    27   		strcat(real_cmdline, " ");
    28  @@ -640,10 +641,13 @@ static struct kvm *kvm_cmd_run_init(int argc, const char **argv)
    29   
    30   	kvm->cfg.real_cmdline = real_cmdline;
    31   
    32  -	printf("  # %s run -k %s -m %Lu -c %d --name %s\n", KVM_BINARY_NAME,
    33  -		kvm->cfg.kernel_filename,
    34  -		(unsigned long long)kvm->cfg.ram_size / 1024 / 1024,
    35  -		kvm->cfg.nrcpus, kvm->cfg.guest_name);
    36  +	// rkt: debug print only when asked 
    37  +	if (do_debug_print) {
    38  +		printf("  # %s run -k %s -m %Lu -c %d --name %s\n", KVM_BINARY_NAME,
    39  +			kvm->cfg.kernel_filename,
    40  +			(unsigned long long)kvm->cfg.ram_size / 1024 / 1024,
    41  +			kvm->cfg.nrcpus, kvm->cfg.guest_name);
    42  +	}
    43   
    44   	if (init_list__init(kvm) < 0)
    45   		die ("Initialisation failed");
    46  diff --git a/include/kvm/kvm.h b/include/kvm/kvm.h
    47  index 37155db..70fb099 100644
    48  --- a/include/kvm/kvm.h
    49  +++ b/include/kvm/kvm.h
    50  @@ -100,7 +100,7 @@ int kvm__get_sock_by_instance(const char *name);
    51   int kvm__enumerate_instances(int (*callback)(const char *name, int pid));
    52   void kvm__remove_socket(const char *name);
    53   
    54  -void kvm__arch_set_cmdline(char *cmdline, bool video);
    55  +void kvm__arch_set_cmdline(char *cmdline, bool video, bool earlyprintk);
    56   void kvm__arch_init(struct kvm *kvm, const char *hugetlbfs_path, u64 ram_size);
    57   void kvm__arch_delete_ram(struct kvm *kvm);
    58   int kvm__arch_setup_firmware(struct kvm *kvm);
    59  diff --git a/mips/kvm.c b/mips/kvm.c
    60  index 1925f38..028b0c3 100644
    61  --- a/mips/kvm.c
    62  +++ b/mips/kvm.c
    63  @@ -51,7 +51,7 @@ void kvm__arch_delete_ram(struct kvm *kvm)
    64   	munmap(kvm->ram_start, kvm->ram_size);
    65   }
    66   
    67  -void kvm__arch_set_cmdline(char *cmdline, bool video)
    68  +void kvm__arch_set_cmdline(char *cmdline, bool video, bool earlyprintk)
    69   {
    70   
    71   }
    72  diff --git a/powerpc/kvm.c b/powerpc/kvm.c
    73  index b4c3310..e6c78d8 100644
    74  --- a/powerpc/kvm.c
    75  +++ b/powerpc/kvm.c
    76  @@ -84,7 +84,7 @@ void kvm__init_ram(struct kvm *kvm)
    77   	kvm__register_mem(kvm, phys_start, phys_size, host_mem);
    78   }
    79   
    80  -void kvm__arch_set_cmdline(char *cmdline, bool video)
    81  +void kvm__arch_set_cmdline(char *cmdline, bool video, bool earlyprintk)
    82   {
    83   	/* We don't need anything unusual in here. */
    84   }
    85  diff --git a/x86/kvm.c b/x86/kvm.c
    86  index 512ad67..3cd783d 100644
    87  --- a/x86/kvm.c
    88  +++ b/x86/kvm.c
    89  @@ -118,14 +118,19 @@ void kvm__init_ram(struct kvm *kvm)
    90   }
    91   
    92   /* Arch-specific commandline setup */
    93  -void kvm__arch_set_cmdline(char *cmdline, bool video)
    94  +void kvm__arch_set_cmdline(char *cmdline, bool video, bool earlyprintk)
    95   {
    96   	strcpy(cmdline, "noapic noacpi pci=conf1 reboot=k panic=1 i8042.direct=1 "
    97   				"i8042.dumbkbd=1 i8042.nopnp=1");
    98   	if (video)
    99   		strcat(cmdline, " video=vesafb console=tty0");
   100  -	else
   101  -		strcat(cmdline, " console=ttyS0 earlyprintk=serial i8042.noaux=1");
   102  +	else {
   103  +		// earlyprintk only when asked
   104  +		strcat(cmdline, " console=ttyS0 i8042.noaux=1");
   105  +		if (earlyprintk)
   106  +			strcat(cmdline, " earlyprintk=serial");
   107  +	}
   108  +
   109   }
   110   
   111   /* Architecture-specific KVM init */