Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
dadigang
Ventoy
Commits
b47aa1ab
Commit
b47aa1ab
authored
Mar 09, 2023
by
longpanda
Browse files
Support LibreELEC 11.0+ (#2281)
parent
d8698b21
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
54 additions
and
4 deletions
+54
-4
GRUB2/MOD_SRC/grub-2.04/grub-core/Makefile.core.def
GRUB2/MOD_SRC/grub-2.04/grub-core/Makefile.core.def
+1
-1
GRUB2/MOD_SRC/grub-2.04/grub-core/fs/squash4.c
GRUB2/MOD_SRC/grub-2.04/grub-core/fs/squash4.c
+32
-0
IMG/cpio/ventoy/loop/LibreELEC/ventoy-disk.sh
IMG/cpio/ventoy/loop/LibreELEC/ventoy-disk.sh
+6
-3
INSTALL/grub/grub.cfg
INSTALL/grub/grub.cfg
+15
-0
No files found.
GRUB2/MOD_SRC/grub-2.04/grub-core/Makefile.core.def
View file @
b47aa1ab
...
...
@@ -1533,7 +1533,7 @@ module = {
name
=
squash4
;
common
=
fs/squash4.c
;
cflags
=
'
$(CFLAGS_POSIX)
-Wno-undef'
;
cppflags
=
'-I
$(srcdir)
/lib/posix_wrap -I
$(srcdir)
/lib/xzembed -I
$(srcdir)
/lib/minilzo -DMINILZO_HAVE_CONFIG_H'
;
cppflags
=
'-I
$(srcdir)
/lib/posix_wrap -I
$(srcdir)
/lib/xzembed -I
$(srcdir)
/lib/minilzo
-I
$(srcdir)
/lib/zstd
-DMINILZO_HAVE_CONFIG_H'
;
};
module
=
{
...
...
GRUB2/MOD_SRC/grub-2.04/grub-core/fs/squash4.c
View file @
b47aa1ab
...
...
@@ -27,6 +27,7 @@
#include <grub/fshelp.h>
#include <grub/deflate.h>
#include <minilzo.h>
#include <zstd.h>
#include "xz.h"
#include "xz_stream.h"
...
...
@@ -184,6 +185,7 @@ enum
COMPRESSION_LZO
=
3
,
COMPRESSION_XZ
=
4
,
COMPRESSION_LZ4
=
5
,
COMPRESSION_ZSTD
=
6
,
};
...
...
@@ -398,6 +400,33 @@ static grub_ssize_t lz4_decompress_wrap(char *inbuf, grub_size_t insize, grub_of
return
len
;
}
static
grub_ssize_t
zstd_decompress_wrap
(
char
*
inbuf
,
grub_size_t
insize
,
grub_off_t
off
,
char
*
outbuf
,
grub_size_t
len
,
struct
grub_squash_data
*
data
)
{
char
*
udata
=
NULL
;
int
usize
=
data
->
blksz
;
if
(
off
==
0
)
{
ZSTD_decompress
(
outbuf
,
len
,
inbuf
,
insize
);
}
else
{
if
(
usize
<
8192
)
usize
=
8192
;
udata
=
grub_malloc
(
usize
);
if
(
!
udata
)
return
-
1
;
ZSTD_decompress
(
udata
,
usize
,
inbuf
,
insize
);
grub_memcpy
(
outbuf
,
udata
+
off
,
len
);
grub_free
(
udata
);
}
return
len
;
}
static
struct
grub_squash_data
*
squash_mount
(
grub_disk_t
disk
)
{
...
...
@@ -447,6 +476,9 @@ squash_mount (grub_disk_t disk)
case
grub_cpu_to_le16_compile_time
(
COMPRESSION_LZ4
):
data
->
decompress
=
lz4_decompress_wrap
;
break
;
case
grub_cpu_to_le16_compile_time
(
COMPRESSION_ZSTD
):
data
->
decompress
=
zstd_decompress_wrap
;
break
;
case
grub_cpu_to_le16_compile_time
(
COMPRESSION_XZ
):
data
->
decompress
=
xz_decompress
;
data
->
xzbuf
=
grub_malloc
(
XZBUFSIZ
);
...
...
IMG/cpio/ventoy/loop/LibreELEC/ventoy-disk.sh
View file @
b47aa1ab
...
...
@@ -34,9 +34,12 @@ else
vtBit
=
32
fi
xz
-d
$VTOY_PATH
/vtloopex/dm-mod/
$vtKerVer
/
$vtBit
/dm-mod.ko.xz
insmod
$VTOY_PATH
/vtloopex/dm-mod/
$vtKerVer
/
$vtBit
/dm-mod.ko
if
[
-f
$VTOY_PATH
/vtloopex/dm-mod/
$vtKerVer
/
$vtBit
/dm-mod.ko.xz
]
;
then
xz
-d
$VTOY_PATH
/vtloopex/dm-mod/
$vtKerVer
/
$vtBit
/dm-mod.ko.xz
insmod
$VTOY_PATH
/vtloopex/dm-mod/
$vtKerVer
/
$vtBit
/dm-mod.ko
elif
[
-f
$VTOY_PATH
/modules/dm-mod.ko
]
;
then
insmod
$VTOY_PATH
/modules/dm-mod.ko
fi
wait_for_usb_disk_ready
...
...
INSTALL/grub/grub.cfg
View file @
b47aa1ab
...
...
@@ -1926,6 +1926,20 @@ function ventoy_img_openelec {
loopback vtloopex $vtoy_efi_part/ventoy/vtloopex.cpio
vt_img_extra_initrd_append (vtloopex)/$elec_ver/vtloopex.tar.xz
if [ "$elec_ver" = "LibreELEC" ]; then
if [ -f (vtimghd,1)/system ]; then
loopback elecsfs (vtimghd,1)/system
vt_get_lib_module_ver (elecsfs) /usr/lib/kernel-overlays/base/lib/modules/ vt_module_ver
if [ -n "$vt_module_ver" ]; then
for mod in "kernel/drivers/md/dm-mod.ko"; do
if [ -e (elecsfs)/usr/lib/kernel-overlays/base/lib/modules/$vt_module_ver/$mod ]; then
vt_img_extra_initrd_append (elecsfs)/usr/lib/kernel-overlays/base/lib/modules/$vt_module_ver/$mod
fi
done
fi
fi
fi
ventoy_debug_pause
#boot image file
...
...
@@ -1938,6 +1952,7 @@ function ventoy_img_openelec {
vt_img_unhook_root
vt_unset_boot_opt
loopback -d vtloopex
loopback -d elecsfs
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment