Cikksorozat indult a maemo platformról

Címkék

Blog indult, amelynek témája elsősorban a maemo, a Nokia Linux alapú mobil eszközeinek nyílt platformja. Szeretnénk ezt a platformot a magyar programozók körében népszerűsíteni. Az első cikk a maemo alapjait mutatja be.

Hozzászólások

"az olvasó haladó linuxos ismeretekkel rendelkezik" + "letölthető szkriptet futtassuk rootként. A szkript letölti a szükséges csomagokat "

ez csak nekem szurja a szemem?

ez van, a scratchbox mar csak ilyen, a gyokerbe telepul. egyebkent jobban orulnek, ha helyette mar a scratchbox2-t nyomatnak maemo-ek, valahogy tisztabb erzes, miutan felszenvedi az ember (csak egyelore bunlassu benne a forditas), raadasul elferne egymas mellett egy bora es egy chinook kornyezet, ha esetleg mindkettore fejleszt az ember (marpedig miert ne fejlesztene, kar lenne meg leirni a 800-ast).

esetleg meg arra ra lehetne vilagitani a cikkben (ami egyebkent nagyon jo, gratulalok!), hogy hardy-n nem megy a scratchbox, kell hozza egy 'echo 0 | sudo tee /proc/sys/vm/vdso_enabled'

Ez jól hangzik, vizsgaidőszak után biztosan megnézem.

hmmm, nekem nem indul el a grafikus felület. :S
igaz, hogy Xnest-et használok... csak mert a xephyrt nem tudtam feltenni az Xnest meg alapból fent van már.

nem tudom mi lehet a gond, mert a leírást követtem... :S
Slackware 12.0/Linux 2.6.24.5

ezt kapom a scratchboxból:

http://pastebin.ca/1002708

ezt írja ki az Xnest:

http://pastebin.ca/1002710

__________________________________________________________
Az életben csak egy dolog a szép, de az épp nem jut eszembe.

Slackware Linux 12.0 | 2.6.24.5-janos

valaki?
igazából mivel ez az első találkozásom a maemóval, ezért ezekkel a hibaüzenetekkel nem tudok mit kezdeni... :(
__________________________________________________________
Az életben csak egy dolog a szép, de az épp nem jut eszembe.

Slackware Linux 12.0 | 2.6.24.5-janos

hát, kár érte. :S

szerk: ezt találtam:
http://em.typodemon.com/wordpress/?p=124

szerk2: ha n770-re akarok fejleszteni, akkor is ezeket a szkripteket használhatom, vagy esetleg a blumsoftos cikkben leírt sdk változat nem támogatja már az n770-et?
__________________________________________________________
Az életben csak egy dolog a szép, de az épp nem jut eszembe.

Slackware Linux 12.0 | 2.6.24.5-janos

Mivel a fent említett leírás végül nem segített, ezért úgy döntöttem, hogy utánajárok a dolgoknak kicsit.
Az egyetem ahová járok, jó kapcsolatokat ápol az adott blog mögött álló céggel, és mivel a téma érdekel, ezért is foglalkoztat a kérdés.
A következő hónap során várhatóan szert teszek egy N770-es Internet Tabletre, amin majd próbálgathatom - remélhetőleg - az oroszlánkörmeimet.
Egy ideje már Slackware Linuxot használok, már viszonylag jól elboldogulok vele, megszerettem használni, mondhatni hozzám nőtt.

Mivel a fenti leírás a 4-es Maemo SDK-val foglalkozik, ezért ez számomra nem megfelelő, mivel a Maemo projekt oldalairól kiderül, hogy a 2.2-es Maemo verzióval lehet az IT OS 2006-ra fejleszteni, ami az N770-en hivatalosan támogatott legfrissebb változat. (Kutakodásom során találtam IT OS 2007 és 2008 "Hacker Editiont", ami elvileg működik N770-en, de valószínűleg ezek hivatalosan nem támogatottak.)
Ezek után úgy döntöttem, hogy akkor a 2.2-es Maemo SDK-t teszem fel, amit viszont csak kézzel lehet telepíteni.
A projekt oldalain van egy leírás, ami az első lépések megtételét hivatott segíteni. Ezért ezt követtem.

A leírás előre bocsátja, hogy elsősorban Ubuntura és Debianra szánják az SDK-t, de a többi frissebb disztribúcióval is működnie kellene.

Első lépésként le kell töltenünk a következő fájlokat a Scratchbox oldalairól:
(Az írásban - amennyire lehetséges - ragaszkodom a megadott verziókhoz, hogy minél kevesebb váratlan probléma léphessen fel.)

scratchbox-core-1.0.7.tar.gz
scratchbox-devkit-debian-1.0.7.tar.gz -> scratchbox-devkit-debian-1.0.7.1-i386.tar.gz
scratchbox-devkit-cputransp-1.0.7.tar.gz -> cratchbox-devkit-cputransp-1.0.6-i386.tar.gz
scratchbox-libs-1.0.7.tar.gz
scratchbox-toolchain-cs2005q3.2-glibc-arm-1.0.5.tar.gz -> scratchbox-toolchain-cs2005q3.2-glibc-arm-1.0.5-i386.tar.gz
scratchbox-toolchain-cs2005q3.2-glibc-i386-1.0.5.tar.gz -> scratchbox-toolchain-cs2005q3.2-glibc-i386-1.0.5-i386.tar.gz

Ezek után az így letöltött fájlokat kitömörítjük a

/scratchbox

könyvtár alá:


root@janos_mobile:/home/janos/Desktop/n770&ipod/n770/scratchbox# for i in `ls .`; do \
> tar -xvzf $i -C / ; \
> done

Ezután a Scratchboxunk már majdnem készen áll, csak a következőket kell tennünk:


root@janos_mobile:/home/janos/Desktop/n770&ipod/n770/scratchbox# cd /scratchbox/
root@janos_mobile:/scratchbox# ./run_me_first.sh
Do you want to use sudo mode? [yes/no] (no): no
Give the name of the scratchbox group (sbox):
Stopping Scratchbox: umount, binfmt_misc.
Starting Scratchbox: binfmt_misc, mount.

Now you should add one or more users with /scratchbox/sbin/sbox_adduser
root@janos_mobile:/scratchbox# sbin/sbox_adduser janos yes
Scratchbox user account for user janos added
root@janos_mobile:/scratchbox#

Ezután jelentkezzünk ki, majd újra be, hogy a változtatások érvényre juthassanak, majd ezután bejelentkezhetünk a Scratchbox környezetbe.
Figyeljünk oda, hogy ezt már mezei felhasználóként tegyük!


janos@janos_mobile:~/Desktop/n770&ipod/n770/tmp$ /scratchbox/login

You dont have active target in scratchbox chroot.
Please create one by running "sb-menu" before continuing


Welcome to Scratchbox, the cross-compilation toolkit!

Use 'sb-menu' to change your compilation target.
See /scratchbox/doc/ for documentation.

sb-conf: No current target
[sbox-: ~] >

Mint láthatjuk, a leíráshoz képest nem itt találkozunk az első eléréssel, a leírás példáiban ezek után következesen az

sbox-config

paranccsal találkozunk, azonban a valós életben vagy a

sb-menu

vagy a

sb-conf

parancsokra támaszkodhatunk.
Ezután a leírás azt mondja nekünk, hogy hozzuk létre a

.bash_profile

fájlt:


[sbox-: ~] > cat > /home/janos/.bash_profile
export LANGUAGE=en_GB
export PAGER=less
sb-conf: No current target
[sbox-: ~] >

Ezek után a rootstrappal kell foglalkozzunk:
A rootstrap-ek itt elérhetők:
Maemo_Dev_Platform_v2.2_armel-rootstrap.tgz
Maemo_Dev_Platform_v2.2_i386-rootstrap.tgz

Majd ezután másoljuk őket a

/scratchbox/packages

könyvtárba:


root@janos_mobile:/home/janos/Desktop/n770&ipod/n770/maemo2.2# cp \
> Maemo_Dev_Platform_v2.2_* /scratchbox/packages/ -v
"Maemo_Dev_Platform_v2.2_armel-rootstrap.tgz" ->
    "/scratchbox/packages/Maemo_Dev_Platform_v2.2_armel-rootstrap.tgz"
"Maemo_Dev_Platform_v2.2_i386-rootstrap.tgz" ->
    "/scratchbox/packages/Maemo_Dev_Platform_v2.2_i386-rootstrap.tgz"
root@janos_mobile:/home/janos/Desktop/n770&ipod/n770/maemo2.2#

Ezután pedig létre kell hoznunk egy megfelelő targetet, majd kicsomagolni a rootstrap-et.
Ezt legegyszerűbben a ncurses GUI-t nyújtó

sb-menu

segédprogrammal tudjuk elvégezni

Hozzunk létre egy targetet.
Válasszuk az új target létrehozását.
Adjunk nevet a targetünknek.
Az i386-os fordítót válasszuk.
A debian devkitet válasszuk ki.
Majd mondjuk azt, hogy készek vagyunk.
Ezután válasszuk a none CPU emulációs módot.
Igen, akarunk rootstrap-et kicsomagolni
Fájlból szeretnénk...
Válasszuk a "Maemo_Dev_Platform_v2.2_i386-rootstrap.tgz"-t.
Több targetet egyelőre nem teszünk fel.
Most még nem választjuk ki az új targetünket.

Ha ezzel megvagyunk akkor váltsunk targetet!


[sbox-: ~] > sb-conf se MAEMO_X86
Megállítás

Shell restarting...
[sbox-MAEMO_X86: ~] >

Itt láthatjuk, hogy a target megváltozott.

Most pedig teszünk egy rövid kitérőt az beágyazott (egymásba ágyazott) X szerverek felé.
Szerencsénkre a rootstrappel együtt feltelepült egy remek program a Xephyr, ezt fogjuk a következőkben használni.
Először is az egyszerűség kedvéért hozzunk létre egy szkriptet, ami elindítja a Xephyrt, és tegyük futtathatóvá!


janos@janos_mobile:~/Desktop/n770&ipod/n770$ cat > xephyr.sh && chmod 0774 xephyr.sh
#!/bin/sh -e
prefix=/scratchbox/users/${LOGNAME}/targets/MAEMO_X86/usr
export LD_LIBRARY_PATH=${prefix}/lib; export LD_LIBRARY_PATH
exec ${prefix}/bin/Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac
janos@janos_mobile:~/Desktop/n770&ipod/n770$

Ezután futtassuk is az új szkriptünket:


janos@janos_mobile:~/Desktop/n770&ipod/n770$ ./xephyr.sh &
[1] 12843
janos@janos_mobile:~/Desktop/n770&ipod/n770$

Xephyr helyett természetesen használhatunk más célprogramot is, a célnak például az Xnest is tökéletesen megfelel.
Az Xnestre használatára vonatkozó vonatkozó utasítások itt találhatók.

A következő lépés ezután a leírás szerint az, hogy beállítjuk a

DISPLAY

környezeti változót és első alkalommal elindítjuk a Maemo grafikus felületét:


[sbox-MAEMO_X86: ~] > export DISPLAY=:2
[sbox-MAEMO_X86: ~] > af-sb-init.sh start

Ami ezután következik az egy rakás hibaüzenet, az ember meg hirtelen nem tudja mit kezdjen, mert erre az eshetőségre nem készült fel...

--
Ezek után pár kérdés felmerül az emberben:
- hol rontottam el, amikor a hivatalos leírást követtem?
- mit felejtettem ki?
- az én hibám?
- netán a Slackware miatt van?

Elszomorító, hogy nem működik. Szerintem ez nem Pat hibája... Azért meg nem fogok Debianra/*buntura váltani, hogy Maemozhassak...
Bár jó dolognak tűnik, de az ilyesmi kicsit kedvét szegi az ember kísérletezési kedvének.

--
Megjegyzés:
Amennyiben nem nyerte meg a tetszésünket a Maemo és a Scratchbox, akkor a következő módon szabadulhatunk meg tőle:


root@janos_mobile:~# /scratchbox/sbin/sbox_ctl stop
root@janos_mobile:~# rm -rv /sratchbox

Amennyiben nem így végezzük a törlést, abban az esetben akár kárt is tehetünk a rendszerünkben!

Egy lépéssel előbbre jutottam:
A hibaüzenetekben az látható, hogy a szkript nem tud usernevet társítani az 1000-es uid-hez.
Ezért érdemes hozzáadni egy felhasználót a

/scratchbox/users/janos/targets/MAEMO_X86/etc//*REMOVE ME*/passwd

fájlhoz. Ezután a hibaüzenetek sora is lerövidül jelentősen, és a tartalmuk is megváltozik:

http://pastebin.ca/1003767
__________________________________________________________
Az életben csak egy dolog a szép, de az épp nem jut eszembe.

Slackware Linux 12.0 | 2.6.24.5-janos

ok!
remek. köszi a segítséget. most megy! :D
ha már ennyit szenvedtem vele, akkor befejezem a leírást, rendesen, és kiteszem valahová.
__________________________________________________________
Az életben csak egy dolog a szép, de az épp nem jut eszembe.

Slackware Linux 12.0 | 2.6.24.5-janos