Օփենմոկո համայնքի էլ․ փոստի ցանկում ոմն Միքայել Սփեյսֆալկոնը, ով չի օգտագործում իր իսկական անունը համացանցում, յայտարարել է, որ իրեն հաջաղուեց հայթայթել Թեքսաս Ինսթրումենթսից հոսած ջիէսեմ ֆիրմուերի ելատեքստ։ Հաղորդագրութեան թեման է՝ 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
այն մասին է, ինչպէս գրել֊կարդալ ջիէսեմ մոդեմի փաստացի առանձին կարգչի նիշքային համակարգը։
Ահա, մոկոյի ջիէսեմ֊ի վարկածն պիտի որ սրա պես լինի՝

Comments: no replies