OMXPlayer loppuraportti
Minulle ilmeni OMXPlayerin asentamisessa monen monia ongelmia ja käytin niiden ratkaisemiseen useita tunteja. Yleensä en edes saanut niitä ongelmia ratkaistua. Osa ongelmista johtui joko huolimattomuudestani tai osaamisen puutteesta, osa taas saattoi johtua siitä, että minulla oli vanhempi Raspberry Pi kuin muilla ryhmän jäsenillä.
Kokeilin OMXPlayerin asentamista http://www.intestinate.com/pilfs/ -sivustolta löytyvälle LFS Baselle, sekä Ilkan ja Tomin tekemälle LFS:n toiselle versiolle. Ensimmäisen kerran yritin asentaa OMXPlayeria alkuperäiselle LFS Baselle, mutta asennukseni päättyi seuraavanlaiseen ruutuun:
Tämä tarkoitti sitä, että tiedostojärjestelmä oli vaurioitunut, todennäköisesti sen takia, koska olin irroittanut virtapiuhan laitteen ollessa päällä.
Tämän jälkeen odotin muutaman päivän, että Tom ja Ilkka saavat oman Basen valmiiksi, jotta voisin asentaa OMXPlayerin suoraan siihen.
Lopulta kun tämä toinen (pienempi) versio oli valmis, kokeilin saada tätä toimimaan. Yritykseni Päättyivät kuitenkin seuraavanlaisiin ruutuihin:
Kokeilin etsiä pitkään tietoa internetistä ja en löytänyt muuta ratkaisua kuin sen joka myös lukee ruudussa eli: ”UNEXPTECTED INCOSISTENCY; RUN fsck MANUALLY”.
Kokeilin siis tehdä fsck:n manuaalisesti seuraavilla komennoilla:
sudo fsck /dev/mmcblk0p
Se korjasi ison läjän erilaisia virheitä tiedostojärjestelmässä, mutta tämän jälkeen ilmestyi alemman kuvan kaltainen ongelma (edellä). Siitä pääsi kyllä eteenpäin sisäänkirjautumisvaiheeseen, mutta tutut käyttäjätunnus ja salasana eivät toimineet (pilfs/root).
Lopulta luovutin näiden ongelmien kanssa painimisen ja aloitin taas OMXPlayeria alkuperäiseen LFS Baseen. Tässä asennuksessa ilmenevät ongelmat olivat seuraavanlaisia:
Ongelmat
ffmpegin kääntämisessä ilmeni seuraavanlainen ongelma [KUVA]
Kokeilin tämän jälkeen kääntää ffmpegin seuraavilla komennoilla:
./configure --prefix=/usr \
--disable-debug \
--enable-shared \
--disable-static \
--enable-gpl \
&& make
Kuitenkin sama virheilmoitus ilmestyi ruudulle:
gcc: internal compiler error: Killed (program cc1)
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make: *** [libavcodec/roqvideoenc.o] Error 4
Kokeilin tehdä swapin komennolla
dd if=/dev/zero of=/var/swapfile bs=1M count=512 && mkswap /var/swapfile && swapon -v /var/swapfile
Tämän jälkeen sain FFmpegin käännettyä onnistuneesti.
kokeilin, että oliko FFmpeg asentunut oikein komennolla make check
sain seuraavanlaisen virheilmoituksen
En tiennyt oliko käännöksessä tapahtunut jonkinnäköinen virhe, koska tietokoneeni oli sammunut siinä välissä kun olin muualla ja en saanut selville, että oliko käännös päässyt loppuun saakka. Päätin jatkaa muiden ohjelmien kääntämistä, koska ffmpegin kääntämisessä menee noin 1.5-2 tuntia. Laitoin myös FFmpegin kääntymään yön yli ja menin nukkummaan.
FFmpeg oli kääntynyt yön aikana onnistuneesti, kuten myös kaikki muutkin ohjelmat.
Ongelmat OMXPlayerin asentamisessa
Asensin OMXplayerin http://www.intestinate.com/pilfs/#omxplayer -sivun ohjeiden mukaan, mutta make
komennon jälkeen minulle tuli seuraavanlainen virheilmoitus:
Kokeilin ratkaista tätä ongelmaa asentamalla aluksi eri asennuspaketin tuosta OMXplayerista, mutta ilmeni sama viesti. Tämän jälkeen asensin FreeType 2:n uudestaan ja tämän jälkeen vielä kerran OMXPlayerin, mutta viesti oli seuraavanlainen:
Tähän ongelmaan, en enään keksinyt mitään ratkaisua, joten OMXplayerin asentaminen jäi enemmän tai vähemmän kesken.
-Santeri Friman
***********************************************************
Tero Karvisen Linux-projektina -kurssi on loppumassa ja on loppuraportin paikka. OMXPlayer:n asennus ryhmän kahden jäsenen tekemän LFS:n päälle onnistui vähän eri tavalla.
Kurssin alkaminen
Kurssi alkoi siis lokakuun 24. päivä ja aiheeksi valikoitui Linux From Scratch on th Raspberry Pi, ja minun ja Santeri Frimanin vastuualueeksi tuli OMXPlayer:n asentaminen Ilkka Jylhän ja Tom Himasen tekemän LFS:n päälle.
Kurssin eteneminen
Kurssi eteni ainakin omalta osaltani aikataulun mukaisesti. Kurssin vaatimat raportoinnit jäivät lukumäärällisesti vähäiseksi, mutta ne käsittelivät kokonaisuuksia, joihin meni jopa viikko tai puolitoista kun muitakin kouluhommia oli. Tämän lisäksi, mitä ei raporteista näe, asensin OMXPlayer:n ensiksi jo valmiin LFS Basen päälle, jonka pystyi lataamaan PiLFS -sivustolta. Sitten kun Ilkka ja Tom saivat valmiiksi ensimmäisen version niin jouduin asentamaan OMXPlayer:n uudestaan. Ja koska matkan varrella tein oman virheen tuhoamalla Ilkan ja Tom määritelmiä asetuksia, niin jouduin vielä kolmannenkin kerran asentamaan OMXPlayer:n.
Loppusanat
Minulla OMXPlayer asentui heti onnistuneesti, paitsi että jouduin ostamaan aktiivisen usb-hubin, jotta langaton näppäimistö suostui toimimaan oikein. Vikakuvauksena oli kirjaimen monistuminen näytöllä, vaikka mitään näppäintä ei painettu. Tämä vaikeutti asentamista ennen hubin ostamista huomattavasti. Syytä miksi asentaminen onnistui toisessa helpommin en osaa sanoa, mutta voisin epäillä syyksi eri Raspberry Pi mallia, koska Santerilla käytössä on Model A 256mb-muistilla varustettuna ja minulla Model B 512mb. Ainakin FFmpeg:n kääntäminen vähemmällä keskusmuistilla ilman swappia ei onnistunut. Ja koska OMXPlayer:n asennus sujui reilusti ajoissa asensin myös Quake 3 ja XBMC:n kokonaisuudessaan omalle Raspberry Pi:lle.
Kurssin palaute (Antti-Ville)
Kurssi oli mukava, koska sai tehdä juuri sitä mitä itse halusi, mutta ehkäpä vieläkin laajempi ja tuntemattomampi aihe voisi olla. Raspberry Pi on kuitenkin niin suosittu jopa nyt että internetistä löytyy kattavasti ohjeita. Ja jos ohjeita ei löytynyt, meillä oli mahdollisuus keskustella PiLFS -sivuston tekijän Mogwai:n kanssa, joka auttoi ystävällisesti askarruttavien kysymysten kanssa. Tästä paras esimerkki oli kun tutustuin jo XBMC:n kääntämiseen vaikka se ei minun vastuualue ollutkaan. XBMC:n kääntämisen kanssa oli muutamakin ongelma esimerkiksi libssh-paketin kanssa, joka keskeytti sen konfiguroinnin.
Kurssin palaute (Santeri)
Myös minunkin mielestä kurssi oli mukava, koska paino oli omassa tekemisessä ja hommia sai tehdä rauhassa, en kuitenkaan päässyt etenemään yhtä sujuvasti kuin Antti-Ville lukuisien ongelmieni takia. Osallistuin kurssille tietämättä mitään etukäteen esimerkiksi ohjelmien kääntämisestä, mutta huomasin hyvin nopeasti, että se on pitkälti kolmen komennon hakkaamista uudelleen ja uudeelleen. Halusin kuitenkin suorittaa tämän kurssin nyt koska en voi olla varma, että järjestetäänkö kurssia enään 3 vuoden kuluttua (esimerkiksi 21. joulukuuta maailmanlopun takia [vitsi], kun minulla olisi enemmän osaamista ja voisin tehdä oikeasti jonkin haastavan projektin. En kuitenkaan tarkoita, etteikö tämä olisi ollut riittävän haastava, koska en lopulta saanut edes OMXplayeria asentumaan. Vaikka ohjelmien kääntäminen ei hirveästi osaamista tarvinnutkaan, voin rehellisesti sano, että kurssi opetti minulle todella paljon asioita esimerkiksi Linux From Scratchistä, ArchLinuxista sekä ohjelmien kääntämisestä ja myös siitä, miten perinteinen videoplayeri toimii.
Lähteet
Tero Karvinen – Linux-projekti -kurssi
PiLFS – Linux From Scratch on the Raspberry Pi
-Jokela Antti-Ville
Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html
LFS Base:n asennus Raspberry Pi:lle
Kokoonpano
Tässä artikkelissa käytetty kokoonpano:
Kingston 8GB SD-muistikortti, jossa valmiina Rasbian ”Wheezy” -käyttöjärjestelmä
RJ-45 Ethernet kaapeli
Eli artikkelissa kaikki toiminta tapahtuu ssh-yhteyden avulla, joten erillistä näppäimistö,hiirtä tai näyttöä ei tarvita.
Asennuskuvan lataaminen ja asennus
Aloitin asennuksen lataamalla Linux From Scratch Base -imagen täältä.
Latauksen jälkeen purkiin tiedoston kotihakemistoon. Tämän jälkeen laitoin SD-muistikortin koneeseen kiinni ja sulkiin muistikortin ikkunan. Seuraavaksi aloin seurata ohjeita, miten kuvan polttaminen muistikortille onnistuu. Linkin kohdassa ”Copying an image to the SD Card in Linux (command line)” on kerrottu vielä tarkemmin mitä jokaisessa kohdassa tehdään.
Päätteessä käytetään dd-ohjelmaa, minkä avulla voi poistaa epähuomiossa koko kiintolevyn, joten sen käyttöön kannattaa tutustua ennenkuin alkaa käyttämään sitä.
$ df -h #tulosteessa näkyy kaikki kiintolevyt ja niiden osiot, mutta kopioin tulosteesta muistikortin #rivit.Muistikortin sijainnin voi selvittää vertailemalla tulosteita kun muistikortti on #koneessa kiinni ja kun ei. Oletuksena muistikortti on joko /dev/sdd tai /dev/mmcblk0. /dev/mmcblk0p2 7.3G 1.4G 5.9G 19% /media/antti-ville/PiLFS /dev/mmcblk0p1 47M 17M 30M 36% /media/antti-ville/PiLFS-Boot $ umount /dev/mmcblk0p2 #irroitin muistikortin 2. osio $ umount /dev/mmcblk0p1 #irroitin muistikortin 1. osio. Jos näiden jälkeen komentaisi df -h ei tulosteessa #pitäisi näkyä muistikortin osioita.
Tämän jälkeen alkaa asentaminen missä pitää olla erityisen varovainen.
Komennossa dd viittaa ohjelmaan, bs on (block size), if argumentin jälkeen polku .img -tiedostoon ja of argumentin jälkeen kohteen sijainti. Sijainnissa pitää olla koko laite, ei missään nimessä osio. $ sudo dd bs=4M if=/home/antti-ville/Downloads/pilfs-base-20121015.img of=/dev/mmcblik0
Komennon jälkeen menee aikaa eikä minkäänlaista infoa tule mitä tapahtuu, joten kärsivällisyyttä piti olla. Linuxissa näyttää pätevän se, että kun mitään ei näytä tapahtuvan kaikki sujuu onnistuneesti. Jos kuitenkin herää kysymys mitä tapahtuu voi asian tarkistaa avaamalla toisen päätteen ja komentaa sudo pkill -USR1 -n -x dd, jolloin ensimmäiseen päätteeseen tulee tilannepäivitys.
Toisessa päätteessä: $ sudo pkill -USR1 -n -x dd Ensimmäiseen päätteeseen tuli tilanne: 400+0 records in 400+0 records out 1677721600 bytes (1.7 GB) copied, 158.629 s, 10.6 MB/s
Kun polttaminen loppui onnistuneesti ennen muistikortin poistamista komensin vielä sudo sync, joka tyhjentää välimuistin jotta muistikortti voidaan poistaa turvallisesti.
Ensimmäinen kirjautuminen ssh-yhteydellä
Ensimmäinen kirjautuminen vaati verkkoyhteyksien muuttamista manuaalisesti. Tämä siis siksi kun minulla ei ole käytössä näppäimistöä. Raspberry Pi:n oletusverkkoasetuksissa ip-osoite on 192.168.2.2 ja verkkomaski 255.255.255.0 oletusreititin 192.168.2.1.
Eli avasin verkkoyhteyskuvakkeen näytön oikeasta yläkulmasta päivämäärän vierestä ja klikkasin ”muokkaa”. Avautuvasta ikkunasta valitsin ”langallinen” -välilehden ja klikkasin ”muokkaa”. Tämän jälkeen avautuvasta ikkunasta valitsin välilehden ”IPv4 asetukset” ja tavaksi ”manuaalinen”. Jotta oma kannettavani olisi samassa verkossa Raspiberry Pi:n kanssa laittoin omaksi ip-osoitteekseni 192.168.2.4 ,verkkomaskiksi 255.255.255.0 ja oletusreitittimeksi 192.168.2.1 niille varattuihin kohtiin ja painoin ”tallenna”. Ainoa tärkeä asia edellisissä tiedoissa on, että koneen oma ip-osoite ei ole sama kuin RasPi:n. Ja suosittelen tarkistamaan kahteen kertaan että verkkomaskin ja reitittimen osoitteet on kirjoitettu oikein.
Tämän jälkeen yhdistin Raspberry Pi ethernet-johdolla tietokoneeseeni ja klikkasin yhteystavaksi vielä langallisen internetin näytön oikeasta yläreunasta. Langaton netti katkesi ja kohta tuli tieto, että langallinen nettiyhteys toimii. Toisin sanoen RasPi oli piuhan toisessa päässä. Avasin komentopäätteen ja otin ssh-yhteyden RasPiin.
Oletuksen LFS Base:ssa käyttäjätunnus on root ja salasana pilfs.
$ ssh root@192.168.2.2 The authenticity of host '192.168.2.2 (192.168.2.2)' can't be established. ECDSA key fingerprint is 6c:d5:38:f1:fd:32:e4:8d:fa:4b:88:ff:57:10:f2:d3. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.2.2' (ECDSA) to the list of known hosts. root@192.168.2.2's password:
Kirjautuminen onnistui, joten seuraavaksi muutin muistikortin osiointia, jotta koko muistikortin tila saataisiin käyttöön.
Muistikortin uudelleen osioiminen
Muistinkortin uudelleen osioimisessa käyttiin tämän sivuston ohjetta.
Eli jatkoin ssh-yhteyttä päätteessä ja komensin df -h.
root@0] [~] df -h Filesystem Size Used Avail Use% Mounted on /dev/mmcblk0p2 1.8G 1.4G 460M 75% / tmpfs 61M 168K 60M 1% /run devtmpfs 60M 0 60M 0% /dev /dev/mmcblk0p1 47M 37M 11M 79% /boot [root@0] [~] fdisk /dev/mmcblk0 Welcome to fdisk (util-linux 2.21.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): p #p=partition ,eli näyttää osiot mitä on olemassa. Disk /dev/mmcblk0: 7969 MB, 7969177600 bytes 64 heads, 32 sectors/track, 7600 cylinders, total 15564800 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000714e9 Device Boot Start End Blocks Id System /dev/mmcblk0p1 2048 98303 48128 c W95 FAT32 (LBA) /dev/mmcblk0p2 98304 3905535 1903616 83 Linux #poistettavan osion alkukohta "Start" on tärkeää tietoa. Command (m for help): d #d=delete, eli poistetaan olemassa oleva osio Partition number (1-4): 2 #valitaan poistettavaksi osioksi osio "2" Partition 2 is deleted Command (m for help): n #n=new, eli tehdään uusi osio Partition type: p primary (1 primary, 0 extended, 3 free) #kerrotaan vaihtoehdot mitä voi valita e extended Select (default p): p #valitaan primary-osio Partition number (1-4, default 2): 2 #osion numeroksi laitetaan 2 First sector (98304-15564799, default 98304): 98304 #laitetaan alussa olevan partion 2 start lukema,(tai enter koska "default" arvo on jo oikein) Last sector, +sectors or +size{K,M,G} (98304-15564799, default 15564799): #painetaan suoraan enter:ä koska oletusarvo "default" on sopiva. Using default value 15564799 Partition 2 of type Linux and of size 7.4 GiB is set Command (m for help): w #w=write, eli tällä komennolla vasta kirjoitetaan. Alla oleva teksti ilmoittaa että muutokset tulevat voimaan The partition table has been altered! #uudelleen käynnistämisen jälkeen. Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resourc$ The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks. [root@0] [~] reboot #käynnistetään RasPi uudestaan etänä. $ ssh root@192.168.2.2 #kirjaudutaan sisään root@192.168.2.2's password: [root@0] [~] resize2fs /dev/mmcblk0p2 #tehdään muutoksista pysyvät resize2fs 1.42.5 (29-Jul-2012) Filesystem at /dev/mmcblk0p2 is mounted on /; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 1 Performing an on-line resize of /dev/mmcblk0p2 to 1933312 (4k) blocks. The filesystem on /dev/mmcblk0p2 is now 1933312 blocks long. [root@0] [~] df -h #ja tarkistetaan että tuloste näyttää osioiden koot oikein. Filesystem Size Used Avail Use% Mounted on /dev/mmcblk0p2 7.3G 1.4G 5.9G 19% / tmpfs 61M 168K 60M 1% /run devtmpfs 60M 0 60M 0% /dev /dev/mmcblk0p1 47M 37M 11M 79% /boot
Ja lopussa olevan komennon tulosteesta näkeekin, että osioiminen onnistui ja nyt koko muistikortin koko on käytössä.
Raspberry Pi:n verkkoasetuksien muuttaminen
Jotta RasPi:n käyttö olisi mukavempaa, pitää verkkoasetuksia muuttaa. Oletuksena käynnistyksen yhteydessä verkkoasetukset tulee /etc/sysconfig/ifconfig.eth0 -tiedostosta, jossa on määritelty oletuksen yllämainitut ip-osoite,verkkomaski ja reititin. Haluan kuitenkin muuttaa asetuksia siten, että verkkoasetukset tulee automaattisesti dhcp:n mukaan. Ohjeiden mukaan verkkoyhteyden muuttaminen tehtäisin alla olevalla komennolla, mutta siinä alkuperäinen ifconfig.eth0 -tiedosto katoaa kokonaan, jolloin sitä ei voi palauttaa takaisin käyttöön tarvittaessa. Tietenkin, jos ei tarvitse vanhaa tiedostoa voi komentoa käyttää, mutta koska nyt on kyse projektista halusin säilyttää alkuperäisetkin tiedostot.
$ mv -v /etc/sysconfig/dhcp.eth0 /etc/sysconfig/ifconfig.eth0 #mv=move,eli dhcp.eth0 tiedosto korvaisi ifconfig.eth0 -tiedoston. -v tarkoittaa, että tiedostojen siirryttyä, päätteeseen tulee tiedostojen nimet näkyviin.
Eli nimesin alkuperäisen tiedoston ifconfig.eth0_orig -tiedostoksi.
$ mv /etc/sysconfig/ifconfig.eth0 /etc/sysconfig/ifconfig.eth0_orig # normaalisti komento pitäisi tehdä pääkäyttäjänä, mutta koska en ole vielä tehnyt muita käyttäjiä, olen automaattisesti kirjautuneena root-käyttäjänä, jolla on pääkäyttäjä oikeudet nimensä mukaan.
Seuraavaksi nimeän dhcp.eth0 -tiedoston ifconfig.eth0 -tiedostoksi, jotta verkkoyhteydet toimivat.
$ mv /etc/sysconfig/dhcp.eth0 /etc/sysconfig/ifconfig.eth0 $ reboot #käynnistin Raspberry Pi:n uudestaan ja kokeilin asetuksien toimivuutta.
Raspberry Pi yhdistäminen ssh-yhteydellä dhcp:tä käyttäen
Yhdistin Raspberry Pi:n reitittimeen ja yhdistin kannettavan langattomaan verkkoon.
Seuraavaksi jnetmap -ohjelman avulla skannasin kotiverkkoni, jotta sain selville Raspberry Pi:n ip-osoitteen. Jnetmap täytyy ajaa pääkäyttäjäoikeuksin eli komennolla sudo jnetmap, jotta ohjelma käynnistyy. Ikkunasta valitaan aluksi ”create new networkmap”,”Tools”->”network scanner” ja lopuksi ”Scan”. Lopputuloksena ohjelma näyttää samassa verkossa olevat laitteet. Verkkokartassa Raspberry Pi oli merkitty ”pilfs.lan”:ksi.
Tämän jälkeen yhdistin ssh-yhteyden avulla Raspiin:
$ ssh root@192.168.1.70
root@192.168.1.70’s password:
Last login: Wed Oct 31 11:46:23 2012 from 192.4.0.1
[root@0] [~]
Lähteet
PiLFS – Linux From Scratch on the Raspberry Pi
Projekti kuuluu Tero Karvisen Linux-projekti -kurssiin.
– Jokela Antti-Ville
Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html
Muokattu 11.11.2012: lisätty lähteet ja GNU-lisenssi. -A-V Jokela
Projektisuunnitelma
Tausta
Projektin niinsanottuna isänä toimi Tom Himanen, joka oli haaveillut LFS:n tekemisestä jo jonkin aikaa ja toikin tämän esille kuukausia ennen kurssin alkua. Ideasta innostuttiin heti ja aloimme jo hyvissä ajoin etsimään kurssia, jonka puitteissa voisimme totetuttaa ideamme.
Aluksi projekti oli ajateltu tehtäväksi käyttäen x86-arkkitehtuuria ja mahdollisesti ajallisten resurssien salliessa myös ARM:ia, mutta tämä tarkentui kurssin ensimmäisellä lähiopetuskerralla koskemaan vain ARM:ia.
Projektin lopulliseksi sisällöksi määrittyi Linux From Scratchin ja joidenkin laajempien ohjelmistojen asentaminen Raspberry Pi -laitteelle. LFS:n päälle on määrä asentaa lähdekoodista kääntäen OMXPlayer, Xbmc ja Quake 3. Ohjelmisto valikoimaa laajennetaan resurssien salliessa.
Projektiryhmä
- Friman Santeri
- Himanen Tom
- Jokela Antti-Ville
- Jylhä Ilkka
- Latvanen Tuomas
Vastuuopettaja: Tero Karvinen
Tavoite ja lopputulos
Projektissa on tarkoitus tehdä Linux-julkaisu käyttäen apuna kirjaa, joka opastaa Linux From Scratchin (LFS) asentamisessa ARM-arkkitehtuuria käyttävälle piirilevylle.
Lopputuloksena esitellään Raspberry Pi, mihin on asennettu ryhmän alusta alkaen tekemä käyttöjärjestelmä joka sisältää vähintään kolme aikaisemmin mainittua ohjelmaa.
Projektissa käytämme Raspberry Pi Model B -tietokonetta. Projekti on jaettu kahteen eri osaan:
- Perusjärjestelmän (käytön kannalta tärkeimmät ohjelmat, ydin ja ytimen moduulit) tekemiseen
- Hyötyohjelmien kääntämiseen
Projektin eri osa-alueilla on vastuuhenkilöt, jotka huolehtivat osa-alueen tekemisestä. Himanen ja Jylhä ottaa vastuun varsinaisen LFS:n teosta, kun taas Friman, Jokela ja Latvanen keskittyvät ohjelmien kääntämiseen.
Ensimmäisenä prioriteettina on saada LFS, Xbmc, OMXPlayer ja Quake 3 toimimaan Raspberry Pi:lla. Jos ohjelmien kääntämisessä ei tule suuria ongelmia vastaan ja kääntäminen onnistuu etuajassa, ohjelmien määrää kasvatetaan.
Projektin tavoitteena ei ole tuottaa minkään näköistä kaupallista lisäarvoa. Tavoitteena on ensisijaisesti kasvattaa ymmärrystämme siitä, miten Linux rakentuu ja toimii, miten ohjelmia käännetään.
Rajaus
Projekti rajataan koskemaan vain ARM-arkkitehtuuria ja toimimaan Raspberry Pi:llä.
Budjetti
Projekti käyttää avointa lähdekoodia mikä mahdollistaa lähes nollabudjetin, mutta Raspberry Pi model B maksaa Suomessa noin 45 euroa. Tämän lisäksi täytyy olla muistikortti, virtalähde, näppäimistö, hiiri, näyttö ja näytölle menevä kaapeli, joten jos mitään edellä olevista ei omista ennestään ja haluaa projektin tehdä, joutuu varautumaan vähintään noin sadan euron kuluihin ilman näyttöä.
Investointeja on suoritettu seuraavasti:
- Raspberry Pi model B 3 kpl
- SD muistikortti 8Gt 2 kpl
- Virtalähde microusb 2 kpl
- Hdmi -kapeli 1 kpl
Aikataulu
Projekti alkoi 24.10.2012 vahvistamalla osallistumisen kurssille ja projektin aiheen. Projektisuunnitelman tuli olla palautettuna kurssin vastuuopettajalle seuraavan viikon keskiviikkona.
- w43 Projektin jako osiin, , blogin teko, raspberry pi:n hankinta ja tutustuminen
- w44 Projektisuunnitelma, itsenäistä työskentelyä josta raportointi blogiin.
- w45 Itsenäistä työskentelyä, raportointi blogiin.
- w46 Esitykset projektin tilasta, Väliraportti.
- w47 Perusjärjestelmä ja osasuoritukset toimintakuntoon.
- w48 Projektin osasuoritukset valmiina, eri osien yhdistäminen.
- w49 Loppuraportti palautettu, projekti esittelyä vaille valmis.
- w50 Projektin esittelyn valmistelu, päätökset demoista ja demojen valmistelu.
Työsuunnitelma
Projekti toteutetaan kaksijakoisesti. Tavoitteena oleva järjestelmä jaetaan minimaaliseen järjestelmään (base system) ja sen päälle rakennettavaan järjestelmään. Eri osille annetaan vastuujäsenet.
Koska projekti on jaettu osiin pääsevät kaikki projektin jäsenet tekemään heti omaa vastuualuetta.
- Käyttöjärjestelmä = Himanen & Jylhä
- Omxplayer = Friman & Jokela
- XBMC = Latvanen
- Quake 3 = Himanen & Jylhä
Muita mahdollisia osia
- LXDE työpöytäympäristö
- ssh-palvelin
Jos LFS:n teko alusta-alkaen muodostuu mahdottomaksi, on varasuunnitelmana käyttää jo olemassa olevaa lfs-julkaisua (http://www.intestinate.com/pilfs/) ja kääntää ohjelmat siihen. Muuten projekti pidetään samana. Tällöin keskitytään softan nopeuteen ja käytettävyyteen. Käännetään ja optimoidaan softaa itse ym ym.
Jos käyttöjärjestelmä saadaan hyvissä ajoin kasaan, siitä tehdään päähaara. Jokainen rakentaa päähaaran päälle ohjelmakokonaisuuksia tai ohjelmia, jolloin LFS-jakelun kehitys haarautuu. Kun ohjelmistot on todettu toimiviksi, ne hyväksytään päähaaraan.
Tavoitteena on siis kehittää itse tekemämme käyttöjärjestelmän päälle rakennettuja sivuhaaroja ja sulauttaa ne päähaaraan tarvittavan testauksen jälkeen.
Projektinhallinnolliset menettelytavat
Projektin tiedostot tallennetaan Google Drive -pilvipalveluun. Etäkonferenssit pidetään Google Hangouts -VOIP-ohjelmalla. Pienemmät keskustelut käydään IRC:n välityksellä.
Yksilötyö raportoidaan viikottain yhteiseen blogiimme. Raportit kirjoitetaan suomeksi. Myöhemmin blogipostit kootaan myös erilliselle nettisivulle, jonka toteuttaa Tuomas. Nettisivun toteutus ei sisälly projektin aikabudjettiin.