From 96f11252d942e93515c2041240497b6a265e3c78 Mon Sep 17 00:00:00 2001 From: longpanda Date: Mon, 24 Feb 2025 19:16:31 +0800 Subject: [PATCH] support devuan in Legacy BIOS mode. --- IMG/cpio/ventoy/hook/debian/devuan-disk.sh | 43 ++++++++++++++++++++++ IMG/cpio/ventoy/hook/debian/devuan-hook.sh | 21 +++++++++++ IMG/cpio/ventoy/hook/debian/ventoy-hook.sh | 4 ++ INSTALL/grub/grub.cfg | 2 + 4 files changed, 70 insertions(+) create mode 100644 IMG/cpio/ventoy/hook/debian/devuan-disk.sh create mode 100644 IMG/cpio/ventoy/hook/debian/devuan-hook.sh diff --git a/IMG/cpio/ventoy/hook/debian/devuan-disk.sh b/IMG/cpio/ventoy/hook/debian/devuan-disk.sh new file mode 100644 index 00000000..b340bbea --- /dev/null +++ b/IMG/cpio/ventoy/hook/debian/devuan-disk.sh @@ -0,0 +1,43 @@ +#!/ventoy/busybox/sh +#************************************************************************************ +# Copyright (c) 2020, longpanda +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +#************************************************************************************ + +. /ventoy/hook/ventoy-hook-lib.sh + +if is_ventoy_hook_finished; then + exit 0 +fi + +vtlog "####### $0 $* ########" + +VTPATH_OLD=$PATH; PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH + +wait_for_usb_disk_ready + +vtdiskname=$(get_ventoy_disk_name) +if [ "$vtdiskname" = "unknown" ]; then + vtlog "ventoy disk not found" + PATH=$VTPATH_OLD + exit 0 +fi + +ventoy_udev_disk_common_hook "${vtdiskname#/dev/}2" + +PATH=$VTPATH_OLD + +set_ventoy_hook_finish diff --git a/IMG/cpio/ventoy/hook/debian/devuan-hook.sh b/IMG/cpio/ventoy/hook/debian/devuan-hook.sh new file mode 100644 index 00000000..dd975f0d --- /dev/null +++ b/IMG/cpio/ventoy/hook/debian/devuan-hook.sh @@ -0,0 +1,21 @@ +#!/ventoy/busybox/sh +#************************************************************************************ +# Copyright (c) 2020, longpanda +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +#************************************************************************************ + +$SED "/Mount.*cdrom/a\ $BUSYBOX_PATH/sh $VTOY_PATH/hook/debian/devuan-disk.sh" -i /init + diff --git a/IMG/cpio/ventoy/hook/debian/ventoy-hook.sh b/IMG/cpio/ventoy/hook/debian/ventoy-hook.sh index b905d69e..a25ccac1 100644 --- a/IMG/cpio/ventoy/hook/debian/ventoy-hook.sh +++ b/IMG/cpio/ventoy/hook/debian/ventoy-hook.sh @@ -110,6 +110,10 @@ ventoy_get_debian_distro() { echo 'pyabr'; return fi + if [ -e /devuan-logo.txt ]; then + echo 'devuan'; return + fi + echo 'default' } diff --git a/INSTALL/grub/grub.cfg b/INSTALL/grub/grub.cfg index 7b5de01f..e867f8aa 100644 --- a/INSTALL/grub/grub.cfg +++ b/INSTALL/grub/grub.cfg @@ -405,6 +405,8 @@ function distro_specify_initrd_file_phase2 { vt_linux_specify_initrd_file /live/initrd elif [ -f (loop)/initramfs-linux.img ]; then vt_linux_specify_initrd_file /initramfs-linux.img + elif [ -f (loop)/boot/isolinux/initrd.gz ]; then + vt_linux_specify_initrd_file /boot/isolinux/initrd.gz fi }