Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37561171
en ru br
ALT Linux repos
S:0.4-alt4
5.0: 0.4-alt4
4.1: 0.4-alt3.M41.1

Group :: Development/Other
RPM: mknfsroot

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

mknfsroot-0.4/000075500000000000000000000000001110305462700133745ustar00rootroot00000000000000mknfsroot-0.4/etc/000075500000000000000000000000001110305462700141475ustar00rootroot00000000000000mknfsroot-0.4/etc/profiles/000075500000000000000000000000001110305462700157725ustar00rootroot00000000000000mknfsroot-0.4/etc/profiles/sample/000075500000000000000000000000001110305462700172535ustar00rootroot00000000000000mknfsroot-0.4/etc/profiles/sample/autoinstall.scm000064400000000000000000000006331110305462700223200ustar00rootroot00000000000000;; general setup
(("syslang") action "write" lang "ru_RU")
(("sysfont") language ("ru_RU") action "write")
(( "syskbd") layout "ctrl_shift_toggle" language ("ru_RU") action "write")
(("timezone") action "write" zone "Europe/Moscow" utc #f installer #t)
;; users
(("root") action "write" passwd_1 "123" passwd_2 "123" commit #t)
;; hpc specific
(("hpc-syslog") action "write" mode "scatter" server "@HOSTNAME@")
mknfsroot-0.4/etc/profiles/sample/modules000064400000000000000000000000361110305462700206450ustar00rootroot00000000000000e1000
forcedeth
nfs
af_packet
mknfsroot-0.4/etc/profiles/sample/packages000064400000000000000000000014261110305462700207570ustar00rootroot00000000000000# interactivesystem
###altlinux-release-hpc
apt
glibc-gconv-modules
glibc-locales
glibc-nss
glibc-utils
interactivesystem
kbd
anacron
lilo
setarch
shadow-suite
udev
slocate
lm_sensors
etcnet
vim-console
#syslog-common-hpc
syslog-ng

#kernel modules
kernel-image-hpc
ib-scripts
hpc-settings

# network tools
hostinfo
iptables
iputils
lftp
mailx
netcat
netlist
openssh-clients
rsync
traceroute
vlan-utils

# servers
openssh-server
postfix
bind-utils

# security
openssl

# debug
strace

#cluster tools:client
cleo-agent
openmpi
mvapich
mvapich2
libibverbs
libibverbs-utils
libmthca
libmlx4
opensm
openib-diags
ibutils

#other
acpid
mc

#pxe
syslinux

# installer
alterator-autoinstall
alterator-sysconfig
alterator-tzone
alterator-root
alterator-hpc
openntpd
dhcpcd

#nfs
portmap
nfs-clients
mknfsroot-0.4/etc/profiles/sample/pxelinux.cfg000064400000000000000000000002741110305462700216130ustar00rootroot00000000000000default dl
prompt 1
timeout 5

label dl
kernel alt0/vmlinuz
append initrd=alt0/initrd.img ip=dhcp root=/dev/nfs nfsroot=/var/lib/tftpboot/nfsroot noapic
label harddisk
LOCALBOOT -1
mknfsroot-0.4/etc/template/000075500000000000000000000000001110305462700157625ustar00rootroot00000000000000mknfsroot-0.4/etc/template/Makefile000064400000000000000000000004231110305462700174210ustar00rootroot00000000000000CONFIGDIR=/usr/share/mkimage/

include $(CONFIGDIR)/config.mk

IMAGE_PACKAGES = Metadata/Metadata/packages
COPY_TREE = Metadata/

MKI_PACK_RESULTS = tar:/var/lib/mknfsroot/nfsroot.tar

include $(CONFIGDIR)/targets.mk

all: build-image copy-tree run-image-scripts pack-image
mknfsroot-0.4/etc/template/Metadata/000075500000000000000000000000001110305462700175025ustar00rootroot00000000000000mknfsroot-0.4/etc/template/Metadata/etc/000075500000000000000000000000001110305462700202555ustar00rootroot00000000000000mknfsroot-0.4/etc/template/Metadata/etc/rc.d/000075500000000000000000000000001110305462700211035ustar00rootroot00000000000000mknfsroot-0.4/etc/template/Metadata/etc/rc.d/init.d/000075500000000000000000000000001110305462700222705ustar00rootroot00000000000000mknfsroot-0.4/etc/template/Metadata/etc/rc.d/init.d/nfsroot_hostname000075500000000000000000000003321110305462700256040ustar00rootroot00000000000000#!/bin/sh
. /etc/init.d/functions

ip_list()
{
/sbin/ip addr list scope global |
sed -n 's|^[[:space:]]*inet[[:space:]]\+\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\)/.*|\1|p'
}

resolve -s $(ip_list|head -n1)|head -n1

mknfsroot-0.4/etc/template/Metadata/etc/rc.d/init.d/nfsroot_remount_rw000075500000000000000000000004261110305462700261730ustar00rootroot00000000000000#!/bin/sh
. /etc/init.d/functions

split_dir()
{
local host="$(/etc/init.d/nfsroot_hostname)"
[ -n "$host" ] || return 0
[ -d "$1-$host" ] || cp -a "$1-template" "$1-$host"
ln -snf "$1-$host" "/redir/$1"
}

mount -n -o remount,rw /
mount "/redir"
split_dir /var
mknfsroot-0.4/etc/template/image-scripts.d/000075500000000000000000000000001110305462700207535ustar00rootroot00000000000000mknfsroot-0.4/etc/template/image-scripts.d/01-nfsroot000075500000000000000000000027301110305462700226130ustar00rootroot00000000000000#!/bin/sh -e

initconffile=/etc/sysconfig/init
dir_list=/var
remount_script=/etc/init.d/nfsroot_remount_rw
resolver_script=/etc/init.d/nfsroot_hostname
redirect_dir=/redir
isolinux_dir=/isolinux

#fill and create pxe data
if [ -f /usr/lib/syslinux/pxelinux.0 ];then
kver="$(readlink -ev /boot/vmlinuz)"
kver="${kver#/boot/vmlinuz-}"

mkdir -p "$isolinux_dir/alt0"
cp /boot/vmlinuz "$isolinux_dir/alt0/"
/sbin/mkinitrd -vf "$isolinux_dir/alt0/initrd.img" "$kver" --with="$(grep '^[^#]' /Metadata/modules)"
chmod 644 "$isolinux_dir/alt0/initrd.img"

mkdir -p "$isolinux_dir/pxelinux.cfg"
cp /usr/lib/syslinux/pxelinux.0 "$isolinux_dir"
[ -f /Metadata/pxelinux.cfg ] && mv -f /Metadata/pxelinux.cfg "$isolinux_dir/pxelinux.cfg/default"
fi

#replace mtab with /proc/mounts
ln -sf /proc/mounts /etc/mtab
ln -sf /proc/sys/kernel/hostname /etc/HOSTNAME

#turn on nfs services
chkconfig portmap on ||:
chkconfig nfslock on ||:

#turn off network stop
printf 'rm -f /var/lock/subsys/%s\n' "network" >>/etc/rc.d/rc

#register redirection helper directory
mkdir -p "$redirect_dir"
printf 'tmpfs\t%s\ttmpfs\tnosuid,noexec,nodev,size=1m,mode=755\t0\t0\n' "$redirect_dir" >>/etc/fstab
mv /var /var-template
ln -sf "$redirect_dir/var" /var
ln -sf /var-template $redirect_dir/var

#setup directory splitting between nodes
printf 'REMOUNT_ROOTFS_RW_COMMAND=%s\n' "$remount_script" >> "$initconffile"
printf 'RESOLVE_HOSTNAME_COMMAND=%s\n' "$resolver_script" >> "$initconffile"
mknfsroot-0.4/etc/template/image-scripts.d/02-installer000075500000000000000000000000761110305462700231200ustar00rootroot00000000000000#!/bin/sh -e

alterator-autoinstall /Metadata/autoinstall.scm
mknfsroot-0.4/etc/template/image-scripts.d/04-tunings000075500000000000000000000004341110305462700226120ustar00rootroot00000000000000#!/bin/sh -e

#hpc specific

initconffile=/etc/sysconfig/hpc
redirectdir=/redir
limitsname="90-hpc.conf"
limitsfile="$redirectdir/$limitsname"

mkdir -p "$redirectdir"
ln -sf "$limitsfile" "/etc/security/limits.d/$limitsname"

printf 'LIMITSFILE=%s\n' "$limitsfile" > "$initconffile"
mknfsroot-0.4/etc/template/image-scripts.d/99-cleanup000075500000000000000000000000371110305462700225670ustar00rootroot00000000000000#!/bin/sh -e

rm -rf /Metadata
mknfsroot-0.4/scripts/000075500000000000000000000000001110305462700150635ustar00rootroot00000000000000mknfsroot-0.4/scripts/mknfsroot000075500000000000000000000014471110305462700170410ustar00rootroot00000000000000#!/bin/sh

PROG="${0##*/}"

. shell-error

exit_handler()
{
local rc=$?
trap - EXIT

if [ -d "$TEMPDIR" ];then
make -C "$TEMPDIR" distclean
rm -rf "$TEMPDIR"
fi

rm -rf "$LOCKDIR"
exit $rc
}

usage()
{
printf 'Usage: %s <template-dir>\n' "$PROG"
exit 0
}

[ "$#" -eq 1 ] || usage
[ -d "$1" ] || usage

[ "$UID" -ne 0 ] || exec su -s /bin/sh -l _mknfsroot -c "/usr/sbin/mknfsroot $1"

TMPDIR="/var/lib/mknfsroot"
export TMPDIR

LOCKDIR="$HOME/mknfsroot.lock"
mkdir "$LOCKDIR" || fatal "already run"

trap exit_handler HUP INT QUIT TERM EXIT

TEMPDIR="$(mktemp -d -t mknfsroot.XXXXXX)"

mkdir -p -- "$TEMPDIR/Metadata/Metadata"

#join profile with metadata
cp -a /etc/mknfsroot/template/* $TEMPDIR
cp -a $1/* "$TEMPDIR/Metadata/Metadata"

#run profile
make -C "$TEMPDIR" all
mknfsroot-0.4/scripts/removenfsroot000075500000000000000000000004511110305462700177210ustar00rootroot00000000000000#!/bin/sh

PROG="${0##*/}"

. shell-error

usage()
{
printf 'Usage: %s <tftp dir>\n' "$PROG"
exit 0
}

[ "$#" -eq 1 ] || usage

tftpdir="${1%/}";shift
destdir="$tftpdir/nfsroot/"

sed -r "\,^$destdir[[:space:]], d" -i /etc/exports
service nfs restart
rm -rf "$tftpdir"/*

killall in.tftpd
mknfsroot-0.4/scripts/setupnfsroot000075500000000000000000000015361110305462700175710ustar00rootroot00000000000000#!/bin/sh

PROG="${0##*/}"

. shell-error

usage()
{
printf 'Usage: %s <tarball> <tftp dir>\n' "$PROG"
exit 0
}

[ "$#" -eq 2 ] || usage

tarball="$1";shift
tftpdir="${1%/}";shift
destdir="$tftpdir/nfsroot/"

[ -f "$tarball" ] || fatal "tarball is not a file"
grep -qs "^$destdir[[:space:]]" /etc/exports && fatal "destination directory already exported"
[ "${tftpdir#/var/lib/tftpboot}" != "$tftpdir" ] || fatal "tftp directory not under /var/lib/tftpboot"

#prepare data directory
mkdir -p "$destdir"
cd "$destdir"
tar -xpf "$tarball"
cd - >/dev/null 2>/dev/null
printf "%s *(rw,async,no_root_squash,no_subtree_check)" "$destdir" >>/etc/exports
service nfs restart

#prepare tftp directory
mkdir -p "$tftpdir"
cp -a $destdir/isolinux/* "$tftpdir"
sed -r "s,nfsroot=([^[:space:]]+),nfsroot=$destdir," -i "$tftpdir/pxelinux.cfg/default"
killall in.tftpd
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin