Files
scst/README.cross-compilation
T
Gleb Chesnokov 9129391ac3 docs: Refresh build and installation guides
The top-level guides still describe retired source, QLogic, service and
kernel-support workflows. Following them can select the wrong driver,
cross-compile only part of the tree, or misstate module-signing policy.

Commit 7aade0a109 ("Makefile: Make the qla2x00t-32gbit driver
the default QLogic FC driver") made the newer tree the default.
Commit 0d3c9018af ("debian, scstadmin: Add systemd scst.service")
added the installed systemd unit.

Point source users at GitHub and kernel support at
nightly/conf/nightly.conf. Separate kernel and user-space cross builds,
follow the current service recipes, and make module acceptance depend
on the target kernel and platform policy.
2026-08-21 10:05:36 +03:00

33 lines
1.2 KiB
Plaintext

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.