mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-06-23 05:58:04 +00:00
qemu: add initrd support
Append initrd image to qemu arguments if configured. Signed-off-by: Peng Tao <bergwolf@gmail.com>
This commit is contained in:
parent
e87160f8ea
commit
0c0ec8f3c9
@ -1117,6 +1117,9 @@ type Kernel struct {
|
|||||||
// Path is the guest kernel path on the host filesystem.
|
// Path is the guest kernel path on the host filesystem.
|
||||||
Path string
|
Path string
|
||||||
|
|
||||||
|
// InitrdPath is the guest initrd path on the host filesystem.
|
||||||
|
InitrdPath string
|
||||||
|
|
||||||
// Params is the kernel parameters string.
|
// Params is the kernel parameters string.
|
||||||
Params string
|
Params string
|
||||||
}
|
}
|
||||||
@ -1395,6 +1398,11 @@ func (config *Config) appendKernel() {
|
|||||||
config.qemuParams = append(config.qemuParams, "-kernel")
|
config.qemuParams = append(config.qemuParams, "-kernel")
|
||||||
config.qemuParams = append(config.qemuParams, config.Kernel.Path)
|
config.qemuParams = append(config.qemuParams, config.Kernel.Path)
|
||||||
|
|
||||||
|
if config.Kernel.InitrdPath != "" {
|
||||||
|
config.qemuParams = append(config.qemuParams, "-initrd")
|
||||||
|
config.qemuParams = append(config.qemuParams, config.Kernel.InitrdPath)
|
||||||
|
}
|
||||||
|
|
||||||
if config.Kernel.Params != "" {
|
if config.Kernel.Params != "" {
|
||||||
config.qemuParams = append(config.qemuParams, "-append")
|
config.qemuParams = append(config.qemuParams, "-append")
|
||||||
config.qemuParams = append(config.qemuParams, config.Kernel.Params)
|
config.qemuParams = append(config.qemuParams, config.Kernel.Params)
|
||||||
|
@ -395,12 +395,13 @@ func TestAppendKnobsAllFalse(t *testing.T) {
|
|||||||
testAppend(knobs, knobsString, t)
|
testAppend(knobs, knobsString, t)
|
||||||
}
|
}
|
||||||
|
|
||||||
var kernelString = "-kernel /opt/vmlinux.container -append root=/dev/pmem0p1 rootflags=dax,data=ordered,errors=remount-ro rw rootfstype=ext4 tsc=reliable"
|
var kernelString = "-kernel /opt/vmlinux.container -initrd /opt/initrd.container -append root=/dev/pmem0p1 rootflags=dax,data=ordered,errors=remount-ro rw rootfstype=ext4 tsc=reliable"
|
||||||
|
|
||||||
func TestAppendKernel(t *testing.T) {
|
func TestAppendKernel(t *testing.T) {
|
||||||
kernel := Kernel{
|
kernel := Kernel{
|
||||||
Path: "/opt/vmlinux.container",
|
Path: "/opt/vmlinux.container",
|
||||||
Params: "root=/dev/pmem0p1 rootflags=dax,data=ordered,errors=remount-ro rw rootfstype=ext4 tsc=reliable",
|
InitrdPath: "/opt/initrd.container",
|
||||||
|
Params: "root=/dev/pmem0p1 rootflags=dax,data=ordered,errors=remount-ro rw rootfstype=ext4 tsc=reliable",
|
||||||
}
|
}
|
||||||
|
|
||||||
testAppend(kernel, kernelString, t)
|
testAppend(kernel, kernelString, t)
|
||||||
|
Loading…
Reference in New Issue
Block a user