Inhaltsverzeichnis

Live-CD erstellen

Hier wird erklärt, am Beispiel von Ubuntu Trusty Thar, wie man ein minimales Live-System auf einem USB-Bootstick oder CD erstellt.

Minimalsystem

Vorbereitungen
Um eine kleine Livesystem CD erstellen zu können, muss auch das Grundsystem, welches dann das Livesystem bildet auch recht klein sein.

apt-get install debootstrap

Installation

Ubuntu-Server VM starten, danach als root:

Prüfen ob die „Livesystem“ Platte eingebunden ist.

ls -l /dev/sdb*

Eine neue Partitionstabelle anlegen.

cfdisk -z /dev/sdb

Die Festplatte folgendermaßen Partitionieren:

	6GB 		primär		type: Linux	(bootfähig)
	512Mb 	        primär		type: Swap

Danach Partitionen neu einlesen, formatieren (als ext4 ohne Journaling) und einbinden.

hdparm -z /dev/sdb
mkfs.ext4 -L root -O ^has_journal /dev/sdb1
mount /dev/sdb1 /mnt

Debootstrap

Minimales Ubuntusystem installieren.

debootstrap --arch amd64 xenial /mnt http://de.archive.ubuntu.com/ubuntu

Chrooten

mount -o bind /dev /mnt/dev
mount -o bind /dev/pts /mnt/dev/pts
mount -t sysfs /sys /mnt/sys
mount -t proc /proc /mnt/proc
chroot /mnt /bin/bash

Hostname

Hostnamen anpassen mit:

echo <HOSTNAME> > /etc/hostname
vi /etc/hosts

Den Inhalt mit diesem Text einfach überschreiben und anpassen:

127.0.0.1	localhost
127.0.1.1	<FQDN> <HOSTNAME>

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Fstab

Fstab anpassen:

vi /etc/fstab

Den Inhalt mit diesem Text einfach überschreiben und anpassen:

# /etc/fstab: static file system information.
#
# <file system>                 <mount point>   <type>  <options>                       <dump>  <pass>
proc                            /proc           proc    defaults                        0       0

# /dev/sda1
LABEL=root                      /               ext4    noatime,errors=remount-ro       0       0

tmpfs                           /tmp            tmpfs   defaults,noatime                0       0
tmpfs                           /var/tmp        tmpfs   defaults,noatime                0       0

Netzwerk

Netzwerk anpassen:

vi /etc/network/interfaces

Zunächst setzen wir keine besonderen Netzwerkeinstellungen. Dies erfolgt dann später mit dem Network-Manager.
Den Inhalt mit diesem Text einfach überschreiben und anpassen:

# Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or
# /usr/share/doc/ifupdown/examples for more information.


# The loopback network interface
auto lo
iface lo inet loopback

Paketquellen

Paketquellen anpassen:

vi /etc/apt/sources.list

Den Inhalt mit diesem Text einfach überschreiben und anpassen:

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.

## Primary distribution source
deb http://de.archive.ubuntu.com/ubuntu/ xenial main universe
deb-src http://de.archive.ubuntu.com/ubuntu/ xenial main universe

## Major bug fix updates produced after the final release of the
## distribution.
deb http://de.archive.ubuntu.com/ubuntu/ xenial-updates main universe
deb-src http://de.archive.ubuntu.com/ubuntu/ xenial-updates main universe

## Security updates
deb http://security.ubuntu.com/ubuntu xenial-security main universe
deb-src http://security.ubuntu.com/ubuntu xenial-security main universe

Nun weisen wir apt an nur die nötigsten Pakete herunterzuladen und zu installieren.

vi /etc/apt/apt.conf.d/00onlydepends

Den Inhalt mit diesem Text einfach überschreiben und anpassen:

APT::Install-Recommends "0";
APT::Install-Suggests "0";

Paketquellen updaten

Zunächst aktualisieren wir unsere Paketdatenbank. Das System noch nicht Upgraden. Das Passiert nach dem 1. Start.

apt-get update

Regionale Einstellungen anpassen

Tastatureinstellungen setzen und untere Beschreibung beachten.

apt-get -y install language-pack-de
localedef -i de_DE -c -f UTF-8 de_DE.UTF-8 
dpkg-reconfigure keyboard-configuration
dpkg-reconfigure console-setup

Hier als Sprache German und beim Zeichensatz Latin1 und Latin5 – westeuropäische…. wählen.
Sonst kann alles bestätigt werden.

Kernel und Bootloader

Kernel und Bootloader werden hier installiert und konfiguriert.

vi /etc/kernel-img.conf

Den Inhalt mit diesem Text einfach überschreiben und anpassen:

# Kernel image management overrides
# See kernel-img.conf(5) for details
do_symlinks = yes
relative_links = yes
do_bootloader = no
do_bootfloppy = no
do_initrd = yes
link_in_boot = no
postinst_hook = update-grub
postrm_hook   = update-grub

Grub

Der Grub Bootmanager installieren wir folgendermaßen:
WICHTIG: DenBootloader auf die richtige Festplatte installieren!!!

apt-get -y install grub-pc

danach

vi /boot/grub/devices.map

Inhalt:

(hd0)   /dev/sdb

Nun Grub auf die richtige Festplatten installieren:

grub-install /dev/sdb
update-grub

Kernel

Nun noch den aktuellen Kernel installieren.

apt-get -y install linux-image-generic

Unbedingt Grub wieder so einstellen, dass er später beim ersten Start, wenn nur mit dieser Platte gebootet wird, dann auch die richtige Festplatte nimmt.

!!!!WICHTIG!!!!

vi /boot/grub/devices.map

Inhalt:

(hd0)   /dev/sda

Root Passwort

Vor dem ersten Start setzt man noch das Password für den Benutzer root.

passwd root

Zeitzone

Die Zeitzone wird mit folgendem Befehl eingerichtet:

dpkg-reconfigure tzdata

Sonstige Pakete

Folgende Pakete sollten vor dem ersten Booten noch installiert werden.

apt-get -y install vim openssh-server

Aushängen

Wenn alles soweit installiert und eingerichtet ist kann das neue System ausgehangen werden:

exit
umount /mnt/proc
umount /mnt/sys
umount /mnt/dev
umount /mnt
init 0

Neues System (VPN-Live-System)

Nun die Livesystem VM booten.
Wenn die VM gebootet hat, sollte das System upgegradet werden.
Dafür muss man der VM den Zugriff auf das Internet ermöglichen

ifconfig eth0 <IP-ADRESSE> up
echo „nameserver <IP-ADRESSE>> /etc/resolv.conf
route add default gw <IP-ADRESSE>
apt-get update
apt-get upgrade
Init 6

Benutzer anlegen

Jetzt legen wir unseren Live-System Benutzer „linux“ an.

useradd -m -s /bin/bash linux
passwd linux
usermod -a -G sudo,dialout,audio,cdrom,plugdev linux

Sonstige Software

Folgende Software muss jetzt noch installiert werden:

apt-get -y install nfs-common samba-common cifs-utils nautilus gvfs gvfs-backends smbclient wget traceroute pciutils usbutils xserver-xorg lightdm lightdm-gtk-greeter light-themes consolekit ubuntu-wallpapers ubuntu-session unity unity-control-center unity-lens-applications indicator-datetime indicator-session indicator-sound indicator-power gnome-terminal gnome-shell gnome-session language-pack-gnome-de gnome-icon-theme

Hiernach einmal das System neustarten und schauen ob die grafische Oberfläche startet.

Bash Vervollständigung

apt-get install bash-completion

Die Konfigurationsdatei von bash_completion liegt unter /etc. Der Ordner /etc/bash_completion.d beinhaltet bereits einige Scripte zur Verfollständigung.
Weitere Scripte besinden sich unter /usr/share/bash-completion/completions.
Man muss allerdings zunächst die bash_completion einschalten. Dies tut man indem, bei folgenden Zeilen, das #-Zeichen entfernt.

#if ! shopt -oq posix; then
#  if [ -f /usr/share/bash-completion/bash_completion ]; then
#    . /usr/share/bash-completion/bash_completion
#  elif [ -f /etc/bash_completion ]; then
#    . /etc/bash_completion
#  fi
#fi

Nach einem erneuten Anmelden bzw. öffnen eines Terminals verfügt man automatisch über neue Vervollständigungsfunktionen.

Network-Manager

Den Networkmanager mit seinem Applet installiert man folgendermaßen:

apt-get -y install network-manager-gnome network-manager-openvpn-gnome gnome-themes-standard notify-osd modemmanager indicator-appmenu indicator-appmenu-tools indicator-messages indicator-application

Damit der Network-Manager richtig mit allen Berechtigungen funktioniert muss noch folgendes gemacht werden.

usermod -a -G netdev linux

Danach die NetworkManager.conf anpassen.

vi /etc/NetworkManager/NetworkManager.conf

Hier diese Zeile bei [ifupdown] anpassen:

managed=true

danach

vi /etc/polkit-1/localauthority/50-local.d/org.freedesktop.NetworkManager.pkla

Inhalt:

[nm-applet]
Identity=unix-group:netdev
Action=org.freedesktop.NetworkManager.*
ResultAny=yes
ResultInactive=no
ResultActive=yes

danach

vi /etc/polkit-1/localauthority/50-local.d/org.freedesktop.Notifications.pkla
[nm-applet]
Identity=unix-group:netdev
Action=org.freedesktop.Notifications.*
ResultAny=yes
ResultInactive=no
ResultActive=yes

Wichtig hierbei ist auch, dass in der Interfaces-Datei keine Anweisungen für „eth0“ vorhanden sind.

vi /etc/network/interfaces

Hier alle Zeilen für das Interface „eth0“ löschen.

Internettest

Wenn man Probleme mit dem Netzwerk hat und keinen Internetbrowser installiert hat, der kann mit dem folgenden Ping-Script prüfen ob eine Internetverbindung besteht.

vi /usr/share/applications/inet-test.desktop

Inhalt:

[Desktop Entry]
Categories=Application
Exec=gnome-terminal -e "/usr/local/bin/inet-test.sh"
GenericName=Internetverbindung testen
Icon=/usr/share/icons/gnome/48x48/status/network-receive.png
Icon[en_US]=/usr/share/icons/gnome/48x48/status/network-receive.png
Name=Internetverbindung testen
Name[en_US]=Internetconnection Test
Comment=testet die Internetverbindung
Comment[en_US]=tests the Internetconnection
Terminal=false
Type=Application
Version=1.0

danach

vi /usr/local/bin/inet-test.sh

Inhalt:

#!/bin/bash
#
# Testen der Internetverbindung durch Pingen einer Internetseite
#
# st 01.09.2011

PINGSITE="www.google.de"
PING=`which ping`
CMD_PING="`${PING} -c 5 ${PINGSITE}`"
IFCONFIG="`which ifconfig`"
ROUTE="`which route`"
AWK="`which awk`"
CAT="`which cat`"
IF_LAN="enp0s*"
IF_WLAN="wlp1s*"

IP_LAN="`${IFCONFIG} ${IF_LAN} |grep "inet addr:"|${AWK} '{ print $2}' |${AWK} -F: '{print $2}'`"
IP_WLAN="`${IFCONFIG} ${IF_WLAN} |grep "inet addr:"|${AWK} '{ print $2}' |${AWK} -F: '{print $2}'`"
IP_GW="`${ROUTE} -n |${AWK} $1 /^0/ |${AWK} '{print $2}'`"
IP_DNS="`${CAT} /etc/resolv.conf|awk '{ print $2 }'`"

RED=`tput setaf 1`
GREEN=`tput setaf 2`
LIGHT=`tput bold`
BLUE=`tput setaf 4`
NC=`tput sgr0`



echo
echo
echo "${BLUE}Teste Internetverbindung...${NC}"
echo
echo
echo
echo
echo

#if [ ! '${CMD_PING}' ]; then
if [[ "$CMD_PING" == *ping* ]] ; then
        echo "${LIGHT}Die Webseite ${PINGSITE} konnte erreicht werden${NC}"
        echo "${GREEN}Sie sind nun mit dem Internet verbunden.${NC}"
else
        echo "${LIGHT}Konnte die Webseite ${PINGSITE} nicht erreichen.${NC}"
        echo "${RED}Prüfen sie bitte ihre Internetverbindung"
        echo
        echo "${LIGHT}-Ist die Kabel- oder WLAN-Verbindung verbunden?"
        echo
        echo "${LIGHT}-Hat Ihre Verbindung eine IP-, Gateway- und DNS-Adresse?"
        echo
        echo "${LIGHT}Folgende Informationen wurden gefunden:${NC}"
        echo
        echo

        if [ ${IP_LAN} ] ; then
                echo -e "\tIhre Kabelverbindung hat folgende IP-Adresse: \t ${LIGHT}${IP_LAN}${NC}"
        else
                echo -e "\tIhre WLAN-Verbundung hat folgende IP-Adresse:\t ${LIGHT}${IP_WLAN}${NC}"
        fi

        echo -e "\tDie IP-Adresse ihres Standardgateways lautet:\t ${LIGHT}${IP_GW}${NC}"
echo -e "\tDie IP-Adresse ihres DNS-Servers lautet:\t ${LIGHT}${IP_DNS}${NC}"
        echo
fi
read -p "Enter oder Return Taste druecken um fortzufahren..."
chmod a+x /usr/local/bin/inet-test.sh

Shrew VPN-Client

Den Shrew VPN-Client kann man einfach mit diesem Befehl installieren.

apt-get -y install ike-qtgui

Möchte man die aktuelleste Version vom Hersteller installieren, geht man nach folgender Anleitung vor.

apt-get install libqt4-dev bison build-essential flex-old libedit-dev cmake libssl-dev

Die aktuelle Version des Clients lädt man sich hier herunter.
Diesen entpackt man dann und wechselt in das Paketverzeichnis.

tar xfz ike-<VERSION>-release.tgz
cd ike

Danach mit cmake das „Makefile“ erstellen (hier mit QT4 GUI).

cmake -DCMAKE_INSTALL_PREFIX=/usr -DQTGUI=YES -DETCDIR=/etc -DNATT=YES

Kompillieren und installieren

make -j2
make install

„iked“ einrichten

ldconfig
cp source/iked/iked.conf.sample /etc/iked.conf
cp script/linux/iked /etc/init.d/
update-rc.d iked defaults

Der aufruf der neuen Version mit der QT4 GUI erfolgt mit

qikea

um es über die Dash-Startleiste öffnen zu können, kopiert man das Icon des Programms und erstellt sich eine „.desktop“ Datei.

cp source/qikea/png/ikea.png /usr/share/icons/hicolor/32x32/apps
vi /usr/share/applications/qikea.desktop

Inhalt:

[Desktop Entry]
Encoding=UTF-8
Name=Shrew IPSEC VPN-Client
Name[de]=Shrew IPSEC QT4 VPN-Client
Comment=Connects IPSEC VPNs
Comment[de]=IPSEC VPN Verbindungen verbinden
GenericName=IPSEC VPN Client
GenericName[de]=IPSEC-VPN-Anwendung
Keywords=vpn;ipsec;ike;qtikea;shrew
Keywords[de]=vpn;ipsec;ike;qtikea;shrew
Exec=qikea
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=/usr/share/icons/hicolor/32x32/apps/ikea.png
Categories=Application;Network;VPN;
StartupNotify=true

RDP und VNC

Das Programm Remmina eignet sich für Verbindungen zu RDP und VNC Servern.
Installiert wird dieses wie folgt:

apt-get -y install remmina remmina-plugin-rdp remmina-plugin-vnc

Remmina öffnen und die Verbindungen einrichten. Die Eingabe einer IP-Adresse reicht bei VNC aus.

Bootsplash

Damit beim booten keine Konsolenausgabe erscheint sondern ein Bootsplash, muss die Anwendung „plymouth“ konfiguriert werden.
Installiert wird diese wie folgt:

apt-get -y install plymouth plymouth-theme-ubuntu-logo plymouth-theme-ubuntu-text

abschließende Profileinstellungen

Als Benutezr „linux“ anmelden und folgende Einstellungen vornehmen:

Live-CD

Vor dem Erstellen einer Live-Umgebung, sollte man einiges aufräumen. Logs und andere unnötige Dateien werden von den nachfolgenden Tools meist selbst schon entfernt.

Paketquellen aufräumen

apt-get autoremove
apt-get clean
apt-get autoclean

Distroshare Imager

Distroshare Imager herunterladen und konfigurieren.

git clone https://github.com/Distroshare/distroshare-ubuntu-imager.git

die Konfiguration kann in der Datei distroshare-ubuntu-imager.config angepasst werden.

Das Image wird dann mittels folgendem Befehl erstellt:

cd <PFAD>/distroshare-ubuntu-imager
./distroshare-ubuntu-imager.sh

Anpassungen

Da wir ein minimal Ubuntu mittels debootstrap installiert haben, sind nicht alle, für das Distroshare Imager Script benötigten, Programme installiert, welche bei
einer vollwertigen Ubuntu Installation immer beiliegen.
Daher lassen wir diese mitinstallieren.
Man fügt einfach in der Datei distroshare-ubuntu-imager.sh die fehlenden Programme hinzu (Bei Version 1.0.15 ist dies in der Zeile 77 zu finden).

apt-get -q=2 install xorriso squashfs-tools dmraid lvm2 samba-common

Hier einfach die Programme rsync, mtools und patch hinzufügen.
Folgender Befehl macht dies:

sed -i '/samba-common/s/$/ rsync mtools patch/' /<PFAD_ZU_DISTROSHARE_WORKDIR>/distroshare-ubuntu-imager.sh

Benutzer Ubuntu durch Benutzer Linux ersetzen:

sed -i 's/USERNAME="ubuntu"/USERNAME="linux"/g' /etc/casper.conf
sed -i 's/ -gt "998"/ -gt "1000"/g' /<PFAD_ZU_DISTROSHARE_WORKDIR>/distroshare-ubuntu-imager.sh
sed -i 's/FLAVOUR="Ubuntu"/FLAVOUR=/g' /etc/casper.conf
sed -i '/export FLAVOUR/s/>>/#>>/' /<PFAD_ZU_DISTROSHARE_WORKDIR>/distroshare-ubuntu-imager.sh

Hostname für das Live-System z.B. auf „vpn-live“ setzen:

sed -i 's/HOST="ubuntu"/HOST="vpn-live"/g' /etc/casper.conf
sed -i 's/FLAVOUR="Ubuntu"/FLAVOUR=/g' /etc/casper.conf
sed -i '/export FLAVOUR/s/>>/#>>/' /<PFAD_ZU_DISTROSHARE_WORKDIR>/distroshare-ubuntu-imager.sh

Sprache in der Live-Umgebung setzen

sed -i '/KERNEL_PARAMS=/s/""/"locale=de_DE bootkbd=de console-setup\/layoutcode=de"/' /<PFAD_ZU_DISTROSHARE_WORKDIR>/distroshare-ubuntu-imager.config

Black lab Imager

Bei http://system-imaging.blogspot.de/ gibt es das Tool „Black Lab Imager“ (ein Fork des Tools „remastersys“) mit dem man von seiner Distribution eine Live-CD erstellen kann.
Für dieses Tool muss man mittlerweile Geld bezahlen. 50 Euro kostet die Software inkl. 1 Jahr Updates und Support.
Bevor man diese CD erstellen kann müssen noch folgendes vorher gemacht werden.

wget http://downloads.sourceforge.net/project/os4online/src/System%20Imager/blacklabimager-source.tar.gz
tar xfz blacklabimager-source.tar.gz

Es gibt noch kein Paket für dieses Tool, daher muss man es manuell wie folgt installieren.

cd BlackLabImager-Source
chmod a+x BlackLabImager blacklabimager-skelcopy dependencies
cp -r blacklabimager blacklabimager.conf /etc/
cp BlackLabImager blacklabimager-skelcopy /opt/
./dependencies

Danach einen Reboot durchführen.

Autologin

Damit sich ein voreingestellter User auf der Live-Distribution automatisch anmelden kann,
muss folgendes gemacht werden:

vi /etc/blacklabimager.conf

Inhalt:

LIVEUSER="linux"

Live-Distribution bauen

Bootmenu

Das Bootmenü hat zusätzliche Optionen die nicht unbedingt gebraucht werden bzw. stören.
Diese können folgender maßen angepasst werden:

vi /etc/blacklabimager/isolinux/isolinux.cfg.vesamenu

Inhalt:

default vesamenu.c32
prompt 0
timeout 100

menu title __LIVECDLABEL__
menu background splash.png
menu color title 1;37;44 #c0ffffff #00000000 std

label live
  menu label live - startet the VPN Live System
  kernel /casper/vmlinuz
  append  file=/cdrom/preseed/custom.seed boot=casper initrd=/casper/initrd.gz quiet splash --

label xforcevesa
  menu label xforcevesa - startet das VPN Live im sicheren Grafikmoduse
  kernel /casper/vmlinuz
  append  file=/cdrom/preseed/custom.seed boot=casper xforcevesa initrd=/casper/initrd.gz quiet splash --

#label install
#  menu label install - start the installer directly
#  kernel /casper/vmlinuz
#  append  file=/cdrom/preseed/custom.seed boot=casper only-ubiquity initrd=/casper/initrd.gz quiet splash --

label memtest
  menu label memtest - startet den Arbeitsspeichertest
  kernel /install/memtest
  append -

label hd
  menu label hd - startet den PC von der ersten Festplatte
  localboot 0x80
  append -

Nun noch ein Bootloadersplashbild im PNG-Format in 640×480 mit 15 Farben konvertieren und in das Verzeichnis „/etc/blacklabimager/isolinux/“ als „splash.png“ kopieren.
Das Konvertieren kann folgendermaßen gemacht werden (imagemagick muss vorher installiert werden):

convert -size 640x480 mkhsplash.png -resize 640x480 -colors 15 mkhsplash.png

ISO erstellen

/opt/Blacklabimager backup <Name>.iso

Das fertige ISO befindet sich dann im Verzeichnis /home/blacklabimager/remasteredsys/

Blacklabimager hat folgende Optionen und Parameter:
(Übernommen von http://wiki.ubuntuusers.de/remastersys)

Optionen
backup     - erstellt ein vollständiges Backup des Systems, inklusive des /home Ordners
dist       - erstellt ein vollständiges Backup des Systems, exklusive des /home Ordners
modify     - ermöglicht, die Konfiguration zu ändern
clean      - löscht den Inhalt des temporären "build" Ordners

Parameter
cdfs       - in Verbindung mit "dist" wird lediglich das Arbeitsverzeichnis (mit Inhalt), jedoch ohne ISO-Datei, angelegt
iso        - Erstellen der (fehlenden) ISO-Datei nach zuvor ausgeführtem cdfs
custom.iso - benennt die ISO-Datei nach eigenem Wunsch. custom kann beliebig ersetzt werden, sollte aber möglichst kurz gehalten werden.

Die Parameter cdfs und iso sind in der Praxis nur von Bedeutung, falls vor der Erstellung der ISO-Datei im Arbeitsverzeichnis noch etwas manuell geändert werden soll.

Remastersys

Bei http://www.geekconnection.org/remastersys gibt es Tools mit denen man von seiner Distribution eine Live-CD erstellen kann. Das Tool wird von seinem Entwickler nicht mehr weiter unterstützt. Lt. Ubuntu-Wiki funktioniert es aber immer noch mit Ubuntu 14.04.

Download

vi /etc/apt/sources.list

Inhalt einfach unten einfügen:

# Remastersys for Lucid and newer
deb http://www.remastersys.com/ubuntu precise main

Jetzt noch den GPG-Key installieren.

wget -q http://www.remastersys.com/ubuntu/remastersys.gpg.key -O- | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/remastersys.gpg  >/dev/null
apt-get update
apt-get install remastersys memtest86+

Autologin

Damit sich ein voreingestellter User auf der Live-Distribution automatisch anmelden kann,
muss folgendes gemacht werden:

vi /etc/remastersys.conf

Inhalt:

LIVEUSER="linux"

Nun noch das löschen der Windowmanager-Konfiguration verhindern.

vi /usr/bin/remastersys

Folgende Zeilen auskommentieren oder löschen:

(rm -rf $WORKDIR/dummysys/etc/gdm/gdm.conf-custom)
(rm -rf $WORKDIR/dummysys/etc/gdm/custom.conf)

Live-Distribution bauen

Zunächst passt man das Bootmenü noch an.
Es hat zusätzliche Optionen die nicht unbedingt gebraucht werden bzw. stören.
Diese können folgender maßen angepasst werden:

vi /etc/remastersys/isolinux/isolinux.cfg.vesamenu

Inhalt:

default vesamenu.c32
prompt 0
timeout 100

menu title __LIVECDLABEL__
menu background splash.png
menu color title 1;37;44 #c0ffffff #00000000 std

label live
  menu label live - startet the VPN Live System
  kernel /casper/vmlinuz
  append  file=/cdrom/preseed/custom.seed boot=casper initrd=/casper/initrd.gz quiet splash --

label xforcevesa
  menu label xforcevesa - startet das VPN Live im sicheren Grafikmoduse
  kernel /casper/vmlinuz
  append  file=/cdrom/preseed/custom.seed boot=casper xforcevesa initrd=/casper/initrd.gz quiet splash --

#label install
#  menu label install - start the installer directly
#  kernel /casper/vmlinuz
#  append  file=/cdrom/preseed/custom.seed boot=casper only-ubiquity initrd=/casper/initrd.gz quiet splash --

label memtest
  menu label memtest - startet den Arbeitsspeichertest
  kernel /install/memtest
  append -

label hd
  menu label hd - startet den PC von der ersten Festplatte
  localboot 0x80
  append -

Jetzt kann man noch ein Bootloadersplashbild im PNG-Format in 640×480 mit 15 Farben konvertieren und in das Verzeichnis /etc/remastersys/isolinux/ als splash.png kopieren.
Das Konvertieren kann folgendermaßen gemacht werden (imagemagick muss vorher installiert werden):

convert -size 640x480 mkhsplash.png -resize 640x480 -colors 15 mkhsplash.png

Jetzt kann man sich das ISO bauen mit der angepassten Live-Umgebung.

remastersys backup <Name>.iso

Remastersys hat folgende Optionen und Parameter:
(Übernommen von http://wiki.ubuntuusers.de/remastersys)

Optionen

backup     - erstellt ein vollständiges Backup des Systems, inklusive des /home Ordners
dist       - erstellt ein vollständiges Backup des Systems, exklusive des /home Ordners
modify     - ermöglicht, die Konfiguration zu ändern
clean      - löscht den Inhalt des temporären "build" Ordners

Parameter
cdfs       - in Verbindung mit "dist" wird lediglich das Arbeitsverzeichnis (mit Inhalt), jedoch ohne ISO-Datei, angelegt
iso        - Erstellen der (fehlenden) ISO-Datei nach zuvor ausgeführtem cdfs
custom.iso - benennt die ISO-Datei nach eigenem Wunsch. custom kann beliebig ersetzt werden, sollte aber möglichst kurz gehalten werden.

Die Parameter cdfs und iso sind in der Praxis nur von Bedeutung, falls vor der Erstellung der ISO-Datei im Arbeitsverzeichnis noch etwas manuell geändert werden soll.

USB-Bootstick erstellen

Das ISO kann ja einfach auf eine CD gebrannt werden.
Damit aber der Bootvorgang schneller läuft und evtl. eingegebene Daten zur Netzwerkkonfiguration abgespeichert werden können, empfiehlt sich hier ein USB-Stick.

Dieser enthält das Live-System und einen Datenbereich der für das Speichern eigener
Einstellungen automatisch eingebunden wird.
Vorbereitung
Der Stick muss vorher Partitioniert und formatiert werden.

Zuvor den Stick aushängen.

umount /media/*

Das Partitionieren erfolgt mit „cfdisk“. Benötigt werden eine 1,4GB bootfähig und eine
2GB Partition (ausgehend von einem 4GB USB-Stick).
Wenn der Stick größer sein sollte, kann auch eine weitere Daten Partition angelegt werden. So kann der Stick auch unter Windows als Datenspeicher genutzt werden. Die Partition muss ein Windows VFAT-Partition sein (Typ: „0C“).

cfdisk –z <Pfad_zu_USB-Device>

Hier die Partitionen erstellen und auf den Stick schreiben.
Formatiert werden beide Partitionen mit „ext4“, allerdings ohne Journaling.

Die erste Partition:

mkfs.ext4 -L usbboot –O ^has_journal <Pfad_zu_ersten_Partition>

Die zweite Partition (ehemals genannt „casper-rw“):

mkfs.ext4 –L writable –O ^has_journal <Pfad_zu_zweiten_Partition>

Evtl. dritte Datenpartition

mkfs.vfat -n Data <Pfad_zu_dritten_Partition>

Grub2 Bootloader

Als Bootloader nehmen wir „Grub2“ da dieser sehr flexibel ist.
Wenn der Bootloader auf dem Vorbereitungsrechner nicht installiert ist, dann kann dies folgendermaßen erfolgen:

apt-get install grub-pc

Nun nimmt man den Stick heraus und steckt ihn danach wieder ein.
Beide Partitionen werden gemountet.
Die Installation von „Grub2“ auf dem Stick erfolgt so

grub-install --root-directory=<Pfad_zu_mountpoint_der_ersten_Partition> <Pfad_zu_USB-Device>

Wenn hiernach folgendes ausgegeben wird, kann weitergemacht werden:

„Installation finished. No error reported.“

Bei Fehlern evtl. so probieren:

grub-install --recheck -–root-directory=<Pfad_zu_mountpoint_der_ersten_Partition> <Pfad_zu_USB-Device>

Jetzt erfolgt die eigentliche Konfiguration des Bootloaders.

Folgendes wird in die „grub.cfg“ eingefügt.

vi <Pfad_zu_Mountpoint_der_ersten_Partition>/boot/grub/grub.cfg

Inhalt:

insmod biosdisk
insmod part_acorn
insmod part_amiga
insmod part_apple
insmod part_gpt
insmod part_msdos
insmod part_sun
insmod ntfs

set default="0"
set timeout="10"

if loadfont /boot/grub/unicode.pf2 ; then
  set gfxmode=640x480
  insmod gfxterm
  insmod vbe
  if terminal_output gfxterm ; then true ; else
    # For backward compatibility with versions of terminal.mod that don't
    # understand terminal_output
    terminal gfxterm
  fi
fi
set locale_dir=/boot/grub/locale
set lang=de

insmod tga
insmod png

if background_image /boot/grub/bg.png ; then
  set color_normal=red/black
  set color_highlight=white/blue
else
  set menu_color_normal=white/black
  set menu_color_highlight=black/light-gray
fi

menuentry "VPN-Live-CD" {
 linux /casper/vmlinuz boot=casper persistent noeject noprompt locale=de_DE bootkbd=de console-setup/layoutcode=de quiet splash --
 initrd /casper/initrd.gz
}

menuentry "von Festplatte starten" {
 set root=(hd0,1)
 chainloader +1
}

Damit Grub auch ein Hintergrundbild laden kann, kopiert man das Bild (png: 640x480x8) nach auf den USB-Stick und benennt es in „bg.png“ um.

cp BILD.PNG <PFAD_ZU_USB-BOOT-MOUNTPOINT>/boot/grub/bg.png

Zusätzlich kopiert man noch fonts und die Module in den gleichen Ordner.

cp /usr/share/grub/*.pf2 <PFAD_ZU_USB-BOOT-MOUNTPOINT>/boot/grub/
cp -r /usr/lib/grub/i386-pc /media/usbboot/boot/grub

UEFI

Um einen reinen UEFI bootfähigen USB-Stick zu erhalten, muss man zuerst den USB-Stick mit einer Partitionstabelle vom Typ GPT partitionieren, und eine FAT32 Partition anlegen.
Wenn der Stick BIOS und UEFI kompatibel sein soll, muss die Partitionstabelle eine MSDOS Tabelle sein.
Danach kann der Bootloader installiert werden.

apt-get install grub-efi-amd64
grub-install --target x86_64-efi --efi-directory=/media/usbboot --removable --boot-directory=/media/usbboot/boot /dev/<USB-Device>

Wenn grub-install „Installation finished. No error reported.“ ausgibt, dann können wir weitermachen.
Wenn man UEFI mit Secure Boot nutzen möchte, dann müssen noch diese Programme nachinstalliert werden.

apt-get install linux-signed-generic  grub-efi-amd64-signed  shim-signed

Nun kann dem Grub-Installationsbefehl noch den Parameter –uefi-secure-boot mitgegeben werden (die Installation des Bootloaders dauert dann etwas länger).
Hierbei wird der Bootloader mit einem, für das UEFI Secure Boot, vertrauenswürdigen Schlüssel signiert.
Weiterhin muss auch der Kernel signiert werden, damit das Betriebsystem bootet.
Weitere Infos befinden sich für ubuntu unter Secure-Boot-nachruesten und EFI_Grundlagen#Secure-Boot.

Damit man nun noch die diversen Module von Grub nutzen kann (loopback, lvm, ext3,…) kopiert man die UEFI-Kompatiblen Module in den Grub-Ordner.

cp -r /usr/lib/grub/x86_64-efi /media/usbboot/boot/grub

Diese Module lassen sich allerdings aktuell noch nicht im Secure Mode laden. Diesen Modus muss man also noch ausschalten.

ISO kopieren

Jetzt müssen nur noch die Daten vom Iso auf den USB-Stick.
Also bindet man diesen ein und kopiert alles in das Wurzelverzeichnis des USB-Sticks

mount –t iso9660 <Pfad_zu_ISO> <Pfad_zu_ISO-Mountpoint> -o loop
cp –r <Pfad_zu_ISO-Mountpoint>/* <Pfad_zu_USB-Stick-Boot-Mountpoint>

USB-Stick entfernen

Zum Schluss den USB-Stick noch sicher entfernen mit

umount /media/*

Hiernach einfach den Stick abklemmen.

Persönliche Daten löschen

Alle Installationen von Programmen und deren Einstellungen, sowie Dokumente, Downloads und sonstiger Inhalt werden nun auf der zweiten Partition des USB-Sticks gespeichert.
Es ist daher von Vorteil diese Partition vielleicht etwas größer zu wählen. ;-)

Um die Einstellungen, die auf dem USB-Stick gespeichert wurden, wieder zu löschen und das Betriebssystem auf dem USB-Stick somit in den „Werkszustand“ zurück zu versetzen, leert man einfach den Inhalt der „writable“ Partition (einfach den USB-Stick in irgendeinem Linux einbinden).

rm -r <Pfad_zu_writable-Mountpoint>/*