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 */