mirror of
https://github.com/ventoy/Ventoy.git
synced 2025-06-04 00:48:48 -04:00
Support openwrt IMG file
This commit is contained in:
parent
1ce568d971
commit
6bd0463d34
6 changed files with 197 additions and 19 deletions
|
@ -361,7 +361,13 @@ function ventoy_get_truenas_ver {
|
|||
}
|
||||
|
||||
function ventoy_get_midnightbsd_ver {
|
||||
set vt_freebsd_ver=11.x
|
||||
if vt_str_begin "$vt_volume_id" "1_"; then
|
||||
set vt_freebsd_ver=11.x
|
||||
elif vt_str_begin "$vt_volume_id" "2_"; then
|
||||
set vt_freebsd_ver=2.x
|
||||
elif vt_str_begin "$vt_volume_id" "3_"; then
|
||||
set vt_freebsd_ver=3.x
|
||||
fi
|
||||
}
|
||||
|
||||
function ventoy_freebsd_proc {
|
||||
|
@ -419,6 +425,11 @@ function ventoy_freebsd_proc {
|
|||
set vt_freebsd_ver=9.x
|
||||
fi
|
||||
|
||||
|
||||
if [ -e (loop)/usr/freebsd-dist/cloninst.sh ]; then
|
||||
set vtFreeBsdDistro=ClonOS
|
||||
fi
|
||||
|
||||
set vt_freebsd_bit=64
|
||||
for file in "/boot/kernel/kernel" "/boot/kernel/kernel.gz"; do
|
||||
if [ -e (loop)/$file ]; then
|
||||
|
@ -440,7 +451,7 @@ function ventoy_freebsd_proc {
|
|||
fi
|
||||
|
||||
if [ -n "${vtdebug_flag}" ]; then
|
||||
echo "This is FreeBSD $vt_freebsd_ver ${vt_freebsd_bit}bit"
|
||||
echo "This is $vtFreeBsdDistro $vt_freebsd_ver ${vt_freebsd_bit}bit"
|
||||
fi
|
||||
|
||||
unset vt_unix_mod_path
|
||||
|
@ -451,10 +462,6 @@ function ventoy_freebsd_proc {
|
|||
fi
|
||||
done
|
||||
|
||||
if [ -e (loop)/usr/freebsd-dist/cloninst.sh ]; then
|
||||
set vtFreeBsdDistro=ClonOS
|
||||
fi
|
||||
|
||||
vt_unix_replace_ko $vt_unix_mod_path (vtunix)/ventoy_unix/$vtFreeBsdDistro/geom_ventoy_ko/$vt_freebsd_ver/$vt_freebsd_bit/geom_ventoy.ko.xz
|
||||
vt_unix_replace_conf FreeBSD "${1}${chosen_path}"
|
||||
}
|
||||
|
@ -1520,6 +1527,51 @@ function ventoy_img_batocera {
|
|||
vt_unset_boot_opt
|
||||
}
|
||||
|
||||
function ventoy_img_openwrt {
|
||||
if [ -e (vtimghd,2)/lib64 ]; then
|
||||
set ventoy_busybox_ver=64
|
||||
fi
|
||||
|
||||
if [ ! -f ${vtoy_iso_part}/ventoy/ventoy_openwrt.xz ]; then
|
||||
ventoy_gui_console
|
||||
echo -e "\n ventoy_openwrt.xz not found. Please refer https://www.ventoy.net/en/doc_openwrt.html.\n"
|
||||
echo -e " 未找到 ventoy_openwrt.xz 文件。请参考 https://www.ventoy.net/cn/doc_openwrt.html\n"
|
||||
echo -e "\n press ENTER to exit (请按 回车 键返回) ..."
|
||||
read vtInputKey
|
||||
ventoy_cli_console
|
||||
return
|
||||
fi
|
||||
|
||||
if vt_img_check_range "${vtoy_iso_part}${vt_chosen_path}"; then
|
||||
ventoy_debug_pause
|
||||
else
|
||||
ventoy_gui_console
|
||||
echo -e "\n IMG file need processed. Please refer https://www.ventoy.net/en/doc_openwrt.html.\n"
|
||||
echo -e " 此 IMG 文件必须处理之后才能支持。请参考 https://www.ventoy.net/cn/doc_openwrt.html\n"
|
||||
echo -e "\n press ENTER to exit (请按 回车 键返回) ..."
|
||||
read vtInputKey
|
||||
ventoy_cli_console
|
||||
return
|
||||
fi
|
||||
|
||||
|
||||
vt_load_cpio $vtoy_path "${vt_chosen_path}" ${vtoy_iso_part} "busybox=$ventoy_busybox_ver"
|
||||
vt_trailer_cpio ${vtoy_iso_part} "${vt_chosen_path}" noinit
|
||||
|
||||
vt_img_extra_initrd_append ${vtoy_iso_part}/ventoy/ventoy_openwrt.xz
|
||||
|
||||
|
||||
#boot image file
|
||||
vt_set_boot_opt rdinit=/vtoy/vtoy ventoyos=openwrt
|
||||
vt_img_hook_root
|
||||
|
||||
set root=(vtimghd,1)
|
||||
configfile (vtimghd,1)/boot/grub/grub.cfg
|
||||
|
||||
vt_img_unhook_root
|
||||
vt_unset_boot_opt
|
||||
}
|
||||
|
||||
function ventoy_img_tails {
|
||||
vt_load_cpio $vtoy_path "${vt_chosen_path}" ${vtoy_iso_part} "busybox=$ventoy_busybox_ver"
|
||||
vt_trailer_cpio ${vtoy_iso_part} "${vt_chosen_path}" noinit
|
||||
|
@ -1580,8 +1632,9 @@ function img_common_menuentry {
|
|||
|
||||
vt_img_extra_initrd_reset
|
||||
|
||||
|
||||
vt_get_fs_label (vtimghd,1) vtImgHd1Label
|
||||
if [ -d (vtimghd,2)/lib ]; then
|
||||
if [ -d (vtimghd,2)/lib ]; then
|
||||
vt_get_fs_label (vtimghd,2) vtImgHd2Label
|
||||
fi
|
||||
|
||||
|
@ -1589,6 +1642,7 @@ function img_common_menuentry {
|
|||
vt_1st_line (vtimghd,1)/etc/hostname vtImgHostname
|
||||
fi
|
||||
|
||||
|
||||
if [ -e (vtimghd,1)/easy.sfs ]; then
|
||||
ventoy_img_easyos
|
||||
elif [ -e (vtimghd,1)/volumio.initrd ]; then
|
||||
|
@ -1609,6 +1663,8 @@ function img_common_menuentry {
|
|||
ventoy_img_recalbox
|
||||
elif [ -f (vtimghd,2)/loader/entries/ubos.conf ]; then
|
||||
ventoy_img_ubos
|
||||
elif [ -f (vtimghd,2)/etc/openwrt_version ]; then
|
||||
ventoy_img_openwrt
|
||||
elif [ -f (vtimghd,1)/efi/boot/mt86.png ]; then
|
||||
if [ "$grub_platform" = "pc" ]; then
|
||||
img_unsupport_tip
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue