Raspbian Posts

Viritellään jälleen ”Vattukonetta”.

 

 

 

 

 

Itselläni Raspberry Pi on jo vuosia ollut etäkoneena ja testialustana. Korttikone toimii mm. SSH / VPN – vekotuksena, sekä varmistukseen, tiedostojemmana, IRC-alustana jne. Esittelen tässä muutamia virityksiä, joilla aparaatista voi rutistaa vielä pikkuisen enemmän irti. Vinkit ovat pääasiassa headless-käyttöön, mutta soveltuvat toki osittain vaikkapa normaaliin työpöytäkäyttöön.

 

Ylikellotus:

Vattukoneen kellotus on suht helppoa ja myös melko turvallista. Avaa tiedosto /boot/config.txt ja etsi sieltä tämän tyyppistä riviä:

##None

#arm_freq=700

#core_freq=250

#sdram_freq=400

#over_voltage=0

 

Poista kommenttimerkki (#) kunkin rivin edestä eli esimerkin mukaisesti:

 

##Turbo

arm_freq=1000

core_freq=500

sdram_freq=500

over_voltage=6

 

Tallenna tiedosto ja käynnistä RasPi uudelleen. Laite on nyt ylikellotettu ja toosan pitäisi toimia ripeämmin. Tutkaile silti koneen toimintaa, sekä laitteen lämpenemistä.

 

Lisää muistia vapaaksi ja muita pikku kikkoja:

 

Jos käytät RasPia kuten minä eli tekstipohjaisesti ilman turhia graafisia kikkareita voit huoletta muuttaa config.txt – tiedostosta gpu:lle varatun muistin. Etsi gpu_mem rivi ja muuta arvoksi 16 sen alle et voi mennä, sillä näyttikselle pitää varata minimissään tuon verran muistia.

 

Jos et käytä näyttöä koneen kanssa, voit säästää virrankulutusta poistamalla HDMI:n käytöstä. Tähän oiva lääke on komento: sudo /opt/vc/bin/tvservice -o Komennon joudut antamaan jokaisen uudelleen käynnistyksen jälkeen. Toki voit lisätä komennon suoritettavaks cron-avulla: crontab -e

Lisää rivi: @reboot at now +30 minutes -f /opt/vc/bin/tvservice -o

 

Raspbian dieetille:

 

Jos käytät RasPia ilman näyttöä voidaan monia tällaiseen käyttöön tarpeettomia osia poistaa huoletta kuten vaikkapa X11. Voit koostaa listan kaikesta asennetusta komennolla: dpkg –get-selections | grep -v deinstall

 

  • Aloitetaan laihis poistamalla X11 järjestelmästä: sudo apt-get –purge remove x11-*
  • Jos et tarvitse multimediakikkareita ne saa poistettua komennolla: sudo apt-get remove alsa-base alsa-utils gstreamer1.0-alsa:armhf gstreamer1.0-libav:armhf gstreamer1.0-omx gstreamer10-plugins-base:armhf gstreamer1.0-plugins-good:armhf gstreamer1.0-x:armhf
  • Tulostustuen voi poistaa komennolla: sudo apt-get remove cups-common
  • Ylläolevien komentojen jälkeen on hyödyllistä ajaa komennot: sudo apt-get –purge autoremove ja sudo apt-get clean;sudo apt-get autoclean

 

Värkätään RasPi:n kanssa

 

raspbmc-raspberry-pi

 

 

 

 

 

 

 

 

 

 

 

Tässäpä taasen muutama näppärä vinkki, jolla saat viritettyä enemmän irti pikkuisesta tietokoneestasi. Oletuksena Rasbianissa on kuusi virtuaalikonsolia, jotka ovat peruskäyttäjälle aivan liikaa, joten puolet niistä voidaan poistaa käytöstä editoimalla inittab-tiedostoa komennolla: sudo nano /etc/inittab – etsi tiedostosta kohta jossa on listattuna alekkain kutakuinkin tällaisia rivejä: 4:23:respawn:/sbin/getty 115200 tty4 – kommentoi rivit tty4, tty5 ja tty6 #-merkillä ja tallenna tiedosto painamalla ctrl ja o ja komenna sudo kill -1 1 

NTFS

Jos sinulla ei ole käyttöä NTFS-tuelle sen voit poistaa komentamalla: sudo apt-get purge fuse-utils && sudo apt-get purge libfuse2 && sudo apt-get purge libntfs10 Nämä komennot poistavat fuse-modulin ja vapauttavat jonkin verran RAM:a ja tilaa SD-kortilta.

Runlevel

Jos olet asentanut Raspbianista Jessie-version saattaa oletus ajotaso olla niin, että RasPi käynnistyy suoraan graafiseen tilaan. Jos käytät konettasi mieluummin CLI-tilassa muokkaa inittab-tiedostoa ja etsi sieltä kohta: # The default runlevel ja varmista, että id:3:initdefault: kohdassa on nimenomaan numero 3 eikä 2. Kakkonen käynnistää järjestelmän GUI-tilaan kun taas kolmonen CLI.

Swap

Swap-tiedosto kannattaa asettaa 512MB etenkin, jos SD-kortti on kyllin suuri ja on se suotavaa pienemmälläkin kortilla. Komenna: sudo echo ”CONF_SWAPSIZE=512” > /etc/dphys-swapfile ja alusta swap komennolla sudo dphysswapfile setup ja ota käyttöön sudo dphysswapfile swapon – Jos haluat tehostaa swap:n käyttöä SD-kortin eliniän kustannuksella muuta swappiness:n oletusarvo 1 arvoon 10 komennolla: sudo sed i ’s/vm.swappiness=1/vm.swappiness=10/g’  /etc/sysctl.conf ja nosta vfs cache pressure arvoon 50: sudo echo ’vm.vfs_cache_pressure=50’ >> /etc/sysctl.conf

Preload

GUI ympäristöä voi koettaa nopeuttaa hyödyntämällä preload:a. Tämä nopeuttaa näppärästi, mutta kuluttaa vastaavasti muistia, eikä ole näin olle suositeltavaa käyttää palvelimissa tai systeemeissä, joita käytetään pelkästään CLI:n kautta. Komento sudo aptget install y preload asentaa tarvittavat kalikat ja loppusilaus annetaan komennolla: sudo sed i ’s/sortstrategy = 3/sortstrategy = 0/g’  /etc/preload.conf

I/O Scheduler

Oletuksena on käytössä deadline-scheduler, mutta sitä parempi vaihtoehto SSD- ja SD-levyille on NOOP scheduler. Sen vaihto käy kätevästi komentamalla sudo sed i ’s/deadline/noop/g’ /boot/cmdline.txt

Rsyslog:n vaihto Syslog:n

Rsyslogd vaihto kevyempään, sekä turhien lokien poisto. Vapauttaa sekä arvokasta muistia että vähentää CPU:n kuormaa. Parempi on käyttää kevyempää syslogd:a ja dumpata ylimääräiset lokitukset /var/log/(cron/mail/messages). Poistetaan ensin rsyslog -> sudo aptget y remove purge rsyslog asennetaan syslog -> sudo aptget y install inetutilssyslogd -> sudo service inetutils-syslogd stop Poistetaan seuraavaksi vanhat loki komentamalla ensin sudo su ja sitten 

for file in /var/log/*.log /var/log/mail.* /var/log/debug /var/log/syslog; do [ -f ”$file” ] && rm -f ”$file”; done
for dir in fsck news; do [ -d ”/var/log/$dir” ] && rm -rf ”/var/log/$dir”; done

Luodaan syslogd.conf komentamalla echo e ”*.*;mail.none;cron.none\t -/var/log/messages\ncron.*\t -/var/log/cron\nmail.*\t -/var/log/mail” > /etc/syslog.conf  (et tarvitse komentoon tällä kertaa sudo:a, koska aiemmin komennettiin sudo su)

Konfiguroidaan logrotate komentamalla mkdir p /etc/logrotate.d ja echo -e ”/var/log/cron\n/var/log/mail\n/var/log/messages {\n\trotate 4\n\tweekly\n\tmissingok\n\tnotifempty\n\tcompress\n\tsharedscripts\n\tpostrotate\n\t/etc/init.d/inetutils-syslogd reload >/dev/null\n\tendscript\n}” > /etc/logrotate.d/inetutils-syslogd sekä lopuksi käynnistetään syslogd service inetutilssyslogd start

 

Tässäpä jokunen virittelyvinkki kokeiltavaksi. Näillä järjestelmästä saa mukavasti nipistettyä muutaman hippusen arvokasta RAM:a

 

 

 

Muutama Raspbian-vinkki

raspbian_os

 

RasPi on kokoisekseen häkellyttävän vekkuli tietokone ja ollut itselläni vuoden päivät testialustana ja pienenä kotipalvelimena. Jos koneesi on kuten minulla jemmassa hyllyssä ilman näyttöä ja näppäimistöä ja haluat päästä siihen käsiksi afp:n yli Mac-koneelta käsin helpoiten se onnistuu asentamalla netatalk eli komennetaan RasPi:ssa päätteessä (toki jos sinulla on toimiva SSH-palvelin asennetuna RasPi:n voit antaa asennuskomennon toiselta koneeltasi SSH:n yli – SSH-palvelimen asennus on selitetty hyvin vaikkapa tässä artikelissasudo apt-get install netatalk – Netatalk:n versiosta 2.2.3 eteen päin pitäisi RasPi:n ilmaantua automaattisesti pienen odottelun jälkeen OS X:n Finder:n valikkoon kohtaan ’Jaettu’. Jos näin kuitenkaan ei tapahdu valitse Finderista ’Siirry’ -> ’Yhdistä Palvelimelle’ ja anna osoitteeksi afp://RaspberrysiIPOsoite – IP-osoitteen voit selvittää komentamalla ip addr show. Nyt pitäisi RasPi ilmaantua Finderin osioon ’Jaettu’.

Entäpä jo haluat käyttää Rasbianin graafista käyttöliittymää etänä. Tämäkin onnistuu suht kivuttomasti asentamalla RasPi:n VNC palvelin. Vaihtoehtoja on toki muitakin, mutta itse olen toteuttanut sen asentamalla tight VNC:n eli komennetaan RasPi:ssa sudo apt-get install tightvncserver kun paketti on asenettu aja: tightvncserver ja avaa uusi VNC sessio komennolla: vncserver :1 -geometry 1024×728 -depth 24 – voit toki käyttää korkeampaakin resoluutiota, sillä RasPi kykenee jopa 1920 x 1080 – resoluutioon. Tämän jälkeen asenna koneeseen, jolta haluat pääsyn RasPi:n jokin VNC asiakasohjelma ja anna yhteysosoitteeksi RasPi:n IP, jonka jo aiemmin selvitit komennolla ip addr show – Esimerkin valossa: 192.168.1.10:590x , jossa x on VNC palvelinta käynnistäessäsi antamasi session numero. Jos haluat VNC:n ilmaantuvan samalla tavalla Finderin ’Jaettu’ osioon lisää uusi palvelu /etc/avahi/services – hakemistoon eli komenna sudo nano /etc/avahi/services/rfb.service ja liitä oheinen pätkä siihen:

<?xml version=”1.0″ standalone=’no’?>
<!DOCTYPE service-group SYSTEM ”avahi-service.dtd”>
<service-group>
<name replace-wildcards=”yes”>%h</name>
<service>
<type>_rfb._tcp</type>
<port>5901</port>
</service>
</service-group>

Varmista portin numeron olevan sama kuin minkä määrittelit VNC palvelinta käynnistäessäsi. Sen jälkeen tallenna luomasi tiedosto nanossa näppäinyhdistelmällä CTRL ja O, sekä poistu editorista näppäinyhdistelmällä CTRL ja X – Jos pienen odottelun jälkeen VNC ei ilmaannu OS X Finderin ’Jaettu’ osioon käynnistä RasPi:ssa avahi-daemon uudelleen komennolla: sudo /etc/init.d/avahi.deamon restart

Seuraavaksi on äärimmäisen suotavaa suojata pikkuinen aparaattisi. Ongelma ei ole suuren suuri jos olet kuten minä 4G liittymän varassa, jolloin liittymästä ulos päin ei annetta kuin yksi ei julkinen IP-osoite. Mainttakoon tässä yhteydessä, että tämän vuoksi allekirjoittaneella ei esimerkiksi ole mahdollista pitää julkista palvelinta littymässään. Poikkeuksena tähän on esim: Sonera, jolla on tarjolla Opengate APN, jonka kautta se on mahdollista. Jos olet kiinteän laajakaistan päässä on suotavaa (suosittelen sitä muutenkin vaikket olisikaan kiinteän yhteyden päässä) ainakin vaihtaa RasPi:n oletussalasana, joka on raspberry eli oletan, että olet kirajutunut oletustunnuksella: pi joten komennetaan passwd ja annetaan sekä nykyinen salasana, että valitsemasi uusi salasana. On myös tärkeää pitää järjestelmänsä päivitettynä eli aja säännöllisesti komennot sudo apt-get update ja sudo apt-get upgrade jos RasPi:ssa on asennettuna Raspbian Wheezya aiempi versio on suotavaa ajaa myös komento: sudo rpi-update, joka päivittää RasPi:n firmwaren. Wheezyssa komento ei enää toimi, mutta komennolla: sudo aptitude update && sudo aptitude full-upgrade pitäisi myös firmware päivittyä.

Jos koneellasi hyrrää SSH palvlein on hyödyllistä estää epäilyttävät SSH-yhteysyritykset. Tähän oiva työkalu on fail2ban. Oletuksena SSH on varsin hyvin konfiguroitu Raspbianissa ja kunhan järjestelmäsi salasana on riittävän vahva olet varsin hyvin turvassa, mutta toisaalta pieni lisäturva ei ole koskaan pahitteeksi. Yksi suosikkityökaluni on Linux:n fail2ban, joka on varsin tehokas työkalu estämään epämääräiset kirjautumisyritykset SSH:n yli. Oletuksena fail2ban pistää 10 minuutin jäähylle mistä tahansa IP-osoitteesta, josta yritetään lyhyellä ajalla kirjautua järjestelmääsi ja annetaan kolme kertaa virheellinen käyttäjätunnus tai salasana. Tämä ainakin hillitsee satunnaisia yrittäjiä palvelimellesi. Paketin voit asentaa komenolla: sudo apt-get install fail2ban

Tässäpä oli muutama pieni vinkki RasPi:n parissa puuhailuun. Kirjoittelen aiheesta lisää myöhemmin mm. kuinka virität pikkuiseen tehomyllyysi oman kotipalvelimen.

 

Raspberry Pi kokeiluja

20121128-214319.jpg

Olen jonkin aikaa omistanut pikkuisen Raspberry Pi – Model B – rev. 2 yhdellä piirilevyllä toteutetun tietokoneen. Äskettäin löytyi sopivasti ylimääräistä aikaa perehtyä tähän ihmevimpaimeen ja samalla aparaatti tuli koteloituakin. Ostin valmiin läpinäkyvän kotelon, jossa laite pääsee oikeuksiinsa. Miksi suotta noin kaunista tuotosta piilottamaan läpinäkymättömään koteloon 😉

Laitteen prosessorina hyrrää 700 MHz ARM11, joka on riittävästi siihen tarkoitukseen mihin laite on suunniteltu. Käytössäni ei ole HDMI:llä varustettua näyttöä muuta kuin televisio eikä sopivaa DVI-HDMI – adapteria ollut käden ulottuvilla ja kun muutenkin aparaatti tulee luuraamaan viihdelaitteiden välittömässä läheisyydessä television, AppleTV 2:n ja Buffalo LinkStation Live NAS:n välimaastossa tuuppasin RasPi:n telkun toiseen HDMI-liittimeen kiinni.

Käyttikseksi valikoitui ensimmäiseen testiin erityisesti RasPi:lle väkerretty Debian-pohjainen Raspbian. SDHC-kortiksi valkkasin tuettujen korttien listalta löytyneen Transcend SDHC 32GB Class 10-kortin. Eli kortti sujahti Mac Book Pro:n kortinlukijaan ja ei kun Raspbian levykuvaa siirtämään kortille. Siirtoon käytin terminaalin komentoa dd. Hivenen hämmensi kun mokoma siirteli levykuvaa kortille pari tuntia. Miten ihmeessä se voikin tapahtua noin pahuksen hitaasti? Kortti oli oikeaoppisesti unmountattu järjestelmästä. Ehkäpä lisäämällä optio: bs=1M olisi pistänyt vipinää toimintaan? Lopulta homma oli kuitenkin kasassa ja diskutil eject-komennolla kortti irti ja hämmästelemään.

Kortti kiinni RasPi:n. HDMI-piuha kiinni ja virtaa aparaattiin. Virtalähteenä käytin ylimääräistä android-luurin laturia joka täyttää vaaditut speksit: 5V ja vähintään 700mA. Aparaatti hörskähti lupaavasti käyntiin ja Linuxista tutut käynnistysrivit alkoivat vilistämään televisiossa vaan ”mitvit” mokoma hyytyi alkumetreillä ilmoitukseen: ”Kernel Panic – not syncing: VFS: Unable to mount root fs on unknown-block. Ankaraa pään raapimista ja googlausta joka tarjosi syytä ja seurausta ongelmaan kaikkea väliltä yhteensopimaton muistikortti ja tehoton virtalähde. Ensinmainittua en epäillyt, joten kokeilin toisella virtalähteellä samoin kernel panic-tuloksin. Pakko olla tapahtunut jotain epämääräistä OS X:n dd-komentelun aikana.

Pienen takaiskun jälkeen takaisin Mac:n ääreen ja miettimään seuraavaa siirtoa. Josko nyt kokeilisi bs=1M – optiolla siirtoa kortille. Tässä vaiheessa Omppufirman ihmevempele kyllästyi SDHC korttiini, eikä suostunut alustamaan sitä loitsuista huolimatta. Perkele! Suossa oltiin! Tässä vaiheessa keljutus hakkasi samoissa lukemissa pulssin kanssa ja mielessä siinsi: nyt lakki päähän ja baariin, mutta eihän nyt näin helpolla luovuteta…eihän?

Laahustin epäuskoisena wanhan Windows seiskalla varustetun pöytäkoneen ääreen josta löytyi myös tuikitarpeellinen muistikortinlukija. Latasin tarvittavan sovelluksen: win32diskimager ja aloin sen avustuksella siirtämään levykuvaa muistikortille ja kas kehveliä. Prosessi oli muutamassa minuutissa ohi! Miten ihmeessä Mac:ssä tuo prosessi kesti pari tuntia? Kyseessä on kuitenkin kohtuu tehokas Late 2011 MBP? Tutkimattomia ovat bittien tiet. Tässä kisassa Redmond:n paja vetäisi Cupertinon vastaavaa nokkaan 100-0 🙂

Kortti uudestaan kiinni RasPi:n ja jopas jotakin sehän mokoma käynnistyi ja ei kun säätämään. Pitkästä aikaa on kiva palata Linux-maailmaan. RasPi:sta kaavailen hassua testilaitetta sekä valjastin sen myös pyörittämään emulaattoreita. Vielä kun saan Logitech:n pelilaatan juttelemaan sen kanssa niin a vot! Saisihan tähän XBMC:n asennettua, mutta tähän tarkoitukseen ATV2 on omiaan. Monia mielenkiintoisia käyttöideoita RasPi:lle on muhimassa. Niistä lisää myöhemmin. Ehkä voisi kokeilla myös jotain muuta distroa kuten vaikkapa Arch Linux:a.

Jos tällaiseen aparaattiin törmäät. Osta ihmeessa pois kuleksimasta 🙂