@@ -512,12 +512,13 @@ static struct kvm *kvm_cmd_run_init(int argc, const char **argv)
kvm->nr_disks = kvm->cfg.image_count;
- if (!kvm->cfg.kernel_filename)
+ if (!kvm->cfg.kernel_filename && !kvm->cfg.firmware_filename) {
kvm->cfg.kernel_filename = find_kernel();
- if (!kvm->cfg.kernel_filename) {
- kernel_usage_with_options();
- return ERR_PTR(-EINVAL);
+ if (!kvm->cfg.kernel_filename) {
+ kernel_usage_with_options();
+ return ERR_PTR(-EINVAL);
+ }
}
kvm->cfg.vmlinux_filename = find_vmlinux();
@@ -639,10 +640,17 @@ static struct kvm *kvm_cmd_run_init(int argc, const char **argv)
kvm->cfg.real_cmdline = real_cmdline;
- printf(" # %s run -k %s -m %Lu -c %d --name %s\n", KVM_BINARY_NAME,
- kvm->cfg.kernel_filename,
- (unsigned long long)kvm->cfg.ram_size / 1024 / 1024,
- kvm->cfg.nrcpus, kvm->cfg.guest_name);
+ if (kvm->cfg.kernel_filename) {
+ printf(" # %s run -k %s -m %Lu -c %d --name %s\n", KVM_BINARY_NAME,
+ kvm->cfg.kernel_filename,
+ (unsigned long long)kvm->cfg.ram_size / 1024 / 1024,
+ kvm->cfg.nrcpus, kvm->cfg.guest_name);
+ } else if (kvm->cfg.firmware_filename) {
+ printf(" # %s run --firmware %s -m %Lu -c %d --name %s\n", KVM_BINARY_NAME,
+ kvm->cfg.firmware_filename,
+ (unsigned long long)kvm->cfg.ram_size / 1024 / 1024,
+ kvm->cfg.nrcpus, kvm->cfg.guest_name);
+ }
if (init_list__init(kvm) < 0)
die ("Initialisation failed");