Օփենմոկո համայնքի էլ․ փոստի ցանկում ոմն Միքայել Սփեյսֆալկոնը, ով չի օգտագործում իր իսկական անունը համացանցում, յայտարարել է, որ իրեն հաջաղուեց հայթայթել Թեքսաս Ինսթրումենթսից հոսած ջիէսեմ ֆիրմուերի ելատեքստ։ Հաղորդագրութեան թեման է՝ First small steps towards free GSM firmware.
I am very pleased to announce that after many years of searching, I have finally found a copy of TI’s firmware deliverable package for their Leonardo development board, i.e., for their Calypso/Iota/Rita chipset reference platform. It is the package which TI must have given to all of their chipset customers including Nokia, Motorola, Compal, FIC/Openmoko, LG, BenQ and many others, and which was used by all of these companies as the starting point for making their unique proprietary firmwares.
Իրօք, դրանք դեռ առաջին քայլերն են, որպէսզի մենք ունենանք ազատ ԾԱ որ կառավարում է մեր սարքերի ջիէսէմ մոդեմը։
Լաւ նորութիւնն այն է, որ մենք այժմ ունենք, ոչ միայն ֆիրմուերի ելատեքստը, որը, գուցէ լեգալ չի կարելի օգտագործել (որոշ ռեպրեսիվ երկրներում) այլեւ լրիւ ազատ գործիքներ, այն սարքի մէջ լցնելու, ֆլեշելու համար։ Մինչ այդ օփենմոկո օգտագործողները պէտք է կիրառէին Թեքսաս Ինսթրումենթսի սեփականատիրական գործիքը նոյնիսկ ԾԱ֊ն ֆլեշելու համար։
Ահա, ես որոշեցի փորձել, եւ սրանք իմ նոթերն են՝ ինչպէս կոմպիլյացիա անել եւ տեղակայել leo2moko ֆիրմուերը։
Փոխարէնը օգտագործել քրոսկոմպիլյատորներ, եւ նախընտրում եմ կոմպիլացնել ելատեքստը հենց սարքի վրայ, չէ՞ որ օփենմոկոն ազատ սարք է, ու ես կարող եմ տեղադրել կոմպիլյատոր։ Սոյն նոթերը արուած են SHR օպերացիոն համակարգն օգտագործելիս։ Եթէ ձեր համակարգն այլ է, պէտք է մի քիչ փոփոխէք գործընթացը։
Տեղակայում ենք կոմպիլյատոր եւ նախագծման գործիքներ սարքի վրայ
opkg install gcc
opkg install gcc-symlinks
opkg install libc6-dev
opkg install binutils
opkg install make
opkg install coreutils
Լաւ կլինի ժամանակը սինխրոնացնել մինչեւ գործի անցնելը։
/etc/init.d/fsotdld restart
Քաշում ենք ֆլեշերի ելատեքստը՝
wget ftp://ftp.ifctf.org/pub/GSM/FreeCalypso/loadtools-r1.tar.bz2
Բացում՝
mkdir loadtools
cd loadtools
tar ĵvf ../loadtools-r1.tar.bz2
խմբագրում makefile֊ը, ինչպէս խորհուրդ է տրւում readme֊ում, նշէք CFLAGS֊ը որպես
CFLAGS= -O2 -march=armv4t -mtune=arm920t -DGTA0x_AP_BUILD
եւ
EXTRA_OBJ=gtapower.o
հապա make անենք
make
make install
այս երեկ բինարնիկները այժմ տեղակայուած են /usr/local/bin֊ում
fc-iram fc-loadtool fc-xram
ֆիրմուերի կոմպիլյացիան
Բաց թողէք այս քայլը, եթե ուզում էք ֆլեշել արդեն իսկ նախապէս քոմփայլ արուած ֆիրմուերը։
Աւաղ, այժմ անհնար է կոմպիլացնել ֆիրմուերը ազատ կոմպիլյատոր՝ օրինակ ջիսիսի օգտագործելով, ու մեզ պէտք են ուինդոուս գործիքներ Թեքսաս Ինսթրումենթսից։ Լաւ նորութիւնն այն է, որ դրանք աշխատում են wine֊ի տակ, ու մենք կարող ենք աշխատացնել դրանք ուայնով ցանկացած ԳՆՈՒ/Լինուքս մեքենայի մէջ։ ԹիԱյ֊ի միջավայրը իրականում օգտագործում է մեզ քաջ ծանոթ յունիքսական գործիքների ուինդոուս պորտերը։ Այնպէս որ անհամեմատ աւելի հեշտ կլիներ, եթէ մենք կարողանայինք նոյն գործիքներն օգտագործել բնիկ(նեյթիւ) կերպով։
Ահա, վերցնում ենք այս երեք նիշքը՝
ftp://ftp.ifctf.org/pub/GSM/FreeCalypso/leo2moko-r1.tar.xz
— ելատեքստը
ftp://ftp.ifctf.org/pub/GSM/TI_src/wine/installed-env.tar.xz
— միջավայր, այն քոմփայլ անելու համար
wget ftp://ftp.ifctf.org/pub/GSM/TI_src/wine/nowhine.c
ու այսպիսի հաւէս վրափեր։
gcc -o nowhine nowhine.c
cp nowhine /usr/local/bin
nowhine կտրում է անկապ անպէտք բլթբլթոցը (whining) wine ծրագրի ելքից։ Փաստօրէն, սա ուայնի ուրափեր է, կարելի է այն եւ չօգտագործել։
Հետո ամեն ինչ շատ տրիւիալ է՝ բացում ենք արխիւները, աշխատացնում յատուկ բիլդ սկրիպտն, ու այն ամէնն անում է։
արդեն իսկ քոմփայլ արուած ֆիրմուեր
wget ftp://ftp.ifctf.org/pub/GSM/FreeCalypso/leo2moko-r1-bin.tar.bz2
— ահա սա, կամ եթէ նախապէս բիլդ էք արել, ապա օգտագործէք ձերը։
լցնում ենք ֆիրմւերը
պէտք է նախապէս սպանել որոշ դեմոններին, որ բնակւում են մեր օփենմոկոյի մէջ՝ որ չխանգարեն լցնելու պրոցեսին՝
killall fsodeviced
killall fsoaudiod
killall fsousaged
killall fsodatad
killall fsonetworkd
killall fsogsmd
killall phonefsod
killall phoneuid
killall frameworkd
Աշխատեցնում ենք ֆլեշերը՝
s3c24xx-gpio b7=0
fc-loadtool -h gta02 /dev/ttySAC0
Պէտք է անկապ հաղորդագրութիւններ տեսնէք, ու յետոյ՝ loadtool>
հրաւէրը։
Այստեղ շատ կարեւոր է բեքափել հեռախօսի միջի կալիբրացիայի տուեալները, դրանք մեզ պէտք կլինեն, եթէ ինչ֊որ բան այնպէս չգնայ։
flash dump2bin my-flashdump.bin
scp արէք այն ձեր կարգիչ, պահէք որեւէ տեղ, ոչ միայն հեռախօսի մէջ։
Անցանք գործի՝
flash erase 0 0x300000
flash program-m0 gsm-fw.m0
quit
reboot
imei
Շատ հետաքրքիր նախագիծ է սա՝
ftp://ftp.ifctf.org/pub/GSM/FreeCalypso/mpffs-tools-r1.tar.bz2
այն մասին է, ինչպէս գրել֊կարդալ ջիէսեմ մոդեմի փաստացի առանձին կարգչի նիշքային համակարգը։
Ահա, մոկոյի ջիէսեմ֊ի վարկածը պիտի որ սրա պէս լինի՝
եւ այդպէս