Dieses Howto beschreibt die Installation eines selbstcompilierten

Transcrição

Dieses Howto beschreibt die Installation eines selbstcompilierten
Dieses Howto beschreibt die Installation eines
selbstcompilierten System auf einer Debian Distributi
1. Die Hardware
Zuerst benötigt man einen geeigneten Rechner. Oben abgebildeter Rechner ist ein
–
Intel Celeron 2.0 Ghz
–
Asus P4S533 (6x PCI, LAN, CMI8738 Sound, USB 2.0 ...)
–
256 MB Ram
–
ATI Radeon 9550
–
WinTV DVB-S
–
Skystar 2.6D
–
Promise FT100 IDE Controller
Die Hardware ist für alle SDTV-VDR-Anwendungen leistungsfähig genug:
–
Softdevice und Ausgabe über Vidix
–
DivX Wiedergabe mit Mplayer und Ausgabe über DVB-Karte
–
TVTime Deinterlacer und Ausgabe über X
(wobei sich einige Setups gegenseitig ausschließen)
Natürlich braucht man auch noch Platten:
(und zwar am Besten viel Platten. s.o: 2 x 250 GB + 2 x 200 GB)
Da bei mir der VDR 24x7 läuft und deswegen hin und wieder eine Platte das zeitliche segnet (Mit
einem Alter von ca. 5 Jahren ist es bei mir immer so weit) setze ich später ein Raid Array auf.
Mit meinen vorhanden Platten erweist sich folgende (nicht triviale) Kombination als günstig:
/dev/hda(250 GB)
50 GB RAID 1
199 GB RAID 5
/dev/hdc(250 GB)
50 GB RAID 1
199 GB RAID 5
/dev/hde(200 GB)
199 GB RAID 5
/tmp
/dev/hdg(200 GB)
199 GB RAID 5
swap
RAID-Größe:
50 GB Total
597 GB Total
Auf die 50 GB Partition soll dann das Betriebssystem, da man nur von RAID 1 booten kann. Auf
die kommen 597 GB die Aufnahmen. RAID Partitionen sollten nicht genau so groß wie die Platte
sein, sonst bekommt man evtl Probleme, wenn man mal eine defekte Platte auswechseln muss, da
200 GB von Hersteller 1 weniger sein können als 200 GB von Hersteller 2. Deshalb kommen am
Schluss noch 2 Partionen mit ca 1 GB in welche wir /tmp und /swap legen
Nutzer die kein RAID einsetzen wollen, können die Einrichtung natürlich überspringen (ich weise
an den entsprechenden Stellen darauf hin)
2. Das Betriebssystem
Als Distribution setze ich Debian ein. Hierzu lädt man sich unter www.debian.org ein aktuelles
Netinst-testing image runter und brennt dieses auf CD. Anschließend bootet man von dieser CD.
Zur Installation wird unbedingt ein Internetzugang z.B. über Router benötigt
(Wenn die CD nicht bootet, hat man entweder das Image falsch gebrannt oder das Bios nicht richtig
eingestellt.)
Nach dem Einlegen der CD erscheint nach kurzer Zeit ein Dialogfenster
Man trifft in den Dialogen folgende Einstellungen:
Sprache
Deutsch
Tastaturlayout Deutsch
Konfiguration des Netzwerks am Einfachsten über DHCP. z.B. über DSL Zugang mittels Router
Rechnername: vdr
Domainname: pram.homeip.net (oder home.local, aber NICHT irgendwelche gehosteten Domains)
Partitionierung:
Dies ist von Fall zu Fall verschieden, ich möchte z.B. eine Root-Partition von 50 GB. Deshalb
wähle ich „Partitionstabelle von Hand anlegen“ auf „IDE1 Master“ und bestätige anschließend
mit „ja“ so dass eine neue Partitionstabelle angelegt wird.
Die Nutzer ohne RAID werden hier vermutlich den ganzen verfügbaren Plattenplatz verwenden,
hierzu den Punkt „Gesamtes Laufwerk löschen“ wählen und weiter zu Punkt 3
Diese formatiert man mit seinem Lieblingsdateisystem und setzt noch das Boot-Flag.
(ich kann aus eigener Erfahrung nur Ext3 oder XFS empfehlen. Mit Ext2, ReiserFS oder FAT hatte
ich mehrere Probleme)
Danach lege ich nochmal eine Partition mit 0.5 GB an, hier wähle ich „Benutzen als“ Swap (und
KEIN Boot-Flag)
Jetzt kann man die Partitionierung beenden und die Änderungen auf die Festplatte schreiben.
Die anderen Platten bleiben erst mal aussen vor. Diese kommen erst später mit der Einrichtung des
RAID's
3. Installation
Als nächsten Schritt werden die Benuzerkonten angelegt, z.B:
Root Passwort: ********
Neuer Benutzer:
Voller Name: Roland Praml
Benutzername: praml
Passwort:
********
Danach wird das Grundsystem von der CD installiert.
Zur weiteren Installation benötigt man jetzt einen Netzwerkspiegel (Der Zugang über Internet über
einen Router muss gewährleistet sein). Hier wählt man am Besten den Standardvorschlag.
Bei der Softwareauswahl hingegen habe ich erst mal NUR das Standardsystem abgehakt. (Hier
kann man streiten)
Jetzt beginnt die Installation der (ca. 193) Pakete aus dem Internet und man kann warten.
Als Emailzustellung wählt man „Nur lokale Emailzustellung“ an den vorher angelegten User und
zuletzt als Ziel der LILO Installation „/dev/hda (Master Boot Record)“.
Danach die CD entfernen und neu starten.
4. Notwendige Pakete installieren
Um von einen anderen Rechner (z.B. mittels Putty) zugreifen zu können installiert man erst mal ssh.
Hierzu meldet man sich als root an und gibt ein:
apt-get install ssh
Mittels
ifconfig
ermittelt man die IP und loggt sich mit Putty als root ein und installiert gleich mal folgende Pakete
apt-get install bzip2 ncurses-dev pciutils mc
Hat man mit Putty Probleme mit den Umlauten so muss man mit „dpkg-reconfigure locales“ die
Standorteinstellung „de_DE ISO-8859-1“ erzeugen und als Standard-Standorteinstellung „de_DE“
wählen. Anschließend nochmals neu einloggen.
5. Kernel compilieren
(da bei Debain schon ein relativ aktueller Kernel dabei ist und dieser Schritt etwas komplex ist,
können ihn unerfahrene Nutzer evtl überspringen)
Mittels „lspci“ verschafft man sich einen Überblick über die verbaute Hardware. Die Ausgabe sollte
dann z.B. so aussehen:
00:00.0
00:01.0
00:02.0
00:02.1
00:02.2
00:02.3
00:02.5
00:03.0
00:05.0
00:08.0
00:09.0
00:0b.0
01:00.0
01:00.1
Host bridge: Silicon Integrated Systems [SiS] SiS645DX Host & Memory & AGP Controller
PCI bridge: Silicon Integrated Systems [SiS] Virtual PCI-to-PCI bridge (AGP)
ISA bridge: Silicon Integrated Systems [SiS] SiS961 [MuTIOL Media IO] (rev 10)
SMBus: Silicon Integrated Systems [SiS] SiS961/2 SMBus Controller
USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 07)
USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 07)
IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE] (rev d0)
Ethernet controller: Silicon Integrated Systems [SiS] SiS900 PCI Fast Ethernet (rev 90)
Multimedia audio controller: C-Media Electronics Inc CM8738 (rev 10)
Multimedia controller: Philips Semiconductors SAA7146 (rev 01)
Network controller: Techsan Electronics Co Ltd B2C2 FlexCopII DVB chip / Technisat SkyStar2 DVB card
RAID bus controller: Promise Technology, Inc. PDC20267 (FastTrak100/Ultra100) (rev 02)
VGA compatible controller: ATI Technologies Inc RV350 AS [Radeon 9550]
Display controller: ATI Technologies Inc RV350 ?? [Radeon 9550] (Secondary)
Dies benötigen wir um die richtigen Treiber für den Kernel zu wählen welchen wir nun
herunterladen, entpacken, einen Symlink nach /usr/src/linux setzen und das Konfigurationsmenu
aufrufen:
cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.1.tar.bz2
tar -xjf linux-2.6.18.1.tar.bz2
ln -s linux-2.6.18.1 linux
cd linux
make menuconfig
Eine Maske zum Einstellen der Kerneloptionen erscheint:
Hier wird’s jetzt etwas komplex (entweder andere Howtos oder mal meine sample-config
probieren)
Die wichtigesten Punkte sind:
Processor type and featueres -> Processor family (richtiger Prozessor auswählen)
Device Drivers (hier die benötigten Treiber auswählen)
Treiber die für den Systemstart benötigt werden und wichtig sind compiliere ich fest in den Kernel
rein. Dazu zählen:
Chipsatz (IDE-Treiber), Netzwerkkarte, Framebuffer (Grafikkarte)
danach noch die /etc/lilo.conf um einen entsprechenden Eintrag ergänzen
image=/boot/vmlinuz-2.6.18.1
label=Linux-Test
read-only
root=/dev/hda1
und den Kernel mit „make install“ installieren. Die Kernelmodule mit „make modules_install“
6. Eirichten von RAID
Zuerst sichere ich mal mein System, hierzu lege ich eine neue Partiton mit „fdisk /dev/hda“ an.
n (neue Partition), p (primäre Partition), 3 (Nummer 3), p (print), w (write), q (quit).
Die Ausgabe von p (print) sollte dann so aussehen:
Device Boot
/dev/hda1
*
/dev/hda2
/dev/hda3
Start
1
6080
6141
End
6079
6140
30401
Blocks
48829536
489982+
194876482+
Id
83
82
83
System
Linux
Linux swap / Solaris
Linux
Kommt die Meldung
WARNING: Re-reading the partition table failed with error 16: Das Gerät oder die
Ressource ist belegt.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
so muss neu gestartet werden.
Die neu erstellellte Patition wird formatiert und ins Dateisystem gehängt
mkfs.xfs /dev/hda3
mkdir /mnt/sicherung
mount /dev/hda3 /mnt/sicherung/
cp -uaxv / /mnt/sicherung/
Nun installiert man sich mit „apt-get install mdadm“ das mdadm Paket. Aus unserer Installation auf
/dev/hda1 wollen wir ein RAID 1 machen. Hierzu kopieren wir erst mal die Partitonstabelle auf die
zu spielgende Platte „/dev/hdc“. Dies geht mit:
sfdisk -d /dev/hda | sfdisk /dev/hdc
sfdisk --change-id /dev/hdc "1" fd
Zur Kontrolle „sfdisk -l /dev/hdc“
Disk /dev/hdc: 30401 cylinders, 255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start
/dev/hdc1
*
0+
/dev/hdc2
6079
/dev/hdc3
6140
/dev/hdc4
0
End
6078
6139
30400
-
#cyls
#blocks
6079- 48829536
61
489982+
24261 194876482+
0
0
Id
fd
82
83
0
System
Linux raid autodetect
Linux swap / Solaris
Linux
Empty
Mit
vdr:~# mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/hdc1
mdadm: array /dev/md1 started.
„cat /proc/mdstat“ sollte folgendes Bild liefern
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [faulty]
md1 : active raid1 hdc1[1]
48829440 blocks [2/1] [_U]
nun muss man noch ein Dateisystem anlegen:
mkfs.xfs /dev/md1
Das neue Volume wird nun gemountet und die alte Disk kopiert (anm: Da ich damit mehrere
Probleme hatte, insb. mit „/dev“ bzw. udev sollte man die Disk entweder per Knoppix kopieren
oder irgendwie dafür sorgen dass auf der neuen Disk „/dev“ vernünftig angelegt wird)
mkdir /mnt/raid
mount /dev/md1 /mnt/raid/
cp -uaxv / /mnt/raid/
Die „/mnt/raid/etc/fstab“ muss auch noch angepasst werden, damit die neue Root-Partition
gefunden wird:
...
/dev/md1
/
xfs
defaults
0
1
...
Hier weiß ich jetzt nicht mehr was ich alles gemacht habe ;-) jedenfalls muss die „/etc/lilo.conf“
noch angepasst werden und das Raid synchronisiert werden:
root=/dev/md1
und „lilo“ aufgerufen werden:
Added Linux
Added Linux-Test *
Skipping /vmlinuz.old
(anm. Da mein Raid-Howto sicher nicht perfekt ist, empfehle ich auch mal in andere Howtos rein
zu schauen)
7. Installation von VDR
Zuerst hab ich mir ein paar Pakete installiert (Samba, Disk Benchmarks, Syslog, sowie X-Server:
apt-get install syslog-ng swat bonnie++
#X-related
apt-get install icewm xserver-xorg-video-ati xserver-xorg xfonts-base xorg-dev
xfonts-75dpi xfonts-100dpi fontconfig
LIRC selber compilieren (vermutlich nur bei selbstcompilierten Kernel erforderlich, bei StandardKernel sollte auch „apt-get install lirc lirc-dev“ tun)
Developer-Tools installieren
apt-get install dialog cvs libtool autoconf automake
Wir wechseln ins Verzeichnis „/usr/src/vdr“ (oder legen es an) und laden uns LIRC-CVS runter:
cvs -d:pserver:[email protected]:/cvsroot/lirc login
cvs -d:pserver:[email protected]:/cvsroot/lirc co lirc
cd lirc
(Makefile.am ändern)
./autogen.sh
./setup.sh
make
make install
Das Makefile.am musste ich geringfügig ändern, dass die Automake-Version zum Makefile passte.
Nach setup.sh erscheint folgendes Menü. Wichtig ist hier eigentlich nur Punkt 1: Driver
configuration
┌───────────────────────────────Mainmenu─────────────────────────────────┐
│ Welcome to the LIRC Configuration Menu. Here you can configure the
│
│ driver and some compile-time settings for LIRC applications.
│
│ ┌────────────────────────────────────────────────────────────────────┐ │
│ │
1 Driver configuration (driver:serial io:0x2f8 irq:3)
│ │
│ │
2 Software configuration
│ │
│ │
3 Save configuration & run configure
│ │
│ │
4 Save configuration & exit
│ │
│ │
5 Exit WITHOUT doing anything
│ │
│ └────────────────────────────────────────────────────────────────────┘ │
├────────────────────────────────────────────────────────────────────────┤
│
< OK >
<Cancel>
│
└────────────────────────────────────────────────────────────────────────┘
Anm: Am Kernel (im Verz. /usr/src/linux) musste ich noch „make oldconfig && make prepare“
machen, sonst gings nicht
Lirc konnte ich dann starten mit:
setserial /dev/ttyS1 uart none
modprobe lirc_serial
cd /dev
ln -s lirc0 lirc
mode2
/etc/lircd.conf anlegen
irw
Anm: hier ist sicher auch nicht alles perfekt, da ich immer wieder gegen udev und setserial
gekämpft habe.
Treiberinstallation
Für die FF-DVB-Karte ist noch eine Firmware erforderlich. Diese gehört hier hin:
cd /usr/lib/hotplug/firmware/
wget http://www.linuxtv.org/download/dvb/firmware/dvb-ttpci-01.fw-2622
ln -s dvb-ttpci-01.fw-2622 dvb-ttpci-01.fw
nun den DVB-Treiber neu starten
rmmod dvb-ttpci
modprobe dvb-ttpci
im Log sollte dann folgende Zeile auftauchen
Oct 18 13:36:33 vdr kernel: dvb-ttpci: info @ card 1: firm f0240009, rtsl b0250018,
vid 71010068, app c0002622
Installation von VDR
nun sind alle Vorbereitungen getroffen und VDR sollte eigentlich installiert werden können
apt-get install libjpeg-dev libcap-dev
cd /usr/src/vdr
wget ftp://ftp.cadsoft.de/pub/people/kls/vdr/vdr-1.4.3.tar.bz2
tar -xjf vdr-1.4.3.tar.bz2
ln -s vdr-1.4.3 VDR
cd VDR
VDR ist jetzt runter geladen und die „Make.config“ muss noch angepasst werden:
VFAT=1
NO_KBD=1
REMOTE=LIRC
VDR compiliert man jetzt mit „make“ danach müssen noch die Config-files kopiert werden (diese
lege ich in /etc/vdr ab):
mkdir /etc/vdr
cp *.conf /etc/vdr
ln -s /mnt/raid5/video/ /video
./vdr -c /etc/vdr
Nun sollte man ein OSD sehen und kann die Fernbedienung konfigurieren.
Langsam verabschiedet sich mein Howto, anbei noch wie man den Bigpatch, sowie einige Libs
installiert
Wget http://bigpatch.vdr-developer.org/1.4.3/vdr-1.4.3-bigpatch-test1.tar.bz2
tar -xjf vdr-1.4.3-bigpatch-test1.tar.bz2
cat BigPatch/bigpatch-current.diff | patch
libs installation:
cd /usr/src/vdr
apt-get install subversion libtag1-dev libmad0-dev alsa libasound2-dev libc-client-dev
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
cd ffmpeg
./configure --enable-a52 --enable-pp --enable-gpl –cpu=pentium4
make
make install

Documentos relacionados