mirror of
https://github.com/linka-cloud/d2vm.git
synced 2025-07-04 02:22:27 +00:00
add grub-efi support
* tests: increase timeout * ci: split e2e tests Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
This commit is contained in:
@ -57,6 +57,18 @@ func validateFlags() error {
|
||||
logrus.Warnf("boot filesystem is set: enabling split boot")
|
||||
splitBoot = true
|
||||
}
|
||||
efi := bootloader == "grub-efi" || bootloader == "grub"
|
||||
if efi && !splitBoot {
|
||||
logrus.Warnf("grub-efi bootloader is set: enabling split boot")
|
||||
splitBoot = true
|
||||
}
|
||||
if efi && bootFS != "" && bootFS != "fat32" {
|
||||
return fmt.Errorf("grub-efi bootloader only supports fat32 boot filesystem")
|
||||
}
|
||||
if efi && bootFS == "" {
|
||||
logrus.Warnf("grub-efi bootloader is set: enabling fat32 boot filesystem")
|
||||
bootFS = "fat32"
|
||||
}
|
||||
if push && tag == "" {
|
||||
return fmt.Errorf("tag is required when pushing container disk image")
|
||||
}
|
||||
@ -82,7 +94,7 @@ func buildFlags() *pflag.FlagSet {
|
||||
flags.BoolVar(&splitBoot, "split-boot", false, "Split the boot partition from the root partition")
|
||||
flags.Uint64Var(&bootSize, "boot-size", 100, "Size of the boot partition in MB")
|
||||
flags.StringVar(&bootFS, "boot-fs", "", "Filesystem to use for the boot partition, ext4 or fat32")
|
||||
flags.StringVar(&bootloader, "bootloader", "syslinux", "Bootloader to use: syslinux, grub")
|
||||
flags.StringVar(&bootloader, "bootloader", "syslinux", "Bootloader to use: syslinux, grub, grub-bios, grub-efi")
|
||||
flags.StringVar(&luksPassword, "luks-password", "", "Password to use for the LUKS encrypted root partition. If not set, the root partition will not be encrypted")
|
||||
flags.BoolVar(&keepCache, "keep-cache", false, "Keep the images after the build")
|
||||
return flags
|
||||
|
@ -28,6 +28,7 @@ var (
|
||||
arch string
|
||||
cpus uint
|
||||
mem uint
|
||||
bios string
|
||||
qemuCmd string
|
||||
qemuDetached bool
|
||||
networking string
|
||||
@ -71,6 +72,8 @@ func init() {
|
||||
flags.UintVar(&cpus, "cpus", 1, "Number of CPUs")
|
||||
flags.UintVar(&mem, "mem", 1024, "Amount of memory in MB")
|
||||
|
||||
flags.StringVar(&bios, "bios", "", "Path to the optional bios binary")
|
||||
|
||||
// Backend configuration
|
||||
flags.StringVar(&qemuCmd, "qemu", "", "Path to the qemu binary (otherwise look in $PATH)")
|
||||
flags.BoolVar(&qemuDetached, "detached", false, "Set qemu container to run in the background")
|
||||
@ -105,6 +108,7 @@ func Qemu(cmd *cobra.Command, args []string) {
|
||||
qemu.WithStdin(os.Stdin),
|
||||
qemu.WithStdout(os.Stdout),
|
||||
qemu.WithStderr(os.Stderr),
|
||||
qemu.WithBios(bios),
|
||||
}
|
||||
if enableGUI {
|
||||
opts = append(opts, qemu.WithGUI())
|
||||
|
Reference in New Issue
Block a user