kernelRootParams: define agnostic commonkernelRootParams

Let's define agnostic commonkernelRootParams for all hypervisors,
including qemu, firecracker, etc. for now, it has two scenarios,
one for NVDIMM, one for virtio-blk.

Fixes: #1642

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
This commit is contained in:
Penny Zheng 2019-05-10 10:27:24 +08:00
parent 919615fef7
commit 7e6fcddefa
5 changed files with 22 additions and 14 deletions

View File

@ -54,11 +54,8 @@ const (
fcDiskPoolSize = 8
)
var fcKernelParams = []Param{
var fcKernelParams = append(commonVirtioblkKernelRootParams, []Param{
// The boot source is the first partition of the first block device added
{"root", "/dev/vda1"},
{"rootflags", "data=ordered,errors=remount-ro ro"},
{"rootfstype", "ext4"},
{"pci", "off"},
{"reboot", "k"},
{"panic", "1"},
@ -70,7 +67,7 @@ var fcKernelParams = []Param{
// Firecracker doesn't support ACPI
// Fix kernel error "ACPI BIOS Error (bug)"
{"acpi", "off"},
}
}...)
func (s vmmState) String() string {
switch s {

View File

@ -53,6 +53,20 @@ const (
// In some architectures the maximum number of vCPUs depends on the number of physical cores.
var defaultMaxQemuVCPUs = MaxQemuVCPUs()
// agnostic list of kernel root parameters for NVDIMM
var commonNvdimmKernelRootParams = []Param{ //nolint: unused, deadcode, varcheck
{"root", "/dev/pmem0p1"},
{"rootflags", "dax,data=ordered,errors=remount-ro ro"},
{"rootfstype", "ext4"},
}
// agnostic list of kernel root parameters for virtio-blk
var commonVirtioblkKernelRootParams = []Param{ //nolint: unused, deadcode, varcheck
{"root", "/dev/vda1"},
{"rootflags", "data=ordered,errors=remount-ro ro"},
{"rootfstype", "ext4"},
}
// deviceType describes a virtualized device type.
type deviceType int

View File

@ -35,11 +35,7 @@ var qemuPaths = map[string]string{
QemuQ35: defaultQemuPath,
}
var kernelRootParams = []Param{
{"root", "/dev/pmem0p1"},
{"rootflags", "dax,data=ordered,errors=remount-ro ro"},
{"rootfstype", "ext4"},
}
var kernelRootParams = commonNvdimmKernelRootParams
var kernelParams = []Param{
{"tsc", "reliable"},

View File

@ -43,9 +43,12 @@ var kernelParams = []Param{
{"iommu.passthrough", "0"},
}
// For now, AArch64 doesn't support DAX, so we couldn't use
// commonNvdimmKernelRootParams, the agnostic list of kernel
// root parameters for NVDIMM
var kernelRootParams = []Param{
{"root", "/dev/pmem0p1"},
{"rootflags", "data=ordered,errors=remount-ro rw"},
{"rootflags", "data=ordered,errors=remount-ro ro"},
{"rootfstype", "ext4"},
}

View File

@ -39,9 +39,7 @@ var kernelParams = []Param{
{"console", "ttysclp0"},
}
var kernelRootParams = []Param{
{"root", "/dev/vda1"},
}
var kernelRootParams = commonVirtioblkKernelRootParams
var supportedQemuMachines = []govmmQemu.Machine{
{