diff --git a/internal/image/isomod.go b/internal/image/isomod.go index 1af1058..5574eb4 100644 --- a/internal/image/isomod.go +++ b/internal/image/isomod.go @@ -114,6 +114,11 @@ func rewriteGrubConfig(original, answerURL string) string { for _, line := range lines { trimmed := strings.TrimSpace(line) + // Strip comments to reclaim space for added kernel parameters + if strings.HasPrefix(trimmed, "#") { + continue + } + if strings.HasPrefix(trimmed, "set timeout=") { result = append(result, "set timeout=0") continue @@ -143,10 +148,26 @@ func rewriteGrubConfig(original, answerURL string) string { } } + line = strings.TrimRight(line, " \t") result = append(result, line) } - return strings.Join(result, "\n") + // Collapse consecutive blank lines + var collapsed []string + prevBlank := false + for _, line := range result { + if line == "" { + if !prevBlank { + collapsed = append(collapsed, line) + } + prevBlank = true + } else { + collapsed = append(collapsed, line) + prevBlank = false + } + } + + return strings.Join(collapsed, "\n") } // findAllOccurrences searches the entire ISO file for all locations where