HOWTO:LinuxInstallationsParty: Unterschied zwischen den Versionen
(erste Version fertig) |
Keine Bearbeitungszusammenfassung |
||
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 10: | Zeile 10: | ||
* nfs-server | * nfs-server | ||
=== | === Netwerk === | ||
Die Ethernetschnittstelle des Hauptcomputer heißt in diesem Falle enp9s0 und soll eine feste IP bekommen. | Die Ethernetschnittstelle des Hauptcomputer heißt in diesem Falle <code>enp9s0</code> (die WLANschnitstelle <code>wlp3s0</code>) und soll eine feste IP bekommen. | ||
Der Networkmanager kann dies per GUI tun (LAN-Verbindung einrichten -> IPv4 Settings -> Shared to other computers), oder per Terminal | |||
# ip link set up dev enp9s0 | |||
# ip a add 10.0.0.1/24 dev enp9s0 | |||
# sysctl net.ipv4.ip_forward=1 | |||
# iptables -t nat -A POSTROUTING -o wlp3s0 -j MASQUERADE | |||
# iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT | |||
# iptables -A FORWARD -i enp9s0 -o wlp3s0 -j ACCEPT | |||
Bedenkt, dass der gesamte Traffic nun über euren Rechner geleitet wird. '''Seid dabei verantwortungsvoll'''! Beachtet, dass ihr eventuell eure Firewall noch ausschalten/Freigaben einrichten müsst. [https://wiki.archlinux.org/index.php/Internet_sharing] | |||
=== dnsmasq === | === dnsmasq === | ||
$ cat /etd/dnsmasq.d/lip.conf | $ cat /etd/dnsmasq.d/lip.conf | ||
interface=enp9s0 | |||
bind-interfaces | |||
dhcp-range=10.0.0.50,10.0.0.200,12h | |||
dhcp-boot=/pxelinux.0,0.0.0.0 | |||
enable-tftp | |||
tftp-root=/var/ftpd | |||
pxe-service=X86PC, "Boot from network", pxelinux | |||
=== NFS === | |||
$ cat /etc/exports | |||
/var/ftpd 10.0.0.1/24(ro,no_subtree_check) | |||
# systemctl restart nfs-server.service | |||
=== squid/polipo (optional) === | |||
Optional kann noch ein http cache eingerichtet werden, damit man die Geschwindigkeit beim installieren erhöht, da doch sehr viele gleiche Pakete installiert werden. Polipo ist ein einfacher web-cache-proxy, squid ist die ausgewachsene Variante. [https://wiki.archlinux.org/index.php/Polipo] [https://wiki.archlinux.org/index.php/Squid] Dabei sind die IPtables regeln von oben zu verändern (siehe verlinkte artikel) | |||
=== PXE === | === PXE === | ||
Zeile 36: | Zeile 54: | ||
unter /var/ftpd müssen die syslinuxconfig dateien liegen. | unter /var/ftpd müssen die syslinuxconfig dateien liegen. | ||
$ ls -l /var/ftpd/ | $ ls -l /var/ftpd/ | ||
-rw-r--r-- 1 root root 24604 12. Okt 2014 chain.c32 | |||
drwxrwxrwx 4 root root 4096 13. Okt 19:08 debian/ | -rw-r--r-- 1 root root 24604 12. Okt 2014 chain.c32 | ||
drwxr-xr-x 2 root root 4096 13. Okt 18:58 fedora/ | drwxrwxrwx 4 root root 4096 13. Okt 19:08 debian/ | ||
-rw-r--r-- 1 root root 116636 12. Okt 2014 ldlinux.c32 | drwxr-xr-x 2 root root 4096 13. Okt 18:58 fedora/ | ||
-rw-r--r-- 1 root root 182572 12. Okt 2014 libcom32.c32 | -rw-r--r-- 1 root root 116636 12. Okt 2014 ldlinux.c32 | ||
-rw-r--r-- 1 root root 23492 12. Okt 2014 libutil.c32 | -rw-r--r-- 1 root root 182572 12. Okt 2014 libcom32.c32 | ||
dr-xr-xr-x 9 root root 4096 13. Okt 18:48 mint/ | -rw-r--r-- 1 root root 23492 12. Okt 2014 libutil.c32 | ||
-rw-r--r-- 1 root root 42985 12. Okt 2014 pxelinux.0 | dr-xr-xr-x 9 root root 4096 13. Okt 18:48 mint/ | ||
drwxr-xr-x 2 root root 4096 13. Okt 19:11 pxelinux.cfg/ | -rw-r--r-- 1 root root 42985 12. Okt 2014 pxelinux.0 | ||
-rw-r--r-- 1 root root 1372 12. Okt 2014 reboot.c32 | drwxr-xr-x 2 root root 4096 13. Okt 19:11 pxelinux.cfg/ | ||
-rw-r--r-- 1 root root 26212 12. Okt 2014 vesamenu.c32 | -rw-r--r-- 1 root root 1372 12. Okt 2014 reboot.c32 | ||
-rw-r--r-- 1 root root 26212 12. Okt 2014 vesamenu.c32 | |||
die *.c32 bekommt man aus seiner syslinuxinstallation (einfach per apt/dnf/pacman/... installieren) und dann unter /usr/lib/syslinux/bios/ die dateien kopieren. Mehr werden nicht benötigt, können aber reinpackt werden (schadet nicht). | die *.c32 bekommt man aus seiner syslinuxinstallation (einfach per apt/dnf/pacman/... installieren) und dann unter /usr/lib/syslinux/bios/ die dateien kopieren. Mehr werden nicht benötigt, können aber reinpackt werden (schadet nicht). | ||
$ cat /var/ftpd/pxelinux.cfg/default | $ cat /var/ftpd/pxelinux.cfg/default | ||
default vesamenu.c32 | |||
prompt 0 | |||
timeout 0 | |||
menu hshift 7 | |||
menu width 61 | |||
menu title Linux Installations Party | |||
include pxelinux.cfg/appearance | |||
label - | |||
menu label Bitte waehle deine Distribution aus | |||
menu disable | |||
label Fedora | |||
menu label ^Fedora 22 | |||
kernel fedora/vmlinuz | |||
append initrd=fedora/initrd.img inst.stage2=nfs:nfsvers=4:10.0.0.1:/var/ftpd/fedora <nowiki>inst.repo=http://ftp.tu-chemnitz.de/pub/linux/fedora/linux/releases/22/Workstation/x86_64/os/</nowiki> | |||
label Debian | |||
menu label ^Debian Jessie | |||
kernel debian/vmlinuz | |||
append initrd=debian/initrd.gz vga=788 quiet | |||
label Mint (Debian) | |||
menu label ^LMDE2 (aka Mint) | |||
kernel mint/live/vmlinuz | |||
append initrd=mint/live/initrd.lz config boot=live netboot=nfs nfsroot=10.0.0.1:/var/ftpd/mint/ | |||
Die config kann um weitere Einträge erweitert werden und dient hier nur dem Beispiel. Die Datein werden über nfs geladen, da tftp sehr langsam ist und eine effiziente übertragung nicht möglich ist. | |||
Letzendlich noch ein | |||
# systemctl restart dnsmasq.service | |||
und fertig ist die laube | |||
=== Images === | |||
Die Networkimages bekommt ihr zumeist aus dem so der distribution extrahiert (guckt nach dem oder pxeboot o.ä.). Bei Fedora existiert eine s.g. <code>.treeinfo</code> [http://ftp.tu-chemnitz.de/pub/linux/fedora/linux/releases/22/Workstation/x86_64/os/.treeinfo.signed], in der die benötigten Dateien samt Pfad stehen. Für Debian existiert ein tar archiv [https://www.debian.org/distrib/netinst#netboot], dort im ordner <code>debian-installer/amd64/</code> die <code>linux</code> (kernel) und <code>initrd.gz</code> (initram) entpacken und fertig (genaueres steht in einer config datei im boot-screens ordner (bei mir die txt.cfg)) | |||
Für alle anderen Distros muss man googlen, gerade um die parameter für den kernel rauszufinden etc, aber mit diesen beiden Distros (plus das obige für Debian mint) seid ihr schon gut bedient ;) | |||
=== TODO === | === TODO === | ||
efi32/efi64 bereitstellen (zur zeit ist nur legacy bios möglich) | efi32/efi64 bereitstellen (zur zeit ist nur legacy bios möglich) [https://wiki.ubuntu.com/UEFI/SecureBoot-PXE-IPv6] | ||
[[Kategorie:HOWTO]] | [[Kategorie:HOWTO]] |
Aktuelle Version vom 13. Oktober 2015, 22:37 Uhr
Das folgende Template kann für eine Linuxinstallationsparty benutzt werden.
Hardware[Bearbeiten]
- Switch
- Netzwerkkabel
- Menschen
Software[Bearbeiten]
- dnsmasq
- nfs-server
Netwerk[Bearbeiten]
Die Ethernetschnittstelle des Hauptcomputer heißt in diesem Falle enp9s0
(die WLANschnitstelle wlp3s0
) und soll eine feste IP bekommen.
Der Networkmanager kann dies per GUI tun (LAN-Verbindung einrichten -> IPv4 Settings -> Shared to other computers), oder per Terminal
# ip link set up dev enp9s0 # ip a add 10.0.0.1/24 dev enp9s0 # sysctl net.ipv4.ip_forward=1 # iptables -t nat -A POSTROUTING -o wlp3s0 -j MASQUERADE # iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT # iptables -A FORWARD -i enp9s0 -o wlp3s0 -j ACCEPT
Bedenkt, dass der gesamte Traffic nun über euren Rechner geleitet wird. Seid dabei verantwortungsvoll! Beachtet, dass ihr eventuell eure Firewall noch ausschalten/Freigaben einrichten müsst. [1]
dnsmasq[Bearbeiten]
$ cat /etd/dnsmasq.d/lip.conf interface=enp9s0 bind-interfaces dhcp-range=10.0.0.50,10.0.0.200,12h dhcp-boot=/pxelinux.0,0.0.0.0 enable-tftp tftp-root=/var/ftpd pxe-service=X86PC, "Boot from network", pxelinux
NFS[Bearbeiten]
$ cat /etc/exports /var/ftpd 10.0.0.1/24(ro,no_subtree_check)
# systemctl restart nfs-server.service
squid/polipo (optional)[Bearbeiten]
Optional kann noch ein http cache eingerichtet werden, damit man die Geschwindigkeit beim installieren erhöht, da doch sehr viele gleiche Pakete installiert werden. Polipo ist ein einfacher web-cache-proxy, squid ist die ausgewachsene Variante. [2] [3] Dabei sind die IPtables regeln von oben zu verändern (siehe verlinkte artikel)
PXE[Bearbeiten]
Alle Dateien sind unter Datei:Lip Ftpd.tar.gz
unter /var/ftpd müssen die syslinuxconfig dateien liegen.
$ ls -l /var/ftpd/ -rw-r--r-- 1 root root 24604 12. Okt 2014 chain.c32 drwxrwxrwx 4 root root 4096 13. Okt 19:08 debian/ drwxr-xr-x 2 root root 4096 13. Okt 18:58 fedora/ -rw-r--r-- 1 root root 116636 12. Okt 2014 ldlinux.c32 -rw-r--r-- 1 root root 182572 12. Okt 2014 libcom32.c32 -rw-r--r-- 1 root root 23492 12. Okt 2014 libutil.c32 dr-xr-xr-x 9 root root 4096 13. Okt 18:48 mint/ -rw-r--r-- 1 root root 42985 12. Okt 2014 pxelinux.0 drwxr-xr-x 2 root root 4096 13. Okt 19:11 pxelinux.cfg/ -rw-r--r-- 1 root root 1372 12. Okt 2014 reboot.c32 -rw-r--r-- 1 root root 26212 12. Okt 2014 vesamenu.c32
die *.c32 bekommt man aus seiner syslinuxinstallation (einfach per apt/dnf/pacman/... installieren) und dann unter /usr/lib/syslinux/bios/ die dateien kopieren. Mehr werden nicht benötigt, können aber reinpackt werden (schadet nicht).
$ cat /var/ftpd/pxelinux.cfg/default default vesamenu.c32 prompt 0 timeout 0 menu hshift 7 menu width 61 menu title Linux Installations Party include pxelinux.cfg/appearance label - menu label Bitte waehle deine Distribution aus menu disable label Fedora menu label ^Fedora 22 kernel fedora/vmlinuz append initrd=fedora/initrd.img inst.stage2=nfs:nfsvers=4:10.0.0.1:/var/ftpd/fedora inst.repo=http://ftp.tu-chemnitz.de/pub/linux/fedora/linux/releases/22/Workstation/x86_64/os/ label Debian menu label ^Debian Jessie kernel debian/vmlinuz append initrd=debian/initrd.gz vga=788 quiet label Mint (Debian) menu label ^LMDE2 (aka Mint) kernel mint/live/vmlinuz append initrd=mint/live/initrd.lz config boot=live netboot=nfs nfsroot=10.0.0.1:/var/ftpd/mint/
Die config kann um weitere Einträge erweitert werden und dient hier nur dem Beispiel. Die Datein werden über nfs geladen, da tftp sehr langsam ist und eine effiziente übertragung nicht möglich ist.
Letzendlich noch ein
# systemctl restart dnsmasq.service
und fertig ist die laube
Images[Bearbeiten]
Die Networkimages bekommt ihr zumeist aus dem so der distribution extrahiert (guckt nach dem oder pxeboot o.ä.). Bei Fedora existiert eine s.g. .treeinfo
[4], in der die benötigten Dateien samt Pfad stehen. Für Debian existiert ein tar archiv [5], dort im ordner debian-installer/amd64/
die linux
(kernel) und initrd.gz
(initram) entpacken und fertig (genaueres steht in einer config datei im boot-screens ordner (bei mir die txt.cfg))
Für alle anderen Distros muss man googlen, gerade um die parameter für den kernel rauszufinden etc, aber mit diesen beiden Distros (plus das obige für Debian mint) seid ihr schon gut bedient ;)
TODO[Bearbeiten]
efi32/efi64 bereitstellen (zur zeit ist nur legacy bios möglich) [6]