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