]> glassweightruler.freedombox.rocks Git - Ventoy.git/blob - IMG/cpio/ventoy/loop/batocera/ventoy-disk.sh
Fix the syntax error in F4 localboot
[Ventoy.git] / IMG / cpio / ventoy / loop / batocera / ventoy-disk.sh
1 #!/ventoy/busybox/sh
2 #************************************************************************************
3 # Copyright (c) 2020, longpanda <admin@ventoy.net>
4 #
5 # This program is free software; you can redistribute it and/or
6 # modify it under the terms of the GNU General Public License as
7 # published by the Free Software Foundation; either version 3 of the
8 # License, or (at your option) any later version.
9 #
10 # This program is distributed in the hope that it will be useful, but
11 # WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 # General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, see <http://www.gnu.org/licenses/>.
17 #
18 #************************************************************************************
19
20 . /ventoy/hook/ventoy-hook-lib.sh
21
22 if is_ventoy_hook_finished; then
23 exit 0
24 fi
25
26 vtlog "####### $0 $* ########"
27
28 VTPATH_OLD=$PATH; PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
29
30 wait_for_usb_disk_ready
31
32 vtdiskname=$(get_ventoy_disk_name)
33 if [ "$vtdiskname" = "unknown" ]; then
34 vtlog "ventoy disk not found"
35 PATH=$VTPATH_OLD
36 exit 0
37 fi
38
39 ventoy_udev_disk_common_hook "${vtdiskname#/dev/}2" "noreplace"
40 ventoy_create_dev_ventoy_part
41
42 if ventoy_need_dm_patch; then
43 vtlog "extract a ko file"
44
45 mkdir -p /ventoy/tmpmnt1 /ventoy/tmpmnt2
46 mount /dev/ventoy1 /ventoy/tmpmnt1
47 mount /ventoy/tmpmnt1/boot/batocera /ventoy/tmpmnt2
48 vtKV=$(uname -r)
49
50 mkdir -p /lib/modules/$vtKV/kernel/
51 vtKO=$(find "/ventoy/tmpmnt2/lib/modules/$vtKV/kernel/fs/" -name "*.ko*" | head -n1)
52 cp -a $vtKO /lib/modules/$vtKV/kernel/
53
54 vtlog "vtKV=$vtKV vtKO=$vtKO"
55
56 umount /ventoy/tmpmnt2
57 umount /ventoy/tmpmnt1
58
59 vtPartid=1
60 cat /vtoy_dm_table | while read vtline; do
61 dmsetup remove ventoy$vtPartid
62 vtPartid=$(expr $vtPartid + 1)
63 done
64 dmsetup remove ventoy
65
66 vtlog "Recreate device-mapper"
67 ventoy_udev_disk_common_hook "${vtdiskname#/dev/}2" "noreplace"
68 ventoy_create_dev_ventoy_part
69 fi
70
71
72 PATH=$VTPATH_OLD
73
74 set_ventoy_hook_finish