Digitale TV op de PC incombinatie met Arch Linux, Ziggo, Smargo, TVheadend, oscam, ..

Door beta990 op donderdag 11 september 2014 16:28 - Reacties (7)
Categorie: Arch Linux, Views: 1.249

Goedemiddag allemaal,

Na een lange tijd niets gepost te hebben, leek het mij een leuk idee om eens te posten over mijn Linux-avonturen.

In deze post behandel ik het onderwerp 'Digitale TV op de PC', en probeer ik een beeld te schetsen over ervaringen, keuzes, ergernissen, etc.

Inleiding
Helemaal voorbereid te zijn dacht ik:
1. Ik koop een schotel
2. Koop een TV-kaart
3. Gooi het in mijn Linux-bak
4. Installeer de programma's
5. Voetbal kijken in HD!

Helaas.. het is niet allemaal zo eenvoudig. Tenminste niet bij mij.
Als 'leek' op dit gebied was het zoeken naar de beste en tevens goedkoopste oplossing niet makkelijk. Nog altijd is het mij niet gelukt en ben ik tijd verloren die ik had moeten spenderen aan mijn studie. |:(

Als ik eenmaal aan iets ben begonnen, dan wil ik dat ook voor elkaar krijgen. Keer-op-keer was ik weer een stapje dichterbij: 'nog deze stap en dan ga ik slapen', 'ja, ik kan het nu niet afbreken (compilen)', .. aarggh.. zou ik er maar mee stoppen? 8)7

De opzet
De keuze is uiteindelijk gevallen op het niet overschakelen naar de schotel, maar de al werkende Ziggo installatie te gebruiken.

Zo gezegd, zo gedaan:
- Hauppauge WinTV-HVR-5500 TV-kaart aangeschaft
- Smargo (verkocht als Smartreader V2) smartkaart reader gekocht
- Deze gebruiken in mijn simple NAS (ASUS C60M1), die draait op Arch Linux

Natuurlijk had ik mij al wat ingelezen en wist ik dat het niet eenvoudig was, maar ik had wel al een totaal beeld in mijn hoofd.

Als eerste ben ik erachter gekomen dat de betreffende TV-kaart nog niet 'DVB-C ready' was. Gelukkig was er al een Wiki-pagina geschreven en kreeg ik hulp van wat mede-Tweakers om de kaart werkend te krijgen op DVB-C.

DVB-C wordt gebruikt voor 'de kabel'. Deze kaart heeft ook ondersteuning voor DVB-S (Schotel) en DVB-T (Digitenne).

Getting your hands dirty
De module die wordt gebruikt voor deze kaart dient gepatched te worden, voordat DVB-C bruikbaar wordt. Sinds ik nooit echt iets heb moeten patchen (van modules), ben ik contact gaan opzoeken met de maker van de eerste set patches.

Deze ontwikkelaar heeft uiteindelijk deze week een patch vrijgegeven, waardoor DVB-C zou moeten werken. Het blijft toch altijd een probleem; fabrikanten geven geen/tot weinig documentatie vrij en de ontwikkelaar dient zelf maar 'te raden' wat switches en bepaalde waardes doen.

Deze twee links hebben mij geholpen om uiteindelijk te module(s) te patchen:
http://www.linuxtv.org/wi...ll_V4L-DVB_Device_Drivers
https://patchwork.linuxtv.org/patch/23787/

Verder had ik ook nog de firmware nodig:
cd ~
mkdir get_dvb_firmware
cd get_dvb_firmware
wget https://raw.github.com/to...tion/dvb/get_dvb_firmware
chmod a+x get_dvb_firmware
./get_dvb_firmware si2165
sudo cp dvb-demod-si2165.fw /lib/firmware/

Eindelijk klaar! En nu de module inladen.. helaas niet. De kernel heeft nog steeds 'oude' modules van zichzelf:
for file in `find /lib/modules -name "*.ko"`; do if [[ -e $file.gz ]]; then mv $file.gz $file.gz.bak; fi; done

Nu dan.. helaas symbols waarschuwing. Uiteindelijk lukt het me om de module in te laden met het commando: modprobe cx23885 --force

Omdat dat deze TV-kaart twee ingangen heeft, moest ik deze nog even omzetten naar DVB-C:
# dvb-fe-tool --adapter=1 --frontend=0 --set-delsys=DVB-C

Note: niet is alles is beschreven; volg de gegeven wiki's voor volledige installatie/debugging.

OScam
Een collegae heeft mij gewezen op het programma OScam. Hiermee wordt het mogelijk een enkele smartcard te delen over meerdere apparaten. Je kunt ook doen aan card-sharing, maar dat is volstrekt illegaal. Je bent gewaarschuwd. ;)

Na 180x verschillende setup te proberen, smartkaart om draaien, etc. Is het mij uiteindelijk gelukt met de volgende configuratie, OScam aan de praat te krijgen:

oscam.conf
[global]
logfile = /var/log/oscam/oscam.log
logduplicatelines = 1
nice = -1
maxlogsize = 1024
usrfile = /var/log/oscam/oscamuser.log
cwlogdir = /var/log/oscam/cw

[cache]

[newcamd]
port = 10000@0604:000000
key = 000102030405060708090A0B0C0D
keepalive = 1

[dvbapi]
enabled = 1
au = 1
user = user1

[monitor]
port = 988
aulow = 120
monlevel = 1

[webif]
httpport = 8888
httpuser = admin
httppwd = 1234
httpallowed = 127.0.0.1,192.168.1.0-192.168.1.255,255.255.255.255
aulow = 120

oscam.server
[reader]
label = ziggo
protocol = smargo
device = /dev/buspirate
services = services1
resetcycle = 5
smargopatch = 1
autospeed = 0
caid = 0604
boxkey = 1122334455667788
rsakey = 3C8633AAC0D367533DEC7BB2EEEDEB8CA3ADA52E58B99BB34672783277A1DAAC3B6106AD0909774E031B2A6E30195B437683AD0FC599B87D08CEA47BE1B6C76A
force_irdeto = 1
detect = cd
mhz = 600
cardmhz = 600
ident = 0604:000000
group = 8
emmcache = 1,3,2

Note: https://wiki.archlinux.org/index.php/Bus_pirate

oscam.user
[account]
user = user1
pwd = password1
caid = 0604
au = ziggo
group = 8
services = services1
ident = 0604:000000

Uiteindelijke resultaat:
2014/09/11 15:02:40 23C04B0 r ziggo [smargo] found card system irdeto
2014/09/11 15:02:40 23C04B0 r ziggo [irdeto] THIS WAS A SUCCESSFUL START ATTEMPT No 1 out of max alloted of 1

TVHeadend
Dit programma wordt gebruikt voor het verkrijgen van een uiteindelijke stream, maar heeft wel een werkende OScam nodig, om uiteindelijk zijn werk te doen.

Nou ja werk.. Het is nogal een onderneming het aan de praat te krijgen.
Uiteindelijk heeft de handleiding van mede-Tweaker W3ird_N3rd, ervoor gezorgd dat ik de eerste stappen 'succesvol' kon uitvoeren.

De laatste stappen bleven voor mij ingewikkeld en hebben mij een paar nachten gekost om het proces een beetje te begrijpen: Muxes worden gebruikt om te zoeken naar zogenaamde services. De services zijn de uiteindelijke Tv -en-of radio-kanalen.

Normaal gesproken zou het voor TVHeadend een eenvoudige klus zijn deze automatisch te vinden aan de hand van de Netwerk-code. In mijn geval: 1111 (Limburg)
Helaas werkt dit niet bij, waardoor ik deze handmatig moet invoeren:

Sym/s: 6875000

1111 : Ziggo Brabant Limburg
1 420000 256-QAM
3 372000 256-QAM
4 554750 256-QAM
5 460000 256-QAM
6 762750 256-QAM
7 538750 256-QAM
9 642750 256-QAM
10 474750 256-QAM
11 586750 64-QAM
12 738750 256-QAM
13 412000 256-QAM
14 682750 256-QAM
15 658750 256-QAM
16 562750 256-QAM
18 356000 64-QAM
19 428000 256-QAM
22 674750 256-QAM
23 578750 256-QAM
24 826750 256-QAM
25 690750 64-QAM
26 498750 64-QAM
27 452000 256-QAM
28 818750 256-QAM
29 698750 64-QAM
30 546750 256-QAM
31 570750 256-QAM
32 626750 64-QAM
33 364000 256-QAM
206 436000 64-QAM
207 444000 64-QAM
2700 618750 256-QAM

Bron: http://www.digitalekabelt.../techniek/cogaslist.shtml

De eerste zenders kwamen al te voorschijn! Eindelijk! _/-\o_
Te vroeg 'een gat in de lucht gesprongen': "kernel BUG at mm/slub.c:1390!"
Aaargggh.. 8)7

Te koop: Smargo, HVR-5500, ...
Nou ja, ik wil eerst nog even proberen het aan de praat te krijgen.
Op dit moment ben ik bijvoorbeeld de laatste linux-git kernel aan het compilen en hoop ik dat dit een aantal problemen oplost. Ook probeer ik de ontwikkelaar te bereiken en zoveel mogelijk informatie in te wisselen.

Daarvoor heb ik wel de hulp van jullie nodig.
Graag hoor ik wat jullie voor een setup draaien, hoe het allemaal is gegaan en welke dingen die moeilijkheden (hopelijk niet of coures..), je bent tegengekomen. Tips zijn altijd welkom en ik hoop dat ook mede-Tweakers er iets aan hebben. :)

Mijn uiteindelijke beeld
Eigenlijk is het toch belachelijk hoeveel moeite je moet doen om digitale televisie te kijken op de computer. Waarom moet ik perse een smartcard reader kopen die 'wat gehackt' is, waarom moet er zo'n versleuteling opzitten, .. Nee, de providers hebben ons niet in hun macht gelukkig. ;)

Arch Linux - De Installatie

Door beta990 op woensdag 30 januari 2013 17:30 - Reacties (7)
Categorie: Arch Linux, Views: 2.542

Inleiding
Naar aanleiding van mijn vorige blogpost waar ik Arch Linux als 'de beste' Linux-distributie in jaren beschrijf, is het nu zaak om 'de rest' ook met deze Linux-distributie kennis te laten maken. In deze blogpost ga ik dan ook veel verder in op Arch Linux, welke voordelen en nadelen deze Linux-distributie heeft en bespreek ik mijn eigen ervaringen die ik in de loop der jaren met Arch Linux heb opgedaan.

Arch Linux
Allereerst wil ik de doelgroep van Arch Linux beschrijven: Linux-fanaten die de volledige controle willen hebben over het OS. Ze willen bijvoorbeeld zelf bepalen welke pakketten dienen worden geÔnstalleerd en de ruimte hebben om onderdelen (volledig) naar hun hand te zetten, om zo het maximale uit het systeem te halen.
Als je dan ook begint met Arch Linux zul je al snel verbaasd zijn over de vele mogelijkheden die er worden aangeboden om dit voor elkaar te krijgen. Ik zal dan ook niet alle mogelijkheden beschrijven, enkel alleen de meest gebruikte. In de (uitstekende) Arch Linux Wiki's is nog veel meer informatie te vinden die hier niet is beschreven.

Houd er rekening mee dat je altijd zult moeten blijven 'tweaken', ook al heb je voor en na de installatie alles correct opgevolgd wat beschreven staat in de Wiki's. Het gebeurt bijvoorbeeld vaak dat confg-bestanden van plaats veranderen. Zo veranderde recent het config-bestand van het pakket cpupower van locatie /etc/conf.d/cpupower naar /etc/default/cpupower. Eerdere aanpassingen in het 'oude' config-bestand zul je dus zelf moeten overnemen naar de nieuwe locatie. Gelukkig worden 'oude' configuratie-bestanden niet verwijderd, in plaats daarvan wordt bij 'oude' config-bestanden de extensie .pacsave erachter geplaatst. Zo kun je aanpassingen toch (eenvoudig) naar het nieuwe config-bestand schrijven.
Mocht er toch een nieuw configuratie-bestand nodig zijn voor een pakket op dezelfde locatie, dan krijgt deze dezelfde naam, maar wordt er de extensie .pacnew aan toegevoegd. Op die manier is dus eenvoudig te zien wanneer je het configuratie-bestand zult moeten herzien.

Mocht je dus 'geen fan' zijn van continue aanpassingen doorvoeren of heb je een systeem, bijvoorbeeld een NAS/Server, die altijd 'braaf' zijn werk moet doen, dan zou Arch Linux weleens voor jouw toepassing misschien niet geschikt kunnen zijn. Desondanks zou ik toch willen vragen om Arch Linux eens een kans te geven op een (oude) PC of binnen een VM. :)

Wat heb ik allemaal nodig
Als eerste is het natuurlijk zaak om een werkend systeem te vinden of een VM beschikbaar te maken voor Arch Linux met een bedrade (aanbevolen) of draadloze internet-verbinding.
Mijn eigen systeem waarop Arch Linux is geÔnstalleerd bestaat uit een Intel Core i5-2400 in combinatie met een ASUS P8H67-M Pro B3 moederbord en 8GB DDR3 Kingston werkgeheugen. Een Samsung 830 120GB SSD dient als opslag. Een EVGA NVIDIA GeForce 450 GTS videokaart stuurt vervolgens beelden via DVI door naar mijn Samsung 2253LW monitor.

Zorg ook voor een backup! Je raakt met de onderstaande stappen namelijk je data kwijt! Daar ben ik overigens niet verantwoordelijk voor. Net als ook schade aan je systeem of stress die eventueel op zou kunnen treden. ;)

Arch Linux downloaden
Laten we maar eerst beginnen met het ophalen van de Arch Linux ISO, die op deze download-pagina is te vinden.

Zelf raad ik aan om gebruik te maken van een clean FAT32-geformatteerde USB-stick. Het zou voldoende moeten zijn om de ISO met 7-zip uit te pakken naar de USB-stick. Wil je echter gebruik maken van UEFI, volg dan deze stappen van de Arch Linux Wiki. Je kunt dit overigens ook prima in Windows doen. Het enige wat je moet doen is de label van de USB-stick veranderen naar de Arch Linux versie, die je kunt vinden in het bestand loader/entries/archiso-x86_64.conf die op de USB-stick is geschreven (bijvoorbeeld ARCH_201301). Mocht je trouwens tegen problemen bij het booten van een ASUS moederbord in UEFI-mode, volg dan de extra beschreven rEFInd stappen.

Als het eenmaal gelukt is om met de gemaakte USB-stick of CD-rom te booten, is het zaak om als eerste de hardeschijf in te richten. Ik raad verder aan de volgende twee (1 - 2) Wiki-pagina's naast deze blogpost te openen. Kijk hier regelmatig op terug, zodat je geen enkele stap overslaat of regelmatig de gekozen stappen kan controleren.

Hardeschijf indelen
Arch Linux beschikt niet (meer) over een GUI om je te helpen bij de installatie. In plaats daarvan zul je de commando's nu zelf moeten intypen. Geen nood! Het werkt allemaal veel eenvoudiger dan een Wizard! Commando's die ik intype beginnen met een #. Die hoef je natuurlijk zelf niet te typen, die staat er immers al. :P

Als eerste gaan we controleren of er een verbinding is gemaakt met het internet:
#ping -c 3 tweakers.net
Geen verbinding? Volg de beschreven stappen in de Beginners Guide. Hierin staat ook beschreven hoe er draadloos een verbinding dient worden gemaakt.

Controleer voor UEFI ook in een keer of je wel in de UEFI-mode zit:
#modprobe efivars
#ls -1 /sys/firmware/efi/vars/
Vervolgens gaan we verder naar het kopje Prepare the storage drive uit de Beginners Guide. Omdat ik zelf gebruik maak van UEFI deel ik mijn hardeschijf in met het programma gdisk. Mocht je geen gebruik maken van UEFI, sla UEFI stappen over! Deze werken immers alleen op een UEFI-moederbord! Voor MBR gebruik het programma [url=http://tldp.org/HOWTO/Partition/fdisk_partitioning.htmlfdisk[/url]. Omdat er meerdere schijven in mijn systeem aanwezig zijn, voer ik eerst het commando #fdisk -l uit. Ik krijg nu een mooi overzicht welke schijf ik moet kiezen, nm.: /dev/sda.

De volgende partities zal ik aanmaken d.m.v. gdisk:
Number Type Size
/dev/sda1 ef00 200MB
/dev/sda2 8300 Rest

Voor UEFI dient er een aparte partitie-type (ef00) worden gemaakt die zich helemaal op het begin moet bevinden. Zelf maak ik geen aparte partities meer aan, behalve voor de root (/). Je kunt kiezen deze root nog verder op te splitsen in bijvoorbeeld /home, /boot, etc. Zelf raad ik dit echter af. Je kunt de root ook kleiner maken als je wilt dual-booten met Windows. Een aparte partitie voor /boot (rond de 200MB) is bijvoorbeeld wel nodig als je wilt gaan werken met encryptie, maar dit wordt in deze tutorial niet toegelicht. Een swap-partitie maak ik tegenwoordig ook niet meer aan. Je kunt deze uiteraard wel zelf toevoegen of je kunt gebruik maken van een swap-file, die je ook zelf na de installatie kan toevoegen.

Goed, laten we verder gaan met het opdelen van de hardeschijf:
#gdisk /dev/sda
#o
Y
#n
Partitie-nummer: 1
First-sector: [enter]
Last-sector: +200M
Hex-code: ef00
[enter]
#n
Partitie-nummer: 2
First-sector: [enter]
Last-sector: [enter]
Hex-code: [enter]
#p
#w
Y

Nu de hardeschijf is opgedeeld in twee partities (/dev/sda1 en /dev/sda2), is het zaak om deze partities te voorzien van het juiste filesystem. Voor de EFI-partitie is een FAT32 filesystem aan te raden. Voor de root kan je zelf een keuze maken. Ik gebruik zelf ext4 omdat deze al een langere tijd bestaat en zich al als 'betrouwbaar' heeft bewezen:
#mkfs.vfat -F32 /dev/sda1
#mkfs.ext4 /dev/sda2

De partities zijn nu voorzien van het juiste filesystem. Ze dienen nu alleen nog op de correcte wijze gemount te worden op /mnt. Arch Linux zal namelijk deze locatie gebruiken voor de installatie:
#mount /dev/sda2 /mnt
#mkdir -p /mnt/boot/efi
#mount /dev/sda1 /mnt/boot/efi

Zoals hier te zien is maken we voor EFI weer een uitzondering. Mocht je de root in meerdere delen verdeeld hebben, mount deze dan ook hier! Bijvoorbeeld een /home, /var, /boot, etc. Zie de context onder het kopje Mount the partitions van de Beginner Guide.

De Arch Linux Installatie
Eindelijk.. we zijn zover! Voordat we beginnen aan de installatie, kiezen we als eerste een snelle en betrouwbare mirror uit, waar Arch Linux de nieuwste pakketten voor de installatie vandaan gaat halen:
#nano /etc/pacman.d/mirrorlist
Zet een # voor de twee bovenste Server = lijnen. Als het goed is zou Netherlands nu de standaard Server moeten zijn. Klik op CTRL+O [enter] en CTRL+X op het toetsenbord om de wijzigingen naar het config-file te schrijven.

Vul vervolgens het onderstaande commando in om Arch Linux te installeren naar de hardeschijf, druk in beide gevallen op de enter-toets bij de vraag welke pakket selecties:
# pacstrap -i /mnt base base-devel

Hoe snel de (basis)-installatie verloopt is afhankelijk van de internet-verbinding, als ook de snelheid van het systeem.
Als de installatie van de pakketten is afgerond, voeren we het volgende commando uit:
#genfstab -U -p /mnt | sed 's/rw,relatime,data=ordered/defaults,relatime/' >> /mnt/etc/fstab

Dit commando heeft de partitie-indeling geschreven naar het bestand /etc/fstab. Dit zal Arch Linux gebruiken tijdens het booten om de partities te mounten. Dit bestand moet wel nog even worden aangepast, maar daarover zo meteen meer! :P

Arch Linux configureren
'Chroot' vervolgens om Arch Linux te configureren:
# arch-chroot /mnt

Zoals gezegd kom ik nog even terug op het geschreven /etc/fstab bestand. Open deze weer in nano en maak deze 'zo schoon' mogelijk, als in het onderstaande voorbeeld:
#nano /etc/fstab
#cat /etc/fstab
#
# /etc/fstab: static file system information
#
# <file system> <dir> <type> <options> <dump> <pass>
# UUID=***
/dev/sda5 / ext4 defaults,noatime,discard 0 1

# UUID=*** LABEL=EFI
/dev/sda1 /boot/efi vfat noatime,errors=remount-ro 0 2

# tmpfs
tmpfs /tmp tmpfs nodev,nosuid,size=4G 0 0

De flag discard is nodig voor TRIM-commando bij SSD's. De /tmp directory mount ik in het geheugen, zo wordt het schrijven naar de SSD verminderd.

Stel vervolgens de locale instellingen die je wilt gebruiken voor het systeem door het # ervoor weg te halen:
#nano /etc/locale.gen

Zelf maak ik gebruik van de volgende twee 'locales':
en_US.UTF-8 UTF-8
nl_NL.UTF-8 UTF-8

Schrijf vervolgens met het volgende commando de locale die je als standaard wilt gebruiken naar de juiste locatie:
#locale-gen
#echo LANG=en_US.UTF-8 > /etc/locale.conf
#export LANG=en_US.UTF-8

Maak vervolgens het volgende bestand aan voor de Console-letterype:
#nano /etc/vconsole.conf
#cat /etc/vconsole.conf
KEYMAP=us
FONT=Lat2-Terminus16

Vervolgens is het de juiste tijd om.. jawel! De juiste tijd in te stellen:
#ln -s /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime

Zet vervolgens de 'systeem-clock' op UTC:
#hwclock --systohc --utc

Stel de computernaam in:
#echo computernaam > /etc/hostname

Om na de installatie Arch Linux met een internet-verbinding op te starten, voer het volgende commando uit:
#systemctl enable dhcpcd@eth0.service

Extra: Volg eventueel de extra beschreven stappen in de Beginners Guide mocht je kernel modules nodig hebben voor je (wireless-)netwerk-adapter!

Ramdisk, gebruikers toevoegen, root-wachtwoord
Als eerste moet er een Ramdisk worden gegenereerd, d.m.v. het volgende commando:
#mkinitcpio -p linux

Nu is het zaak de standaard gebruiker 'root' te beveiligen met een zelfgekozen (erg veilig :P ) wachtwoord:
#passwd

Vervolgens voegen we een eigen gebruiker toe. Deze gebruiker kan gebruikt worden in combinatie met het sudo* commando, die we later na de installatie zullen toevoegen:
#useradd -m -g users -G wheel -s /bin/bash gebruikersnaam
#passwd gebruikersnaam

Bootloader
Eindelijk, we zijn bij de allerlaatste stap aangekomen! Volg de GRUB-stappen van de Beginners Guide om deze bootloader te installeren in gebruik met een MBR-partitie indeling. Gebruik je echter UEFI, volg dan de onderstaande geschreven stappen.

Voor UEFI blijft het altijd even zoeken. Dit zijn de stappen die correct werken op mijn ASUS moederbord:
#mkdir -p /boot/efi/EFI/arch/
#cp -R /boot/vmlinuz-linux/boot/efi/EFI/arch/vmlinuz-arch.efi
#cp -R /boot/initramfs-linux* /boot/efi/EFI/arch/
#pacman -S refind-efi
#cp /usr/lib/refind/refind_x64.efi /boot/efi/EFI/refind/refind_x64.efi

#cp /usr/lib/refind/config/refind.conf /boot/efi/EFI/refind/refind.conf
#cp /usr/share/refind/icons /boot/efi/EFI/refind/icons

Zoek nu de PARTUUID op van de root-partitie (/dev/sda2), d.m.v. het volgende commando:
#blkid

En neem deze over in het volgende config-bestand. LET OP: Gebruik PARTUUID, niet UUID!:
#nano /boot/efi/EFI/arch/refind_linux.conf
#cat /boot/efi/EFI/arch/refind_linux.conf
"Boot with defaults" "root=PARTUUID=98c* rootfstype=ext4 ro add_efi_memmap systemd.unit=graphical.target"
"Boot to Terminal" "root=PARTUUID=98c* rootfstype=ext4 ro add_efi_memmap systemd.unit=multi-user.target"

Voeg volgens ArchLinux als eerste (UEFI-)boot-entry toe:
#efibootmgr -c -g -d /dev/sda -p 1 -w -L "rEFInd" -l '\EFI\refind\refind_x64.efi'

Unmounten en rebooten
#umount /mnt/boot/efi
#umount /mnt
#reboot

Eindelijk klaar.. of toch niet?
Helaas zijn 'we' nog lang niet klaar. Er dient nog zoveel te gebeuren: Video, audio, desktop-omgeving(en), optimaliseren, .. nee we zijn nog lang niet klaar! Desondanks laat ik het even hierbij. Ik zou graag feedback van jullie willen horen of het gelukt is (of niet) om de basis te installeren. :)
Loop je vast of start ArchLinux niet op na de installatie, formatteer dan niet meteen. Vaak is een herinstallatie niet nodig!

In de volgende blogpost gaan we verder in op de (aanbevolen) stappen na de installatie. Stay tuned! And good luck!

PS: Nog een kleine opmerking, mocht je deze documentatie in PDF-vorm gestuurd willen zien, laat mij dit dan weten! Voor het kopieren zou ik toch graag (een kleine regel) credit willen zien. Ook al is veel afkomstig van de Arch Wiki's, ik heb er toch een (beetje :P ) moeite voor moeten doen. ;)

Arch Linux - De beste Linux-distributie sinds jaren

Door beta990 op donderdag 24 januari 2013 18:15 - Reacties (20)
Categorie: Arch Linux, Views: 4.079

Inleiding
De gekozen titel is natuurlijk meer op enthousiasme van mezelf gekozen, dan dat dit (misschien) voor iemand anders zou gelden. Maar dat even terzijde..
In de afgelopen jaren heb ik veel kennis mogen opdoen met de verschillende Linux-distributies die er op dit moment zijn. En dat zijn er nogal wat.. heeft u een momentje? Persoonlijk denk ik dat de meeste gestart zijn met op een Debian gebaseerde distributie. Ubuntu spant hier natuurlijk de kroon. Zij zijn de eerste, tenminste uit mijn eigen ervaring, die begonnen zijn met het aanspreken van een groter publiek. Namelijk het publiek dat geen enkele andere ervaring had met een ander besturingssysteem dan Windows.

http://i1273.photobucket.com/albums/y415/francoism12/logo-ubuntu_zps16ee7924.png

De eerste stappen binnen Linux
Uit nieuwsgierigheid ben ik begonnen met Ubuntu te installeren op een oudere computer. Van VM's had ik in die tijd nog nooit gehoord. Ook algemene begrippen als GRUB (bootloader), GNOME (desktop-omgeving) en Compiz (window-manager) waren me toen niet zo bekend. Persoonlijk denk ik dat dit kwam omdat ik in die tijd meer als 'een consument' dacht. Ik wilde gewoon iets wat werkte, het moest doen wat ik wilde en het moest (ongeveer) hetzelfde werken als ik al jaren op Windows gewend was. Na wat maanden stoeien met Ubuntu, begon ik steeds meer interesse te hebben in de omgeving omzetten naar mijn eigen hand. Ik wilde bijvoorbeeld af van de donkere (voornamelijk paarse) kleuren op balken en vensters. Op diverse sites vond ik dan al snel mooier thema's, veel die ook leken op Windows Vista (die toen pas net in de markt was gezet). Om deze thema's (iconen, gtk/metacity-thema's, etc.) aan te passen, moest je al snel duiken in de bijgeleverde Terminal. Iets waar ik vooral in het begin veel moeite mee had. Ik wilde immers gewoon (zoals ik gewend was) bestanden kunnen slepen van de een naar de andere map zonder dat ik eerst 'sudo cp ..' ervoor moest typen. Ook het installeren van pakketen d.m.v. een pakket-manager was mij vreemd. Ik was immers gewoon gewend voor het gewenste programma een Setup.exe te runnen. Na een tijdje werken met de Terminal, voelde ik me al sneller thuis in Linux. Dit is nog niet eens zo slecht dacht ik.. Ik zie immers nu wat er gebeurt als ik 'sudo apt-get install ..' uitvoer: hoe snel wordt het pakket gedownload, hoe groot is het, hoe veel procent nog voordat 'ie geÔnstalleerd is, etc. Een ware wereld ging voor me open. Ik had eindelijk de controle in handen (tenminste dat denk je..) over mijn eigen systeem. Als ik een pakket niet gebruik, dan verwijder ik het zelf. Een veel recentere versie installeren van een pakket/kernel d.m.v. PPA's. De pakket-manager die alles (inclusief libs) voor je up-to-date houdt, in een woord geweldig!.. Voor even dan.. Opeens wilde ik overal de controle over hebben: welke omgeving, kernel, bootloader, video-drivers, etc. Na een tip van een Bumblebee-developer ben ik eens gaan stoeien met Arch Linux. Een OS waar ik voorlopig niet snel meer weg van zou willen gaan! :)

http://i1273.photobucket.com/albums/y415/francoism12/logo-arch_zps66783c44.png

Arch Linux
Hoewel Arch Linux als bleeding-edge OS wordt gepresenteerd, valt dit in de praktijk reuze mee. Ook dat je veel zelf zou moeten compileren is onjuist. De package-manager (pacman) haalt zijn pakketten namelijk uit de volgende repositories:
Core - Hier bevinden zich alleen de basis-pakketten die nodig zijn om Arch Linux te kunnen installeren, denk hierbij aan het maken van partities (fdisk, gdisk, etc.), find, grep, nano, vi-utilities, etc.
Extra - Hier bevinden zich al wat grotere pakketten, zoals bootloaders (GRUB, rEFInd, etc.), desktop-omgevingen (KDE, GNOME, XFCE, etc.), LibreOffice, GIMP, etc.
Community - Dit zijn pakketten die worden onderhouden door betrouwbare leden van de Arch Linux community. Volgens de officiŽle Wiki zijn dit pakketten die door gebruikers veel werden gevraagd, maar niet door de developers onderhouden kunnen/konden worden.

Daarnaast zijn van er nog andere repo's beschikbaar:
Multilib - 32-bit pakketten die (eventueel) nodig zouden zijn op een 64-bit installatie. (Skype, maar ook codecs voor Flash, vallen voornamelijk onder deze repository)

Verder zijn van de Core, Extra en Community nog testing varianten beschikbaar. Deze raad ik persoonlijk af, tenzij je echt bleeding-edge wilt gaan. Hier vind je bijvoorbeeld de nieuwste builds van GNOME, KDE, de Linux-kernel, etc.

http://i1273.photobucket.com/albums/y415/francoism12/aur_zps59e1bfd6-1_zps35815e53.jpg

AUR
Een mooie toevoeging van Arch Linux is het gebruik van de AUR-repository. Deze repository bevat door gebruikers gemaakte en onderhouden pakketten. Deze repository is (geheel) op eigen risico te gebruiken. De pakket-manager (pacman) biedt dan standaard ook niet de mogelijk om deze repository te gebruiken. In plaats daarvan moet er een aparte pacman-wrapper gebruikt worden: Yaourt. Yaourt is dus eigenlijk een uitbreiding om pacman heen. Zoals gezegd is het met Yaourt dus mogelijk om pakketten die zich bevinden in de AUR-repository te installeren, maar tevens biedt Yaourt ook de mogelijkheid om op pakketten te stemmen. Hoe hoger op een pakket gestemd wordt, hoe meer kans dat deze maakt om (met eventueel de developer) naar de Community-repository te verhuizen. Yaourt is niet (perse) nodig voor de installatie van Arch Linux. Vandaar dat deze dus apart kan worden toegevoegd na de installatie. Verder wil ik benadrukken dat ik hier alleen spreek over Yaourt. Maar zoals vrijwel elk programma, zijn er voor Yaourt ook alternatieven. Maar over het algemeen is Yaourt de meest gebruikte uitbreiding op pacman.

Sleutelen en nog meer sleutelen
Om helemaal weer terug te komen op de intro van deze post: Arch Linux is dus een Linux-distributie die de gebruiker de mogelijkheid geeft zelf zijn OS in te richten. Dat maakt het in een keer ook een stuk moeilijker.. je moet immers zelf een bootloader, desktop-omgeving, enz. kiezen. In het begin is dit even zoeken, maar de Wiki's geven zo'n uitgebreide informatie dat je haast niet verkeerd kan kiezen. En wat nu als je de verkeerde keuze maakt, bijvoorbeeld in de bootloader? Of dat je overschakelt naar UEFI? (waardoor een UEFI-bootloader nodig is) Eenvoudig, je installeert gewoon de gewenste bootloader. Je mag ook pakketten lekker combineren, en klaagt 'ie dan toch over een bepaalde depency die niet mag worden verwijderd, dan voer je gewoon: sudo pacman -Rdd *pakket-naam* uit, en het pakket wordt 'zonder' veel moeite verwijderd.

http://i1273.photobucket.com/albums/y415/francoism12/pacman_zpse7e177bc-1_zps98ef7ebd.jpg

Geschikt voor mij?
Is Arch Linux geschikt voor iedereen, m.a.w. zou iedereen die Linux wilt draaien Arch Linux als OS moeten kiezen? Om heel eerlijk te zijn hangt dit geheel van je eigen wensen af. Wil je zelf kiezen (zelf de controle) of vind je het niet erg dat ervoor jou (het meeste) is uitgezocht?

Arch Linux blijft natuurlijk wel een beetje bleeding-edge. Hou er rekening mee dat je met regelmaat config-files zult moeten aanpassen omdat pakketten soms van locatie veranderen, of er instellingen erbij of weggehaald worden. Arch Linux is nu eenmaal een rolling-distro. Dat wil zeggen dat pakketten worden geŁpdatet als er nieuwere versies beschikbaar zijn, of pakketten afvallen die niet meer voldoen aan de 'standaard'. ;)

Om een beetje op mijn eigen situatie terug te komen: Arch Linux draait als Desktop-OS. Op mijn NAS draai ik daarentegen de laatst beschikbare Ubuntu Server LTS versie. Je wilt op een NAS nou eenmaal geen gedoe met config-files, etc. Je wilt dat het 24u/7 dagen in de week, correct zijn werk doet. :)


Nou dit was voorlopig mijn (allereerste) blogpost. Ik zou deze blog willen gebruiken voor het posten van mijn eigen Linux ervaringen, maar ook andere (IT-)onderwerpen zou ik wel willen belichten. Hoe en wat, .. dat laat ik even aan de toekomst over.. ;)
Mocht er trouwens 'behoefte' zijn aan meer informatie over Arch Linux of misschien een (installatie) tutorial dan hoor ik dit graag! :)

P.S. Bedankt voor het lezen! Laat mij graag even weten wat je vindt van Arch Linux en natuurlijk van deze (allereerste) blogpost!

Links
Arch Linux Website - Downloaden van Arch Linux, etc.
Arch Linux Wiki - Leest dit eerst door voordat je aan Arch Linux begint
DeviantArt Gallery - Desktop Screenshots van mijn huidig desktop en van andere Linux-gebruikers zijn hier o.a. te vinden.