Cross-compilation is the process of compiling code for one architecture (often called the target) on a different system, usually called the host. Cross-compilation of the SCST kernel modules is possible as follows: 1. Download the Linux kernel source code and also the SCST source code. 2. Install the appropriate cross-compiler, e.g. as follows: zypper install cross-arm-gcc9 3. Store the cross-compilation prefix and architecture names in the CROSS_COMPILE and ARCH environment variables, e.g. as follows: export CROSS_COMPILE=/usr/bin/arm-suse-linux-gnueabi- export ARCH=arm 4. Build the Linux kernel. cd $HOME/software/linux-kernel make 5. Cross-compile the SCST core modules with the same toolchain. For example: export KDIR=$HOME/software/linux-kernel export PASS_CC_TO_MAKE=1 export CC=${CROSS_COMPILE}gcc cd scst.git make scst `ARCH` and `CROSS_COMPILE` configure the kernel build. They do not configure the user-space build: programs under usr/ use `CC` directly and scstadmin uses Perl MakeMaker. Cross-compiling the entire repository or building packages therefore also requires a target-aware user-space toolchain and packaging environment. `make rpm` by itself is not a generic cross-compilation method.