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

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/
insmod /lib/modules/$(uname -r)/misc/clevo-xsm-wmi.ko

6. references