summaryrefslogtreecommitdiffstats
path: root/create-installer
blob: 0bd5038c178092cf120575e97a8fe1b74316b290 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/bin/bash
# -----------------------------------------------------------------------------
# Copyright (c) 2011 - 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 suggestions, praise, or complaints to feedback@openslx.org
#
# General information about OpenSLX can be found at http://openslx.org/
# -----------------------------------------------------------------------------
# PreBoot USB stick preparation utility
# -----------------------------------------------------------------------------

ROOT_DIR=$(dirname $(readlink -f $0))

if [ $(whoami) != "root" ]; then
  echo "you should be root"
  exit 1;
fi

OUT_DEV=$1
SYSLINUX=$ROOT_DIR/contrib/syslinux/latest

PBSI=$ROOT_DIR/installer/pbstick-installer

PATH="$PATH:$ROOT_DIR/bin/"

[ ! -f $SYSLINUX/Makefile ] && env.setup-syslinux.sh

rm -rf $ROOT_DIR/installer/tmp
rm -f  $ROOT_DIR/installer/stick-payload.tar.bz2

mkdir -p $ROOT_DIR/installer/tmp/share \
         $ROOT_DIR/installer/tmp/bin \
         $ROOT_DIR/installer/tmp/boot

cp -f $SYSLINUX/mbr/mbr.bin $ROOT_DIR/installer/tmp/share
cp -f $SYSLINUX/linux/syslinux $ROOT_DIR/installer/tmp/bin

[ ! -f $ROOT_DIR/build/kernel-preboot-latest ] && build.kernel.sh
cp -f $ROOT_DIR/build/kernel-preboot-latest $ROOT_DIR/installer/tmp/boot/kernel

build.initramfs.sh
cp -f $ROOT_DIR/build/initramfs-default $ROOT_DIR/installer/tmp/boot/initramfs

cp -f $SYSLINUX/com32/menu/menu.c32 $ROOT_DIR/installer/tmp/boot/
cp -f $SYSLINUX/com32/menu/vesamenu.c32 $ROOT_DIR/installer/tmp/boot/
cp -f $ROOT_DIR/config/extlinux/* $ROOT_DIR/installer/tmp/boot/
mv $ROOT_DIR/installer/tmp/boot/extlinux.conf $ROOT_DIR/installer/tmp/boot/syslinux.cfg

cd $ROOT_DIR/installer/tmp/
tar cjf ../stick-payload.tar.bz2 *
cd $ROOT_DIR

cat $ROOT_DIR/installer/tpl/installer.tpl.sh > $PBSI
echo "PAYLOAD:" >> $PBSI
cat $ROOT_DIR/installer/stick-payload.tar.bz2 | uuencode - >> $PBSI
chmod +rx $PBSI