Boot бягане SD-карта андроид - личната страница на Виталий Yepifanova

Кой притурката пазар, множество евтини китайски изработени устройства, изградени върху чипове от Allwinner работи Android. Въпреки големия брой производители, които се продават под марката на тези устройства, едно нещо ги обединява: пълна липса на техническа подкрепа от производителя. OS е съставяна от китайците, които не бързат да обновите софтуера до по-нова версия, обаче, въз основа на информацията на интернет страницата Allwinner, тези чипове подкрепа на работата до Android 4.2.2. Нещо ми подсказва, че актуализацията на софтуера не се случва на всички.

Едно такова устройство - RoverPad w74l - Купих си в DNS за експериментиране с Android. Това е таблетка на базата на Allwinner A13. Бих казал, че това е един много добър таблет за всички видове Интернет - .. Седнали, четенето на книги и т.н. Липсата на мен техническа поддръжка, не е особено изненадан, тъй като вече имам таблетка от друг "български" производител - 3Q, които, ако са отворени горен капак, лошо монтиран истински производител е «Pegatron Lucid». Помогнете на "българските" компании, произведени изключително от потребителите онлайн. И тогава там е 4PDA, където хората в най-доброто от себе си, за да си помагат взаимно решаване на технически въпроси, които би било добре да се реши официалната техническа поддръжка.

За тази серия

Така че, това, което също ще бъде обсъдено. По време на моето познанство с вътрешния таблета разкри някои неща не е съвсем удобно. Първо - запълване на фърмуера се извършва чрез LiveSuit. Pogramma, честно казано, не фонтан, и дори не търпи ... Освен това, ако сте работили с таблета през ADB, преди да го завиете от Google шофьор, инсталиране LiveSuit на водача не може, следователно, на фърмуера няма да работи. Като опция за излизане от тази ситуация, можете да използвате VMWare, който може да бъде свързан към виртуалната ОС, на USB устройството или шият на друг компютър (за тази цел аз използвах нетбук). Второ - когато модификация на фърмуера, често е необходимо perezalivat го в устройството, което е много дълъг и непродуктивен. И преди, че е необходимо да се възстанови събира, така че непрекъснато неудобство. Това е решението, че част от проблема ще бъде обсъдено по-нататък, а именно, как образа на LiveSuit да направи стартираща на MicroSD карти, които могат да се зареждат на таблета си без помощта на вградения флаш памет. По този начин, промени в фърмуер са намалени до промени в микроб файлове, както и, че си струва да я измъкнем от слота, и плаката се зарежда с паметта си, сякаш нищо не се е случило. Освен това, след смяната, аз ще ви покажа как в този SD-карта, за да се направи LiveSuit изображение, което вече е възможно да се запълни вътрешна флаш устройство и се наслаждавайте.

Получаване на работното място

Да започнем с това, че инструментите, които ние ще направим, може да са доста по-различни, според това, ще опиша накратко точките на целия процес.

Това е общ списък с инструменти. Той напълни по време на представянето, но първите неща, на първо място.

Тази работа се основава на доста голям брой източници, но две статии бяха в основата, което е началото на началото;

Други източници, които ще посоча в хода на текста на места, където информацията от тях, всъщност, е бил използван.

Предполагаме, че с инсталацията на Ubuntu можете успешно. Какво специално внимание - когато изберете пакет в последния етап изберете SSH сървър, или да го след това винаги можете да зададете.

Веднага след инсталацията, изпълнете следните команди:

$ Sudo су
# Актуализация ап-да
# Ап-да ъпгрейд
# Ап-да инсталирате SSHD - освен ако не сте избрали в края на SSH сървъра на инсталация
# Ап-да инсталирате MC - това ще създаде командирът полунощ - с две табла, файлов мениджър, с който можете да работите в терминала Замазки.

Ако сте инсталирали руската версия на Ubuntu, в настройките на сесията Замазки в раздела Външен вид, не забравяйте да зададете UTF-8 кодиране, или символи на кирилица, се показват в една много особена.

Подготвителната фаза е завършена, преминете към въпроса.

Boot бягане SD-карта андроид - личната страница на Виталий Yepifanova

Забележете, че в снимката има _extract папка, които го има все още. Тя ще се появи след разглобяване на фърмуера, ще има някои елементи на изображението.

Сега тече extract_image.bat файл и търпеливо изчака, докато ние предложихме да натиснете произволен клавиш ...

Boot бягане SD-карта андроид - личната страница на Виталий Yepifanova

И тук има малък нюанс. Работата с тази кухня може да бъде само на физическа машина. На виртуалното тя ще генерира грешка и любезно ви казва, че това е необходимо единствено физическата среда.

Така че ние счупи изображението в компоненти. Отиди _extract ръководство до папката, и да видим има голяма купчина файлове, един от най-интересните от които е Filelist.txt. По-късно той ни даде много добра полезна, защото в него всички извлечени модулите са изброени в реда, в който се появи под формата на фърмуера. Това е в съответствие с файла ще трябва да редактирате събранието довереник, когато ние ще направим LiveSuit изображение от SD-карта.

В същото време, съдържанието zaymomsya собствен образ. Имаме нужда от следните файлове:

  • RFSFAT16_BOOT_00000000000.fex
  • RFSFAT16_BOOTLOADER_00000.fex
  • RFSFAT16_SYSTEM_000000000.fex
  • RFSFAT16_RECOVERY_0000000.fex

Преименуване на избраните файлове, за да ни boot.fex, bootloader.fex, съответно и с помощта на WinSCP system.fex и recovery.fex, да ги копирате в виртуална машина Ubuntu. Аз създадох в папка / Начало / потребител подпапка Android / изображения, така че всичко е на едно място и копиране на изображението.

# Tar -zxvf tools.tar.gz

Сега имаме инструменти директорията, която искате да копирате папката с изображенията, например, с помощта на командира Midnight, което може да изпълните командата:

Това нещо като това трябва да бъде в състояние да:

Boot бягане SD-карта андроид - личната страница на Виталий Yepifanova

За да преместите на конзолата от командващия Midnight не е задължително. Трябва само да натиснете Ctrl + O, и изглежда конзола. Натискането отново ще се върне на прозореца обратно.

Отидете в папката с изображения и инструменти, отворете конзолата и напишете:

Тя трябва да изглежда по следния начин:

Boot бягане SD-карта андроид - личната страница на Виталий Yepifanova

Както можем да видим, ни показаха низ ядрото инициализация и го разделя на две файлове boot.fex: boot.fex-ядрото - в действителност, ядрото и boot.fex-ramdisk.gz - Ramdisk. Ако се вгледате в командващия Midnight, ние ги видите:

Boot бягане SD-карта андроид - личната страница на Виталий Yepifanova

Сега ние създаваме багажника директория, да копирате файла на два приемни boot.fex-ядрото boot.fex-ramdisk.gz, и отиде при него.

Въвеждане в конзолата:

№ ЛС
# MKDIR обувка
# Cd обувка
# Gunzip -с. /boot.fex-ramdisk.gz | CPIO -i

И ние получаваме следното:

Отиди до по-високото ниво на командване

и въведете следната команда:

# Mkimage -А рамо -О Linux -T ядрото -С никой -а 0x40008000 -e 0x40008000 -п "Linux sunxi" -d boot.fex ядро ​​uImage

Аз получите съобщение за грешка, че uBoot инструменти не са инсталирани в момента. Създаване на екипа си

# Ап-да инсталирате обратните ботуши инструменти

Отново предишната команда (не да я въвеждате отново, можете да натиснете бутона със стрелка нагоре два пъти). Този път всичко мина добре:

Ако сега се вгледате в указателя за зареждане, ще видите следното:

Boot бягане SD-карта андроид - личната страница на Виталий Yepifanova

Това съдържание е Ramdisk. Гледайки напред, ще отбележа, че тя е тук, в init.sun5i.rc файл, ние ще се промени точката на монтиране.

За сега, ние ще оставим на конзолата, както и съдържанието на този zaarhiviruem aktaloga:

# Tar -cpvf. /boot.tar *

сега имаме два файла: boot.tar - архив Ramdisk и uImage - декомпресира ядрото.

Boot бягане SD-карта андроид - личната страница на Виталий Yepifanova

Сега трябва да извлича съдържанието на system.fex изображение. Придвижване назад към папката с оригиналните изображения, и изпълнява следните команди:

# ./tools/simg2img system.fex system.ext4
# MKDIR система
# Mount -o магнитна система system.ext4
# Cd система
# Tar -cpvf. /system.tar *
# Cd.
# Демонтирате система

В резултат на това ние имаме system.tar файл, който съдържа всичко, което е под формата на system.fex. С тип команди, направете следното:

Първата команда преобразува system.fex в образа на диска файл с излишни система ext4. След това полученото изображение се монтира в системната папка и съдържанието му са прилепени към архив катран. След това изображението е спряно.

С възстановяването дял може да работи също толкова добре с багажника:

# ./tools/split_bootimg.pl recovery.fex
Размер на страницата: 2048 (0x00000800)
размер на ядрото: 4215036 (0x004050fc)
размер Ramdisk: 974998 (0x000ee096)
Второ площ: 0 (0x00000000)
име съвет:
Команден ред: конзола = ttyS0,115200 RW първоначален = / първоначален loglevel = 5
Писане recovery.fex-ядро. пълна.
Писане recovery.fex-ramdisk.gz. пълна.
# MKDIR възстановяване
възстановяване # Cd
# Gunzip -с. /recovery.img-ramdisk.gz | CPIO -i
# Tar -cpvf. /recovery.tar *
# Cd.

Сега ние трябва да се подготви за SD-карта. Използвах 4 GB, за да се гарантира достатъчно. таблицата на дяловете на него ще бъде следното:

Свържете картата към виртуална машина:

Boot бягане SD-карта андроид - личната страница на Виталий Yepifanova

Виждайки, тъй като той се монтира:

Boot бягане SD-карта андроид - личната страница на Виталий Yepifanova

Ако планината не се случи, ние го изключете от виртуалната машина и да се свържете отново.

За да се избегне объркване, нека създадем променлива карта със стойност / сътрудничество / SDB (I SD-карта е монтиран като SDB. За да видите как точно е монтирана, можете да използвате командата LS / сътрудничество / SD и кликнете два пъти върху раздела. Последното устройство в оттеглянето трябва да бъде SD-карта). Създаване на раздела:

# Card = / сътрудничество / SDB
# Дд ако = / сътрудничество / нула на = BS $ карти = 1M брои = 1
# Sfdisk -R $ карта
# котка <

Тя трябва да изглежда по следния начин:

Boot бягане SD-карта андроид - личната страница на Виталий Yepifanova

# Mkfs.vfat -N буутлоудъра $ 1
# Mkfs.ext4 -L зареди $ 2
# Mkfs.ext4 -L система $ 3
# Mkfs.ext4 -L данни $ 5
# Mkfs.ext4 -L разни $ 6
# Mkfs.ext4 -L възстановяване $ 7
# Mkfs.ext4 -L кеш $ 8
# Mkfs.ext4 -L частен $ 9
# Mkfs.vfat -н UDISK 10 $

Huge_file премахне възможността от файловата система, тъй като ядрото на Android се компилира без тази опция:

# Tune2fs -О ^ huge_file $ 2
# Tune2fs -О ^ huge_file $ 3
# Tune2fs -О ^ huge_file $ 5
# Tune2fs -О ^ huge_file $ 6
# Tune2fs -О ^ huge_file $ 7
# Tune2fs -О ^ huge_file $ 8
# Tune2fs -О ^ huge_file $ 9

Известно е също така, че се стреми Allwinner SPL в осмата 1024 байт блок и uBoot трябва по този начин да бъдат поставени в 32-m.

Разопаковайте архива с зареждане на ОС на (архива може да бъде разопакован и Windows), хвърля им Ubuntu, той отива в папката с тях и да изпълнява командата:

# Дд ако = sunxi-spl.bin на = BS $ карта = 1024 потърси = 8
# Дд ако = ф-boot.bin на = BS $ карта = 1024 потърси = 32

Boot бягане SD-карта андроид - личната страница на Виталий Yepifanova

Придвижване назад към папката с изображенията, създаване на подпапка има bloader, да се групират там bootloader.fex, и да започнат да се движат данните на SD-карта.

# MKDIR bloader
# Връх -о линия bootloader.fex bloader
# Mount $ 1 / MNT /
# Cp обувка / uImage / MNT
# Cp bloader / script.bin / MNT
# Cat> /mnt/uEnv.txt <fexfile = script.bin
ядрото = uImage
extraargs = корен = / ррт / mmcblk0p2 loglevel = 8 rootwait конзола = ttyS0,115200 RW първоначален = / първоначален mac_addr = 00: AE: 99: A3: Е4: AF
boot_mmc = fatload ММС 0 0x43000000 # 92; $; fatload ММС 0 0x48000000 # 92; $; bootm 0x48000000
EOT

След това, на папката / MNT трябва да се появи uEnv.txt файл, както следва:

Boot бягане SD-карта андроид - личната страница на Виталий Yepifanova

Създаване uEnv.txt за rekaveri и демонтирате дялове:

# Cat> /mnt/uEnv_recovery.txt <fexfile = script.bin
ядрото = uImage
extraargs = корен = / ррт / mmcblk0p7 loglevel = 8 rootwait конзола = ttyS0,115200 RW първоначален = / първоначален mac_addr = 00: AE: 99: A3: Е4: AF
boot_mmc = fatload ММС 0 0x43000000 # 92; $; fatload ММС 0 0x48000000 # 92; $; bootm 0x48000000
EOT
# Демонтирате / MNT
# Демонтирате буутлоудъра

Копирайте съдържанието на Ramdisk до желания профил:

# Mount $ 2 / MNT
# Тар -xpvf зареждане / boot.tar -С / MNT

Сега ние трябва да заменим точката на монтиране и секцията може да бъде razmotirovat:

# Sed -i "S / nandd / mmcblk0p3 / г" /mnt/init.sun5i.rc
# Sed -i "S / nande / mmcblk0p5 / г" /mnt/init.sun5i.rc
# Sed -i "S / nandh / mmcblk0p8 / г" /mnt/init.sun5i.rc
# Sed -i /mnt/init.sun5i.rc "S / Nandi / mmcblk0p10 / г"
# Демонтирате / MNT

Копирайте данните от системата за дял:

# Mount $ 3 / MNT
# Тар -xpvf system.tar -С / MNT
# Демонтирате / MNT

# Mount $ 7 / MNT
# Тар -xpvf recovery.tar -С / MNT
# Sed -i "S / nandf / mmcblk0p6 / г" /mnt/ueventd.sun5i.rc
# Демонтирате / MNT
# синхронизация

Това е всичко. Можете да поставите картата в таблета и зареди от него. Раздел данни не е необходимо да се запълни, той ще попълни своя собствена Android, когато за първи включен. Така че, ако искате да върнете всички настройки на нула, монтиране на дял / сътрудничество / sdb5, отстранете всичко, което има, и да бъде спряна. Не забравяйте да направите, след като демонтирате команда синхрон.