]> glassweightruler.freedombox.rocks Git - Ventoy.git/blobdiff - INSTALL/grub/grub.cfg
support new GhostBSD release
[Ventoy.git] / INSTALL / grub / grub.cfg
index a466f9f350cdd72476c33d72c282e9aef3ba59f2..d5bd4654e06a10c90b32fb191bd9b2e989ad69fc 100644 (file)
@@ -318,13 +318,8 @@ function distro_specify_initrd_file_phase2 {
 }
 
 function ventoy_get_ghostbsd_ver {
-
-    # vt_parse_iso_create_date "$1/${chosen_path}" vt_create_date    
-    # if regexp "^202005" "$vt_create_date"; then
-        # set vt_freebsd_ver=12.x
-    # fi
-    
-    set vt_freebsd_ver=12.x
+    # fallback to parse version from elf /boot/kernel/kernel
+    set vt_freebsd_ver=xx
 }
 
 function ventoy_get_furybsd_ver {
@@ -371,6 +366,7 @@ function ventoy_get_midnightbsd_ver {
 
 function ventoy_freebsd_proc {
     set vtFreeBsdDistro=FreeBSD
+    set vt_freebsd_ver=xx
 
     if vt_strstr "$vt_volume_id" "GHOSTBSD"; then
         ventoy_get_ghostbsd_ver "$1" "${chosen_path}"
@@ -421,8 +417,6 @@ function ventoy_freebsd_proc {
         fi
     elif vt_strstr "${chosen_path}" "MidnightBSD"; then
         set vt_freebsd_ver=9.x
-    else
-        set vt_freebsd_ver=12.x
     fi
     
     set vt_freebsd_bit=64
@@ -433,7 +427,17 @@ function ventoy_freebsd_proc {
             fi
             break
         fi
-    done    
+    done
+
+    if [ "$vt_freebsd_ver" = "xx" ]; then
+        if [ -e (loop)/boot/kernel/kernel ]; then
+            vt_unix_parse_freebsd_ver_elf (loop)/boot/kernel/kernel $vt_freebsd_bit vt_freebsd_ver
+        fi
+        
+        if [ "$vt_freebsd_ver" = "xx" ]; then
+            set vt_freebsd_ver=13.x        
+        fi
+    fi
 
     if [ -n "${vtdebug_flag}" ]; then
         echo "This is FreeBSD $vt_freebsd_ver ${vt_freebsd_bit}bit"