2
0
mirror of https://github.com/linka-cloud/d2vm.git synced 2026-05-12 10:28:14 +00:00

fix: fix centos / rhel family 8+ grub-bios boot

Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
This commit is contained in:
2026-04-29 16:09:31 +02:00
parent 95633d344e
commit e77827df6c
2 changed files with 23 additions and 4 deletions
+3 -1
View File
@@ -32,6 +32,8 @@ GRUB_TIMEOUT=0
GRUB_CMDLINE_LINUX_DEFAULT="%s"
GRUB_CMDLINE_LINUX=""
GRUB_TERMINAL=console
GRUB_DISABLE_OS_PROBER=true
GRUB_ENABLE_BLSCFG=false
`
type grubCommon struct {
@@ -44,7 +46,7 @@ type grubCommon struct {
func newGrubCommon(c Config, r OSRelease) *grubCommon {
name := "grub"
if r.ID == "centos" {
if r.ID == ReleaseCentOS || r.ID == ReleaseAlmaLinux || r.ID == ReleaseRocky {
name = "grub2"
}
return &grubCommon{
+20 -3
View File
@@ -36,10 +36,27 @@ RUN dracut --no-hostonly --regenerate-all --force
{{ if .Password }}RUN echo "root:{{ .Password }}" | chpasswd {{ end }}
{{- if not .Grub }}
{{- if .Grub }}
RUN set -e; \
for linux in /usr/lib/modules/*/vmlinuz; do \
[ -e "$linux" ] || continue; \
kver="$(basename "$(dirname "$linux")")"; \
cp "/usr/lib/modules/${kver}/vmlinuz" "/boot/vmlinuz-${kver}"; \
done
RUN set -e; \
for linux in /boot/*/*/linux; do \
[ -e "$linux" ] || continue; \
dir="$(dirname "$linux")"; \
kver="$(basename "$dir")"; \
initrd="${dir}/initrd"; \
[ -e "$initrd" ] || continue; \
ln -sf "${linux#/boot/}" "/boot/vmlinuz-${kver}"; \
ln -sf "${initrd#/boot/}" "/boot/initramfs-${kver}.img"; \
done
{{- else }}
RUN cd /boot && \
mv $(find / -name 'vmlinuz*') /boot/vmlinuz && \
mv $(find . -name 'initramfs-*.img' -o -name initrd) /boot/initrd.img
mv $(find / -name 'vmlinuz*') /boot/vmlinuz && \
mv $(find . -name 'initramfs-*.img' -o -name initrd) /boot/initrd.img
{{- end }}
RUN yum clean all && \