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

Installation ohne cd / usb

arcona

Well-Known Member
Themenstarter #1
Hallo,
ich möchte FreeBSD auf einem Rechner ohne CD und USB (ehm. ThinClient) installieren.
Wie kann ich da am besten vorgehen?

1. Ich baue die Festplatte in einen anderen (Linux-)Rechner ein, erstelle zwei Partitionen.
2. Kann ich in die erste Partition die Installations CD so kopieren und irgendwie einen Bootloader installieren, so dass wenn ich die Festplatte in den neuen Rechner einbaue, von dieser die Installations CD gebootet wird.
3. Ich installiere FreeBSD dann in die zweite Partition.

Ist das möglich?
Wenn ja, wie kann ich Pkt 2 erstellen?

Grüße.
craano.
 
Zuletzt bearbeitet:

juan_

Well-Known Member
#2
am einfachsten wäre es doch, wenn du fbsd gleich installierst, wenn du die HD schon umgebaut hast.
alternativ könntest du dir auch mal die Installation übers Netzwerk machen
 
#3
Nimm die Festplatte und installiere dir auf dem Linux Rechner FreeBSD wenn du fertg bist kannt du sie wieder in Thin Client einbauen.


Gruß Menuhin
 

0815Chaot

FreeBSD/sparc64-Tüftler
#4
Die beste Variante dafür ist meiner Meinung nach eine Installation per Netzwerk; bei x86 üblicherweise mittels PXE. Für PXE brauchst du auf irgendeinem anderen Rechner einen DHCP-, einen TFTP- und einen NFS-Server. Entsprechende Howtos sollten sich mit der Suchmaschine deines geringsten Misstrauens finden lassen.

Generell ziehe ich es vor, Systeme übers Netzwerk zu installieren. Gerade bei SPARCs hat man sowieso nur Ärger mit dem Booten von CD. Man muß halt nur einmalig etwas Einarbeitungsaufwand für das Aufsetzen des Servers einkalkulieren.

Und wenn du noch einen Schritt weitergehen willst, kannst du statt der Installation auch gleich das "komplette System" übers Netz booten. Dann brauchst du in dem Thin-Client überhaupt keine Festplatte. Das käme dem Sinn eines Thin-Clients schon gleich viel näher. :) Ob das sinnvoll ist, hängt aber davon ab, was genau du mit dem Gerät machen willst.
 

arcona

Well-Known Member
Themenstarter #5
Hallo,
ich weiß nicht, ob ich einfach an dem Linux Rechner FreeBSD installieren kann, weil die Hardware sehr unterschiedlich ist. Weiter habe ich die Festplatte auch nicht wirklich eingebaut, sondern Sie steckt in einem USB-Gehäuse, wenn ich diese an den Linux-Rechner klemme. Oder kann man einen Installations-CD irgendwie auf der HD entpacken und dan ein BSD-System starten?

Um ein sich andeutendes Misverständnis vorzubeugen, der ehem. Thinclient soll kein ThinClient mehr sein, sondern eher ein stromsparender Mini-Heim-Test-Server-Spielzeug werden. Kein FLoppy, kein CD/DVD, kein USB, nur eine interne HD.

Die interne HD würde ich gerne bootbar gestalten und direkt von dieser installieren. Vielleicht könnte ich auch ein Basissystem und einen Kernel auf die Festplatte extrahieren, wenn ich dann irgendwie einen Bootloader in der MBR schreiben könnte, dann müsste ich das doch auch booten können oder?

Grüße.
cranao.
 
Zuletzt bearbeitet:
#6
@arcona du kannst auch mit qemu installieren einfach die platte angeben.

Code:
qemu -boot d -cdrom /dev/cdrom -hda /dev/sda1
 

arcona

Well-Known Member
Themenstarter #7
@arcona du kannst auch mit qemu installieren einfach die platte angeben.

Code:
qemu -boot d -cdrom /dev/cdrom -hda /dev/sda1
Das klingt super.
Ist es den unerheblich, dass die Hardware der beiden Systeme sehr unterschiedlich ist? Was passiert beim ersten Start? Läuf die Hardware-Erkennung?

Gute Nacht.
arcano
 

pit234a

Well-Known Member
#10
Die Thin-Clients haben meist intern auch die USB-Anschlüsse, nur eben nicht nach außen geführt. Dort könnte vielleicht ein Medium angeschlossen werden und damit alles sehr einfach machen, inklusive der Möglichkeit, etwa ein System von einem Stick zu booten.
Vieles andere ist relativ schwierig zu machen und hat zu viele Fallstricke.
Dann bleibt der Netzwerk-Vorschlag bei weitem der beste.
Auch die Installation auf deine USB-Platte ist eine gute und einfache Möglichkeit.
Anders als du es von Linux her kennen wirst, bleiben bei FreeBSD im Standard-Kernel alle Module stets verfügbar. Deshalb ist es für FreeBSD (innerhalb einer Plattform) nahezu egal, von welcher HW du es laufen lässt. Es gibt keine Einschränkungen, die während der Installation gefunden und umgesetzt werden. Allerdings gibt es auch keine Automatismen: es wird dir kein Sound und kein X eingerichtet, um mal zwei prominente Beispiele zu erwähnen. All das erledigst du aus dem laufenden System und deshalb empfiehlt sich auch in jedem Fall eine minimale Grundinstallation, gerade so viel, dass dein Rechner eben mit FreeBSD bootet. Dann richtest du dein Netzwerk ein und erledigst den Rest.
Diese Grundinstallation kannst du auch (fast immer) auf ein USB-Medium vornehmen.
Also, die bootonly nehmen, brennen und deinen Linux-PC mit eingesteckter USB-Platte davon booten. Dann eine minimale Installation auf diese Platte durchführen. Dabei wird diese partitioniert und formatiert. Du kannst dem Vorschlag folgen, du kannst auch alles auf eine einzige Partition legen und lediglich noch eine zusätzliche SWAP anlegen. Du kannst auch eine für FreeBSD und eine weitere für sonstwas anlegen. SWAP ist sinnvoll, wenn du nicht viel Speicher hast. Ab etwa 1.5 GB RAM kann man auch ohne SWAP gut leben. Tastaturlayout und Sprache kannst du so wählen, wie das auf deinem Thin-Client sein wird. Dann sollte anschließend der kleine gleich von dieser Platte booten können (der große auch, wenn er von USB booten kann). Nun das Netzwerk einrichten, evtl Sound und so und die fehlenden Pakete nachinstallieren und pkg_add -r nehmen.
 

arcona

Well-Known Member
Themenstarter #11
Danke PIT234A,
so werde ich das nach den Feiertagen in Angriff nehmen.
Eine Frage noch, den Bootloader lasse ich von Sysinstall in den MBR der angeschlossenen USB-Platte schreiben, dann einfach Platte einbauen und starten?

Grüße.
arcona
 

pit234a

Well-Known Member
#12
den Bootloader lasse ich von Sysinstall in den MBR der angeschlossenen USB-Platte schreiben, dann einfach Platte einbauen und starten?
Ja.
Noch ein Wort dazu, denn auch hier ist jemand leicht verwirrt, wenn er aus dem Linux-Umfeld kommt und als Bootloader immer Grub oder Lilo meint.
Wenn EIN Betriebssystem gestartet werden soll, muss die zugehörige Information im MBR stehen. Die Partition, die gemeint ist, sollte Bootbar sein. Das genügt und natürlich muss das System auch tatsächlich am angegebenen Ort vorhanden und zur Bootzeit erreichbar sein, aber das versteht sich ja von selbst. Dieser Eintrag im MBR der zum Start des Systems führt, wird manchmal als Bootloader bezeichnet. Das zeigt schon, dass die Begriffe hier oft unglücklich vermischt werden.
Grub oder Lilo sind mehr als nur Bootloader, sie sind Bootmanager und ermöglichen die Auswahl eines Betriebssystems oder zusätzlicher Optionen VOR dem Start eines Betriebssystems.
FreeBSD kann einen spartanischen Bootmanager im MBR installieren.
Grub oder Lilo brauchen viel mehr Platz und bieten entsprechend auch mehr Möglichkeiten, doch sie passen auch nicht in den MBR, sondern werden von dort aufgerufen, als wären sie selbst das zu startende Betriebssystem.
Das ist verwirrend, denn die richtige Wahl für den zu installierenden MBR wenn FreeBSD als einziges System und ohne Bootmanager direkt geladen werden soll, ist STANDARD. Einen Standard MBR benutzen, meint, das installierte System damit starten zu wollen. Einen Bootmanager zu wählen, bedeutet, eine Auswahl wird vorgeschaltet um evtl auch andere Systeme booten zu können und keinen zusätzlichen Bootmanager wie Grub dazu verwenden zu wollen und die Entscheidung, keinen MBR zu schreiben, bedeutet, dass dieser unverändert bleibt und das kann die richtige Wahl sein, wenn ein anderes System bereits existiert und einen Grub nutzt, der später auch FreeBSD starten soll.
Das ist verwirrend, aber ich hoffe doch verständlich.
 

arcona

Well-Known Member
Themenstarter #13
Ok, das klingt gut.
Den Unterschied zwischen einem Bootmanager und einem Bootloader habe ich mir schon angelesen. Dennoch Danke für Deinen ausführliche Erklärung.
Ich werde nur das eine OS installieren. Bisher habe ich FreeBSD (um einen Einstiag zu finden) nur in einer VirtualBox auf einem Linux Rechner laufen. Mit Hinblick auf Deine Erklärung zur Hardware-Erkennung könnte ich eigentlich auch einfach die VBox anhalten und dieses System dann kopieren. Kann das aber alles erst nach den Feiertagen probieren.

Grüße.
arcona
 

pit234a

Well-Known Member
#14
VBox kenne ich nicht und habe auch mit anderen Systemen zur Virtualisierung kaum jemals zu tun gehabt. Wenn das aber so läuft, dass dort FreeBSD funktioniert und Zugriff auf deine HW hat, dann kannst du auch ganz einfach die USB-Platte von dort ansprechen und darauf installieren.
Vor einiger Zeit habe ich das mit einem Stick und einer CF-Card mal so gemacht und das ging sehr gut. Ich habe das als Anleitung benutzt, was ich dir hierherkopiere und das fand ich irgendwo im Netz, wo du nach dem Orginal suchen kannst, wenn es hier nicht so deutlich wird. Mir diente das als Fahrplan und ich habe es nicht Wort für Wort genauso gemacht, fand es damals aber echt hilfreich:
Building bootable FreeBSD/i386 images
From time to time I hear people complain at how hard it is to build an image from the FreeBSD sources. This week, I'll explain how I built a bootable i386 image on a USB flash device and also make some observations about the results.

Recently, I needed to create a bootable i386 image. The easiest way was to build one on my amd64. Here's what I did. I setup my environment for the build (steps 1-3), built FreeBSD/i386 userland and kernel (steps 4 and 5), prepared the flash (steps 6-11), installed userland and the kernel (steps 12 and 13), added the extra files needed for boot (steps 14-18). The detailed commands follow:

setenv MAKEOBJDIRPREFIX /blah
setenv TARGET i386
setenv TARGET_ARCH i386
make buildworld
make buildkernel KERNCONF=GENERIC
fdisk -I da0
fdisk -B da0
bsdlabel -w da0s1 auto
bsdlabel -B da0s1
newfs /dev/da0s1a
mount /dev/da0s1a /mnt
make installworld DESTDIR=/mnt
make installkernel DESTDIR=/mnt KERNCONF=GENERIC INSTALL_NODEBUG=t
make distrib-dirs DESTDIR=/mnt
make distribution DESTDIR=/mnt
echo /dev/da0s1a / ufs rw 1 1 > /mnt/etc/fstab
echo ifconfig_DEFAULT=DHCP > /mnt/etc/rc.conf
echo hostname=demo >> /mnt/etc/rc.conf

I put all this on an SD card and inserted that into an usb adapater and booted the laptop with it. FreeBSD's base system isn't too big these days, only 205MB for a full system.

% df /mnt
Filesystem 1024-blocks Used Avail Capacity Mounted on
/dev/da0s1a 484822 205570 240468 46% /mnt

This can easily be trimmed, but with a 512MB SD card for $5 at Office Max, there's little point in trimming for the project I needed the flash for. I just needed something that I could boot to transition my FreeBSD/amd64 laptop to a FreeBSD/i386 laptop.

If one needed to reduce the amount of space used by an installation, then there's a number of options than can be used to reduce the footprint of the system. In my experience, it is best to build everything without these options, then use the WITHOUT_* options on the installworld step to keep the image size down. It is easy to cut FreeBSD's footprint in half with these options. In addition, the kernel is 28MB with all its modules, and this can easily be reduced below 5MB in most cases.

nanobsd can be used to automate this process, as can TinyBSD. I'll save for another column the techniques I have used in the past to reach 16MB.
Posted by Warner Losh
at 11:46 PM

9 comments:
Destari said...

Also, in many cases, removable devices can boot with a different device name than it did originally. For instance, it may come up as da0, or da1, or daX, sometimes even adX (think: virtual machines).
In these cases, I label my UFS file system while doing the newfs command with the -L option:

newfs -L "usbroot" /dev/...

or something similar. Then, instead of using /dev/daXXX in the /etc/fstab, I use:

/dev/ufs/usbroot ...

and I also make sure I add GEOM_LABEL into my kernel config (or load as a module). It's relatively small, and very useful.