====== 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.
*VM mit Ubuntu-Server installieren oder VM mit Ubuntu Live-CD starten
*Folgende Pakete installieren
apt-get install debootstrap
*VM mit ca. 6 GB HDD für Livesystem erstellen.
*Dem Ubuntu-Server VM die Livesystem VHD zusätzlich zuordnen.
===== 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 > /etc/hostname
vi /etc/hosts
Den Inhalt mit diesem Text einfach überschreiben und anpassen:
127.0.0.1 localhost
127.0.1.1
# 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.
#
#
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 up
echo „nameserver “ > /etc/resolv.conf
route add default gw
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 [[https://www.shrew.net/download/ike|hier]] herunter.
Diesen entpackt man dann und wechselt in das Paketverzeichnis.
tar xfz ike--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:
* In den Systemeinstellungen die folgenden Punkte einstellen
* „User Accounts“ die Sprache des Benutzers „linux“ auf „deutsch“ stellen und den automatischen Login aktivieren \\ danach noch folgendes in die ''/etc/lightdm.conf'' (evtl. nicht vorhanden) eintragen. \\ [SeatDefaults]
autologin-user=linux
autologin-user-timeout=0
user-session=ubuntu
greeter-session=unity-greeter
* unter "Darstellung" das Thema auf "Ambiance" stellen und evtl. ein Desktophintergrundbild für Unity einrichten \\ (man kann ein eigenes Bild verwendet werden. Man kopiert es vorher in das Homeverzeichnis des Users „linux“.)
* Folgende Anwendungen in die Unity-Leiste (Starter) verankern:
* Internetverbindung testen
* shrew
* Remmina
===== 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 /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/' //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' //distroshare-ubuntu-imager.sh
sed -i 's/FLAVOUR="Ubuntu"/FLAVOUR=/g' /etc/casper.conf
sed -i '/export FLAVOUR/s/>>/#>>/' //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/>>/#>>/' //distroshare-ubuntu-imager.sh
Sprache in der Live-Umgebung setzen
sed -i '/KERNEL_PARAMS=/s/""/"locale=de_DE bootkbd=de console-setup\/layoutcode=de"/' //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 640x480 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 .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. [[http://wiki.ubuntuusers.de/Remastersys|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 .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
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
Die zweite Partition (ehemals genannt "casper-rw"):
mkfs.ext4 –L writable –O ^has_journal
Evtl. dritte Datenpartition
mkfs.vfat -n Data
==== 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=
Wenn hiernach folgendes ausgegeben wird, kann weitergemacht werden:
„Installation finished. No error reported.“
Bei Fehlern evtl. so probieren:
grub-install --recheck -–root-directory=
Jetzt erfolgt die eigentliche Konfiguration des Bootloaders.
Folgendes wird in die „grub.cfg“ eingefügt.
vi /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 /boot/grub/bg.png
Zusätzlich kopiert man noch fonts und die Module in den gleichen Ordner.
cp /usr/share/grub/*.pf2 /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/
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 -o loop
cp –r /*
==== 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 /*