mirror of https://github.com/ventoy/Ventoy.git
VTOY_LINUX_REMOUNT support for both 64bit(x86_64) and 32bit(i386) linux distro.
This commit is contained in:
parent
76a6b8061c
commit
e5fa5e6d84
|
@ -68,9 +68,17 @@ static volatile ko_param g_ko_param =
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if defined(CONFIG_X86_64)
|
||||||
|
#define PATCH_OP_POS 3
|
||||||
#define CODE_MATCH(code, i) \
|
#define CODE_MATCH(code, i) \
|
||||||
(code[i] == 0x40 && code[i + 1] == 0x80 && code[i + 2] == 0xce && code[i + 3] == 0x80)
|
(code[i] == 0x40 && code[i + 1] == 0x80 && code[i + 2] == 0xce && code[i + 3] == 0x80)
|
||||||
|
#elif defined(CONFIG_X86_32)
|
||||||
|
#define PATCH_OP_POS 2
|
||||||
|
#define CODE_MATCH(code, i) \
|
||||||
|
(code[i] == 0x80 && code[i + 1] == 0xca && code[i + 2] == 0x80 && code[i + 3] == 0xe8)
|
||||||
|
#else
|
||||||
|
#error "unsupported arch"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define vdebug(fmt, args...) if(kprintf) kprintf(KERN_ERR fmt, ##args)
|
#define vdebug(fmt, args...) if(kprintf) kprintf(KERN_ERR fmt, ##args)
|
||||||
|
|
||||||
|
@ -88,7 +96,7 @@ static int notrace dmpatch_replace_code(unsigned long addr, unsigned long size,
|
||||||
{
|
{
|
||||||
if (CODE_MATCH(opCode, i) && cnt < MAX_PATCH)
|
if (CODE_MATCH(opCode, i) && cnt < MAX_PATCH)
|
||||||
{
|
{
|
||||||
patch[cnt] = opCode + i + 3;
|
patch[cnt] = opCode + i + PATCH_OP_POS;
|
||||||
cnt++;
|
cnt++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
1. install ubuntu 21.10
|
1. install ubuntu 21.10
|
||||||
2. apt-get install build-essential flex ncurse linux-headers-generic linux-source ...... and so on
|
2. apt-get install build-essential flex libncurses-dev linux-headers-generic linux-source libssl-dev ...... and so on
|
||||||
3. cp /lib/modules/5.13.0-23-generic/build/Module.symvers ./
|
3. cp /lib/modules/5.13.0-23-generic/build/Module.symvers ./
|
||||||
4. /boot/config-5.13.0-23-generic as .config make oldconfig
|
4. /boot/config-5.13.0-23-generic as .config make oldconfig
|
||||||
5. make menuconfig
|
5. make menuconfig
|
||||||
|
|
|
@ -256,6 +256,8 @@ ventoy_dm_patch() {
|
||||||
|
|
||||||
if echo $vtMType | $EGREP -i -q "x86.64|amd64"; then
|
if echo $vtMType | $EGREP -i -q "x86.64|amd64"; then
|
||||||
vtKoName=dm_patch_64.ko
|
vtKoName=dm_patch_64.ko
|
||||||
|
elif echo $vtMType | $EGREP -i -q "i[3-6]86"; then
|
||||||
|
vtKoName=dm_patch_32.ko
|
||||||
else
|
else
|
||||||
vtlog "unsupported machine type $vtMType"
|
vtlog "unsupported machine type $vtMType"
|
||||||
return
|
return
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue