Nach langem arbeiten hab ich eine einfach Version von FreeBSD 4.11 auf meinem Libretto am Laufen. Auf Grund meiner Versuche sprang der Kollege “matze” mit auf den Zug auf und mit seinen fundierten Linux und BSD Kenntnissen erzielte er erfolge für die ich als Newbie noch einige Monate gebraucht hätte. Zusammen haben wir dann folgende Anleitung zusammengefasst um jeden die Möglichkeit zu geben seinem Libretto eine FreeBSD 4 zu verpassen
Technische Daten
Prozessor / Bus /RAM
- Prozessor Intel Pentium 166 MHz MMX / 1.8 V
- Bus 66 MHz
- Cache-Speicher Write-Back / 32 KB auf CPU
- Speicher (RAM) 32 MB EDO / 60 ns / 2.5 V / max. 64 MB
BIOS
- Typ Flash-EPROM / Plug&Play / APM / ACPI / 512 KB
Grafik
- Typ NeoMagic MagicGraph 128 XD / PCI / 128 Bit Grafikbeschleuniger
- Video-RAM 2 MB
- Bildschirm TFT
- Bildpunkte 800 x 480 Pixel
- Pixelgrösse 0.19 x 0.19 mm
- Diagonale 7.1”
- Darstellungsbereich 153.6 x 93 mm
- Farben bis 16 Millionen / 24 Bit
- Kontrastverhältnis 100:1
- LCD-Helligkeit (Netzbetrieb) 70 NIT
- LCD-Helligkeit (Akkubetrieb) 70 NIT
Bildschirmauflösungen
- Max. intern 24 Bit Farbe 640 x 480 / 85 Hz
- Max extern 16 Bit Farbe 1024 x 768 / 85 Hz
- Max extern 24 Bit Farbe 800 x 600 / 85 Hz
Maße und Gewicht
- Abmessung 210 x 132 x 34 mm
- Gewicht 910 g
Akku
- Typ Li-Ion / 10.8 V / 1200 mAh
- Max. Betriebsdauer 2 h
Netzadapter
- Typ 100-240 VAC / 50-60 Hz
- Ausgang 15 V / 2 A
- Gewicht 180 g
Festplatte
- Typ Toshiba MK-2109MAT / 2.1 GB / 13 ms / 4200 U/min
- Schnittstelle E-IDE / AT-kompatibel
Diskettenlaufwerk
- Typ Extern PCMCIA / 3,5” / 720 KB + 1.44MB / 300 U/min
Sound
- Am PC Lautsprecher Mono / Mikrofon
- Typ Yamaha OPL3 SA3 / 16-Bit Stereo / Soundblaster-kompatibel / MIDI
Anschlüsse
- Am PC Kopfhörer / Mikrofon / PCMCIA Type III / Infrarot / Netzadapter
- Miniport Replicator (Lieferumfang) Seriell / Parallel (ECP) / PS/2 / Monitor / Netzadapter
- Mini Card Station (Zubehör) Seriell / Parallel (ECP) / PS/2 / Monitor / PCMCIA Type III / Netzadapter / USB
Installation
Die Installation funktioniert mit FreeBSD 4.11 problemlos über zwei zu erstellende Disketten.
Hinweis: Diese Installationsweise ist mit FreeBSD 5.x nicht mehr möglich, da es hier eine Änderung in der Installationsroutine von sysinstall gab und somit somit bei der Installation nicht mehr automatisch erkannt wird, dass es sich beim Installlationsmedium um ein PCMCIA Device handelt. FreeBSD 5.x fragt somit nicht mehr nach ob das Installationmedium im PCMCIA Slot gegen ein andere Gerät getauscht werden soll. Somit muss man Disklaufwerk und CD-Rom oder NIC gleich von anfang an in den Slots haben.
Diskimages
Zunächst besorgen wir uns die dafür Notwendigen Images:
Windows
Man braucht für Windows natürlich wieder ein extra Tool: fdimage Der Befehl zum Schreiben lautet
fdimage.exe kern.flp a:
Linux
dd if=/kern.flp bs=18k of=/dev/fd0
FreeBSD
dd if=floppies/kern.flp of=/dev/rfd0
oder
dd if=floppies/kern.flp of=/dev/floppy
Nach dem erfolgreichen erstellen der Disketten gibt es zwei Möglichkeiten zur weitern Installation.
Entweder man verwendet eine PCMCIA Ethernet Karte (z.B. NE2000 kompatibel) zur Installation via FTP, oder man ist im Besitz eines externen CD-ROM Laufwerkes, welches natürlich auch per PCMCIA angeschlossen wird. Da die Softwareauswahl auf den CD’s begrenzt ist und unsere favorisierten Programme gar nicht enthält, empfehle ich die Installation über FTP. Auf den genauen Ablauf der weiteren Installation möchte ich an dieser Stelle nicht weiter eingehen, darüber gibt es bereits genug HowTo’s. Sie verläuft genauso, wie auf anderen Rechnern auch.
Egal welche Installationsmöglichkeit ihr wählt, wenn ihr die im Libretto Hardwaremäßig integrierte Hibernate verwenden wollt müsst ihr am Ender eurer HDD einen unpartitionierten Platz in der Größe eures RAM Speichers lassen. Solltet ihr das nicht tun und Hibernate verwenden könnte es leicht passieren das euer System flöten geht.
Da das kompilieren auf der Libretto nicht wirklich Freude macht, empfehle ich grundlegend die Installation von Packages und nur im Notfall die Ports. Die Packages können nach erfolgreich abgeschlossener Installation problemlos als root per /stand/sysinstall nachinstalliert werden oder auch direkt mittels pkg_add -r name
.
Xfree86
Folgende Beispiel Konfiguration bildet später eine Auflösung bei 800x480 Bildpunkten und 60 Hz ab:
Section "ServerLayout"
Identifier "XFree86 Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
ModulePath "/usr/X11R6/lib/modules"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/TTF/"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/CID/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
EndSection
Section "Module"
Load "dbe"
Load "dri"
Load "extmod"
Load "glx"
Load "record"
Load "xtrap"
Load "speedo"
Load "type1"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
Option "XkbModel" "pc102"
Option "XkbLayout" "de"
Option "XkbVariant" "nodeadkeys"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/sysmouse"
EndSection
Section "Monitor"
#DisplaySize 160 100 mm
Identifier "Monitor0"
VendorName "TOSHIBA"
ModelName "Libretto TFT"
HorizSync 26.0 - 35.0
VertRefresh 60.0 - 85.0
ModeLine "800x480" 29.59 800 832 944 976 480 490 495 505
ModeLine "640x480" 24.11 640 672 760 792 480 490 495 505
EndSection
Section "Device"
Option "overrideValidateMode"
Identifier "Card0"
Driver "neomagic"
VendorName "Neomagic Corporation"
BoardName "NM2160 [MagicGraph 128XD]"
BusID "PCI:0:4:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 16
SubSection "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
Modes "800x480" "640x480"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Externer Monitor
Ich habe noch keine Möglichkeit gefunden, das LCD während dem arbeiten auf einen externen Monitor zu switchen. Einzige Möglichkeit auf einen externen Monitor auszugeben ist, den Monitor schon beim booten einstecken. Dabei wird das LCD allerdings ausgeschaltet.
Sound
Folgende Hardware Einstellungen sind Standard im BIOS:
Sound = EnableWSS I/O Address = 530H
SBPro I/O Address = 220H
Synthesizer I/O Address = 388H
WSS & SBPro & MPU401 IRQ Level = IRQ5
WSS(Play) DMA = Channel 1
SBPro DMA = Same as WSS
Control I/O Address = 370H
MPU401 (MIDI I/F) = 330H</pre>
Es gibt zwei Möglichkeiten, entweder man baut einen neuen Kernel, oder man erzeugt eine separate Konfigurations Datei
Variante 1 (neuer Kernel)
Na dann lass uns mal einen neuen Kernel backen. Voraussetzung ist, dass du die Sourcen in /usr/src installiert hast, was normalerweise der Fall sein sollte.
Sollte das jedoch nicht der Fall sein kannst du dir die Sources wie folgt nachinstallieren. Zuerst rufst du /stand/sysinstall auf und gehst dort auf /configure/distributions/src/sys danach einfach OK auswählen und ein bißchen warten bis alles installiert ist - von da an sollte /usr/src vorhanden sein.
Alles folgende als root ausführen!!
# cd /usr/src/sys/i386/conf# cp GENERIC MYKERNEL
# echo "device pcm0 at isa? port 0x530 irq 5 drq 1 flags 0" >> MYKERNEL
Kernel backen
# config MYKERNEL# cd ../../compile/MYKERNEL
# make depend && make && make install && make clean
# shutdown -r now</pre>
Jetzt sollte unter dmesg ein Device pcm0 auftauchen. Die Ausgabe von cat /dev/sndstat sieht dann so aus:
FreeBSD Audio Driver (newpcm)Installed devices:
pcm0: <OPL3-SAx (YMF719)> at io 0x530 irq 5 drq 1 bufsz 4096 (1p/1r/0v channels duplex)
Nur noch schnell die Devices in /dev erstellen mit:
# cd /dev# sh MAKEDEV snd0
Hinweis: Und bitte keine Sound Module beim Systemstart laden!
Variante 2 (Konfigurations-Datei)
- Kernel vorbereiten
device pcm
Einfach diesen eintrag in eurer neuen Kernel-Config dazuschreiben und den Kernel wie bei Variante 1 beschrieben neu bauen.
- Konfigurationsdatei /boot/device.hints anpassen
hint.pcm.0.at="isa"hint.pcm.0.port="0x530" hint.pcm.0.irq="5" hint.pcm.0.drq="1" hint.pcm.0.flags="0x0"</pre>
- Neustart
shutdown -r now
Jetzt sollte unter dmesg ein Device pcm0 auftauchen. Nur noch schnell die Devices in /dev erstellen mit:# cd /dev# sh MAKEDEV snd0
PowerManagement
APM aktivieren
- Kernel vorbereiten
device apm
Einfach diesen eintrag in eurer neuen Kernel-Config dazuschreiben und den Kernel wie beim Kapitle Sound Variante1 beschrieben neu bauen oder ihr nehmt einfach die Beispiel Kernel-Config - dort ist schon alles drin.
- Konfigurationsdatei /etc/rc.conf anpassen
apm_enable="YES"apmd_enable="YES" apmd_flags=""</pre>
- Konfigurationsdatei
/boot/device.hints
anpassenhint.acpi.0.disabled="1"hint.apm.0.disabled="0" hint.apm.0.flags="0x20"</pre>
-
Ausschalten mit automatischem Herunterfahren
shutdown -p now
-
Jetzt muss der Benutzer nur noch der Gruppe ‘operator’ hinzugefügt werden:
pw usermod <username> -G operator
- eventuelle Fehler Meldungen
bei Meldung /dev/apm nicht vorhanden /boot/device.hints überprüfen ob bei hint.apm.0.disabled=”0” steht
IrDA
Die Infrarot Schnittstelle unter dmesg:
chip1: <Toshiba Fast Infra Red controller> port 0xffe0-0xffff irq 11 at device 17.0 on pci0
Das Programm birda (pgk_add -r birda), welches für die Kommunikation mit Infrarot-Geräten (Palm) zuständig ist, sollte installiert werden._ Das Syncronisieren eines Palm mit einer UNIX Workstation geht dann z.B. mit dem Programm coldsync (pkg_add -r coldsync).
Diskettenlaufwerk
Das PCMCIA Diskettenlaufwerk des Librettos hat schon mancher Linux-Distribution bei der Installation von Diskette das Leben schwer gemacht. *BSD ist da besser und macht keine größeren Probleme bei der Installation doch bei laufendem System wills noch nicht klappen.
Kernel Config
Hier unsere Kernel-Config, sie ist nicht perfekt und erfüllt auch nicht alle wünsche - also sie ist kein AllHeilMittel. Doch für den Anfang sehr brauchbar und lässt den Libretto in der Standardkonfiguration zum Leben erwachen. Doch für Tipps und Anpassungsvorschläge sind wir immer dankbar.
machine i386cpu I586_CPU
ident libretto
maxusers 10options INET #InterNETworking
options INET6 #IPv6 communications protocols
options FFS #Berkeley Fast Filesystem
options FFS_ROOT #FFS usable as root device [keep this!]
options SOFTUPDATES #Enable FFS soft updates support
options UFS_DIRHASH #Improve performance on big directories
options MFS #Memory Filesystem
options MD_ROOT #MD is a potential root device
options NFS #Network Filesystem
options NFS_ROOT #NFS usable as root device, NFS required
options MSDOSFS #MSDOS Filesystem
options CD9660 #ISO 9660 Filesystem
options CD9660_ROOT #CD-ROM usable as root, CD9660 required
options PROCFS #Process filesystem
options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]
options SCSI_DELAY=15000 #Delay (in ms) before probing SCSI
options UCONSOLE #Allow users to grab the console
options USERCONFIG #boot -c editor
options VISUAL_USERCONFIG #visual boot -c editor
options KTRACE #ktrace(1) support
options SYSVSHM #SYSV-style shared memory
options SYSVMSG #SYSV-style message queues
options SYSVSEM #SYSV-style semaphores
options P1003_1B #Posix P1003_1B real-time extensions
options _KPOSIX_PRIORITY_SCHEDULING
options ICMP_BANDLIM #Rate limit bad replies
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~128k to driver.
options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~215k to driver.
device isa
device eisa
device pci
# Floppy drives
device fdc0 at isa? port IO_FD1 irq 6 drq 2
device fd0 at fdc0 drive 0
device fd1 at fdc0 drive 1
# ATA and ATAPI devices
device ata0 at isa? port IO_WD1 irq 14
device ata1 at isa? port IO_WD2 irq 15
device ata
device atadisk # ATA disk drives
device atapicd # ATAPI CDROM drives
device atapifd # ATAPI floppy drives
device atapist # ATAPI tape drives
options ATA_STATIC_ID #Static device numbering
# SCSI peripherals
device scbus # SCSI bus (required)
device da # Direct Access (disks)
device sa # Sequential Access (tape etc)
device cd # CD
device pass # Passthrough device (direct SCSI access)
# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc0 at isa? port IO_KBD
device atkbd0 at atkbdc? irq 1 flags 0x1
device psm0 at atkbdc? irq 12
device vga0 at isa?
# splash screen/screen saver
pseudo-device splash
# syscons is the default console driver, resembling an SCO console
device sc0 at isa? flags 0x100
# Floating point support - do not disable.
device npx0 at nexus? port IO_NPX irq 13
# PCCARD (PCMCIA) support
device card
device pcic0 at isa? irq 0 port 0x3e0 iomem 0xd0000
device pcic1 at isa? irq 0 port 0x3e2 iomem 0xd4000 disable
# Serial (COM) ports
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
device sio1 at isa? port IO_COM2 irq 3
device sio2 at isa? disable port IO_COM3 irq 5
device sio3 at isa? disable port IO_COM4 irq 9
# Parallel port
device ppc0 at isa? irq 7
device ppbus # Parallel port bus (required)
device lpt # Printer
device plip # TCP/IP over parallel
device ppi # Parallel port interface device
# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device miibus # MII bus support
# ISA Ethernet NICs.
# 'device ed' requires 'device miibus'
device ed0 at isa? disable port 0x280 irq 10 iomem 0xd8000
device ex
device ep
device fe0 at isa? disable port 0x300
# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
# exists only as a PCMCIA device, so there is no ISA attachment needed
# and resources will always be dynamically assigned by the pccard code.
device wi
# The probe order of these is presently determined by i386/isa/isa_compat.c.
device ie0 at isa? disable port 0x300 irq 10 iomem 0xd0000
device lnc0 at isa? disable port 0x280 irq 10 drq 0
device cs0 at isa? disable port 0x300
device sn0 at isa? disable port 0x300 irq 10
# Pseudo devices - the number indicates how many units to allocate.
pseudo-device loop # Network loopback
pseudo-device ether # Ethernet support
pseudo-device sl 1 # Kernel SLIP
pseudo-device ppp 1 # Kernel PPP
pseudo-device tun # Packet tunnel.
pseudo-device pty # Pseudo-ttys (telnet etc)
pseudo-device md # Memory "disks"
pseudo-device gif # IPv6 and IPv4 tunneling
pseudo-device faith 1 # IPv6-to-IPv4 relaying (translation)
# The `bpf' pseudo-device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
pseudo-device bpf #Berkeley packet filter
# USB support
device uhci # UHCI PCI->USB interface
device ohci # OHCI PCI->USB interface
device usb # USB Bus (required)
device ugen # Generic
device uhid # "Human Interface Devices"
device ukbd # Keyboard
device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
device uscanner # Scanners
device urio # Diamond Rio MP3 Player
# Sound
device pcm0 at isa? port 0x530 irq 5 drq 1 flags 0
# Power Management
device apm</pre>
Programme die richtig gut laufen<
- XFCE4 - Desktop Environment
Hinweis zur Konfiguration:
.xinitrc im Home Verzeichnis der Benutzers anlegen und folgendes einfügen:
export LC_ALL=de_DE.ISO-8859-15 export LANG=de_DE.ISO-8859-15 exec startxfce4
- Fluxbox - WindowManager
- MC-light - Dateimanager nicht nur auf der Konsole
- aterm - Eine Terminal Emulation als Ersatz für xfterm4
- Abiword - Textverarbeitung
- Gnumeric - Tabellenkalkulation (hat leider sehr viele Abhängigkeiten, braucht also Platz auf der Platte)
- abs - Alternative zu Gnumeric. Ist leider nur in Englisch und kennt nur sein eigenes Datei Format. Aber sehr schnell.
- Sylpheed-Claws - E-Mail Client
- CenterICQ - Instant Messanger (geht am Besten im aterm)
- cvsup-whithout-gui
- portupgrade
- libretto-config - Konfiguration des Libretto-BIOS
- asapm - Batterie Monitor (Der Batterie Monitor von xfce4 arbeitet nur mit ACPI)
- gnupg - The GNU Privacy Guard
- gpa - Frontend für gnupg
Installierte Packages
my packages
pkg_add -r portupgradepkg_add -r birda
pkg_add -r sylpheed-claws
pkg_add -r centericq
pkg_add -r links (mit -g startn für GUI)
pkg_add -r xzgv (bildbetrachter)
pkg_add -r emelfm2 (file manager)
pkg_add -r libretto-config
pkg_add -r mp3blaster
pkg_add -r fluxbox-devel
pkg_add -r aterm
pkg_add -r bbapm
pkg_add -r gkrellm2pkg_add -r fluxbg (zuerst fluxbg_conf -> fluxbg)
pkg_add -r display (für das setzen mit fluxbg benötigt)
pkg_add -r fluxconf
pkg_add -r fbdesk
pkg_add -r kdebase