Zoals beloofd zou ik een how-to en tevens korte review schrijven voor het installeren van een OpenELEC.tv system, dat draait vanaf een USB stick.
De laatste week ben ik erg druk bezig geweest met de ontwikkelaar van OpenELEC.tv die mij fantastisch geholpen heeft, met bepaalde zaken te implementeren en aanpassen. Het project is nog vrij jong, en draait nog in volle bèta fase, en de ontwikkelaars verwelkomen graag nieuwe ideeën. Mits deze strookt met de ideologie van hun, doen ze er ook hun absolute best dit binnen de kortste tijd te implementeren.
OpenELEC.tv is een project dat als visie heeft een “gesloten firmware” voor XBMC te maken, waarin alleen de belangrijke componenten aanwezig zijn, voor een stabiele XBMC installatie, en het tevens makkelijk maakt voor gebruikers dit soort systemen te installeren zonder al te veel kennis te hebben van Linux. Het systeem draait (en wordt momenteel vooral getest) op de meest bekende systemen zoals de Asrock 330, Zotac etc etc.
Een ander aspect wat ik tijdens het testen heb ondervonden, is dat deze installatie zorgt voor een zeer zuinig systeem. Bij een default Ubuntu installatie draaide mijn Asrock in IDLE op continu 20/40% CPU, en zo’n 20% geheugen. Door OpenELEC.tv te gebruiken, heb ik dit in IDLE kunnen verlagen naar zo’n 0,5-2% voor de CPU, en 6% voor het geheugen. Ook de Hard-disk spint niet meer, waardoor deze zeer makkelijk in spindown te brengen is. Dus, nóg zuiniger.
Ikzelf heb gekozen om alles te draaien vanaf USB stick, maar neem in gedachte dat je hier alle kanten mee uit kan gaan, zoals het booten vanaf compact flash card (Acer Revo), je data folder op schijf ipv USB stick (waar je dan in principe alleen nog maar een 128 MB stick voor nodig hebt). Mocht je hier vragen over hebben, dan kun je die uiteraard stellen op het OpenELEC.tv forum.
Ik zal hieronder de stappen schrijven die ik heb genomen om OpenELEC.tv op USB te krijgen.
benodigdheden:
- USB stick, minimaal 1 GB
- Een Linux machine, of een machine die je boot met een live cd, waarmee je een console kunt openen.
- syslinux bootloader (deze is vrij simpel te installeren). Aangezien ik achter een Windows machine zit te werken, gebruik ik de Windows variant: http://reilly.homeip.net/folding/syslinux.exe . Mocht je kennis hebben, van bijvoorbeeld GRUB, dan mag je zelf ook GRUB gebruiken. In het te downloaden OpenELEC.tv package staan voorbeeld configuraties voor onder andere ook GRUB. Mocht iemand hier een how-to voor hebben, of deze hierop aan willen passen, dan is dat welkom in een post hieronder.
- Laatste OpenELEC.tv image. Deze kun je downloaden van http://snapshots.openelec.tv
Op de USB stick zijn 2 partities noodzakelijk, 1 voor de bootdata en de 2de voor plugin en configuratie data. Een windows gebruiker zou zeggen, ‘hey, dat gaat niet’. Maar jawel, hier hebben we het linux systeem voor nodig, waarin je een USB stick wél kunt partitioneren.
1. steek de USB stick in je draaiende linux machine/live cd machine.
2. open het console en zorg dat je su privileges hebt, in Ubuntu kun je dit doen door het commando ‘sudo bash’
3. type het commando ‘fdisk -l’
4. Noteer de benaming van de USB drive (in onderstaande voorbeeld zie je dat dit in mijn geval “sdb” zal zijn. Dit zal ik dan ook blijven gebruiken in deze howto)
Voorbeeld:
root@xbmc:~# fdisk -l
Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xfb77a217
Device Boot Start End Blocks Id System
/dev/sda1 * 1 38258 307307353+ 83 Linux
/dev/sda2 38259 38913 5261287+ 5 Extended
/dev/sda5 38259 38913 5261256 82 Linux swap / Solaris
Disk /dev/sdb: 4008 MB, 4008706048 bytes
255 heads, 63 sectors/track, 487 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x04d7d283
Device Boot Start End Blocks Id System
/dev/sdb1 1 488 3914720+ c W95 FAT32 (LBA)
Partition 1 has different physical/logical endings:
phys=(486, 254, 63) logical=(487, 92, 53)
5. type het commando ‘umount /dev/sdb1′
6. type het commando ‘fdisk /dev/sdb’
- type nu p om de partities te laten zien en d om ze te verwijderen.
- controleer of er geen andere partities meer op de disk staan, door nogmaals de p te gebruiken, en volg de stappen nogmaals voor de resterende, mochten deze er nog zijn.
- type n om een nieuwe partitie te maken.
- type p voor een primaire aan te maken
- type 1 om de eerste aan te maken
- Bij First Cylinder, druk op enter
- type nu +250M, om de grootte aan te geven (in dit geval 250 MB) en druk enter.
- type a om de partitie actief te maken
- type 1, om de eerste partitie te kiezen
- type t om het filsystem te kiezen
- type 6, om hiervan een FAT16 partitie van te maken
Vervolgens gaan we door met het maken van de 2de partitie op de USB stick:
- type n om een nieuwe partitie te maken
- type p voor een primaire partitie
- type 2 om partitie nr 2 te maken
- druk nu twee maal op enter, om de begin en eind Cylinder te gebruiken, dus de rest van de disk
- type w om vervolgens de partitie tabel op de slaan op de USB schijf.
Als we vervolgens controleren met fdisk -l, dan zul je zien dat op /dev/sdb nu 2 partities staan. Klaar om te formatteren dus. Om dit te kunnen doen, doe je het volgende:
- type umount /dev/sdb1 om deze partitie te unmounten
- type mkfs.vfat -F 16 -n BOOT /dev/sdb1 (met -n zet je er LABEL op deze partitie, die we later nodig zullen hebben). Ik kies hier expres voor vfat aangezien deze leesbaar zijn in windows én Linux.
- type umount /dev/sdb2 om de 2 partitie te unmounten
- type mkfs.ext3 -L SYSTEM /dev/sdb2 (-L om het LABEL SYSTEM te gebruiken, en ook deze zullen we later nodig hebben)
7. De USB stick is dus nu klaar voor gebruik en kunnen we beginnen aan het kopiëren van de benodigde bestanden. Dit doe ik even vanuit Windows (sorry). Zodra ik mijn USB inplug zal het Windows systeem maar maximaal 1 partitie zien, namelijk de eerste van 250MB. Dit is een standaard limitatie (ja limitatie) in Windows.
In het package van OpenELEC.tv staat een aantal folders, waaronder de folder ‘target’. De inhoud van deze map kopiëren we in de eerste partitie van de USB stick, dus de twee bestanden KERNEL en SYSTEM.
8. Nu moeten we alleen de USB stick nog bootable maken, en hiervoor gebruik ik in Windows syslinux. Noteer allereerst de driveletter van de USB stick/partitie, in mijn geval K. Vervolgens vanuit een dos prompt, ga je naar de locatie waar je syslinux.exe staat, en type het volgende commando: C:\>syslinux.exe k:
9. De laatste stap is het configureren van Syslinux. In het package van OpenELEC.tv staat een folder, sample.conf. Hierin staat een aantal voorbeelden van BOOT loader configuraties. Ik pak hier dus de syslinux.cfg. Als je deze opent met een text editor, zullen we een aantal lijnen zien die aangeven waar welk bestand staan. Waar het om gaat, zijn de volgende lijnen:
append boot=/dev/sda1 disk=/dev/sdb2
Deze zullen we aan moeten passen zodat deze de USB stick kunnen lezen, en zullen hier gebruik maken van de Labels die we eerder tijdens het formatteren hebben gebruikt:
append boot=LABEL=BOOT disk=LABEL=SYSTEM
Sla het bestand op, en kopieer vervolgens het bestand naar de eerste partitie van de USB stick. Vervolgens kunnen we de USB stick in het systeem steken, en na de welbekende aanpassing in het BIOS, zul je zien dat het netjes boot van USB stick.
tips:
- Het hele systeem is niet writeable, behalve alle content in de Directory /storage/ Hierin staan ook diverse andere folders, zoals je plugins voor XBMC.
- Default zijn er een aantal shares aanwezig, waaronder de share Config. Hierin staan configuratiefiles voor o.a. je eigen Samba.conf, maar tevens ook heel belangrijk de asound.conf kun je hier plaatsen. Deze kan dezelfde content bevatten als .asoundrc. Meer info: http://www.xbmcfreak.nl/alsa-asoundrc-examples/
- HDD autmounting werkt nog niet. Mocht je systeem dus een HDD hebben dan zul je even zelf moeten mounten aan een folder in de /storage directory.
- Downloaden van de laatste stable en public beta image doe je van http://snapshots.openelec.tv. Hierin staan voor elke distributie de laatste versies beschikbaar (x86_64 voor 64 bit systemen, en i386 voor 32 bit systemen). de content van de Directory ‘target’ kun je vervolgens kopieren naar de folder /storage/.update/ Bij een volgende boot zal automatisch het systeem voorzien worden van de update.
- Feedback feedback feedback. De ontwikkelaars stellen het erg op prijs als je meedenkt, test en ook resultaten laat weten.
- Voor Asrock 330 systemen werkt de afstandsbediening nog niet. Dit zit in de driver van de receiver (Lirc). De ontwikkelaars zijn druk bezig dit voor elkaar te krijgen in 1 van de komende prereleases.
Credits: Stephan Raue
Wow lijkt me een superhandleiding, ga dit zsm eens uitproberen TOP !!!
@Peter
Laat maar weten of het lukt. Tevens ben ik benieuwd wat voor systeem je gebruikt.
Mooie handleiding maar wel jammer dat je er linux voor moet hebben.
Zou het graag willen testen maar zit zonder een linux os en zou graag alles met windows willen doen.
@mase
sorry for writing in english.
what do you think for using an live cd from ubuntu or fedora for setup this stick? booting from an live cd will be enough for this.
@mase
Hey Mase,
zoals Stephan zegt, je kunt hier een live cd voor gebruiken, gewoon de Ubuntu Live downloaden, op cd zetten, of op USB met unetbootin. Start tijdelijk de cd op, en je kunt met een linux console de stappen doorlopen
Eventueel met de volgende link kunt je het met windows doen, maar ken deze procedure niet :
http://www.ghacks.net/2008/10/16/how-to-create-multiple-usb-stick-partitions/
Greetss!
@cowbalt
Super bedankt voor de uitleg. Ik heb zover ik weet alles gedaan echter ik krijg bij het opstarten alleen een blinkende cursor….. Waar zou dat aan kunnen liggen?
Groet,
Mark
Bedankt voor de tips.
Al heb ik nog nooit iets met linux iets gedaan ga ik het wel proberen met een live cd. Hoop het gaat werken.
“en het tevens makkelijk maakt voor gebruikers dit soort systemen te installeren zonder al te veel kennis te hebben van Linux”
Vervolgens moet je toch behoorlijk wat linux kennis hebben om een en ander werkend te krijgen. Een soort van LIVE cd of usb-stick image o.i.d. zou wel handig zijn. Dat is het grote pluspunt van XBMC momenteel.
Ik krijg een boot error en een blinkende cursor ope een asrock ion ht 64 bit. Komt dit bekend voor? iemand hier een oplossing voor gevonden?
@paddy
Uit eigen ervaring weet ik dat fdisk vaak niet werkt….. Je kan beter parted gebruiken…
Als je de live cd gebruikt kan je het volgende doen (en natuurlijk ook als je al een linux bak hebt, dan kan je eerst checken of je al parted hebt):
apt-get install parted
parted -l (check de juiste disk, in dit vb /dev/sda)
parted /dev/sda
print (laat de huidige partities zien)
rm # (# partitienummer, igv meerdere partities herhalen)
Maken eerste partitie:
mkpart primary fat32 0 250MB
mkfs 1 fat32
toggle 1 boot
Tweede partitie:
mkpart primary ext2 250MB 1750MB (igv 2gb stick)
mkfs 2 ext2
quit
tune2fs /dev/sda1 -L ‘BOOT’
tune2fs /dev/sda2 -L ‘SYSTEM’
Hopelijk helpt dit bij jou (en anderen) ook.
Groet,
Mark
excuses 1750MB moet natuurlijk 2000MB zijn
Is het mogelijk om deze Distro te installeren op een AppleTV, Boot wise etc…?
Hi Godspeed.
In the moment i am very busy with some other things. but it is planned to support OpenELEC.tv on AppleTV with CrystalHD support the very next time
After a long time without updated snapshots we are proud to release new prebuild nightly images.
Again we have updated many packages, including XBMC SVN 31280, NVIDIA binary driver 256.35, prereleases of the upcoming Intel graphic driver, prereleases of the upcoming Xorg-1.8.2 and many many more!
Please test the images, report bugs to our new butracking system TRAC and use our forum if you have questions.
To download the snapshots take an look at our new downloadsection. More infos on our website http://www.openelec.tv
greetings
Stephan
@Stephan
Nice. Can I help?
@Godspeed
sure you can help with anything. dont know what you like to do.
if you have a bit experiences with compiling software so i will help you learning our buildsystem and you can for example helping with porting to ATV (or many other things). I also need some HowTo writers (in english) and testers. if you or anyone want an direct contact with me for support via email/icq/msn do an request on the forum on openelec.tv
Ik heb net de 23juni-versie geinstalleerd. Was eenvoudig te installeren via openelecTV-site en werkt prima. Enige bugje is de tijdzone maar ach ….
Mmm toch iets te vroeg gejuicht want ik kreeg geen toegang tot XBMC. Bleek geen IP-adres te krijgen van mijn router waarom weet ik niet. Nog geen goed werkende versie dus maar toch al flink opgeschoten en wat een snelle opstart, wow !!! Bne benieuwd naar de volgende release
Het is ook mogelijk om OpenELEC.tv te fraaien op de apple tv
http://forum.xbmc.org/showthread.php?t=82604
Op zich een goede handleiding om een stick bootable te maken maar hoe kan je er verder openelec op krijgen als ik vragen mag ?
Moeten er niet nog enkele bestanden naar de stick gekopieerd worden ?
Om het geheel in Windows te doen kun je gebruik maken van “MiniTool Partition Wizard” de home editie is gratis. Je hebt dan niet de restrictie van 1 partite op een USB stick.
Niet echt lekker werkend erg instabiel en weer veel kennis moeten activeren om iets te bereiken.
Nog een lange weg te gaan . En dit op de standaard asrock ion 330.
jammer weer.. toch maar naar de live versie van xbmc
I blog quite often and I genuinely thank you for your content.
The article has really peaked my interest. I am going to take a
note of your blog and keep checking for new details about once a week.
I subscribed to your Feed too.