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 кодиране, или символи на кирилица, се показват в една много особена.
Подготвителната фаза е завършена, преминете към въпроса.
Забележете, че в снимката има _extract папка, които го има все още. Тя ще се появи след разглобяване на фърмуера, ще има някои елементи на изображението.
Сега тече extract_image.bat файл и търпеливо изчака, докато ние предложихме да натиснете произволен клавиш ...
И тук има малък нюанс. Работата с тази кухня може да бъде само на физическа машина. На виртуалното тя ще генерира грешка и любезно ви казва, че това е необходимо единствено физическата среда.
Така че ние счупи изображението в компоненти. Отиди _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, което може да изпълните командата:
Това нещо като това трябва да бъде в състояние да:
За да преместите на конзолата от командващия Midnight не е задължително. Трябва само да натиснете Ctrl + O, и изглежда конзола. Натискането отново ще се върне на прозореца обратно.
Отидете в папката с изображения и инструменти, отворете конзолата и напишете:
Тя трябва да изглежда по следния начин:
Както можем да видим, ни показаха низ ядрото инициализация и го разделя на две файлове boot.fex: boot.fex-ядрото - в действителност, ядрото и boot.fex-ramdisk.gz - Ramdisk. Ако се вгледате в командващия Midnight, ние ги видите:
Сега ние създаваме багажника директория, да копирате файла на два приемни 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 инструменти не са инсталирани в момента. Създаване на екипа си
# Ап-да инсталирате обратните ботуши инструменти
Отново предишната команда (не да я въвеждате отново, можете да натиснете бутона със стрелка нагоре два пъти). Този път всичко мина добре:
Ако сега се вгледате в указателя за зареждане, ще видите следното:
Това съдържание е Ramdisk. Гледайки напред, ще отбележа, че тя е тук, в init.sun5i.rc файл, ние ще се промени точката на монтиране.
За сега, ние ще оставим на конзолата, както и съдържанието на този zaarhiviruem aktaloga:
# Tar -cpvf. /boot.tar *
сега имаме два файла: boot.tar - архив Ramdisk и uImage - декомпресира ядрото.
Сега трябва да извлича съдържанието на 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, за да се гарантира достатъчно. таблицата на дяловете на него ще бъде следното:
Свържете картата към виртуална машина:
Виждайки, тъй като той се монтира:
Ако планината не се случи, ние го изключете от виртуалната машина и да се свържете отново.
За да се избегне объркване, нека създадем променлива карта със стойност / сътрудничество / SDB (I SD-карта е монтиран като SDB. За да видите как точно е монтирана, можете да използвате командата LS / сътрудничество / SD и кликнете два пъти върху раздела. Последното устройство в оттеглянето трябва да бъде SD-карта). Създаване на раздела:
# Card = / сътрудничество / SDB Тя трябва да изглежда по следния начин:
# Дд ако = / сътрудничество / нула на = BS $ карти = 1M брои = 1
# Sfdisk -R $ карта
# котка <
# 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
Придвижване назад към папката с изображенията, създаване на подпапка има bloader, да се групират там bootloader.fex, и да започнат да се движат данните на SD-карта.
# MKDIR bloader
# Връх -о линия bootloader.fex bloader
# Mount $ 1 / MNT /
# Cp обувка / uImage / MNT
# Cp bloader / script.bin / MNT
# Cat> /mnt/uEnv.txt <
ядрото = 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 файл, както следва:
Създаване uEnv.txt за rekaveri и демонтирате дялове:
# Cat> /mnt/uEnv_recovery.txt <
ядрото = 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, отстранете всичко, което има, и да бъде спряна. Не забравяйте да направите, след като демонтирате команда синхрон.