OpenWrt Workshop ja säätämisen ilo

Tänään oli yliopistolla Atk-kerho Ruutin ja LTY:n tietoliikennetekniikan laitoksen järjestämä hakkeripäivä aiheena OpenWrt. Koska jokaiseen mahdolliseen ja mahdottomaan laitteeseen pitää änkeä Linux, asennettiin OpenWrt Workshopissa muutamaan Linksys Wrt54G tukiasemaan ja yhteen Buffalon tukiasemaan OpenWrt -firmwaret. Tavoitteena oli päästä ideoimaan ja kokeilemaan erilaisia asioita, joita voidaan tehdä OpenWrt:n ja sulautetun reititinlaitteen kanssa.

Ideoinnin ja OpenWrt:hen tutustumisen jälkeen itse firmwaren asennus sujui helposti tukiaseman web-liitynnän kautta. Laitteisiin asennettiin OpenWrt White Russian RC5 käyttäen Squashfs-versiota. Tällöin osa systeemistä on vain-luku -muodossa (”/rom” -osio, Squashfs -tiedostojärjestelmä) ja muutokset järjestelmään tehdään JFFS2 -muotoiseen ”/” -osioon. Onnistuneen päivityksen jälkeen laitteeseen pystyi ottamaan yhteyden telnetillä ja salasanan asettamisen jälkeen tukiasemaan voidaan kirjautua käyttämällä ssh:ta.

Uusien ohjelmien asentaminen onnistuu Debian-tyyliin Apt-työkalua muistuttavaa ipkg:ta käyttämällä. Ohjelmatarjontaa on snmp:sta WWW-palvelimeen. OpenWrt ja saatavilla olevan ohjelmat tarjoavat Linksysin firmwareen verrattuna uusia mahdollisuuksia tukiaseman käyttämiseen, ja perusasetusten jälkeen laitteen syslog asetettiinkin kirjoittamaan logit verkon toiselle koneelle, jolloin voidaan seurata mitä tukiasemassa tapahtuu. Lisäksi workshopissa leikittiin muun muassa Kismetin, virtuaalitunnelin ja NFS-levyjakojen kanssa. Linksys Wrt54G:n 4MB flash-muisti ei paljon ylimääräistä tilaa ohjelmille tarjoa, mutta valittujen toimintojen toteuttamiseen ihan riittävästi. Neljästä megasta puolet menee vielä firmwarelle, joten käytettävää tilaa on nihkeät alle kaksi megaa. Tukiasemaan toivoisikin USB-liitintä ulkoisen USB-kiintolevyn liittämistä varten, jolloin saataisiin lisää tilaa ohjelmille ja päästäisiin eroon flashille kirjoittamisesta.

Itse jatkoin tästä iBookin kanssa säätäen langattomalle yhteydelle WPA/WPA2 salauksia, joka pitäisi olla suhteellisen triviaalia. Salausten ja iBookin Airportin kanssa sitten menikin aikaa, koska Airport on hieman nirso. Applen käyttäjäystävällisyys ylettyy myös virheilmoituksiin ja ”The network does not support the requested encryption method” tai ”There was an error” -tyyliset virheilmoitukset eivät todellakaan lämmittäneet mieltä, kun laite ei suostunut yhteystyöhön. Eri WPA, WPA2, TKIP ja AES yhdistelmien jälkeen päädyin ainakin tällä kertaa päivittämään laitteeseen Linksysin firmwaren takaisin, joka taisi tosin olla hieman tuoreempi versio kuin alunperin.

OpenWrt ja hallintapaneeli vaikuttivat yleisesti ihan hyviltä. Web-käyttöliittymä oli selkeä ja lisäksi asetuksia pystyi muokkaamaan suoraan hallintakonsolista ssh:n kautta. OpenWrt on vielä kehitysvaiheessa, mutta vaikutti ihan toimivalta kokonaisuudelta asennuksen ja dokumentoinninkin osalta. Pitänee seuraavaa versiota testailla uudestaan Windowsin ja Mac OS X:n kanssa, jos vaikka WPA2 suostuisi toimimaan. Linksysin firmwarella WPA2 ja TKIP+AES lähtivät toimimaan ilman säätämistä, joten jossain täytyy olla eroa. Myös syvempi tutustuminen *BSD:hen ja Darwiniin auttaisi kiertämään Applen ”käyttäjäystävälliset” virheilmoitukset ja saamaan enemmän informaatiota virheistä.

Linuxin kerneli ja eri sorsat

Linuxille on saatavilla useita erilaisia kernelin sorsia, eli ytimen lähdekoodeja, joilla voi terästää omaa Linuxia haluamillaan tavoilla. Vanilla-kernel on se perus-kerneli, jonka päälle sitten kasataan keko patcheja ja saadaan uusia ominaisuuksia ja kenties lisää ”tehoa” irti koneesta.

Normaalisti käytän Gentoossani Con Kolivasin ck-sources kerneliä ja aikaisemmin testailin cko-sourceja, jotka perustuvat ck-sourceihin, mutta tuovat lisää ominaisuuksia mm. tiedostojärjestelmän ja alsan osalta. Suorituskyvyssä ei juurikaan ollut eroa ja palasin päivitettävyyden takia takaisin käyttämään ck-sourceja. Lisäksi cko-sourcesin kehitys loppui.

Huomasin pari päivää sitten, että cko-sources jatkaa tavallaan elämää beyond-sources nimellä (aikaisemmin nimellä archck-sources) ja yhdistää nyt myös nitro-sourcesissa olleet patchit. Beyond-sourcesiin löytyi valmis ebuild Gentoon bugi-kannasta numerolla #103354. Ebuildit helpottavat huomattavasti hieman erikoisempien ja paketinhallinnasta löytymättömien ohjelmien kokeilemista.

Kaikkea on aina kiva testata, mutta koska käytän alsaa moduulina, eikä tarvetta ole erikoisimmille tiedostojärjestelmille kuten reiser4 tai UnionFS, on erikoisimpien kernelien käyttäminen hieman turhaa. Myöskään suorituskyvyssä en eroa huomannut ck-sourcesiin verrattuna. Viime syksyn kernelien interbench -testien perusteella eri kernelien erot perusasetuksilla ovat lähinnä käyttäjän korvien välissä. Erot tulevat lähinnä esille, jos tarvitaan hieman erikoisempia ominaisuuksia tai halutaan kehuskella kavereille erikoisella kernelillä.

Debian ja puuttuva tiedosto

Debian Administration kirjoittaa keinosta löytää jokin tietty kirjasto tai tiedosto ja vastaava Debian-paketti, joka sisältää haetun tiedoston.

Tiedoston etsiminen paketista onnistuu käyttämällä dpkg:tä –search argumentilla. Toinen vaihtoehtoinen tapa on käyttää apt-file -komentoa.

Ensin apt-file pitää asentaa komennolla: apt-get install apt-file. Komennolla apt-file update haetaan data, josta apt-file etsii tiedostoja. Tämän jälkeen voidaan etsiä tiedostoa debian-paketeista komennolla: apt-file search <tiedosto> .

Toiminto näyttää esimerkiksi seuraavalta ja saamme selville, että alisp.h löytyy paketista libasound2-dev:

~$ apt-file search alisp.h
libasound2-dev: usr/include/alsa/alisp.h

HP LinuxForum

Hewlet Packard, eli HP, järjestää jälleen ilmaisen Linux-aiheisen tapahtuman. Tapahtuma pidetään torstaina 4.5.2006 Helsingin Messukeskuksessa ja teemoina ovat Linux ja Total Cost of Ownership (TCO), Linux ja tietoturva sekä Open Source. Ohjelma koostuu esityksistä, paneelikeskusteluista ja esityksiä tukevista ratkaisunäyttelyistä.

Paneelissa keskustelemassa on mm. Novellin toimitusjohtaja Kim Aaltonen, Microsoftin tietoturvajohtaja Kimmo Bergius, F-Securen tutkimusjohtaja Mikko Hyppönen, sekä Market-Vision analyytikko Ilkka Holopainen. Näyttelyssä mukana ovat: F-Secure Oy, Intel, Nordicmind Oy, Novell, Oracle, RedHat, Suomen Linux -käyttäjäyhdistys (FLUG), Suomen Open Source -keskus (COSS) ja Tieturi Oy.

Tapahtuman sivut ja lisätietoa löytyy osoitteesta: http://www.hp.fi/linuxforum/index.html ja ilmoittautuminen pitää suorittaa viimeistään keskiviikkoon 26.4.2006 mennessä.

Tilaisuuden päätteeksi luvataan mukava Linux-yllätys.

Vim ja tekstin automaattinen sisennys

Linuxille on monia hyviä tekstieditoreja komentorivikäyttöön. Toiset pitävät nanosta, toiset emacsista, mutta mielestäni kenties parhain on kuitenkin vim. Tuo ohjelma, jonka ekaa kertaa käynnistäessäsi et tiennyt kuinka siitä pääsee pois. Myöhemmin viisaammat kertoivat ESC-:q -komennon ja kirosit koko ohjelman syvimpään hautaan. Jos ensimmäinen käyttökerta ei pelästyttänyt, kannattaa tutustua vimtutor -ohjelmaan ja oppia käyttämään vim:iä, sillä vim on pieni ja tehokas tekstieditori.

Vim on kehittyvä ohjelma ja uudet versiot tuovat uusia ominaisuuksia, joista kaikki eivät ole aina toivottuja. Jossain vaiheessa huomasin, että liittäessäni tekstiä vimissä auki olevaan tiedostoon, menivät kaikki liitetyn tekstin sisennykset aivan ketuilleen. Onneksi Google kertoi oikean vastauksen ongelmaan löytyvän vim.org -sivustolta. Kysymykseen oli annettu monia eri ratkaisuja, mutta itselle ja omaan tarkoitukseen kelpaava ratkaisu löytyi asettamalla kotihakemistoni .vimrc -tiedostoon rivit:

set nosmartindent
set noautoindent 

Nyt vim ei automaattisesti käytä edellisen rivin sisennystä liitettäessä tekstiä tai sisennä automaattisesti, kun kirjoitetaan koodia. Ei aivan täydellinen ratkaisu, sillä automaattinen sisennys koodatessa on kyllä kätevä.

Ohjeissa ehdotettiin myös lisäämään filetype off .vimrc -tiedostoon tai F11-napin määrittämistä :set paste -komennolle:

" Paste Mode On/Off
map <F11> :call Paste_on_off()
set pastetoggle=<F11>

let paste_mode = 0 " 0 = normal, 1 = paste

func! Paste_on_off()
        if g:paste_mode == 0
                set paste
                let g:paste_mode = 1
        else
                set nopaste
                let g:paste_mode = 0
        endif  
        return
endfunc

Kyseinen funktio mahdollistaa paste-ominaisuuden päälle/pois -kytkemisen ja nyt myös voidaan käyttää autoindent ja smartindent -optioita koodauksen helpottamiseksi.

Pingviinin muotoinen minitietokone

tux

Linux devices esittelee Acme Systemsin pienen SBC-koneen (single-board computer), joka pyörittää Linuxia. ”Acme Fox” on kooltaan 2.6 x 2.8 tuumaa, 100e hintainen ja RISC-pohjainen levy on paketoitu nättiin 6.7 tuuman Tux-koteloon (30e). Pingviinin takapuolelta löytyy liittimet verkkokaapelille, kaksi USB-liitintä ja paikat muille I/O -liittimille. Laite toimii 2.4 tai 2.6 -sarjan kernelillä ja käyttötarkoituksena mainittiin esimerkkeinä http, ftp, telnet, ssh -palvelimet. 100 MIPS:n tehoilla ja USB-levyillä ei tosin mitään kovin ihmeellistä askarrella.

PlayStation 3 marraskuussa

PlayStation Business Briefing 2006 konferenssissa kerrottiin, että PlayStation 3 julkaistaan maailmanlaajuisesti marraskuussa 2006. Aikaisempien tietojen mukaan PS3 oli suunnitteilla julkaista kevään tai kesän aikana. Pelikonsoli julkaistaan tietojen mukaan yhtä aikaa Yhdysvalloissa, Japanissa ja Euroopassa ja hinta on vähintään 50 000 yeniä eli noin 350€.

PS3:n pelit toimitetaan vain blu-ray -levyillä ja konsoli on yhteensopiva vanhojen PlayStation 1 ja 2 -pelien kanssa. Laitteesta löytyy tuki myös HDMI-standardille. Monien iloksi konsolissa on lisäksi 60GB-kiintolevy ja PS3:n on ilmoitettu tukevan Linuxia. Kiintolevylle voidaan tallentaa mediaa ja sen avulla PlayStation 3 voi toimia kotipalvelimena ja medialaitteena pelaamisen ohessa.

PlayStationin Cell-arkkitehtuuri luo haasteita Linuxin pyörittämiselle ja ohjelmien toimivuudelle, mutta ilmoitettu tuki Linuxin toimivuudelle lupaa hyvää. Kuten varmaan moni muukin, myös itse odotan innolla, mihin kaikkeen pelikonsoli taipuu. Xbox 360:een verrattuna lähtökohdat monipuoliseen käyttöön ovat selkeästi paremmat.