Skip to content
Snippets Groups Projects
Commit 7dd5b9bc authored by Martin Suefke's avatar Martin Suefke
Browse files

Reorganized Ubuntu Customization Kit stuff into UbuntuCustomizationKit

Also: split 32/64 bit Ubuntu customization kit in order to have iso_description separate.
Warning: Symlinking files in th customization-scripts-folder will stop UCK from working
parent 55cc4f59
No related branches found
No related tags found
No related merge requests found
Showing
with 259 additions and 0 deletions
#!/bin/bash
function prepare_install()
{
echo "# deb cdrom:[Ubuntu 12.04 LTS _Precise Pangolin_ - Release i386 (20120423)]/ precise main restricted
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://ftp.halifax.rwth-aachen.de/ubuntu/ precise main restricted
deb-src http://ftp.halifax.rwth-aachen.de/ubuntu/ precise main restricted
## Major bug fix updates produced after the final release of the
## distribution.
deb http://ftp.halifax.rwth-aachen.de/ubuntu/ precise-updates main restricted
deb-src http://ftp.halifax.rwth-aachen.de/ubuntu/ precise-updates main restricted
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://ftp.halifax.rwth-aachen.de/ubuntu/ precise universe
deb-src http://ftp.halifax.rwth-aachen.de/ubuntu/ precise universe
deb http://ftp.halifax.rwth-aachen.de/ubuntu/ precise-updates universe
deb-src http://ftp.halifax.rwth-aachen.de/ubuntu/ precise-updates universe
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://ftp.halifax.rwth-aachen.de/ubuntu/ precise multiverse
deb-src http://ftp.halifax.rwth-aachen.de/ubuntu/ precise multiverse
deb http://ftp.halifax.rwth-aachen.de/ubuntu/ precise-updates multiverse
deb-src http://ftp.halifax.rwth-aachen.de/ubuntu/ precise-updates multiverse
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://ftp.halifax.rwth-aachen.de/ubuntu/ precise-security main restricted
deb-src http://ftp.halifax.rwth-aachen.de/ubuntu/ precise-security main restricted
deb http://ftp.halifax.rwth-aachen.de/ubuntu/ precise-security universe
deb-src http://ftp.halifax.rwth-aachen.de/ubuntu/ precise-security universe
deb http://ftp.halifax.rwth-aachen.de/ubuntu/ precise-security multiverse
deb-src http://ftp.halifax.rwth-aachen.de/ubuntu/ precise-security multiverse
## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu precise partner
# deb-src http://archive.canonical.com/ubuntu precise partner
## This software is not part of Ubuntu, but is offered by third-party
## developers who want to ship their latest software.
deb http://extras.ubuntu.com/ubuntu precise main
deb-src http://extras.ubuntu.com/ubuntu precise main
" > /etc/apt/sources.list
echo "# offline repository of the linux install party
deb [ trusted=yes ] file:/cdrom/archives precise lip" > /etc/apt/sources.list.d/lipoffline.list
add-apt-repository -y ppa:texlive-backports/ppa
apt-get update
}
function install_packages()
{
apt-get upgrade --assume-yes --force-yes
apt-get install aptitude -y
# Some daily images do not have a kernel ?!?
aptitude install linux-image-generic-lts-quantal
aptitude full-upgrade -y # make sure we have the newest versions
aptitude install automake cmake aspell-de build-essential ffmpeg htop hunspell lvm2 mencoder screen tofrodos efibootmgr gdisk linux-headers vlc moreutils network-manager-vpnc-gnome vim -y # install general packages
aptitude install --without-recommends mdadm -y # install mdadm without mailserver
aptitude install cm-super context feynmf fragmaster info latex-beamer latex-xcolor latexmk pgf psutils t1utils texinfo texlive-base texlive-bibtex-extra texlive-binaries texlive-common texlive-doc-base texlive-doc-de texlive-doc-en texlive-extra-utils texlive-font-utils texlive-fonts-extra texlive-fonts-extra-doc texlive-fonts-recommended texlive-fonts-recommended-doc texlive-formats-extra texlive-games texlive-generic-extra texlive-humanities texlive-humanities-doc texlive-lang-german texlive-latex-base texlive-latex-base-doc texlive-latex-extra texlive-latex-extra-doc texlive-latex-recommended texlive-latex-recommended-doc texlive-latex3 texlive-luatex texlive-math-extra texlive-metapost texlive-metapost-doc texlive-music texlive-omega texlive-pictures texlive-pictures-doc texlive-plain-extra texlive-pstricks texlive-pstricks-doc texlive-publishers texlive-publishers-doc texlive-science texlive-science-doc texlive-xetex -y # install stripped version of texlive without all kinds of documentation in foreign languages
aptitude install hunspell-de-de language-pack-de language-pack-support-de wngerman wogerman wswiss poppler-data libreoffice-l10n-de libreoffice-help-de hyphen-de mythes-de thunderbird-locale-de firefox-locale-de -y # install german language support
MISSING_LANG_PKG="$(check-language-support -l de_DE)"
MISSING_LANG_PKG="$(check-language-support -l en_US) $MISSING_LANG_PKG" # check for missing packages for de_DE and en_US
if [ -n "$MISSING_LANG_PKG" ]; then
aptitude install $MISSING_LANG_PKG -y
fi
EXTRA_LANG_PKG="$(dpkg-query --show | cut -f1 | grep -E '^(language-pack|language-support|firefox-locale|thunderbird-locale|libreoffice-help|libreoffice-l10n)' | grep -Ev "[-](de|en)\>")" # remove extra language packages
if [ -n "$EXTRA_LANG_PKG" ]; then
aptitude purge $EXTRA_LANG_PKG -y
fi
}
function finalize()
{
echo -n "Europe/Berlin" > /etc/timezone
rm -rf /var/crash/*
}
prepare_install
install_packages
cp /tmp/customization-scripts/no-bootloader-icon/ubiquity-gtkui-no-bootloader.desktop /usr/share/applications/
finalize
#!/bin/bash
###################################################################################
# UCK - Ubuntu Customization Kit #
# Copyright (C) 2006-2010 UCK Team #
# #
# UCK is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# UCK is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with UCK. If not, see <http://www.gnu.org/licenses/>. #
###################################################################################
REMASTER_HOME=$1
REMASTER_DIR="$REMASTER_HOME/remaster-root"
INITRD_REMASTER_DIR="$REMASTER_HOME/remaster-initrd"
echo "Using REMASTER_DIR=$REMASTER_DIR, INITRD_REMASTER_DIR=$INITRD_REMASTER_DIR"
IRD="$INITRD_REMASTER_DIR"
SCRIPT_DIR="`dirname $0`"
function install_nmtelekinese()
{
mkdir -p "$IRD/nm"
cp "$SCRIPT_DIR/nmtelekinese/nmtelekinese.desktop" "$IRD/nm"
cp "$SCRIPT_DIR/nmtelekinese/nmtelekinese.py" "$IRD/nm"
cp "$SCRIPT_DIR/nmtelekinese/ORDER" "$IRD/scripts/casper-bottom/"
cp "$SCRIPT_DIR/nmtelekinese/26mopsmops" "$IRD/scripts/casper-bottom/"
chmod +x "$IRD/scripts/casper-bottom/26mopsmops"
}
function add_no_bootloader_icon()
{
cp "$SCRIPT_DIR/no-bootloader-icon/25adduser" "$IRD/scripts/casper-bottom/"
chmod +x "$IRD/scripts/casper-bottom/25adduser"
}
function initrd_patches()
{
for p in "$SCRIPT_DIR/initrd-patches/"*
do
cat "$p" | patch -d "$IRD" -p1
done
}
install_nmtelekinese
add_no_bootloader_icon
initrd_patches
#!/bin/bash
--- a/scripts/casper.org 2013-04-03 10:09:07.000000000 +0200
+++ b/scripts/casper 2013-04-03 00:51:26.000000000 +0200
@@ -43,6 +43,8 @@
export PERSISTENT_PATH="${x#persistent-path=}" ;;
union=*)
export UNIONFS="${x#union=}";;
+ unionstack=*)
+ export UNIONSTACK="${x#unionstack=}";;
ip=*)
STATICIP=${x#ip=}
if [ "${STATICIP}" = "" ]; then
@@ -407,6 +409,12 @@
for image_type in "ext2" "squashfs" "dir" ; do
for image in "${image_directory}"/*."${image_type}"; do
imagename=$(basename "${image}")
+ if [ -n "$UNIONSTACK" ]; then
+ if [ "$(echo $UNIONSTACK | sed "s/$imagename//";)" == "$UNIONSTACK" ]; then
+ log_warning_msg "Filesystem image $imagename not in UNIONSTACK. Ignored."
+ continue
+ fi
+ fi
if [ -d "${image}" ]; then
# it is a plain directory: do nothing
rofsstring="${image}=${roopt}:${rofsstring}"
--- a/scripts/casper 2013-04-04 19:09:09.349995163 +0200
+++ b/scripts/casper 2013-04-04 16:25:34.000000000 +0200
@@ -450,6 +450,10 @@
fi
mount -t ${cow_fstype} -o ${cow_mountopt} ${cowdevice} /cow || panic "Can not mount $cowdevice on /cow"
+
+ overlay_mount_dir=/overlay
+ mkdir -p "$overlay_mount_dir"
+
case ${UNIONFS} in
unionfs-fuse)
@@ -463,8 +463,10 @@
overlayfs)
# Mount the layers pairwise from the bottom onto rootmnt,
# for the second and later layers rootmnt forms the lower layer.
+
+ #overlay all readonly file systems first
mounts=""
- for mount in /cow $rofslist
+ for mount in $rofslist
do
mounts="$mount $mounts"
done
@@ -476,9 +482,12 @@
continue
fi
mount -t overlayfs -o "upperdir=$mount,lowerdir=$lower" \
- "$mount" "$rootmnt"
- lower="$rootmnt"
+ "$mount" "$overlay_mount_dir"
+ lower="$overlay_mount_dir"
done
+
+ mount -t overlayfs -o "upperdir=/cow,lowerdir=$overlay_mount_dir" \
+ "$mount" "$rootmnt"
;;
esac
@@ -519,15 +528,17 @@
fi
# move the first mount; no head in busybox-initramfs
- for d in $(mount -t squashfs | cut -d\ -f 3); do
- mkdir -p "${rootmnt}/rofs"
- if [ "${UNIONFS}" = unionfs-fuse ]; then
- mount -o bind "${d}" "${rootmnt}/rofs"
- else
- mount -o move "${d}" "${rootmnt}/rofs"
- fi
- break
- done
+ #for d in $(mount -t squashfs | cut -d\ -f 3); do
+ # mkdir -p "${rootmnt}/rofs"
+ # if [ "${UNIONFS}" = unionfs-fuse ]; then
+ # mount -o bind "${d}" "${rootmnt}/rofs"
+ # else
+ # mount -o move "${d}" "${rootmnt}/rofs"
+ # fi
+ # break
+ #done
+ mkdir -p "${rootmnt}/rofs"
+ mount -o move "$overlay_mount_dir" "${rootmnt}/rofs"
}
check_dev ()
LIP SS2013 64bit
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment