Hacking Android I

Tak jsem si slibil, že si zkusím pohrát s Androidem a ideálně jej dostanu do ps3. To samozřejmě až v nějaké další části, nejprve se zkouším dostat do obrazu a rozjet jej alespoň na x86 platformu. Nějaký částečný success už jsem utrpěl, ovšem jsou tu i  "drobnosti", které mi zatím dělají problémy. Každopádně to zkusím postupem času shrnovat v blogpostech.

Tak jsem si slibil, že si zkusím pohrát s Androidem a ideálně jej dostanu do ps3. To samozřejmě až v nějaké další části, nejprve se zkouším dostat do obrazu a rozjet jej alespoň na x86 platformu. Nějaký částečný success už jsem utrpěl, ovšem jsou tu i  "drobnosti", které mi zatím dělají problémy. Každopádně to zkusím postupem času shrnovat v blogpostech.

Vyšel jsem z verze pro Asus eee, protože si myslím, že přece jenom x86 je x86 a poupravit existující konfiguraci jádra, na kterém Android bez problémů běhá, bude jednodušší, než tvořit config na zelené louce. Takže jsem si vytvořil ve VirtualBoxu novou mašinu a nainstaloval Kubuntu (2.6.24-22-generic). Androuš má krásně popsaný postup, jak stáhnout zdroje z repozitáře pomocí GITu.Protože se netahá "master" větev, je nutné spustit inicializace repozitáře s parametrem a ručně vytvořit lokální manifest.

1. $ mkdir ~/mydroid

2. $ cd mydroid

3. $ repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake

4. $ repo sync

cat > ./.repo/local_manifest.xml << _EOF
<manifest>
      <project name="platform/vendor/asus/eee_701" path="vendor/asus/eee_701"/>
</manifest>
_EOF

5. $ repo sync

V tomto okamžiku by měly být staženy kompletí zdrojové kódy (resp. ty jsou staženy už  krokem čtyři, krok pět stáhne patch pro eee verzi) , v mém případě s jádrem 2.6.27 (podadresář kernel) a moduly, init skripty a konfigurací jádra pro Asus eee (podadresář vendor/asus/eee_701). Pak je možné už jednoduše kompilovat pomocí make, po specifikaci parametrů pomocí proměnných.

6. $ TARGET_ARCH=x86 TARGET_PRODUCT=eee_701  DISABLE_DEXPREOPT=true make

7. $ TARGET_ARCH=x86 TARGET_PRODUCT=eee_701  DISABLE_DEXPREOPT=true make bootimage userdataimage

8. $ TARGET_ARCH=x86 TARGET_PRODUCT=eee_701  DISABLE_DEXPREOPT=true make installer_img

 Buildovací proces vygeneruje jednotlivé "images" v podadresáři out/target/product/eee_701, installer_img potom vygeneruje installer.img, kde jsou zabaleny všechny tyto obrazy a je možné jej nabootovat (např. pomocí qemu), ovšem nabootuje pouze z boot partition (boot.img) a nepřipojí kořenový systém, takže naběhne pouze sh, který ovšem vůbec nic neumí.

9. $ qemu -hda installer.img

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Teď se snažím o vytvoření obrazu, který mi kompletně nabootuje Androuše, ale o tom příště!

Android jen pro vyvolené? Ale kdeže…

Vývojáři Androidích aplikaček nadávají, že SDK není aktualizované, resp. proslýchá se, že nové SDK je dostupné pouze těm, kteří se umístili na vyšších pozicích v soutěži o nej… básničku prográmek pro Androida. Jasně, vývojáři prchají, ale zdravé jádro vítězů vyvíjí.
Vývojáři Androidích aplikaček nadávají, že SDK není aktualizované, resp. proslýchá se, že nové SDK je dostupné pouze těm, kteří se umístili na vyšších pozicích v soutěži o nej… básničku prográmek pro Androida. Jasně, vývojáři prchají, ale zdravé jádro vítězů vyvíjí.

Možná Googlu stačí jen pár aplikací, které zahrne do výchozí distribuce a které budou mít nálepku „oficiální“ (rozuměj napíchnuté) a v určité fázi projekt uzavře a bude úplně uzavřený (jasně, je vyvíjený pod Apache Licencí), ale je možné, že armáda Googlích právníků v něm našla nějakou skrytou díru…vždyť jak to bylo s „ukradenou javou“. Jen k čemu bude platforma bez vývojářů? Možná se poveze na hypu značky, iPhone taky nemá (nebo neměl – zdarma) SDK a existujících aplikací si troufám tvrdit, že pro něj není moc, ale pořád se najde hodně lidí, kteří tento přístroj mají třeba jen proto, že má na sobě nakousnuté jablíčko. Tak proč by někdo nechtěl „telefon made by google“, zvlášť pokud má googlími aplikacemi prošpikován celý život? Já bych se možná i zařadil do stáda, bohužel, i když po některých aférách bych možná volil v jiných vodách.
Edit 19.srpna: Tak už je to pasé, jako klobouky, protože: „Announcing a beta release of the Android SDK„. Tož uvidíme, jak se to bude ubírat dále!

W.E. phone, aneb FreeRunner v jiném hávu

a já ho chci a chci a chci!

http://www.linuxdevices.com/news/NS2955814405.html

http://koolu.com/WE-Phone/WE-Phone-Introduction.html

http://wiki.openmoko.org/wiki/Main_Page

navíc se do budoucna počítá s Androidem!!! UAAA!

a já ho chci a chci a chci!

http://www.linuxdevices.com/news/NS2955814405.html

http://koolu.com/WE-Phone/WE-Phone-Introduction.html

http://wiki.openmoko.org/wiki/Main_Page

navíc se do budoucna počítá s Androidem!!! UAAA!

Nepíšu, fotím

Že se na mnoha místech vyskytují čárové kódy je jasné každému, ale že je možné v tomto formátu uchovávat a distribuovat informace i obyčejnými smrtelníky už asi tak jasné není. Ono přepisovat webovou adresu do mobilu je poměrně zdlouhavé, stejně tak odněkud z časopisu opisovat kódy pro mobilní platbu, tak proč jednoduše telefonem nevyfotit daný kód?

Že se na mnoha místech vyskytují čárové kódy je jasné každému, ale že je možné v tomto formátu uchovávat a distribuovat informace i obyčejnými smrtelníky už asi tak jasné není. Ono přepisovat webovou adresu do mobilu je poměrně zdlouhavé, stejně tak odněkud z časopisu opisovat kódy pro mobilní platbu, tak proč jednoduše telefonem nevyfotit daný kód?

Nokia zřejmě zamýšlí něco většího pomocí těchto kódů, stejně tak i množství firem, které nabízejí mobilní aplikace. Několik jsem jich vyzkoušel na mé SX1 a i když některé nabízely podporu pro tento telefon, ve finále bohužel nefungovaly. Zprovoznil jsem tedy tři aplikace: Glass reader, QuickMark a UpCode Reader. Ovšem ani tohle není finální výběr, protože UpCode je jen nějaký pokus, nedá se vůbec používat, Glass je nějaká trialverze, která taky nefunguje bez zadání aktivačního kódů, funguje tedy správně a naprosto bez problémů (navíc poměrně rychle) QuickMark prohlížeč.

Tento reader načítá QR kódy, které je možné vytvořit například pomocí pluginu ve Firefoxu, či pomocí rozhraní na stránkách nokie. Připojuju teda dva vygenerované obrázky a těším se na návštěvu!

Nokia kupuje Trolltech

Finská společnost Nokia koupila norský Trolltech, společnost, která stojí za vývojem Qt, potažmo Qtopie.

Finská společnost Nokia koupila norský Trolltech, společnost, která stojí za vývojem Qt, potažmo Qtopie.

 

 

Transakce ve výši 153mil Euro proběhla 28.ledna 2008. Proč se Nokia pouští do OSS vod? Možná jí zachutnala ochutnávka v podobě na GTK založeného Maema, které běhá na jejích internetových tabletech. Proč ne? Qtopia je zajímavé rozhraní (vyzkoušel jsem na své SX1), ovšem takové KDE (založené na Qt) běžící na mobilu je velké lákadlo, pro mě určitě!

 

 

Zatím to ovšem nevypadá, že by se Nokia chtěla vzdát vývoje Symbianu (je minoritním vlastníkem), který běhá na Nokiáckých smartphonech a nahradit ho Linuxem; Qt má tvořit spíše nadstavbu nad Symbianem, ale řekl bych, že v tom nemá jasno ani Nokia sama, nechám se překvapit…

Image Hosted by ImageShack.us

Linux na SX1

Pořád jsem se chystal rozjet na mé SX1 linuxové jádro s portlou Qtopií a až teď jsem konečně našel trochu času, abych se do toho pustil.

Pořád jsem se chystal rozjet na mé SX1 linuxové jádro s portlou Qtopií a až teď jsem konečně našel trochu času, abych se do toho pustil.

 

 

Už dlouho jsem byl namlsanej diskuzí na symbianfóru, množstvím videí a obrázků, ale pořád se mi nechtěla čistit paměťovka. Nedávno mi ovšem telefon zkolaboval a byl jsem nucenej flashovat, tak jsem při té příležitosti nainstalil Linucha. Velmi příjemné je, že "instalace" je poměrně jednoduchá a ještě příjemnější je fakt, že je možné tento systém provozovat vedle Symbianu, takže jsem měl telefon s duálním bootem!

Prostředí vypadá pěkně, to nepopírám, ovšem boot je docela dlouhý, je to takové těžkopádné, nefungují některé věci a stále je portnuto žalostně málo aplikací. Tak zase tučňák šupal z telefonu pryč, ale zkušenost rozhodně zajímavá, navíc jsem si mohl udělat do seznamu čárku k "provozoval jsem tučňáka na svém telefonu", hned se cítím more nerdy.

 

Vypadá to, že nepřehráváme. Zkuste to na původních stránkách.

 

Btw. jsou postupně portována i další grafická prostředí.

Přizpůsobení designu Drupalu použitému zařízení

Prohlížení webového obsahu na displeji i postaršího mobilního telefonu není žádná novinka, prohlížeč Opera Mini existuje již ve své třetí verzi a to jak pro platformu MIDP-1, tak i MIDP-2. Architektura typu C-S tohoto prohlížeče provádí jakési základní optimalizace stránek, ale proč neoptimalizovat přímo daný web (budu uvažovat Drupal) pro konkrétní zařízení a nezvýšit tak uživatelský komfort ještě o pár příček výš?

Prohlížení webového obsahu na displeji i postaršího mobilního telefonu není žádná novinka, prohlížeč Opera Mini existuje již ve své třetí verzi a to jak pro platformu MIDP-1, tak i MIDP-2. Architektura typu C-S tohoto prohlížeče provádí jakési základní optimalizace stránek, ale proč neoptimalizovat přímo daný web (budu uvažovat Drupal) pro konkrétní zařízení a nezvýšit tak uživatelský komfort ještě o pár příček výš?

Možnost, jak určit, jaký druh obsahu zobrazit je na základě adresy (čili www.mojeadresa.cz vs. mobile.mojeadresa.cz). Pro tento způsob asi většina lidí sáhne po následujícím kousku kódu:

$parts = explode('.', $_SERVER['HTTP_HOST']);
if (
$parts[0] == 'mobile') {

$GLOBALS['theme_custom'] = 'mobile';

$base_url = $_SERVER['HTTP_HOST'];
}

Ovšem pro použití na freewebech, kdy je adresa tvořena ve třetím řádu již samotným názvem webu tento způsob není možné využít. Pokud má někdo vlastní doménu a tento způsob by mu vyhovoval, nechť tedy pokračuje na stránky Drupalu, kde se tento způsob řeší. Můj způsob spočívá v detekování prohlížeče, pomocí skriptů Skiffieho (který má funkčnost vysvětlenu i s příklady na svém blogu).

Pro jednoduché stránky se jeví jako ideální zdetekovat, jaký prohlížeč přistupuje a na základě této informace mu podstrčit kaskádový styl optimalizovaný pro tento prohlížeč. Drupalu je možné na základě této informace předhodit konkrétní téma, které má využít. Protože se jedná o mobilní zařízení, budu uvažovat téma mobile. Ovšem téma v Drupalu není jenom změna stylu, je možné odebírat jednotlivé bloky…

Sprovoznění je více než jednoduché. Stačí nainstalovat téma mobile, povolit jeho používání a v adresáři /sites/default/ přidat na konec souboru settings.php jednoduchou podmínku a nakopírovat a přiložit Skiffieho skripty.

include "accessibility.php";
if (
is_mobi())
$conf = array(

'theme_default' => 'mobile',

'anonymous' => 'mobileVisitor'

);

Možná by ještě nebylo od věci přidat rozšíření switchtheme, kdyby přece jenom detekce nebyla stoprocentní. Potom je možné přepnout aktuální téma pomocí url, kam se přidá ?q=node&theme=nazevtematu.