buildroot:slurm
Table of Contents
slurm
A Highly Scalable Workload Manager
| runtime dependencies | openmpi (Libraries/Networking) |
|---|---|
| make dependencies | libgtk2.0-dev |
| libhdf5-dev | |
| libhwloc-dev | |
| python | |
| librrd-dev |
Pré requis
apt install libgtk2.0-dev libhdf5-dev libhwloc-dev librrd-dev
Recette
mkdir /data/buildroot/package/slurm
cat > /data/buildroot/package/slurm/slurm-llnl.sysusers<< 'EOF'
u slurm 64030 "slurm daemon" - -
EOF
cat > /data/buildroot/package/slurm/slurm-llnl.tmpfiles<< 'EOF'
d /var/spool/slurmctld 0755 slurm slurm -
d /var/spool/slurmd 0755 root root -
Z /var/log/slurm-llnl - slurm slurm - -
EOF
cat > /data/buildroot/package/slurm/Config.in<< 'EOF'
config BR2_PACKAGE_SLURM
bool "slurm"
depends on BR2_PACKAGE_OPENMPI
help
A Highly Scalable Workload Manager
EOF
cat > /data/buildroot/package/slurm/slurm.mk<< 'EOF'
#############################################################
#
# slurm
#https://github.com/SchedMD/slurm/archive/refs/tags/slurm-21-08-6-1.tar.gz
#############################################################
SLURM_VERSION = 21-08-6-1
SLURM_SOURCE = slurm-$(SLURM_VERSION).tar.gz
SLURM_SITE = https://github.com/SchedMD/slurm/archive/refs/tags
SLURM_LTS_DEPENDENCIES = openmpi
define SLURM_BUILD_CMDS
cd $(@D)/ && \
autoreconf -i && \
./configure --disable-developer \
--disable-debug \
--enable-optimizations \
--prefix=/usr \
--sbindir=/usr/bin \
--sysconfdir=/etc/slurm-llnl \
--localstatedir=/var \
--enable-pam \
--with-hdf5 \
--with-hwloc \
--with-rrdtool \
--with-munge && \
make
endef
define SLURM_INSTALL_TARGET_CMDS
cd $(@D)/ && \
make DESTDIR="$(TARGET_DIR)/" install
install -D -m644 $(@D)/etc/slurm.conf.example "${TARGET_DIR}/etc/slurm/slurm.conf.example"
install -D -m644 $(@D)/etc/slurmdbd.conf.example "${TARGET_DIR}/etc/slurm/slurmdbd.conf.example"
install -D -m644 $(@D)/LICENSE.OpenSSL "${TARGET_DIR}/usr/share/licenses/${pkgname}/LICENSE.OpenSSL"
install -D -m644 $(@D)/COPYING "${TARGET_DIR}/usr/share/licenses/${pkgname}/COPYING"
install -d -m755 "${TARGET_DIR}/etc/sysconfig"
echo '#SLURMD_OPTIONS=""' > "${TARGET_DIR}/etc/sysconfig/slurmd"
echo '#SLURMCTLD_OPTIONS=""' > "${TARGET_DIR}/etc/sysconfig/slurmctld"
echo '#SLURMDBD_OPTIONS=""' > "${TARGET_DIR}/etc/sysconfig/slurmdbd"
chmod 644 "${TARGET_DIR}/etc/sysconfig/"{slurmd,slurmctld,slurmdbd}
install -D -m755 $(@D)/etc/init.d.slurm "${TARGET_DIR}/etc/rc.d/slurm"
install -D -m755 $(@D)/etc/init.d.slurmdbd "${TARGET_DIR}/etc/rc.d/slurmdbd"
install -D -m644 $(@D)/etc/slurmctld.service "${TARGET_DIR}/usr/lib/systemd/system/slurmctld.service"
install -D -m644 $(@D)/etc/slurmd.service "${TARGET_DIR}/usr/lib/systemd/system/slurmd.service"
install -D -m644 $(@D)/etc/slurmdbd.service "${TARGET_DIR}/usr/lib/systemd/system/slurmdbd.service"
install -D -m644 /data/buildroot/package/slurm/slurm-llnl.sysusers "${TARGET_DIR}/usr/lib/sysusers.d/slurm.conf"
install -D -m644 /data/buildroot/package/slurm/slurm-llnl.tmpfiles "${TARGET_DIR}/usr/lib/tmpfiles.d/slurm.conf"
install -d -m755 "${TARGET_DIR}/var/log/slurm"
install -d -m755 "${TARGET_DIR}/var/lib/slurm"
endef
$(eval $(generic-package))
EOF
sed -i '/menu "Custom packages"/a source "package/slurm/Config.in"' /data/buildroot/package/Config.in
buildroot/slurm.txt · Last modified: 2025/02/19 10:59 by 127.0.0.1
