1. intro
dmidecode --type system | grep Name
Product Name: N150CU
2. download
wget https://bitbucket.org/tuxedocomputers/clevo-xsm-wmi/get/dcf282992eb8.zip
unzip -q dcf282992eb8.zip
mv tuxedocomputers-clevo-xsm-wmi-dcf282992eb8/ clevo/
3. modify the source
sed -i s~"P870DM"~"N150CU"~ clevo/module/clevo-xsm-wmi.c
4. compile the kernel module
yum -y install kernel-devel gcc
cd clevo/module/; make
make -C /lib/modules/5.8.10-200.fc32.x86_64/build M=/root/clevo/module modules
make[1]: Entering directory '/usr/src/kernels/5.8.10-200.fc32.x86_64'
CC [M] /root/clevo/module/clevo-xsm-wmi.o
MODPOST /root/clevo/module/Module.symvers
CC [M] /root/clevo/module/clevo-xsm-wmi.mod.o
LD [M] /root/clevo/module/clevo-xsm-wmi.ko
make[1]: Leaving directory '/usr/src/kernels/5.8.10-200.fc32.x86_64'
5. sign the kernel module
outfile="/root/cert/MOK.der"
keyfile="/root/cert/MOK.priv"
mkdir -p /root/cert
cd /root/cert/
openssl req -new \
-x509 \
-newkey "rsa:2048" \
-keyout "${keyfile}" \
-outform "DER" \
-out "${outfile}" \
-nodes \
-days "36500" \
-subj "/CN=Clevo/"
chmod 600 ${keyfile}
mokutil --import ${outfile}
export PATH="${PATH}:/usr/src/kernels/$(uname -r)/scripts/"
sign-file sha256 ${keyfile} ${outfile} /root/clevo/module/clevo-xsm-wmi.ko
mkdir -p /lib/modules/$(uname -r)/misc
mv -v /root/clevo/module/clevo-xsm-wmi.ko /lib/modules/$(uname -r)/misc/
reboot
insmod /lib/modules/$(uname -r)/misc/clevo-xsm-wmi.ko