Hi Wolfgang,
das Notebook ist bei Ebay weggegangen.
>Weisst Du, wie man ACPI zum Laufen bekommt?
Ja. Überhaupt nicht! Du solltest APM benutzen. Im Kernel apm setzen, in der rc.conf apm_enabled="YES" setzen, dann kannst du alle Funktionen mit der FN-Taste benutzen und die Batterie-Anzeige unter KDE und Gnome funktioniert dann auch.
>Bzw. tut das überhaupt auf den Portege's? Kernel ist kompiliert, zzz fährt den Rechner runter, beim >Einschalten gibt es aber nur einen weissen Schirm und Stillstand.
Das mit dem weißen Bildschirm hatte ich nur, wenn ich ACPI aktiviert hatte.
>es wird aber kein SCSI Device oder ATAPI Device angelegt. Hast Du mit dem Toshiba mal mit USB >experimentiert und vielleicht schon sowas zu Gesicht bekommen?
im Kernel das device atapicam setzen. Als Brennsoftware hatte ich k3b aus den Ports installiert.
Am USB-Port hatte ich nur meine Maus und nen Stick.
>Generell würden mich Deine Erfahrungen mit der Kombination Portege/FreeBSD interessieren.
Das läuft alles sauber.
>Hast Du z.B. mal versucht, den Kernel zu tunen?
Was heißt tunen? Ich habe, wie es so gemacht wird, den Kernel auf die Notebook Hardware angepasst, ohne Probleme.
>Ich stehe vor der Entscheidung, Linux ganz zu lassen, aber das geht halt nur, wenn die nötigsten >Sachen unter FreeBSD auch laufen.
Linux ist auf dem Portege ne ecke langsamer als fbsd. Und was die nötigen Sachen angehen, es gibt für Linux eine Textmaker-Free Edition, der perfekte Word-Ersatz (vergiss Abiword oder Openoffice), war auf einer CD im Linux Magazin 'LinuxUser 02.2004', für Excel nimmst du am besten Gnumeric.
Für die MP3's kommt xmms zum Einsatz und für deine Filmchen kompilierst du dir am besten mplayer aus den Ports (für DivX und HDTV reichen die 500 MHz locker, im Vollbildmodus...). Dann gibt es noch Sylpheed als Mailclient (falls Dir Mutt nicht so liegt), natürlich mit PGP-Support. Als Browser gibt es ausser den bekannten größen auch noch Opera (läuft wirklich am besten).
Für den Netzwerkbereich hatte ich Ethereal als Sniffer, für meine Server auf Firma hatte ich TightVNC zur Fernwartung und LinNeighborhood um in Windows Netzten rumzustöbern.
Und beim Drucken/Scannen bin ich noch garnicht angekommen...
Das ist die einfachste Übung von allem: in der rc.conf trägst du lpd_enable="YES" ein. Dann installierst du apsfilter aus den Ports, rufst mit /usr/local/share/apsfilter/SETUP die setup Routine auf und richtest deinen Drucker ein. Wenn die das SETUP richtig abgeschlossen hast, war es das. Alle Applikationen können ab sofort drucken.
Ich poste hier mal meine private FAQ rein, welche zum Teil auch mit Beiträgen aus dem Forum gefüllt ist.
FAQ FreeBSD-5.2.1-Release
PPP einrichten (dail on demand)
------------------------------------------------------------------------------------------------
/etc/rc.conf FreeBSD4 Handbuch Seite 642
router_enabled=“no“ FreeBSD5 Handbook Seite 399
network_interfaces=”lo0 tun0 rl0”
ifconfig_tun0=
/etc/start_if.tun0
ppp –auto –nat provider
/etc/ppp/ppp.conf
provider :
set phone 0421277...
set authname user
set authkey password
set timeout 45
wichtig sind hier die 'führenden' Leerzeichen!!!
Samba 2.2.8 einrichten
------------------------------------------------------------------------------------------------
Installieren über /stand/sysinstall
Erstellen der Konfigurationsdatei:
# cd /usr/local/etc
# cp smb.conf.default smb.conf
Erstellen des Startscripts
# cd /usr/local/etc/rc.d
# cp samba.sh.sample samba.sh
smb.conf für normale Dateifreigabe:
[global]
hostname = "SERVERNAME"
netbios name = SERVERNAME
workgroup = ARBEITSGRUPPE
encrypt passwords = yes
passdb backend = smbpasswd guest
time server = no
keepalive = 30
case sensitive = no
security = share
unix extensions = Yes
map to guest = Bad User
printing = CUPS
printcap name = CUPS
socket options = SO_KEEPALIVE IPTOS_LOWDELAY TCP_NODELAY
name resolve order = wins hosts lmhost
[daten]
comment = data disk
path = /daten
browseable = Yes
read only = No
force directory mode = 0775
force create Mode = 0664
DHCP-Server einrichten
------------------------------------------------------------------------------------------------
# cd /usr/ports/net/isc-dhcpd
# make install clean
Erstellen der Konfigurationsdatei:
# cd /usr/local/etc
# cp dhcpd.conf.sample dhcpd.conf
Erstellen des Startscripts
# cd /usr/local/etc/rc.d
# cp isc-dhcpd.sh.sample isc-dhcpd.sh
eine einfache dhcpd.conf:
option domain-name "beastie.lan";
option domain-name-servers 127.0.0.1, public DNS-Server;
default-lease-time 3600;
#max-lease-time 7200;
authoritative;
ddns-update-style none;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.1 192.168.0.100;
option routers 192.168.0.254;
}
die restlichen Zeilen auskommentieren!
Backup mit tar
------------------------------------------------------------------------------------------------
Voll-Backup erstellen
# mkdir /backup
# cd /
# tar pzcvf /backup/archiv.tgz . -–exclude mnt –-exclude tmp --exclude backup
-- p=permissions z=zip c=create v=verbose f=filename --
Backup zurückspielen
- Von der Installations-CD ein minimal System installieren
# cp /etc/fstab /etc/fstab.bak
# cd /
# tar xvzpf /quelle/archiv.tgz
# cp /etc/fstab /etc/fstab.archiv
- Jetzt die Werte aus der fstab.bak in die fstab übertragen (falls abweichend) oder einfach ein
# cp /etc/fstab.bak /etc/fstab
# Reboot
VI-Reste entsorgen (Rechner nörgelt beim booten über alte VI-Sessions)
------------------------------------------------------------------------------------------------
# rm /var/tmp/vi.recover
Sonstiges
------------------------------------------------------------------------------------------------
# make install clean FORCE_PKG_REGISTER=YES NO_CHECKSUM=YES
# portupgrade –f PORTNAME
# vncserver:1 # vnc server starten
# vncserver –kill:1 # vnc server beenden
System bootet nicht mehr nach fehlerhaftem editieren von /etc/fstab:
FreeBSD4 Handbuch, Seite 78 – Single User Mode
XFree R4 für Toshiba 7020/7140 konfigurieren
------------------------------------------------------------------------------------------------
# /usr/X11r6/lib/X11
# vi XF86config
Section Screen:
-Monitor „monitor0“
add: DefaultDepth 16
Toshiba 7020/7140 Display Parameter:
Horizontal: 27-50
Vertikal: 55-120
Chipsatz: Trident Cyberblade/e4
USB-Stick mounten
------------------------------------------------------------------------------------------------
# vi /etc/fstab
/dev/da0s4 /usb msdos rw 0 0 # Oranger Conrad USB-Stick
Scripte beim Systemstart ausführen
------------------------------------------------------------------------------------------------
# vi /etc/rc vor dem EXIT am Ende können eigene Scripte oder Befehlszeilen eingefügt werden
ACPI beim Systemstart deaktivieren
------------------------------------------------------------------------------------------------
# vi /boot/device.hints Eintrag hinzufügen: hint.acpi.0.disabled=”1”
Linux Partitionen - ext2/3fs (rw) mounten:
------------------------------------------------------------------------------------------------
Kernel sourcen müssen installiert sein
# cd /usr/src/sys/modules/ext2fs
# make && make load && make install
Kernel kompilieren (The old way)
------------------------------------------------------------------------------------------------
# stand/sysinstall – Menü configure/distributions/src – die System Quelltexte „sys“ installieren
# cd /usr/src/sys/i386/conf
# cp GENERIC BEASTIE
# vi BEASTIE
# /usr/sbin/config BEASTIE
# cd ../compile/BEASTIE
# make depend && make && make install
'The new way' einen Kernel zu backen ist im Kapitel 'FreeBSD up to date halten' beschrieben.
FreeBSD up to date halten
------------------------------------------------------------------------------------------------
Um ein sicheres System zu erhalten ist es extrem wichtig, dass zuerst einmal das Basissystem auf dem neuesten Stand ist und somit die bekannten Sicherheitslücken gestopft sind.
Dies ist in FreeBSD sehr einfach via CVSUP zu realisieren, da eine der grossen Stärken von FreeBSD ist, das System durch updaten des ganzen Betriebssystem vom Source Code zu aktualisieren. Des weiteren wird CVSUP auch benutzt um das restliche System und die Online-Dokumentation auf den aktuellen Stand zu bringen. Um die Online-Dokumentation auf den aktuellen Stand zu bringen, wird ausserdem noch der Port DOCPROJ-NOJADERTEX benötigt.
Dazu müssen wir zuerst CVSUP und DOCPROJ-NOJADETEX über die Ports installieren.
# cd /usr/ports/net/cvsup # bzw. ohne Grafische Oberfläche: cvsup-without-gui
# make install clean
# cd /usr/ports/textproc/docproj-nojadetex
# make install clean
Damit wir FreeBSD mit CVSUP updaten können, müssen wir zuerst eine Konfigurationsdatei erstellen, damit CVSUP weiß, was wir updaten wollen.
Diese Datei erstellen wir unter /root also dem Home-Directory vom Superuser root.
# vi /root/cvs-supfile
In diese Datei schreiben wir folgendes rein:
*default host=cvsup.de.FreeBSD.org
*default base=/usr
*default prefix=/usr
*default release=cvs
*default delete use-rel-suffix
*default compress
*default tag=RELENG_5_2_1_RELEASE
src-all
ports-all tag=.
doc-all tag=.
Dies weist CVSUP an, die Sourcen von FreeBSD 5.2.1 (RELENG_5_2_1) vom CVSUP Server cvsup.de.FreeBSD.org herunterzuladen. Hier empfiehlt es sich einen schnellen CVSUP Server zu nehmen. Z.B. in der Nacht einen Server in Deutschland (de) bzw. Europa, während am Tag auch ein CVSUP Server in Amerika (da im Amiland dann ja Nacht ist) recht schnell sein kann.
Um Downloadzeit zu sparen, sollte das Refuse File benutzt werden. Dieses File sorgt dafür, daß nicht benötigte Language-Packets nicht downgeloadet werden. Wir kopieren die Datei:
# cp /usr/src/share/examples/cvsup/refuse /usr/sup/refuse
Dann wird die erste Zeile (src/etc/sendmail/freebsd.mc*) aus dem File entfernt. Wenn ausser Englisch keine anderen Sprachpakete benötigt werden, ist die Datei fertig.
Nun führen wir folgenden Befehl als root (d.h. als root eingeloggt oder ein User, der mit su zu root wurde) aus:
# /usr/local/bin/cvsup /root/cvs-supfile
Damit werden die Sourcen heruntergeladen. Nachdem diese heruntergeladen wurden, müssen wir die Sourcen kompilieren und installieren. Man nennt dies „buildworld“.
# cd /usr/src
# make buildworld
Das kompilieren und installieren der Sourcen dauert je nach Rechenleistung des Systems entsprechend lange. Nachdem die Sourcen kompiliert und installiert sind, d.h. buildworld fertig ist. Gehen wir nun daran uns einen auf unser System massgeschneiderten Kernel zu backen.
# cd /usr/src/sys/i386/conf
# cp GENERIC MYKERNEL
wobei MYKERNEL für den neugebauten Kernel steht, man kann irgendwas nehmen.
# vi MYKERNEL
Es lohnt sich, im FreeBSD Handbook ein wenig nachzulesen, welche Optionen einkompiliert werden müssen oder sollten. Für Wissbegierige sei auch noch das File /usr/src/sys/i386/conf/NOTES genannt, in dem alle für die jeweilige Version gültigen Kerneloptionen aufgeführt sind.
Hier jedoch, das Wichtigste, das man einkompilieren sollte:
options IPDIVERT
options IPSEC
options IPSTEALTH
options TCP_DROP_SYNFIN # disable if the system is a webserver
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
Weiter empfehle ich, alle Gerätetreiber, die man nicht für seinen Rechner benötigt, auszukommentieren (mit einem # vor der jeweiligen Zeile).
Nun müssen wir den neuen Kernel noch kompilieren:
# cd /usr/src
# make buildkernel KERNCONF=MYKERNEL
Wenn der Kernel ohne Fehler kompiliert ist, können wir ihn installieren
# make installkernel KERNCONF=MYKERNEL
Nun ist der Kernel installiert und ein Neustart des Systems ist nötig um den neuen Kernel auch zu aktivieren.
# reboot oder shutdown –r now
Nachdem der Rechner neu gestartet ist, und wir wieder als root eingeloggt sind, können wir mit uname –a überprüfen, mit was für einem Kernel das System gerade läuft.
Bevor wir die zuvor mit „buildworld“ kompilierten Dateien auf unserem System installieren, lassen wir mergemaster durchlaufen, ein Tool, das verschiedene Dateiversionen erkennt und korrigiert.
# mergemaster -p
Nun installieren wir die kompilierten Dateien. Dafür müssen wir das System in den Single-User-Modus fahren.
# shutdown now
Nun müssen wir noch das root-Passwort eingeben und wir sind im Single-Mode. Dort geben wir folgendes ein, um die kompilierten Binaries zu installieren:
# cd /usr/src
# make installworld
Nun ist wieder ein Neustart fällig
# reboot oder shutdown –r now
Jetzt haben wir das System auf dem aktuellen Stand und müssen nur noch die Online-Dokumentation aktualisieren.
# cd /usr/doc
# make install
Wenn nicht alle Sprach-Varianten über CVSUP heruntergeladen wurden (refuse-file), kommt es zu einer Fehlermeldung welche ignoriert werden kann. Abschliessend muss nur noch sauber gemaked werden.
# cd /usr/src
# make clean
Ein weiterer wichtiger Punkt ist auch noch, die Ports und Packet Datenbank zu aktualisieren. Dieser Schritt sollte immer dann durchgeführt werden, wenn die Sourcen über CVSUP aktualisiert wurden.
# portsdb -Uu
# pkgdb -aF -u
Konsole mit einer Auflösung von 800x600 (Toshiba Notebook)
------------------------------------------------------------------------------------------------
folgende Optionen müssen in den Kernel einkompiliert werden
# vi /usr/src/sys/i386/conf/MYKERNEL
options VESA
options VGA_WIDTH90
options SC_PIXEL_MODE
options SC_MOUSE_CHAR=0x3
Anschliessend muss in die rc.conf noch folgende Zeile eingefügt werden
# vi /etc/rc.conf
allscreens_flags="-g 100x37 VESA_800x600"
Konsole mit Umlauten und Sonderzeichen
------------------------------------------------------------------------------------------------
folgende Zeilen in die rc.conf eintragen
# vi /etc/rc.conf
font8x14="iso-8x14"
font8x16="iso-8x16"
font8x8="iso-8x8"
keymap="german.iso"
scrnmap="NO"
Softwarepakete aktualisieren
------------------------------------------------------------------------------------------------
Um ein Softwarepaket aktualisieren zu können, muss zuerst der Port portupgrade installiert werden
# cd /usr/ports/sysutils/portupgrade
# make install clean
Die Benutzung ist simpel.
# portupgrade -r -f -k portname
aktualisiert den entsprechend Port.
Allerdings muß der exakte Name des Ports bekannt sein, z.B. sylpheed-gtk2
Die Option -rR sorgt dafür, daß abhängige Pakete auch aktualisiert werden.
# portupgrade -arR
aktualisiert alle Pakete welche ein Update benötigen.
Gruß, Dirk