====== 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 /*