diff options
Diffstat (limited to 'server')
| -rw-r--r-- | server/build_core.old | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/server/build_core.old b/server/build_core.old new file mode 100644 index 00000000..e761eb2e --- /dev/null +++ b/server/build_core.old @@ -0,0 +1,64 @@ +#!/bin/bash +# Copyright (c) 2012 - OpenSLX GmbH +# +# This program is free software distributed under the GPL version 2. +# See http://openslx.org/COPYING +# +# If you have any feedback please consult http://openslx.org/feedback and +# send your feedback to feedback@openslx.org +# +# General information about OpenSLX can be found at http://openslx.org +# +# Server side script to generate stage3.1,2 initial ramfses for OpenSLX Linux +# stateless clients +############################################################################# + +# first parameter is a hash pointing to the target directory +# /srv/openslx/build + +# in the future the prefix should be set via slxsettings ... +SLXPREFIX=/srv/openslx +IRTARGET=${SLXPREFIX}/build/$1 + +# add openslx distro (in)dependent data to the initramfs target +DISTRONAME=ubuntu +DISTROVER=12.04 + +for content in ${SLXPREFIX}/core/base + ${SLXPREFIX}/core/${DISTRONAME}/base + ${SLXPREFIX}/core/${DISTRONAME}/${DISTROVER} ; do + cp -a $content ${IRTARGET} +done + +# add kernel stuff to the initramfs target +KERNELVER= +mkdir -p ${IRTARGET}/lib/modules +cp -a ${SLXPREFIX}/kernel/${KERNELVER}/modules \ + ${IRTARGET}/lib/modules/${KERNELVER} + +# produce stage3.1 +mkdir -p ${IRTARGET}/stage3.1 + +# create the base directory structure for stage3.1 +mkdir -p ${IRTARGET}/stage3.1/{bin,dev,proc,run,lib,etc,mnt,sys} +cp -a /dev/{console,kmsg,mem,null,tty,tty0,tty1,tty9,urandom,zero} \ + ${IRTARGET}/stage3.1/dev +cp ${IRTARGET}/openslx/bin/busybox ${IRTARGET}/stage3.1/bin + +# link the required busybox applets for stage3.1 +for app in insmod modprobe mount mkdir umount sh switch_root ; do + ln -s /bin/busybox ${IRTARGET}/stage3.1/bin/${app} +done + +# add the static stuff for stage3.1 +cp -a ${SLXPREFIX}/core/stage3.1 ${IRTARGET}/stage3.1 + +# finalize the initramfs target +which mksquashfs 2>&1>/dev/null || { echo "Please install SquashFS utilities" ; exit 1 } + +mksquashfs -ef ${IRTARGET}/stage3.1 ${IRTARGET} \ + ${IRTARGET}/stage3.1/mnt/openslx.sqfs -comp xz -b 1M -no-progress -no-recovery 2>/dev/null + +(cd ${IRTARGET}/stage3.1; find . | cpio --format="newc" --create | gzip -9 > ${IRTARGET}/initramfs) + + |
