summaryrefslogtreecommitdiffstats
path: root/make-boot-iso.sh
blob: 4ada7b4ebd42ebf1c6f4615bb82b33ad5fba5f36 (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
61
62
#!/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 ISO image creation utility
# -----------------------------------------------------------------------------

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

SYSLINUX=$ROOT_DIR/contrib/syslinux/latest

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

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

mkdir -p /tmp/openslx-iso/isolinux

[ ! -f $ROOT_DIR/build/kernel-preboot-latest ] && build.kernel.sh
cp -v $ROOT_DIR/build/kernel-preboot-latest /tmp/openslx-iso/isolinux/kernel

#[ ! -f $ROOT_DIR/build/initramfs-default ] && build.initramfs.sh
build.initramfs.sh
cp -v $ROOT_DIR/build/initramfs-default /tmp/openslx-iso/isolinux/initramfs

cp -v $SYSLINUX/com32/menu/menu.c32 /tmp/openslx-iso/isolinux/
cp -v $SYSLINUX/com32/menu/vesamenu.c32 /tmp/openslx-iso/isolinux/

# exchange this for another theme
cp -v ${ROOT_DIR}/config/extlinux/pbs2.png /tmp/openslx-iso/isolinux/
sed -e "s,USB,ISO," $ROOT_DIR/config/extlinux/extlinux.conf \
  > /tmp/openslx-iso/isolinux/isolinux.cfg


# add tools needed for menu setup and ramdisk environment
cp ${SYSLINUX}/core/isolinux.bin ${SYSLINUX}/com32/menu/vesamenu.c32 \
   ${SYSLINUX}/com32/menu/menu.c32 /tmp/openslx-iso/isolinux/

# create an autorun.inf file
echo -en "icon=\boot\openslx.ico,0\r\nlabel=OpenSLX PreBoot Linux\r\n" \
  > /tmp/openslx-iso/autorun.inf
cp COPYING /tmp/openslx-iso/copying.txt

# generate the ISO image
echo "[make-boot-iso]\t\tGenerating the ISO image"
genisoimage -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 \
            -r -J -l -boot-info-table -o ./openslx.iso -hide-list config/hide.conf \
            -abstract /tmp/openslx-iso/isolinux/info.txt -relaxed-filenames \
            -biblio /tmp/openslx-iso/isolinux/info.txt -publisher "OpenSLX GmbH" \
            -p "OpenSLX Project, http://lab.openslx.org, info@openslx.org" \
            -V "OpenSLX PreBoot Linux ISO Image" -input-charset iso8859-1 \
            -volset "PreBoot Linux of the OpenSLX Project" -joliet-long \
            -copyright /tmp/openslx-iso/copying.txt /tmp/openslx-iso/ 2>/dev/null
echo "[make-boot-iso]\t\tOpenSLX PreBoot image created."