Files
monok8s/clitools/pkg/node/uboot/bootenvconfig.go

45 lines
802 B
Go

package uboot
import (
"fmt"
"strings"
)
func (c BootEnvConfig) Validate() error {
switch c.BootSource {
case "usb", "emmc":
default:
return fmt.Errorf("invalid boot source %q", c.BootSource)
}
switch c.BootPart {
case "A", "B":
default:
return fmt.Errorf("invalid boot part %q", c.BootPart)
}
return nil
}
func (c BootEnvConfig) bootCmdOrDefault() string {
if s := strings.TrimSpace(c.BootCmd); s != "" {
return s
}
return compactUBootScript(defaultBootCmdTemplate)
}
func compactUBootScript(s string) string {
lines := strings.Split(s, "\n")
out := make([]string, 0, len(lines))
for _, line := range lines {
line = strings.TrimSpace(line)
if line == "" || strings.HasPrefix(line, "#") {
continue
}
out = append(out, line)
}
return strings.Join(out, " ")
}