Quantcast
Channel: Robert Kraus – krausens-online.de
Viewing all articles
Browse latest Browse all 71

Debian inkl. Docker auf FW-7543B (Teil1)

$
0
0

Nach dem Begutachten der Hardware ist es nun an der Zeit, ein System zu installieren.
Für den ersten Step fällt meine Entscheidung auf ein Debian 11.
Allerdings müssen am Bootmedium einige Änderungen vorgenommen werden: Die Ausgabe auf die serielle Konsole muss aktiviert werden.

Dazu habe ich mit dem Tool „Rufus“ die Debian 11 Netinst-Cd auf einen USB-Stick geschrieben.
Auf diesem USB-Stick müssen nun im Verzeichnis „isolinux“ zwei Dateien bearbeitet werden: adtxt.cfg und isolinux.cfg.
Hier muss die Zeile mit vga=788 angepasst werden, bzw. der Eintrag für die serielle Konsole hinzugefügt werden.
Die Dateien müssen dann wie folgt aussehen.

adtxt.cfg:

label expert
	menu label E^xpert install
	kernel /install.amd/vmlinuz
	append priority=low vga=off console=ttyS0,115200n8 initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8 
include rqtxt.cfg
label auto
	menu label ^Automated install
	kernel /install.amd/vmlinuz
	append auto=true priority=critical vga=788 initrd=/install.amd/initrd.gz --- quiet

isolinux.cfg:

# D-I config version 2.0
# search path for the c32 support libraries (libcom32, libutil etc.)
serial 0 115200
console 0
path  
include menu.cfg
default vesamenu.c32
prompt 0
timeout 0

Zeit für den ersten Boot.

Zuerst muss noch das serielle Kabel von der Firewall mit dem Rechner verbunden werden.
Hier dann ein Terminal-Programm öffnen und als Eingang die serielle Schnittstelle auswählen.

Zwar ist das BIOS mit einem Passwort versehen, aber die Firewall bootet vom USB-Stick.
Und siehe da, das Installer-Menü von Debian wird angezeigt.
Debian serial Boot

Auf die Installation von Debian gehe ich nicht näher ein, dazu gibt es genügend Anleitungen im Internet.
Nur vielleicht soviel: ich verwende „Expert Install“ unter „Advanced Options“.
Beim Installations-Punkt „Load installer components from install media“ wähle ich „openssh-client-udeb“ aus, damit ich ab diesem Schritt dann die Installation über eine ssh-Verbindung weiterführen kann.
Man kann es aber auch komplett über die serielle Konsole machen.
Den Punkt „Select and install software“ überspringe ich, somit kann ich sicher sein nur das nötigste installiert zu haben.

Nach einem Reboot ist das Debian entweder weiterhin über die serielle Konsole erreichbar, oder kann über die vergebene IP-Adresse via ssh erreicht werden.
Da das System recht nackt ist, installiere ich erstmal ein paar Sachen nach, bevor ich dann Docker installieren kann.

sudo apt install bash-completion vim curl wget screen

Dann setze ich in „/etc/network/interfaces“ noch eine statische IP-Adresse für die erste Netzwerkkarte und die weiteren Netzwerkkarten werden ohne IP-Adresse konfiguriert.

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#allow-hotplug enp1s0
#iface enp1s0 inet dhcp
auto enp1s0
iface enp1s0 inet static
        address 192.168.123.33
        netmask 255.255.255.0
        gateway 192.168.123.1
        broadcast 192.168.123.255
        dns-nameserver 192.168.123.1

# This is an autoconfigured IPv6 interface
#iface enp1s0 inet6 auto#

# Unmanaged Interfaces
auto enp2s0
iface enp2s0 inet manual

auto enp3s0
iface enp3s0 inet manual

auto enp4s0
iface enp4s0 inet manual

Nächster Schritt: Docker
Zeit für die Docker-Installation.
Ich installiere Docker direkt von der Docker-Seite nach der dortigen Beschreibung

curl -sSL https://get.docker.com | sh

Und sollte mit etwa einer solchen Meldung enden

Server: Docker Engine - Community
 Engine:
  Version:          20.10.12
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.12
  Git commit:       459d0df
  Built:            Mon Dec 13 11:43:56 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.13
  GitCommit:        9cc61520f4cd876b86e77edfeb88fbcd536d1f9d
 runc:
  Version:          1.0.3
  GitCommit:        v1.0.3-0-gf46b6ba
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

================================================================================

To run Docker as a non-privileged user, consider setting up the
Docker daemon in rootless mode for your user:

    dockerd-rootless-setuptool.sh install

Visit https://docs.docker.com/go/rootless/ to learn about rootless mode.


To run the Docker daemon as a fully privileged service, but granting non-root
users access, refer to https://docs.docker.com/go/daemon-access/

WARNING: Access to the remote API on a privileged Docker daemon is equivalent
         to root access on the host. Refer to the 'Docker daemon attack surface'
         documentation for details: https://docs.docker.com/go/attack-surface/

================================================================================

Docker-Compose installation
Danach installiere ich noch Docker-Compose

sudo apt install libffi-dev libssl-dev python3-dev python3 python3-pip
sudo pip3 install docker-compose

Als nächstes muss ich Docker noch als Dienst aktivieren ….

sudo systemctl enable docker

… und ich füge meinen aktuellen User der Gruppe „docker“ hinzu, damit ich nicht immer mit „sudo“ arbeiten muss.

sudo usermod -aG docker ${USER}

Und damit wäre das System bereit für die ersten Tests mit Docker.


Viewing all articles
Browse latest Browse all 71

Trending Articles