• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

Screenshots machen von Installation mit bsdinstall möglich?

Themenstarter #1
Ich würde gerne die Installation von FreeBSD mit 3 Festplatten und ZFS doumentieren und brauche dazu dann doch individuelle Screenshots. In einer VM geht das natürlich, aber auf einer realen Maschine? Gibt es da irgendeine Möglichkeit?
 

CommanderZed

OpenBSD User
Mitarbeiter
#2
Smartphone, Digicam, DSLR mit Stativ

Alternativ, installation per Serieller konsole geht ja auch glaub ich bei Freebsd, da kannst du bei den meisten clients komplett mitloggen oder zumindest einfach screenshots erstellen.
 
Themenstarter #3
Alternativ, installation per Serieller konsole geht ja auch glaub ich bei Freebsd, da kannst du bei den meisten clients komplett mitloggen oder zumindest einfach screenshots erstellen.
Etwas genauer bitte? Muss man da wirklich 2 PC's mit seriellem Kabel miteinander verbinden? Dann habe ich auch gehört mit vidcontrol(1), ich kann aber mit der man nicht viel anfangen...
 

CommanderZed

OpenBSD User
Mitarbeiter
#4
Etwas genauer bitte? Muss man da wirklich 2 PC's mit seriellem Kabel miteinander verbinden? Dann habe ich auch gehört mit vidcontrol(1), ich kann aber mit der man nicht viel anfangen...
Ja, idr schon, alternativ bieten einige integrierte Managementcontroller auch eine serielle konsole an auf die man dann per ssh o.ä. zugreifen kann.

Je nach alter kann man auch dadrüber hinaus u.U. auf die AMT-Sachen von Intel per VNC zugreifen e.t.c. - das hängt aber extrem vom Firmwarestand e.t.c. ab und ich weiß garnicht so genau was bei modernernen versionen möglich oder nicht mehr möglich ist.
 

foxit

Moderator
Mitarbeiter
#6
Das geht ganz einfach via SSH. Am Anfang <LIVECD> wählen. "/etc" ist aber schreibgeschützt. Daher muss man ein paar Sachen für SSHD voreinstellen:
Code:
mkdir /tmp/etc
mount_unionfs /tmp/etc /etc
vi /etc/ssh/sshd_config
  PermitRootLogin yes
/etc/rc.d/sshd onestart
passwd root
dhclient <NIC>
Danach kannst du dich per SSH verbinden und "bsdinstall" starten.
 
Themenstarter #8
Das geht ganz einfach via SSH. Am Anfang <LIVECD> wählen. "/etc" ist aber schreibgeschützt. Daher muss man ein paar Sachen für SSHD voreinstellen:
Code:
mkdir /tmp/etc
mount_unionfs /tmp/etc /etc
vi /etc/ssh/sshd_config
  PermitRootLogin yes
/etc/rc.d/sshd onestart
passwd root
dhclient <NIC>
Danach kannst du dich per SSH verbinden und "bsdinstall" starten.

Ich habe mal ein vorläufiges Experiment gemacht: Vom Hauptrechner einfach mit "ssh 193.168.1.53" mit dem Laptop verbunden (hängen beide am Router des ISP). Fragt zunächst nach dem Userpasswort. Wenn ich es eingebe, kann ich mit "su" root werden und "bsdinstall" starten. Dieses Bild im Terminal ließe sich dann problemlos mit dem Screenshooter Plugin von xfce festhalten, so weit, so gut.

Doch nun mal zur hypothetischen Remoteinstallation selbst: Ich nehme an, in Deiner Anleitung befindet sich die LiveCD in dem CD-Laufwerk des Rechners, auf dem das System installiert werden muss, richtig? Und für die von Dir beschriebenen Schritte braucht der Rechner, auf dem installiert wird, noch einen eigenen Bildschirm, um diese Schritte überhaupt ausführen zu können, bevor man mit ssh von dem zweiten Rechner, auf dem man die Screenshots machen will, überhaupt zugreifen kann?

Nach der allgemeinen Theorie einer Remoteinstallation hat der Targetrechner m.E. aber gar keinen eigenen Bildschirm. Man soll das BIOS angeblich zunächst auf "Boot from LAN" stellen.

Und wie soll das dann weiter funktionieren, wenn auf dem Targetrechner noch gar kein Betriebssystem drauf ist? Bekommt durch die "Boot on LAN" Option der Rechner vom Router schon eine IP zugewiesen, so dass man mit ssh verbinden kann und bsdinstall ausführen kann?
 

pit234a

Well-Known Member
#9
Und wie soll das dann weiter funktionieren, wenn auf dem Targetrechner noch gar kein Betriebssystem drauf ist? Bekommt durch die "Boot on LAN" Option der Rechner vom Router schon eine IP zugewiesen, so dass man mit ssh verbinden kann und bsdinstall ausführen kann?
naja, ich fürchte gar nicht.
Wie willst du dich mit einem wirklich remoten Remote-System verbinden, wenn dort gar kein System ist? Etwas muss schon da sein, damit du dich damit auf irgendeine Weise verständigen kannst. Ohne OS hast du ja nicht mal eine IP, an die du dich wenden kannst und wie man die BIOS-Settings dabei dann verändern will, das müsste mir einer mal erklären. (da bräuchten wir uns dann über Sicherheit wirklich gar keine Gedanken mehr zu machen, wenn das tatsächlich geht).
 

CommanderZed

OpenBSD User
Mitarbeiter
#10
Per Lan-Boot kann man ja relativ beliebige images (uvm.) booten - je nach version von nem tftp server oder inzwischen auch per https & Co.

Das Image hinterlegst du dort aber selber, d.H. du hast da die volle kontrolle drüber.

Natürlich kannst du dann auch ein image nehmen das z.B. ssh support hat, z.B. mit irgend nem default kennwort. Wenn du das image selbst irgendwie baust könntest du auch z.B. nen public key hinterlegen.

IP macht man da per DHCP-Server, der kann dir ja z.B. sagen welche Addresse der Client bekommen hat oder du gibts ihm gleich eine bestimmte addresse vor. AFAIK gibt der DHCP-Server dem Client noch vor dem OS Boot auch die Infos über das zu bootende Image e.t.c. weiter.

Die Technik ist auch nicht gerade neu, afaik ging das schon in den 90ern los, evtl. sogar in den späten 80ern,.
 
Themenstarter #11
Ich bin aufgrund dieses Artikels darauf gekommen:

https://help.kaspersky.com/KSC/SP3/en-US/62008.htm

"The administrator can use the images received for deployment on new networked devices on which no operating system has been installed yet."

Das ist aber alles sehr allgemein gehalten, ebenso wie die Antwort von @CommanderZed, die wahrscheinlich das meint, was der Artikel beschreibt. Somit weiß ich aber insgesamt immernoch nicht genau, wie ich sinnvoll mit der Boot on Lan Funktion umgehen soll, um ein Remote Install von einem OS abzuziehen.

Natürlich kannst du dann auch ein image nehmen das z.B. ssh support hat
Ich nehme an, dass das durch die von @foxit beschriebenen Schritte erreicht wird.
 

pit234a

Well-Known Member
#12
Per Lan-Boot kann man ja relativ beliebige images (uvm.) booten - je nach version von nem tftp server oder inzwischen auch per https & Co
dazu genügt es aber nicht, das BIOS auf Lan-Boot zu stellen und nochmal: wie soll ich das denn machen, wenn nichts auf dem remote-PC vorhanden ist, wo ich mich einwählen kann?
Da muss wenigstens eine Remote-Konsole angeboten werden.
Wer einen leeren PC irgendwo hinstellt (zB bei meinem Nachbarn, der meinetwegen auch noch beim gleichen ISP dran hängt), kann da nicht aus der Ferne irgendwelche BIOS-Einstellungen ändern und Quellen des Lan-Boots setzen. Ja, er kann noch nicht mal den PC einschalten und überhaupt den Boot-Prozess einleiten.

Das geht mir deshalb hier etwas zu unscharf.
Zunächst geht es um Remote-Screenshots, dann um Installation eines OS auf einem Remote-PC, zu dem man aber wirklich gar keinen Zugang hat (um etwa eine CD einzulegen).

AFAIK kann man Remote nur auf Systeme zugreifen, die bereits installiert sind und deshalb eine Grundfunktionalität mitbringen. Nicht auf pure PC-HW, die vielleicht am gleichen Netz angeschlossen ist, aber gar nicht weiß, was sie denn tun soll.

Quasi als Referenz verweise ich mal auf einen beliebigen Link zu dem Themenkomplex: https://wiki.hetzner.de/index.php/FreeBSD_installieren
und nenne noch mfsBSD, ohne zu wissen welche Rolle das heute noch spielt. Das war früher der Weg, auf einem System (etwa einem GNU/Linux, wie Hetzner oder andere das damals anboten) FreeBSD zu installieren (wenn man das nicht alles ganz manuell machen wollte).
Aber nochmal: da gab es jeweils immer schon ein System, mit dem man sich unterhalten konnte (vorzugsweise über ssh).

Jedenfalls scheint es mir hier einen Klärungsbedarf zu geben und sei es auch nur, dass ich selbst mal wieder auf dem Schlauch stehe.
Worum geht es denn nun eigentlich?
 

pit234a

Well-Known Member
#13
Ich bin aufgrund dieses Artikels darauf gekommen:
habe ich nur überflogen, aber die machen doch nichts, außer einen PXE-Server mit deinen eigenen Images zur Verfügung zu stellen (vermutlich nicht kostenlos).
Du kannst dann davon per LAN (PXE-Boot) booten, aber woher soll dein PC wissen, wovon er booten soll?
Das muss ihm natürlich sagen.
Und wie willst du das (auf BIOS-Ebene) bei einem ganz entfernten Rechner tun?
Ich glaube nicht, dass das geht.
 
Themenstarter #14
dazu genügt es aber nicht, das BIOS auf Lan-Boot zu stellen und nochmal: wie soll ich das denn machen, wenn nichts auf dem remote-PC vorhanden ist, wo ich mich einwählen kann?
Da muss wenigstens eine Remote-Konsole angeboten werden.
Wer einen leeren PC irgendwo hinstellt (zB bei meinem Nachbarn, der meinetwegen auch noch beim gleichen ISP dran hängt), kann da nicht aus der Ferne irgendwelche BIOS-Einstellungen ändern und Quellen des Lan-Boots setzen. Ja, er kann noch nicht mal den PC einschalten und überhaupt den Boot-Prozess einleiten.
Ich will das mal etwas eingrenzen: Der PC steht nicht beim Nachbarn, sondern bei mir. Die BIOS-Einstellungen sollen nicht aus der Ferne verändert werden, sondern bevor der Rechner woanders vom Monitor genommen wird, auseinander genommen wird und neue Festplatten verpasst bekommt. Der Rechner bekommt dann eine FreeBSD Installations-CD ins Laufwerk gelegt.

Da muss wenigstens eine Remote-Konsole angeboten werden.
Dahin geht u.a. meine Frage. Wie sieht eine solche Remote-Konsole aus, mit der man dann die Installations-CD im Laufwerk lostreten kann, damit die neu installierten Platten partintioniert, formatiert und letztendlich das System von der Installations-CD draufgespielt wird?
Mit ssh ja nicht, wenn nicht vorher schon ein OS installiert ist, das ssh kennt, wenn ich das richtig verstanden habe.

Gibt es z.B. eine Möglichkeit, diese Remote-Konsole über ein Laptop mit USB-Verbindung zu realisieren, also nicht über das Netwerk / den DHCP vom Router?
 

Illuminatus

in geheimer Mission
#15
Gibt es z.B. eine Möglichkeit, diese Remote-Konsole über ein Laptop mit USB-Verbindung zu realisieren, also nicht über das Netwerk / den DHCP vom Router?
Für den komplizierten Weg welchen du da anstrebst gibt es technische Möglichkeiten, welche aber nicht überall in Chips verfügbar sind.
Eine Remote-Konsole von einem Laptop mit USB würde dich zunächst in die Lage versetzen eher eine Verbindung über Seriell-Konsole herzustellen. Du kannst jedoch nicht via USB mal eben dem Ziel-System eine Tastatur und ein bootbares USB Medium anbieten.
Diese Funktion ist in IP-KVM Switches für remote-Zugriff verbaut.
https://www.nexlab.net/product/rasky/ <- da hat jemand versucht etwas selbst zu bauen. Gefrickelte Sachen mit USB-over-IP sind aber für die Praxis keine super Lösung. Entweder baut man sich eine Installationsroutine welche mittels PXE-Boot ein Setup anbietet und durchführt, oder man installiert besser per remote-KVM.
https://github.com/Fmstrat/diy-ipmi

Spontan gegoogelt und ungeprüft von mir: https://punkt.de/de/blog/2017/automatisierte-installation-von-servern-mit-freebsd-und-zfs.html
 

foxit

Moderator
Mitarbeiter
#16
Was du meinst ist eine Remote-Konsole im der Art und Weise von IPMI. Damit kannst du die Konsole eines Rechners fernsteuern, ISO Dateien mounten oder einfach nur ein Bild anzeigen lassen. Ein normaler PC/Mainboard hat diese Schnittstelle aber i.d.R. nicht. Sprich du musst wohl per Hand die CD ins Laufwerk legen müssen und SSH so weit konfigurieren, damit du drauf zugreifen kannst.

Es gibt noch Cloud-init oder auch wie schon erwähnt PXE. Das ist noch eine Option:
Code:
label freebsdmfs
  menu label FreeBSD 11.1 amd64
  kernel /bsd.sys/freebsd/memdisk
  append initrd=/bsd.sys/freebsd/mfsbsd-11.1-RELEASE-amd64.img harddisk raw
Dafür braucht es aber angepasste FreeBSD ISO Dateien.