Jag hade inte tänkt gå ut offentligt med det här projektet förrän jag hade något ordentligt att visa upp, men senaste tidens motgångar har gjort att det dröjer innan jag får ihop någonting. Därför tänkte jag istället presentera vad jag gjort, eller snarare försöker göra och förhoppningsvis även få in önskemål från andra användare.
Spelaren har en System-On-a-Chip-processor (SOC) med MIPS-arkitektur från RealTek som heter RTD1073. Den kör en inbäddad linuxversion baserad på uclibc och busybox med version 2.6.12 av linuxkärnan. Huvuddelen av spelarens funktioner sköts av ett program som heter DvdPlayer. I övrigt finns telnet, samba, en BitTorrent-klient, en webserver och lite annat smått och gott.
Tyvärr är Realtek som vanligt restriktiva med att ge ut teknisk dokumentation eller utvecklingskit om sina chip så speciellt mycket mer om hur den fungerar inuti är inte känt. Vi får nöja oss med den pressrelease som finns.
Nåväl, som ett första steg tänkte jag att jag skulle uppgradera programmen på spelaren till sina senaste versioner och här är resultatet av de försöken.
Först tänkte jag byta ut uclibc (0.9.28) men eftersom binärkompabilitet inte garanteras mellan versionerna kan ett byte innebära att alla program på spelaren behöver kompileras om och det är jag inte redo för just nu.
Sedan funderade jag över BitTorrent-klienten btpd och listade ut, genom att analysera strängarna i binären, att det är version 0.13. Kompileringen av 0.16 gick ganska smärtfritt och det var inte heller några problem med att lägga in den i min nya firmware men sedan gick det inte längre. I det enda försök jag hittills gjort kunde jag inte inte lägga till några torrents genom webgränssnittet och därmed var den nya btpd oanvändbar. En närmare studie av binären avslöjade textsträngar jag inte hittade i någon version av btpd så det är möjligt att källkoden modifierats av RealTek för att passa spelaren. Det finns inte heller någon btcli med vilket stöder tesen. Jag ska göra fler försök och se om jag får igång den.
Därefter gav jag mig på busybox (1.1.3) och blev först överväldigad av alla inställningar som finns. När jag kämpat med dem ett tag hittade jag en gammal config-fil i ett källkodspaket och utgick från den vilket var mycket lättare. Trots det tog det tid innan jag rett ut vilka nyheter som skulle inkluderas. Tyvärr gick det inte så bra med det försöket heller då kompilatorn klagar på att en header-fil saknas och min misstanke är att jag inte lyckats tala om exakt vilket system jag vill korskompilera för. Men skam den som ger sig, jag kämpar vidare.
Fortsättning följer...