diff --git a/src/vm/VirtualMachine.cc b/src/vm/VirtualMachine.cc index b6db1ce60a..58a9c21abc 100644 --- a/src/vm/VirtualMachine.cc +++ b/src/vm/VirtualMachine.cc @@ -429,11 +429,27 @@ int VirtualMachine::parse_os(string& error_str) } else { - os->replace("KERNEL", "kernel"); + os->remove("KERNEL"); os->replace("KERNEL_DS", result); } } + initrd_ds = os->vector_value("INITRD_DS"); + + if (!initrd_ds.empty()) + { + if ( parse_file_attribute(initrd_ds, result) != 0 ) + { + error_str = result; + return -1; + } + else + { + os->remove("INITRD"); + os->replace("INITRD_DS", result); + } + } + return 0; }