<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://paz00.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Zombah</id>
	<title>Toshiba AC100 wiki - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://paz00.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Zombah"/>
	<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Zombah"/>
	<updated>2026-05-02T09:51:20Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://paz00.ru/index.php?title=Uboot&amp;diff=1410</id>
		<title>Uboot</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Uboot&amp;diff=1410"/>
		<updated>2018-10-21T17:08:25Z</updated>

		<summary type="html">&lt;p&gt;Zombah: /* Варианты меню загрузки */ add efi grub&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''TODO''' : привести в человеческий вид&lt;br /&gt;
&lt;br /&gt;
==Особенности==&lt;br /&gt;
Сразу опишу некоторые нюансы, т.к. многие не дочитывают до конца или пропускают нюансы. &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #ff0000;&amp;quot;&amp;gt;1. Загрузочный скрипт должен быть запакован командой mkimage&amp;lt;/span&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #ff0000;&amp;quot;&amp;gt;2. initrd/initramfs образ должен быть запакован командой mkimage&amp;lt;/span&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Версии==&lt;br /&gt;
* mainline&lt;br /&gt;
Отсутствует поддержка клавиатуры. В 2016-11 не работает экран (патч ушел в мейллист, но не приянт)&lt;br /&gt;
* Старая версия (2013 год)&lt;br /&gt;
Добавлена поддержка клавиатуры, экран работает. Отсутствует поддержка многих вещей, которые появились за последние несколько лет (extlinux, например)&lt;br /&gt;
* 2016-11-nvec-v1-dev&lt;br /&gt;
Портирован патч с поддержкой клавиатуры.&lt;br /&gt;
Добавлен фикс экрана&lt;br /&gt;
*Особо не тестировалась*&lt;br /&gt;
&lt;br /&gt;
==Собранные версии==&lt;br /&gt;
[http://tinyurl.com/cukvzlp uboot.bin] с работающим экраном ([https://gitorious.org/uboot-ac100/uboot-ac100/commits/uboot-next-ac100 исходники] на gitorious).&lt;br /&gt;
* пока не работает встроенная клавиатура&lt;br /&gt;
* некоторые модели usb клавиатур должны работать, но на #ac100 никто этого не смог добиться (видимо зависит от модели)&lt;br /&gt;
[https://paz00.ru/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:Uboot-w-kbd.bin uboot-w-kbd.bin] с экспериментальной поддержкой клавиатуры ([https://gitorious.org/u-boot-ac100-exp/u-boot-ac100-exp/commits/master исходники]).&lt;br /&gt;
&lt;br /&gt;
[http://ac100.wikispaces.com/file/view/u-boot-2014-07-android.bin/516688186/u-boot-2014-07-android.bin u-boot-2014-07-android.bin] Binary from this branch https://github.com/ac100-ru/u-boot-ac100-exp/tree/v2014.07-android&lt;br /&gt;
&lt;br /&gt;
==Как работает u-boot==&lt;br /&gt;
При использовании fastboot (загрузчик, с которым тошка шла по-умолчанию) ядро, инитрд, cmdline нужно было упаковать в boot образ и записать в 5 или 6 партицию. Бут образ из 6-й грузился по-умолчанию, из 5-й - по домику.&lt;br /&gt;
При использовании u-boot'а бут образы не используются. Ядро и initrd должны лежать на файловой системе партиции. Cmdline задается в загрузочном скрипте. Загрузка происходит следующим образом:&lt;br /&gt;
u-boot перебирает sd, emmc, usb и ищет там файл загрузочного скрипта (boot.scr). Если он его не находит, вываливается в командную строку (u-boot'а, линукса там никакого нет). Если скрипт находится, то выполняется этот скрипт. В скрипте задается cmdline, считывается в память ядро, инитрд, device tree (для ядер 3.8 и новее) и зовется команда загрузки (bootz или bootm).&lt;br /&gt;
&lt;br /&gt;
'''Другими словами'''&lt;br /&gt;
&lt;br /&gt;
U-Boot ставится в спец. разделы (boot0 и boot1) внутреннего накопителя и не занимает места на части накопителя, где расположена ОС. Устанавливается U-Boot в эти разделы сценарием switch-to-uboot (на AC100 нужно запустить sosboot, а затем выполнить сценарий switch-to-uboot). Для загрузки, U-Boot ищет сценарий с именем boot.scr (на самом деле есть еще имя, но это не так важно). Ищет он его в корне раздела и в каталоге /boot. Проверяются все разделы всех накопителей. Если сценарий не найден, будет выведена консоль U-Boot'а. boot.scr — текстовый файл с небольшим заголовком. В сценарии указаны команды для загрузки ядра, initramfs (опционально), dtb и сама команда запуска. Чтобы ядро бралось из другого места, нужно править сценарий.&lt;br /&gt;
&lt;br /&gt;
==Установка ОС==&lt;br /&gt;
См. https://paz00.ru/index.php/Uboot_installation_ru установка ОС с u-boot'ом (https://paz00.ru/index.php/Uboot_installation en)&lt;br /&gt;
&lt;br /&gt;
==Загрузка в память==&lt;br /&gt;
Иногда удобно проверять работу u-boot'а/ядра не заливая его на внутренний накопитель.&lt;br /&gt;
Загрузить uboot в тошибу не меняя ничего на накопителе можно командой&lt;br /&gt;
===nvflash===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nvflash --bl ./u-boot-dtb-tegra.bin --go&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
В этом случае нужно иметь рабочий скрипт загрузки для u-boot'а.&lt;br /&gt;
Можно сделать полноценный образ, содержащий в себе u-boot, ядро и другие нужные компоненты:&lt;br /&gt;
* получаем create_image.pl&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone git://gitorious.org/uboot-ac100/create_bootimage.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* формируем uboot.cmd&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setenv bootargs 'cma=64M'&lt;br /&gt;
bootz @KERNEL @INITRD @FDT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* создаем boot-image.ram&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
create_image.pl uboot.bin zImage initrd.img tegra20-paz00.dtb uboot.cmd boot-image.ram&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* заливаем boot-image.ram в память&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nvflash --bl boot-image.ram --go&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===tegrarcm===&lt;br /&gt;
можно использовать tegrarcm:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tegrarcm --bct=ac100.bct --bootloader=boot-image.ram --loadaddr=0x108000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Загрузка с USB флешки==&lt;br /&gt;
'''for-next загружается, 3.1 в процессе'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% cat boot.cmd &lt;br /&gt;
echo === boot.scr: boot from USB flash ===&lt;br /&gt;
setenv setargs&lt;br /&gt;
setenv bootargs 'console=ttyS0,115200 cma=64M'&lt;br /&gt;
usb dev 0&lt;br /&gt;
ext2load usb 0 0x1000000 /boot/zImage&lt;br /&gt;
ext2load usb 0 0x2000000 /boot/tegra20-paz00.dtb&lt;br /&gt;
ext2load usb 0 0x2200000 /boot/initrd-uboot&lt;br /&gt;
bootz 0x1000000 0x2200000 0x2000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Запаковываем''' команды загрузки в образ&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% ../u-boot/tools/mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n &amp;quot;myscript&amp;quot; -d boot.cmd boot.scr&lt;br /&gt;
Image Name:   myscript&lt;br /&gt;
Created:      Sat Nov 24 23:57:51 2012&lt;br /&gt;
Image Type:   ARM Linux Script (uncompressed)&lt;br /&gt;
Data Size:    38 Bytes = 0.04 kB = 0.00 MB&lt;br /&gt;
Load Address: 00000000&lt;br /&gt;
Entry Point:  00000000&lt;br /&gt;
Contents:&lt;br /&gt;
   Image 0: 30 Bytes = 0.03 kB = 0.00 MB&lt;br /&gt;
% ls -la ./boot.scr&lt;br /&gt;
-rw-r--r-- 1 stuw users 102 Nov 24 23:57 ./boot.scr&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
И '''обязательно''' перепаковываем initrd.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% ../u-boot/tools/mkimage -n MyRamDisk -A arm -O linux -T ramdisk -C gzip -d initrd.img initrd-uboot&lt;br /&gt;
Image Name:   MyRamDisk&lt;br /&gt;
Created:      Sun Jan 20 20:23:04 2013&lt;br /&gt;
Image Type:   ARM Linux RAMDisk Image (gzip compressed)&lt;br /&gt;
Data Size:    1217437 Bytes = 1188.90 kB = 1.16 MB&lt;br /&gt;
Load Address: 00000000&lt;br /&gt;
Entry Point:  00000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
boot.scr нужно положить в /boot на sd карте.&lt;br /&gt;
Если ядро не использует fdt - его не грузим и убираем последний параметр в команде bootz.&lt;br /&gt;
&lt;br /&gt;
==Запись uboot'а на место загрузчика==&lt;br /&gt;
'''Не все описание точное, u-boot &amp;quot;подрос&amp;quot; :)'''&lt;br /&gt;
[http://ac100.grandou.net/swarren_brain_dump U-Boot] (by Stephen Warren)&lt;br /&gt;
&amp;lt;range type=&amp;quot;comment&amp;quot; id=&amp;quot;438689&amp;quot;&amp;gt;[http://ac100.grandou.net/debian_uboot PaulFertser сообщил], что u-boot из main ветки у него работает!&amp;lt;/range id=&amp;quot;438689&amp;quot;&amp;gt;&lt;br /&gt;
См. также [http://nv-tegra.nvidia.com/gitweb/?p=3rdparty/u-boot.git;a=shortlog;h=refs/heads/t30-port-v2011.03-public t30-port-v2011.03-public] ([http://nv-tegra.nvidia.com/gitweb/?p=3rdparty/u-boot.git;a=commit;h=9274b9d3d6d9402695e4f98aa056cf3e3e44fef8 LCD Display driver commit], [http://nv-tegra.nvidia.com/gitweb/?p=3rdparty/u-boot.git;a=commit;h=c788bf82b966c393254c82830b1aa3ba0d07e7bf tegra keyboard support commit])&lt;br /&gt;
&lt;br /&gt;
savalik не осилил заливку uboot на тошибу. Как он понял u-boot.bin (fastboot.stock.bin) составляет какую то часть от раздела EBT(4го).&lt;br /&gt;
При запуске nvflash --bl u-boot.bin --go он загоняется в память устройства. Но для его зашивки надо использовать --updatebct (??? какие то ключи)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;socketa4techx7 осилил заливку uboot на тошибу. На всякий случай: 1) Надо достать partitiontable и оригинальный bct.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nvflash --bl fastboot.bin --getpartitiontable ac100-pt.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nvflash -r --rawdeviceread 0 5000 00.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=00.bin of=ac100.bct bs=4080 count=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;2) теперь запихнем оригинальный bct куда подальше и создадим пустой bct-образный файл:&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp ac100.bct ac100.bct.orig&lt;br /&gt;
dd if=/dev/zero of=ac100.bct seek=2704 bs=1 count=48 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;3) Зальём в тошку u-boot.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nvflash --bl fastboot.bin --bct ac100.bct --odmdata 0x800c0085 --download 4 u-boot.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;Бинго! (по мотивам http://ac100.grandou.net/swarren_brain_dump)&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;Траблы: разрешение экрана кривовато, шрифт мелковат. Зы. бинарник, который я заливал, я взял из последнего L4T.&amp;lt;/span&amp;gt;(по непонятным причинам сработало 1 раз). &amp;lt;range type=&amp;quot;comment&amp;quot; id=&amp;quot;521845&amp;quot;&amp;gt;Вообще говоря, толку от u-boot сейчас мало - он не поддерживает дисплей и клавиатуру. Так что пока рассматриваем другие варианты.&amp;lt;/range id=&amp;quot;521845&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же советуемая Паулом putusb Муромца не работает из за какой то банальщины вроде неправильного импортирования модулей. (Муромцу подзатыльник за то что все сломал.)&lt;br /&gt;
&lt;br /&gt;
==Сборка==&lt;br /&gt;
Для v2016.11-nvec-v1-dev&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ac100-ru/u-boot-ac100-exp.git&lt;br /&gt;
cd u-boot-ac100-exp&lt;br /&gt;
git checkout -b v2016.11-nvec-v1-dev origin/v2016.11-nvec-v1-dev&lt;br /&gt;
make ARCH=arm CROSS_COMPILTE=arm-linux-gnueabi- paz00_config&lt;br /&gt;
make ARCH=arm CROSS_COMPILTE=arm-linux-gnueabi- # опционально добавить -j &amp;lt;количество потоков&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Для старых версий&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone git://git.denx.de/u-boot-tegra.git&lt;br /&gt;
cd u-boot-tegra&lt;br /&gt;
make paz00_config&lt;br /&gt;
CROSS_COMPILE=arm-linux-gnueabi- make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://pastebin.com/Ff5ydM1p -- печальный выхлоп в виде сегфолта в конце.&lt;br /&gt;
http://dl.dropbox.com/u/32472722/ac100_stuff/u-boot.bin bootloader failed NvError 0x0&lt;br /&gt;
:nvflash\nvflash\nvflash.exe --bl nvflash\nvflash\fastboot.stock.bin --bct ac100.bct --odmdata 0x800c0085 --download 4 u-boot.bin &amp;lt;range type=&amp;quot;comment&amp;quot; id=&amp;quot;636874&amp;quot;&amp;gt;делает кирпич. &amp;lt;/range id=&amp;quot;636874&amp;quot;&amp;gt;да и в целом odmdata 0x800c0085 кажется нам не идет.&lt;br /&gt;
&lt;br /&gt;
==Загрузка ядра из boot образа==&lt;br /&gt;
Буду расписывать на основе http://ac100.grandou.net/abootimg#output_examples&lt;br /&gt;
Видно, что:&lt;br /&gt;
page size = 2048 bytes&lt;br /&gt;
kernel size = 3146584 bytes&lt;br /&gt;
ramdisk size = 2310081 bytes&lt;br /&gt;
&lt;br /&gt;
В нулевом секторе находится заголовок. Начиная с первого сектора идет ядро. Потом initrd.&lt;br /&gt;
Ядро занимает (3146584 + 2048 - 1) / 2048 байт = 1537 секторов.&lt;br /&gt;
Ramdisk: (2310081 + 2048 - 1) / 2048 байт = 1128 секторов.&lt;br /&gt;
&lt;br /&gt;
6-я партиция начинается с сектора 5376 и ее размер 4096 секторов (сектор - 2048 байт, какой размер блока у убута - не знаю).&lt;br /&gt;
Ядро: начало 5376+1=5377, размер 1537 секторов&lt;br /&gt;
Как вытащить cmdline - пока не знаю. надо руками вбивать :(&lt;br /&gt;
&lt;br /&gt;
U-boot работает с секторами по 512 байт и не видит скрытые области на ностеле тошибы. Поэтому нужно сделать дополнительные корректировки (на примере 116-й модели, бут партиции по 2 МБ).&lt;br /&gt;
Т.к. скрытые области на 116-й модели по 2 МБ, то скрытыми будут 2048 секторов. Пересчитаем смещение ядра: 5377-2048=3329&lt;br /&gt;
Т.е. u-boot использует сектора по 512 байт, а мы считали все для секторов в 2048 байт, нужно пересчитать значения для скармливания u-boot'у:&lt;br /&gt;
Ядро: начало 3329*4=13316 (0x3404), размер 1537*4=6148 (0x1804)&lt;br /&gt;
&lt;br /&gt;
Команда для считывания ядра из 6-й партиции будет такая:&lt;br /&gt;
mmc read 0x1000000 0x3404 0x1804&lt;br /&gt;
&lt;br /&gt;
==Варианты меню загрузки==&lt;br /&gt;
===Устаревший вариант: Bootmenu===&lt;br /&gt;
Тестовая сборка: [https://dl.dropboxusercontent.com/u/40761340/Test/sos-uboot-r5-2013-09-23.bin Test/sos-uboot-r5-2013-09-23.bin]&lt;br /&gt;
&lt;br /&gt;
Для записи uboot'а на место постоянного загрузчика: загрузить образ в память, выполнить ./switch_to_uboot&lt;br /&gt;
&lt;br /&gt;
'''НЕПРОВЕРЕННЫЙ ВАРИАНТ'''&lt;br /&gt;
&lt;br /&gt;
Должен выдать меню из следующих пунктов:&lt;br /&gt;
&lt;br /&gt;
Boot kernel&lt;br /&gt;
&lt;br /&gt;
Boot recovery&lt;br /&gt;
&lt;br /&gt;
Boot from SD&lt;br /&gt;
&lt;br /&gt;
Boot from USB&lt;br /&gt;
&lt;br /&gt;
Uboot&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setenv bootmenu_0 &amp;quot;Boot kernel  =setenv bootargs console=tty0 console=ttyS0,115200n8 CMA=64M quiet splash;\&lt;br /&gt;
mmc dev 0;\&lt;br /&gt;
ext2load mmc 0 0x1000000 /boot/zImage;\&lt;br /&gt;
ext2load mmc 0 0x2000000 /boot/tegra20-paz00.dtb;\&lt;br /&gt;
ext2load mmc 0 0x2200000 /boot/initrd-uboot;\&lt;br /&gt;
bootz 0x1000000 0x2200000 0x2000000;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
setenv bootmenu_1 &amp;quot;Boot recovery=setenv bootargs console=tty0 console=ttyS0,115200n8 CMA=64M quiet splash;&lt;br /&gt;
mmc dev 0;\&lt;br /&gt;
ext2load mmc 0 0x1000000 /boot/zImage-recovery;\&lt;br /&gt;
ext2load mmc 0 0x2000000 /boot/tegra20-paz00.dtb;\&lt;br /&gt;
ext2load mmc 0 0x2200000 /boot/initrd-recovery-uboot;\&lt;br /&gt;
bootz 0x1000000 0x2200000 0x2000000;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
setenv bootmenu_2 &amp;quot;Boot from SD =setenv bootargs console=tty0 console=ttyS0,115200n8 CMA=64M quiet splash;\&lt;br /&gt;
mmc dev 1;\&lt;br /&gt;
ext2load mmc 1 0x1000000 /boot/zImage;\&lt;br /&gt;
ext2load mmc 1 0x2000000 /boot/tegra20-paz00.dtb;\&lt;br /&gt;
ext2load mmc 1 0x2200000 /boot/initrd-uboot;\&lt;br /&gt;
bootz 0x1000000 0x2200000 0x2000000;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
setenv bootmenu_3 &amp;quot;Boot from USB=setenv bootargs console=tty0 console=ttyS0,115200n8 CMA=64M quiet splash;\&lt;br /&gt;
usb dev 0;\&lt;br /&gt;
ext2load usb 0 0x1000000 /boot/zImage;\&lt;br /&gt;
ext2load usb 0 0x2000000 /boot/tegra20-paz00.dtb;\&lt;br /&gt;
ext2load usb 0 0x2200000 /boot/initrd-uboot;\&lt;br /&gt;
bootz 0x1000000 0x2200000 0x2000000;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
bootmenu 20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Меню для Андроида&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo === AC100 Android Bootmenu ===&lt;br /&gt;
setenv bootmenu_0 &amp;quot;Boot LNX  =mmc dev 0; ext2load mmc 0:2 0x1000000 /boot/zImage;\&lt;br /&gt;
                                         ext2load mmc 0:2 0x2200000 /boot/initrd.gz;\&lt;br /&gt;
                                         bootz 0x1000000 0x2200000;&amp;quot;&lt;br /&gt;
setenv bootmenu_1 &amp;quot;Boot SOS  =mmc dev 0; ext2load mmc 0:1 0x1000000 /boot/zImage;\&lt;br /&gt;
                                         ext2load mmc 0:1 0x2200000 /boot/initrd.gz;\&lt;br /&gt;
                                         bootz 0x1000000 0x2200000;&amp;quot;&lt;br /&gt;
setenv bootmenu_2 &amp;quot;Boot from SD =setenv bootargs console=tty0; mmc dev 1;\&lt;br /&gt;
                                         ext2load mmc 1 0x1000000 /boot/zImage;\&lt;br /&gt;
                                         ext2load mmc 1 0x2200000 /boot/initrd.gz;\&lt;br /&gt;
                                         bootz 0x1000000 0x2200000;&amp;quot;&lt;br /&gt;
setenv bootmenu_3 &amp;quot;Boot from USB=setenv bootargs $cmdline; usb dev 0;\&lt;br /&gt;
                                         ext2load usb 0 0x1000000 /boot/zImage;\&lt;br /&gt;
                                         ext2load usb 0 0x2200000 /boot/initrd.gz;\&lt;br /&gt;
                                         bootz 0x1000000 0x2200000 0x2000000;&amp;quot;&lt;br /&gt;
bootmenu 20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo === Toshiba AC100 Bootmenu ===&lt;br /&gt;
setenv bootmenu_0 &amp;quot;Boot LNX CM-10.1 =ext2load mmc 0:2 0x1000000 /boot/zImage-boot-cm-10-1; ext2load mmc 0:2 0x2200000 /boot/initrd-boot-cm-10-1.gz; bootz 0x1000000 0x2200000;&amp;quot;&lt;br /&gt;
setenv bootmenu_1 &amp;quot;Boot SOS CM-10.1 =ext2load mmc 0:1 0x1000000 /boot/zImage-recovery-cm-10-1; ext2load mmc 0:1 0x2200000 /boot/initrd-recovery-cm-10-1.gz; bootz 0x1000000 0x2200000;&amp;quot;&lt;br /&gt;
setenv bootmenu_2 &amp;quot;Boot LNX UBUNTU-12.10 =ext2load mmc 0:2 0x1000000 /boot/zImage-lubuntu-12-10; ext2load mmc 0:2 0x2200000 /boot/initrd-lubuntu-12-10; bootz 0x1000000 0x2200000;&amp;quot;&lt;br /&gt;
setenv bootmenu_3 &amp;quot;Boot from SD fat=fatload mmc 1:1 0x1000000 /boot/zImage; fatload mmc 1:1 0x2200000 /boot/initrd.gz; bootz 0x1000000 0x2200000;&amp;quot;&lt;br /&gt;
setenv bootmenu_4 &amp;quot;Boot from USB ext2=ext2load usb 0:1 0x1000000 /boot/zImage; ext2load usb 0:1 0x2200000 /boot/initrd.gz; bootz 0x1000000 0x2200000 0x2000000;&amp;quot;&lt;br /&gt;
bootmenu 5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Новый вариант: Extlinux===&lt;br /&gt;
В новых версиях u-boot появилась поддержка syslinux скриптов для создания меню загрузки. &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://git.denx.de/?p=u-boot.git;a=blob;f=doc/README.distro;h=9e4722a86ee562fdc80b675f5be9d30e30e61597;hb=HEAD README в исходниках U-Boot] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример конфигурации:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TIMEOUT 1000&lt;br /&gt;
DEFAULT default&lt;br /&gt;
ONTIMEOUT exit&lt;br /&gt;
MENU TITLE Boot menu&lt;br /&gt;
&lt;br /&gt;
LABEL default&lt;br /&gt;
        MENU LABEL Default&lt;br /&gt;
        LINUX /boot/zImage&lt;br /&gt;
        FDTDIR /boot/&lt;br /&gt;
        APPEND root=/dev/mmcblk0p1 plymouth.enable=0 console=ttyS0,115200n8&lt;br /&gt;
&lt;br /&gt;
LABEL failsafe&lt;br /&gt;
        MENU LABEL Failsafe&lt;br /&gt;
        LINUX /boot/zImage-failsafe&lt;br /&gt;
        FDT /boot/tegra20-paz00.dtb&lt;br /&gt;
	INITRD /boot/initrd-uboot&lt;br /&gt;
        APPEND root=/dev/mmcblk0p1 plymouth.enable=0 console=ttyS0,115200n8 console=tty&lt;br /&gt;
&lt;br /&gt;
LABEL exit&lt;br /&gt;
	MENU LABEL Local boot script (boot.scr)&lt;br /&gt;
	LOCALBOOT 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#При использовании '''FDTDIR''' для выбора '''dtb''' файла при загрузке используются переменные окружения ''SYS_SOC'' и ''SYS_BOARD''. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===EFI вариант с помощью GRUB===&lt;br /&gt;
Пример вывода из последних сборок openSUSE где включена только EFI загрузка: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
U-Boot SPL 2016.11 (Dec 22 2016 - 23:44:52)linux-4.18.12-1-default.gz &lt;br /&gt;
Trying to boot from RAMt &lt;br /&gt;
grub&amp;gt; &lt;br /&gt;
grub&amp;gt; &lt;br /&gt;
U-Boot 2016.11 (Dec 22 2016 - 23:44:52 +0300)&lt;br /&gt;
grub&amp;gt; &lt;br /&gt;
TEGRA20&lt;br /&gt;
Model: Toshiba AC100 / Dynabook AZ&lt;br /&gt;
Board: Compal Paz00&lt;br /&gt;
DRAM:  512 MiB&lt;br /&gt;
MMC:   Tegra SD/MMC: 0, Tegra SD/MMC: 1&lt;br /&gt;
*** Warning - bad CRC, using default environment&lt;br /&gt;
&lt;br /&gt;
nvec: nvec_probe&lt;br /&gt;
NVEC initialization...&lt;br /&gt;
request-gpios flags: 0xa&lt;br /&gt;
nvec: nvec_set_bus_speed&lt;br /&gt;
tegra_nvec_kbd_probe&lt;br /&gt;
tegra kbc is initialized&lt;br /&gt;
tegra_nvec_kbd_start: Tegra nvec keyboard ready&lt;br /&gt;
In:    tegra-nvec-kbc&lt;br /&gt;
Out:   vidconsole&lt;br /&gt;
Err:   vidconsole&lt;br /&gt;
Net:   No ethernet found.&lt;br /&gt;
Hit any key to stop autoboot:  0 &lt;br /&gt;
switch to partitions #0, OK&lt;br /&gt;
mmc1 is current device&lt;br /&gt;
Scanning mmc 1:1...&lt;br /&gt;
Found EFI removable media binary efi/boot/bootarm.efi&lt;br /&gt;
reading efi/boot/bootarm.efi&lt;br /&gt;
813056 bytes read in 59 ms (13.1 MiB/s)&lt;br /&gt;
libfdt fdt_check_header(): FDT_ERR_BADMAGIC&lt;br /&gt;
## Starting EFI application at 0x01000000 ...&lt;br /&gt;
Scanning disks on usb...&lt;br /&gt;
Scanning disks on mmc...&lt;br /&gt;
MMC Device 2 not found&lt;br /&gt;
MMC Device 3 not found&lt;br /&gt;
Found 6 disks&lt;br /&gt;
Welcome to GRUB!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
EFI партиция - hd1,gpt1&lt;br /&gt;
BOOT партиция - hd1,gpt2&lt;br /&gt;
&lt;br /&gt;
Надо понять какой нужен grub'у конфиг. Чтобы откатиться на boot.scr достаточно написать exit.&lt;br /&gt;
&lt;br /&gt;
==Разное==&lt;br /&gt;
===Bootable флаг в U-Boot===&lt;br /&gt;
[http://lists.denx.de/pipermail/u-boot/2012-October/136724.html Описание как в U-Boot считывается bootable флаг] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Скрипты от nvidia для прошивки U-Boot===&lt;br /&gt;
https://github.com/NVIDIA/tegra-uboot-flasher-scripts&lt;br /&gt;
https://github.com/NVIDIA/tegra-uboot-scripts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Патчи Нвек в Mainline U-Boot===&lt;br /&gt;
http://patchwork.ozlabs.org/project/uboot/list/?submitter=Andrey+Danin&amp;amp;state=*&amp;amp;archive=both&lt;br /&gt;
&lt;br /&gt;
===Persistent enviroment location===&lt;br /&gt;
This settings live in ''include/configs/paz00.h''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* Environment in eMMC, at the end of 2nd &amp;quot;boot sector&amp;quot; */&lt;br /&gt;
#define CONFIG_ENV_IS_IN_MMC&lt;br /&gt;
#define CONFIG_ENV_OFFSET (-CONFIG_ENV_SIZE)&lt;br /&gt;
#define CONFIG_SYS_MMC_ENV_DEV 0&lt;br /&gt;
#define CONFIG_SYS_MMC_ENV_PART 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;srwarren&amp;gt; Typically it's at the end of /dev/mmcblk0boot1 for devices that boot from eMMC&lt;br /&gt;
&amp;lt;srwarren&amp;gt; IIRC, 0==main data, 1==boot0, 2==boot1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Factory kernel 2.6.32-9 with U-Boot===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Uncompressing Linux.................................................................................................................................................................................. done, booting the kernel.&lt;br /&gt;
&lt;br /&gt;
Error: unrecognized/unsupported machine ID (r1 = 0x00000c38).&lt;br /&gt;
&lt;br /&gt;
Available machine support:&lt;br /&gt;
&lt;br /&gt;
ID (hex)        NAME&lt;br /&gt;
00000d05        Tegra 2 Development System&lt;br /&gt;
00000aab        NVIDIA Harmony Development System&lt;br /&gt;
00000b6f        NVIDIA Ventana Development System&lt;br /&gt;
&lt;br /&gt;
Please check your kernel config and/or bootloader.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====how to override this machine ID?====&lt;br /&gt;
'''0x00000c38''' is 3128 decimal, defined in arch/arm/include/asm/mach-types.h&lt;br /&gt;
in U-Boot.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define MACH_TYPE_PAZ00                3128&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===load U-Boot default enviroment settings===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
env default -a&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Iovyroot&amp;diff=1406</id>
		<title>Iovyroot</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Iovyroot&amp;diff=1406"/>
		<updated>2018-07-29T20:01:51Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add warning&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==PoC==&lt;br /&gt;
https://github.com/dosomder/iovyroot&lt;br /&gt;
==Info==&lt;br /&gt;
This is dangerous and can break device, prepare recovery stuff before even trying this!!!&lt;br /&gt;
==Find offsets==&lt;br /&gt;
===If kallsyms exist===&lt;br /&gt;
# Unpack kernel &lt;br /&gt;
# Grab https://github.com/fi01/kallsymsprint&lt;br /&gt;
# Print kernel kallsyms: kallsymsprint.x86 kernel.unpacked&lt;br /&gt;
# For 32bit platform grep for: egrep &amp;quot;ptmx_fops|sidtab|policydb|selinux_enabled|selinux_enforcing&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Add device==&lt;br /&gt;
# Here is offseet order https://github.com/zombah/iovyroot/blob/master/jni/include/offsets.h#L12&lt;br /&gt;
# Patch source:&lt;br /&gt;
&amp;lt;syntaxhighlight lang='c'&amp;gt;&lt;br /&gt;
--- a/jni/offsets.c&lt;br /&gt;
+++ b/jni/offsets.c&lt;br /&gt;
@@ -419,6 +419,12 @@ struct offsets offsets[] = {&lt;br /&gt;
        { &amp;quot;MI 2&amp;quot;, &amp;quot;Linux version 3.4.0-perf-g9b728b6-00625-ge66671e (builder@qh-miui-ota-bd53) (gcc version 4.8 (GCC) ) #1 SMP PREEMPT Mon Mar 7 20:05:25 CST 2016&amp;quot;,&lt;br /&gt;
          { (void*)FSYNC_OFFSET(0xC12D5298) },&lt;br /&gt;
          (void*)0xC12BC530, (void*)0xC12BC420, (void*)0xC0F5332C, (void*)0xC12BA9D0 },&lt;br /&gt;
+&lt;br /&gt;
+       /********************** ALCATEL ************************/&lt;br /&gt;
+       //Alcatel/TCL 5065D Pop35, 5.1.1 LMY47V&lt;br /&gt;
+       { &amp;quot;5065D&amp;quot;, &amp;quot;Linux version 3.10.49-g17d9d71 (android-bld@aclgcl-ubnt) (gcc version 4.8 (GCC) ) #1 SMP PREEMPT Tue Sep 29 19:51:34 CST 2015&amp;quot;,&lt;br /&gt;
+         { (void*)FSYNC_OFFSET(0xc0e82728) },&lt;br /&gt;
+         (void*)0xc0e08a40, (void*)0xc0e08930, (void*)0xc0cf76c0, (void*)0xc0e06edc },&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 #endif /* (__LP64__) */&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compile==&lt;br /&gt;
# Copy whole poc folder to android/device/vendor/model folder and run mmm into it from android build env root&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Iovyroot&amp;diff=1405</id>
		<title>Iovyroot</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Iovyroot&amp;diff=1405"/>
		<updated>2018-07-29T19:58:56Z</updated>

		<summary type="html">&lt;p&gt;Zombah: /* Add device */ add patch syntaxhighlight&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==PoC==&lt;br /&gt;
https://github.com/dosomder/iovyroot&lt;br /&gt;
&lt;br /&gt;
==Find offsets==&lt;br /&gt;
===If kallsyms exist===&lt;br /&gt;
# Unpack kernel &lt;br /&gt;
# Grab https://github.com/fi01/kallsymsprint&lt;br /&gt;
# Print kernel kallsyms: kallsymsprint.x86 kernel.unpacked&lt;br /&gt;
# For 32bit platform grep for: egrep &amp;quot;ptmx_fops|sidtab|policydb|selinux_enabled|selinux_enforcing&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Add device==&lt;br /&gt;
# Here is offseet order https://github.com/zombah/iovyroot/blob/master/jni/include/offsets.h#L12&lt;br /&gt;
# Patch source:&lt;br /&gt;
&amp;lt;syntaxhighlight lang='c'&amp;gt;&lt;br /&gt;
--- a/jni/offsets.c&lt;br /&gt;
+++ b/jni/offsets.c&lt;br /&gt;
@@ -419,6 +419,12 @@ struct offsets offsets[] = {&lt;br /&gt;
        { &amp;quot;MI 2&amp;quot;, &amp;quot;Linux version 3.4.0-perf-g9b728b6-00625-ge66671e (builder@qh-miui-ota-bd53) (gcc version 4.8 (GCC) ) #1 SMP PREEMPT Mon Mar 7 20:05:25 CST 2016&amp;quot;,&lt;br /&gt;
          { (void*)FSYNC_OFFSET(0xC12D5298) },&lt;br /&gt;
          (void*)0xC12BC530, (void*)0xC12BC420, (void*)0xC0F5332C, (void*)0xC12BA9D0 },&lt;br /&gt;
+&lt;br /&gt;
+       /********************** ALCATEL ************************/&lt;br /&gt;
+       //Alcatel/TCL 5065D Pop35, 5.1.1 LMY47V&lt;br /&gt;
+       { &amp;quot;5065D&amp;quot;, &amp;quot;Linux version 3.10.49-g17d9d71 (android-bld@aclgcl-ubnt) (gcc version 4.8 (GCC) ) #1 SMP PREEMPT Tue Sep 29 19:51:34 CST 2015&amp;quot;,&lt;br /&gt;
+         { (void*)FSYNC_OFFSET(0xc0e82728) },&lt;br /&gt;
+         (void*)0xc0e08a40, (void*)0xc0e08930, (void*)0xc0cf76c0, (void*)0xc0e06edc },&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 #endif /* (__LP64__) */&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compile==&lt;br /&gt;
# Copy whole poc folder to android/device/vendor/model folder and run mmm into it from android build env root&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Android&amp;diff=1404</id>
		<title>Android</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Android&amp;diff=1404"/>
		<updated>2018-07-29T19:56:56Z</updated>

		<summary type="html">&lt;p&gt;Zombah: /* Софт */ not free anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Материалы и ссылки по использованию и портированию системы Андроид на Toshiba AC100== &lt;br /&gt;
[[File:nvidia_tegra2_android-500x316.jpg|300x187px]]&lt;br /&gt;
&lt;br /&gt;
==Информационные материалы== &lt;br /&gt;
----&lt;br /&gt;
===Информация для пользователей=== &lt;br /&gt;
'''[[Android 4.0 installation|Инструкция по установке]]''' &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Текущий статус порта Андроид]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android for Toshiba AC100 Roadmap]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Инструкция по установке GAPPS aka Google Apps]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Автоматическое обновление или ручное обновление]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Информация для продвинутых пользователей=== &lt;br /&gt;
[[С какой стороны подходить к Андроиду]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Исходники последних портов]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Модификация образов партиций]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Продвинутые техники в работе с Андроидом]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Debug Android]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Анализ бинарных файлов]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Overlays]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Конфигурация ядра]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Памятка по конфигурации ядра]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Конфигурация устройства для сборки Андроида]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Checklist по проверке работы Андроида]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Подписывание Андроид сборки]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Новая таблица разделов для Андроида]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Nexus 7 aosp tegra kernel]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[QCOM CAF Corner]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Информация для разработчиков== &lt;br /&gt;
----&lt;br /&gt;
===Задачи=== &lt;br /&gt;
[[Внедрение автоматизированного OTA обновления]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Проблемы=== &lt;br /&gt;
[[Внешний модем]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Сон,Suspend,Resume,Wakelock]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Звук в Андройде]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android 4.0 Problems|&amp;quot;Багтрекер&amp;quot;]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Перезагрузка системы в рековери партицию]] &amp;lt;br/&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====Временные решения==== &lt;br /&gt;
[[Кнопки в Андроиде]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Решено==== &lt;br /&gt;
[[Иконки выходящие за предела экрана лаунчера|Иконки выходящие за пределы экрана лаунчера]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Диоды aka Leds]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Переключение раскладок клавиатуры в Андроиде]] &amp;lt;br/&amp;gt; &lt;br /&gt;
[[Изменения статуса заряда батареи]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Пропадание встроенной клавы и тачпада]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Landscape режим экрана]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Хардварное видео]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Wpa_supplicant]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Vold]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Camera]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Flashing Uboot to MMC]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Загрузка Андроида с помощью Uboot]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Unsorted stuff====&lt;br /&gt;
[[nvec for android]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[TouchPad Android]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android USB Gadget]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Abootimg android port]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Приложения для Андроида]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Составление грамотного bugreportа]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[ac100 flash process]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android rt3070 or rt2x00]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Uboot menu concept]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Debug wifi]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Cross Compile compat-drivers]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[tegra-otg loop with u-boot]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Bluedroid 4.2 battle]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Replicant draft]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Mainline kernel for Android]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android install guild NG|Android install guide NG]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[gnu parted example]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[gpt partition table]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[ubuntu_uboot]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android compile from sources]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Use tegra3 binaries]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Nexus kernel sandbox]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Uboot suspend]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Gamepad in Android]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android 4.0 Keyboard]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[English Android Install Guide]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android version Matrix]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android downstream kernel memory map]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android /dev/block/platform]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Extract data from stock firmware]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[MMI codes]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[DASH]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[picasso-kernel]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[TWRP recovery]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[iovyroot]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Zombah sandbox]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ссылки== &lt;br /&gt;
----&lt;br /&gt;
[http://4pda.ru/forum/index.php?showtopic=198800 Обсуждение Toshiba AC-100 на 4pda.ru] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://4pda.ru/forum/index.php?showtopic=286846 Обсуждение Андройд 4 для Toshiba AC100 на 4pda.ru] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.tabletroms.com/forums/ac100-rom-development/3562-android-4-0-toshiba-ac100-firmware-review-installation-ice-cream-sandvich-4-0-a.html Обсуждение сборок андроида на tabletroms.com] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.tabletroms.com/forums/ac100/ Англоязычный форум по Toshiba AC100] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.modaco.com/topic/330834-advent-vega-kernel-source-code-now-available/%20 Англоязычный форум по Advent Vega. Содержит массу полезной информации.] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://code.google.com/p/cm-paz00/ Проект на гуглокоде, здесь выкладываются новые версии] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Интересные ресурсы== &lt;br /&gt;
[https://github.com/OTAUpdateCenter/ota-update-centre/downloads OTA обновления для кастом прошивок] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://forum.xda-developers.com/showthread.php?t=1545165 Инструкция как создавать патчи которые можно накладывать с помощью CWM-Recovery] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.scribd.com/doc/81447396/Tegra2-Embedded-Controller-Interface-Specification-20111117 Спецификации NVEC] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.androidtablets.net/forum/android-tablet-hacking/438-how-setup-static-bootlogo-before-animated-boot-animation.html Описание как создавать init logo для Андроида] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://code.google.com/p/android-xserver/ Android X Server] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Софт==&lt;br /&gt;
[https://play.google.com/store/apps/details?id=nl.fameit.rotate Cофтина для принудительного поворота экрана (Платная, есть триал на 7 дней)] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Устаревшая информация== &lt;br /&gt;
[[Android 2.1]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android 2.2]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android 3.0]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android 4.0]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Сборки энтузиастов]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Инструкция по установке]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[user:zombah|1337638026]]&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Abootimg_android_port&amp;diff=1403</id>
		<title>Abootimg android port</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Abootimg_android_port&amp;diff=1403"/>
		<updated>2018-07-29T18:54:47Z</updated>

		<summary type="html">&lt;p&gt;Zombah: highligh syntax for fmemopen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Сборка abootimg для андроида=&lt;br /&gt;
Исходники ''abootimg'' доступны, живут тут https://gitorious.org/ac100/abootimg&lt;br /&gt;
&lt;br /&gt;
* Первая попытка сборки с использованием андроид ndk не увенчалась успехом, т.к. в ''Bionic libc'' которую использует андроид нет &lt;br /&gt;
нужных функций '''getline''' и '''fmemopen'''&lt;br /&gt;
** по getline нашел пару реализаций функции для андроида тут http://code.google.com/p/android-wifi-tether/source/browse/tools/wireless-tools/getline.c?r=509 &lt;br /&gt;
и тут http://lists.landley.net/pipermail/toybox-landley.net/2012-March/000345.html&lt;br /&gt;
*** Посмотреть какая из них нам подходит и попробовать засунуть внутрь ''abootimg''&lt;br /&gt;
** по fmemopen сложнее, нашел месагу на форуме, что можно использовать код из DragonflyBSD libc тут https://groups.google.com/forum/?fromgroups=#!topic/android-ndk/riK7krdofjE&lt;br /&gt;
*** Сам нужный код похоже тут http://gitweb.dragonflybsd.org/dragonfly.git/blob/master:/lib/libc/stdio/fmemopen.c&lt;br /&gt;
*** Вот такой ''fmemopen'' подошел, спасибо '''stuw'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;assert.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FILE *fmemopen (void *buf, size_t size, const char *opentype)&lt;br /&gt;
{&lt;br /&gt;
FILE *f;&lt;br /&gt;
&lt;br /&gt;
assert(strcmp(opentype, &amp;quot;r&amp;quot;) == 0);&lt;br /&gt;
&lt;br /&gt;
f = tmpfile();&lt;br /&gt;
fwrite(buf, 1, size, f);&lt;br /&gt;
rewind(f);&lt;br /&gt;
&lt;br /&gt;
return f;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Alcatel_Pop35_Notes&amp;diff=1394</id>
		<title>Alcatel Pop35 Notes</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Alcatel_Pop35_Notes&amp;diff=1394"/>
		<updated>2018-05-10T13:21:06Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add partition map&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Stock kernel output==&lt;br /&gt;
Here is dmesg collected with [[MMI_codes|TCLFeedback]] util http://pastebin.com/yWe0CRCi&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Vendor kernel source==&lt;br /&gt;
Alcatel released GPL sources for device https://sourceforge.net/projects/alcatel/files/?source=navbar &amp;lt;br /&amp;gt;&lt;br /&gt;
Filename OT_5065_20160506.tar.xz&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Parse vendor kernel source for device traces===&lt;br /&gt;
Vendor sources contain configs for alot of devices. &amp;lt;br /&amp;gt;&lt;br /&gt;
Quick grep sources to find how vendor calls device, using some names from stock dmesg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep &amp;quot;PM8909 SMB1360 1GB MTP&amp;quot;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp-smb1360.dts:       model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi355/msm8909-mtp-smb1360.dts:      model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi37/msm8909-mtp-smb1360.dts:       model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi384g/msm8909-mtp-smb1360.dts:     model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi445_tf/msm8909-mtp-smb1360.dts:   model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/qcom/msm8909-mtp-smb1360.dts: model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep &amp;quot;HX8379C TDT fwvga video&amp;quot;&lt;br /&gt;
arch/arm/boot/dts/pixi35/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:                qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi355/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:               qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi37/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:                qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi384g/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:              qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi445_tf/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:            qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep &amp;quot;TLi020A1-1956265-2000mAh&amp;quot;&lt;br /&gt;
arch/arm/boot/dts/pixi35/TCL_TLi020A1_1956265_2000mAh_3p4COV_VBMS_Final-0729.dtsi: qcom,TCL-TLi020A1-1956265-2000mAh-VBMS-data {&lt;br /&gt;
arch/arm/boot/dts/pixi35/TCL_TLi020A1_1956265_2000mAh_3p4COV_VBMS_Final-0729.dtsi:      qcom,battery-type = &amp;quot;TLi020A1-1956265-2000mAh&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -sni board-id arch/arm/boot/dts/pixi35/msm8909*.dts&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-cdp.dts:22:        qcom,board-id= &amp;lt;1 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-mtp.dts:22:        qcom,board-id= &amp;lt;8 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-qrd-skua.dts:20:   qcom,board-id= &amp;lt;0x1000b 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-qrd-skuc.dts:18:   qcom,board-id= &amp;lt;0x1000b 0x8&amp;gt;, &amp;lt;0x11000b 0x8&amp;gt;, &amp;lt;0x21000b 0x8&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-qrd-skue.dts:18:   qcom,board-id= &amp;lt;0x1000b 0x9&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-rcm.dts:23:        qcom,board-id= &amp;lt;21 0x0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-512mb-mtp-smb1360.dts:25:      qcom,board-id= &amp;lt;8 0x103&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-cdp.dts:23:    qcom,board-id= &amp;lt;1 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp.dts:23:    qcom,board-id= &amp;lt;8 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp-smb1360.dts:24:    qcom,board-id= &amp;lt;8 0x3&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-1gb-qhd-rcm.dts:23:     qcom,board-id= &amp;lt;21 0x1001&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-1gb-rcm.dts:22: qcom,board-id= &amp;lt;21 0x1&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-cdp.dts:24:     qcom,board-id= &amp;lt;1 0x2&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-mtp.dts:23:     qcom,board-id= &amp;lt;8 0x2&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-mtp-smb1360.dts:23:     qcom,board-id= &amp;lt;8 0x4&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-qhd-rcm.dts:24: qcom,board-id= &amp;lt;21 0x1101&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qhd-cdp.dts:25:        qcom,board-id= &amp;lt;1 0x1100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qhd-rcm.dts:25:        qcom,board-id= &amp;lt;21 0x1100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qrd-skua.dts:19:       qcom,board-id= &amp;lt;0x1000b 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qrd-skuc.dts:19:       qcom,board-id= &amp;lt;0x1000b 0x108&amp;gt;, &amp;lt;0x11000b 0x108&amp;gt;, &amp;lt;0x21000b 0x108&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qrd-skue.dts:19:       qcom,board-id= &amp;lt;0x1000b 0x109&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-rumi.dts:22:   qcom,board-id= &amp;lt;15 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-sim.dts:22:    qcom,board-id= &amp;lt;16 0&amp;gt;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It seems Pop3 (5) name in vendor kernel sources is pixi35.&lt;br /&gt;
This 3 seems to be our targets:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-mtp.dts:22:        qcom,board-id= &amp;lt;8 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp.dts:23:            qcom,board-id= &amp;lt;8 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp-smb1360.dts:24:    qcom,board-id= &amp;lt;8 0x3&amp;gt;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Bootloader==&lt;br /&gt;
It is usual for qcom LK but with disabled fastboot mode.&amp;lt;br /&amp;gt;&lt;br /&gt;
Stock firmware 01002 contain Developer options-&amp;gt;Enable OEM unlock switch, but &amp;lt;br /&amp;gt;&lt;br /&gt;
it has no visible effect. &amp;lt;br /&amp;gt;&lt;br /&gt;
4PDA recomends suspicious KingRoot v.4.0.0.233 app. &amp;lt;br /&amp;gt;&lt;br /&gt;
It realy installs su somehow, but also place alot of strange files into &amp;lt;br /&amp;gt;&lt;br /&gt;
all places of system including read-only recovery areas. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Need to check iovyroot or rowhammer exploits, maybe it is possible to use them. &amp;lt;br /&amp;gt;&lt;br /&gt;
'''UPDATE: iovyroot works fine on build 01002''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Splash screen==&lt;br /&gt;
Splash screen lives in /dev/block/bootdevice/by-name/splash partition. &amp;lt;br /&amp;gt;&lt;br /&gt;
Probably it is same as other qcom devices: bitmap of size 480x854, vertically rotated  and 24bit RGB888 &amp;lt;br /&amp;gt;&lt;br /&gt;
Konstat have info how to cook it for same msm8909 device here http://konstakang.com/devices/y560/stock-splash/&lt;br /&gt;
&lt;br /&gt;
==Input devices==&lt;br /&gt;
cm-12.1 data&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
shell@pop35:/ $ getevent -p&lt;br /&gt;
add device 1: /dev/input/event8&lt;br /&gt;
  name:     &amp;quot;msm8909-snd-card Headset Jack&amp;quot;&lt;br /&gt;
  events:&lt;br /&gt;
    SW  (0005): 0002  0004  0006  000e  000f  0010 &lt;br /&gt;
  input props:&lt;br /&gt;
    &amp;lt;none&amp;gt;&lt;br /&gt;
add device 2: /dev/input/event7&lt;br /&gt;
  name:     &amp;quot;msm8909-snd-card Button Jack&amp;quot;&lt;br /&gt;
  events:&lt;br /&gt;
    KEY (0001): 0072  0073  00e2  0104  0246 &lt;br /&gt;
  input props:&lt;br /&gt;
    &amp;lt;none&amp;gt;&lt;br /&gt;
add device 3: /dev/input/event5&lt;br /&gt;
  name:     &amp;quot;qpnp_pon&amp;quot;&lt;br /&gt;
  events:&lt;br /&gt;
    KEY (0001): 0072  0074 &lt;br /&gt;
  input props:&lt;br /&gt;
    0004&lt;br /&gt;
add device 4: /dev/input/event2&lt;br /&gt;
  name:     &amp;quot;tsl27723-als&amp;quot;&lt;br /&gt;
  events:&lt;br /&gt;
    ABS (0003): 0028  : value 0, min 0, max 65535, fuzz 0, flat 0, resolution 0&lt;br /&gt;
  input props:&lt;br /&gt;
    &amp;lt;none&amp;gt;&lt;br /&gt;
add device 5: /dev/input/event1&lt;br /&gt;
  name:     &amp;quot;tsl27723-ps&amp;quot;&lt;br /&gt;
  events:&lt;br /&gt;
    ABS (0003): 0019  : value 0, min 0, max 1, fuzz 0, flat 0, resolution 0&lt;br /&gt;
  input props:&lt;br /&gt;
    &amp;lt;none&amp;gt;&lt;br /&gt;
could not get driver version for /dev/input/mice, Not a typewriter&lt;br /&gt;
add device 6: /dev/input/event0&lt;br /&gt;
  name:     &amp;quot;ft5x06_ts&amp;quot;&lt;br /&gt;
  events:&lt;br /&gt;
    KEY (0001): 0074  014a &lt;br /&gt;
    ABS (0003): 002f  : value 0, min 0, max 1, fuzz 0, flat 0, resolution 0&lt;br /&gt;
                0035  : value 0, min 0, max 480, fuzz 0, flat 0, resolution 0&lt;br /&gt;
                0036  : value 0, min 0, max 854, fuzz 0, flat 0, resolution 0&lt;br /&gt;
                0039  : value 0, min 0, max 65535, fuzz 0, flat 0, resolution 0&lt;br /&gt;
  input props:&lt;br /&gt;
    INPUT_PROP_DIRECT&lt;br /&gt;
add device 7: /dev/input/event6&lt;br /&gt;
  name:     &amp;quot;gpio-keys&amp;quot;&lt;br /&gt;
  events:&lt;br /&gt;
    KEY (0001): 0073 &lt;br /&gt;
  input props:&lt;br /&gt;
    &amp;lt;none&amp;gt;&lt;br /&gt;
add device 8: /dev/input/event4&lt;br /&gt;
  name:     &amp;quot;bma_interrupt&amp;quot;&lt;br /&gt;
  events:&lt;br /&gt;
    REL (0002): 0001  0002  0006  0007  0008  0009 &lt;br /&gt;
    ABS (0003): 0018  : value 0, min 0, max 0, fuzz 0, flat 0, resolution 0&lt;br /&gt;
                0019  : value 0, min 0, max 0, fuzz 0, flat 0, resolution 0&lt;br /&gt;
  input props:&lt;br /&gt;
    &amp;lt;none&amp;gt;&lt;br /&gt;
add device 9: /dev/input/event3&lt;br /&gt;
  name:     &amp;quot;bma2x2-accel&amp;quot;&lt;br /&gt;
  events:&lt;br /&gt;
    ABS (0003): 0000  : value 96, min -512, max 512, fuzz 0, flat 0, resolution 0&lt;br /&gt;
                0001  : value 16, min -512, max 512, fuzz 0, flat 0, resolution 0&lt;br /&gt;
                0002  : value 1008, min -512, max 512, fuzz 0, flat 0, resolution 0&lt;br /&gt;
                0028  : value 0, min 0, max 0, fuzz 0, flat 0, resolution 0&lt;br /&gt;
  input props:&lt;br /&gt;
    &amp;lt;none&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Stock partition map==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
shell@Pop35:/dev/block/bootdevice/by-name $ ls -la&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 DDR -&amp;gt; /dev/block/mmcblk0p19&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 aboot -&amp;gt; /dev/block/mmcblk0p22&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 abootbak -&amp;gt; /dev/block/mmcblk0p23&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 boot -&amp;gt; /dev/block/mmcblk0p24&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 cache -&amp;gt; /dev/block/mmcblk0p33&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 config -&amp;gt; /dev/block/mmcblk0p38&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 devinfo -&amp;gt; /dev/block/mmcblk0p36&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 efsdata -&amp;gt; /dev/block/mmcblk0p18&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 fota -&amp;gt; /dev/block/mmcblk0p32&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 fsc -&amp;gt; /dev/block/mmcblk0p4&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 fsg -&amp;gt; /dev/block/mmcblk0p20&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 hdcp -&amp;gt; /dev/block/mmcblk0p31&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 hyp -&amp;gt; /dev/block/mmcblk0p13&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 hypbak -&amp;gt; /dev/block/mmcblk0p14&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 keystore -&amp;gt; /dev/block/mmcblk0p37&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 misc -&amp;gt; /dev/block/mmcblk0p34&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 modem -&amp;gt; /dev/block/mmcblk0p1&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 modemst1 -&amp;gt; /dev/block/mmcblk0p15&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 modemst2 -&amp;gt; /dev/block/mmcblk0p16&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 oem -&amp;gt; /dev/block/mmcblk0p39&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 pad -&amp;gt; /dev/block/mmcblk0p12&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 persist -&amp;gt; /dev/block/mmcblk0p27&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 persistent -&amp;gt; /dev/block/mmcblk0p35&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 recovery -&amp;gt; /dev/block/mmcblk0p25&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 reserved -&amp;gt; /dev/block/mmcblk0p28&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 rpm -&amp;gt; /dev/block/mmcblk0p8&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 rpmbak -&amp;gt; /dev/block/mmcblk0p9&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 sbl1 -&amp;gt; /dev/block/mmcblk0p6&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 sbl1bak -&amp;gt; /dev/block/mmcblk0p7&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 sec -&amp;gt; /dev/block/mmcblk0p21&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 simlock -&amp;gt; /dev/block/mmcblk0p17&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 splash -&amp;gt; /dev/block/mmcblk0p29&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 ssd -&amp;gt; /dev/block/mmcblk0p5&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 system -&amp;gt; /dev/block/mmcblk0p26&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 tctpersist -&amp;gt; /dev/block/mmcblk0p30&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 traceability -&amp;gt; /dev/block/mmcblk0p3&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 tunning -&amp;gt; /dev/block/mmcblk0p2&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 tz -&amp;gt; /dev/block/mmcblk0p10&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 tzbak -&amp;gt; /dev/block/mmcblk0p11&lt;br /&gt;
lrwxrwxrwx root     root              1970-01-01 05:01 userdata -&amp;gt; /dev/block/mmcblk0p40&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Alcatel_Pop35_Hardware&amp;diff=1391</id>
		<title>Alcatel Pop35 Hardware</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Alcatel_Pop35_Hardware&amp;diff=1391"/>
		<updated>2018-05-07T01:02:08Z</updated>

		<summary type="html">&lt;p&gt;Zombah: /* Hardware notes */ update tsl data&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Hardware notes==&lt;br /&gt;
* SoC id MSM8909 &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* HX8379C TDT fwvga video mode dsi panel&lt;br /&gt;
* FT5x06 TouchScreen &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* OV5670 (OmniVision 5-megapixel cam sensor) custom rev. ov5670-qc700&lt;br /&gt;
* GC2355 (GalaxyCore front camera)&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* TSL27723 AMS or TAOS Proximity and Ambient Light Sensor&lt;br /&gt;
* BMA2x2 Bosch Sensortec Accelerometer&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* TLi020A1-1956265-2000mAh Battery&lt;br /&gt;
&lt;br /&gt;
===Not sure===&lt;br /&gt;
* TI lm3642&lt;br /&gt;
* bcm2079x NFC module, exist in dmesg&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Alcatel_Pop35_Notes&amp;diff=1390</id>
		<title>Alcatel Pop35 Notes</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Alcatel_Pop35_Notes&amp;diff=1390"/>
		<updated>2018-05-07T00:41:49Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add input devices&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Stock kernel output==&lt;br /&gt;
Here is dmesg collected with [[MMI_codes|TCLFeedback]] util http://pastebin.com/yWe0CRCi&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Vendor kernel source==&lt;br /&gt;
Alcatel released GPL sources for device https://sourceforge.net/projects/alcatel/files/?source=navbar &amp;lt;br /&amp;gt;&lt;br /&gt;
Filename OT_5065_20160506.tar.xz&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Parse vendor kernel source for device traces===&lt;br /&gt;
Vendor sources contain configs for alot of devices. &amp;lt;br /&amp;gt;&lt;br /&gt;
Quick grep sources to find how vendor calls device, using some names from stock dmesg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep &amp;quot;PM8909 SMB1360 1GB MTP&amp;quot;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp-smb1360.dts:       model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi355/msm8909-mtp-smb1360.dts:      model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi37/msm8909-mtp-smb1360.dts:       model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi384g/msm8909-mtp-smb1360.dts:     model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi445_tf/msm8909-mtp-smb1360.dts:   model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/qcom/msm8909-mtp-smb1360.dts: model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep &amp;quot;HX8379C TDT fwvga video&amp;quot;&lt;br /&gt;
arch/arm/boot/dts/pixi35/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:                qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi355/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:               qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi37/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:                qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi384g/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:              qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi445_tf/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:            qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep &amp;quot;TLi020A1-1956265-2000mAh&amp;quot;&lt;br /&gt;
arch/arm/boot/dts/pixi35/TCL_TLi020A1_1956265_2000mAh_3p4COV_VBMS_Final-0729.dtsi: qcom,TCL-TLi020A1-1956265-2000mAh-VBMS-data {&lt;br /&gt;
arch/arm/boot/dts/pixi35/TCL_TLi020A1_1956265_2000mAh_3p4COV_VBMS_Final-0729.dtsi:      qcom,battery-type = &amp;quot;TLi020A1-1956265-2000mAh&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -sni board-id arch/arm/boot/dts/pixi35/msm8909*.dts&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-cdp.dts:22:        qcom,board-id= &amp;lt;1 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-mtp.dts:22:        qcom,board-id= &amp;lt;8 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-qrd-skua.dts:20:   qcom,board-id= &amp;lt;0x1000b 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-qrd-skuc.dts:18:   qcom,board-id= &amp;lt;0x1000b 0x8&amp;gt;, &amp;lt;0x11000b 0x8&amp;gt;, &amp;lt;0x21000b 0x8&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-qrd-skue.dts:18:   qcom,board-id= &amp;lt;0x1000b 0x9&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-rcm.dts:23:        qcom,board-id= &amp;lt;21 0x0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-512mb-mtp-smb1360.dts:25:      qcom,board-id= &amp;lt;8 0x103&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-cdp.dts:23:    qcom,board-id= &amp;lt;1 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp.dts:23:    qcom,board-id= &amp;lt;8 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp-smb1360.dts:24:    qcom,board-id= &amp;lt;8 0x3&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-1gb-qhd-rcm.dts:23:     qcom,board-id= &amp;lt;21 0x1001&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-1gb-rcm.dts:22: qcom,board-id= &amp;lt;21 0x1&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-cdp.dts:24:     qcom,board-id= &amp;lt;1 0x2&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-mtp.dts:23:     qcom,board-id= &amp;lt;8 0x2&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-mtp-smb1360.dts:23:     qcom,board-id= &amp;lt;8 0x4&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-qhd-rcm.dts:24: qcom,board-id= &amp;lt;21 0x1101&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qhd-cdp.dts:25:        qcom,board-id= &amp;lt;1 0x1100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qhd-rcm.dts:25:        qcom,board-id= &amp;lt;21 0x1100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qrd-skua.dts:19:       qcom,board-id= &amp;lt;0x1000b 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qrd-skuc.dts:19:       qcom,board-id= &amp;lt;0x1000b 0x108&amp;gt;, &amp;lt;0x11000b 0x108&amp;gt;, &amp;lt;0x21000b 0x108&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qrd-skue.dts:19:       qcom,board-id= &amp;lt;0x1000b 0x109&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-rumi.dts:22:   qcom,board-id= &amp;lt;15 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-sim.dts:22:    qcom,board-id= &amp;lt;16 0&amp;gt;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It seems Pop3 (5) name in vendor kernel sources is pixi35.&lt;br /&gt;
This 3 seems to be our targets:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-mtp.dts:22:        qcom,board-id= &amp;lt;8 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp.dts:23:            qcom,board-id= &amp;lt;8 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp-smb1360.dts:24:    qcom,board-id= &amp;lt;8 0x3&amp;gt;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Bootloader==&lt;br /&gt;
It is usual for qcom LK but with disabled fastboot mode.&amp;lt;br /&amp;gt;&lt;br /&gt;
Stock firmware 01002 contain Developer options-&amp;gt;Enable OEM unlock switch, but &amp;lt;br /&amp;gt;&lt;br /&gt;
it has no visible effect. &amp;lt;br /&amp;gt;&lt;br /&gt;
4PDA recomends suspicious KingRoot v.4.0.0.233 app. &amp;lt;br /&amp;gt;&lt;br /&gt;
It realy installs su somehow, but also place alot of strange files into &amp;lt;br /&amp;gt;&lt;br /&gt;
all places of system including read-only recovery areas. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Need to check iovyroot or rowhammer exploits, maybe it is possible to use them. &amp;lt;br /&amp;gt;&lt;br /&gt;
'''UPDATE: iovyroot works fine on build 01002''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Splash screen==&lt;br /&gt;
Splash screen lives in /dev/block/bootdevice/by-name/splash partition. &amp;lt;br /&amp;gt;&lt;br /&gt;
Probably it is same as other qcom devices: bitmap of size 480x854, vertically rotated  and 24bit RGB888 &amp;lt;br /&amp;gt;&lt;br /&gt;
Konstat have info how to cook it for same msm8909 device here http://konstakang.com/devices/y560/stock-splash/&lt;br /&gt;
&lt;br /&gt;
==Input devices==&lt;br /&gt;
cm-12.1 data&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
shell@pop35:/ $ getevent -p&lt;br /&gt;
add device 1: /dev/input/event8&lt;br /&gt;
  name:     &amp;quot;msm8909-snd-card Headset Jack&amp;quot;&lt;br /&gt;
  events:&lt;br /&gt;
    SW  (0005): 0002  0004  0006  000e  000f  0010 &lt;br /&gt;
  input props:&lt;br /&gt;
    &amp;lt;none&amp;gt;&lt;br /&gt;
add device 2: /dev/input/event7&lt;br /&gt;
  name:     &amp;quot;msm8909-snd-card Button Jack&amp;quot;&lt;br /&gt;
  events:&lt;br /&gt;
    KEY (0001): 0072  0073  00e2  0104  0246 &lt;br /&gt;
  input props:&lt;br /&gt;
    &amp;lt;none&amp;gt;&lt;br /&gt;
add device 3: /dev/input/event5&lt;br /&gt;
  name:     &amp;quot;qpnp_pon&amp;quot;&lt;br /&gt;
  events:&lt;br /&gt;
    KEY (0001): 0072  0074 &lt;br /&gt;
  input props:&lt;br /&gt;
    0004&lt;br /&gt;
add device 4: /dev/input/event2&lt;br /&gt;
  name:     &amp;quot;tsl27723-als&amp;quot;&lt;br /&gt;
  events:&lt;br /&gt;
    ABS (0003): 0028  : value 0, min 0, max 65535, fuzz 0, flat 0, resolution 0&lt;br /&gt;
  input props:&lt;br /&gt;
    &amp;lt;none&amp;gt;&lt;br /&gt;
add device 5: /dev/input/event1&lt;br /&gt;
  name:     &amp;quot;tsl27723-ps&amp;quot;&lt;br /&gt;
  events:&lt;br /&gt;
    ABS (0003): 0019  : value 0, min 0, max 1, fuzz 0, flat 0, resolution 0&lt;br /&gt;
  input props:&lt;br /&gt;
    &amp;lt;none&amp;gt;&lt;br /&gt;
could not get driver version for /dev/input/mice, Not a typewriter&lt;br /&gt;
add device 6: /dev/input/event0&lt;br /&gt;
  name:     &amp;quot;ft5x06_ts&amp;quot;&lt;br /&gt;
  events:&lt;br /&gt;
    KEY (0001): 0074  014a &lt;br /&gt;
    ABS (0003): 002f  : value 0, min 0, max 1, fuzz 0, flat 0, resolution 0&lt;br /&gt;
                0035  : value 0, min 0, max 480, fuzz 0, flat 0, resolution 0&lt;br /&gt;
                0036  : value 0, min 0, max 854, fuzz 0, flat 0, resolution 0&lt;br /&gt;
                0039  : value 0, min 0, max 65535, fuzz 0, flat 0, resolution 0&lt;br /&gt;
  input props:&lt;br /&gt;
    INPUT_PROP_DIRECT&lt;br /&gt;
add device 7: /dev/input/event6&lt;br /&gt;
  name:     &amp;quot;gpio-keys&amp;quot;&lt;br /&gt;
  events:&lt;br /&gt;
    KEY (0001): 0073 &lt;br /&gt;
  input props:&lt;br /&gt;
    &amp;lt;none&amp;gt;&lt;br /&gt;
add device 8: /dev/input/event4&lt;br /&gt;
  name:     &amp;quot;bma_interrupt&amp;quot;&lt;br /&gt;
  events:&lt;br /&gt;
    REL (0002): 0001  0002  0006  0007  0008  0009 &lt;br /&gt;
    ABS (0003): 0018  : value 0, min 0, max 0, fuzz 0, flat 0, resolution 0&lt;br /&gt;
                0019  : value 0, min 0, max 0, fuzz 0, flat 0, resolution 0&lt;br /&gt;
  input props:&lt;br /&gt;
    &amp;lt;none&amp;gt;&lt;br /&gt;
add device 9: /dev/input/event3&lt;br /&gt;
  name:     &amp;quot;bma2x2-accel&amp;quot;&lt;br /&gt;
  events:&lt;br /&gt;
    ABS (0003): 0000  : value 96, min -512, max 512, fuzz 0, flat 0, resolution 0&lt;br /&gt;
                0001  : value 16, min -512, max 512, fuzz 0, flat 0, resolution 0&lt;br /&gt;
                0002  : value 1008, min -512, max 512, fuzz 0, flat 0, resolution 0&lt;br /&gt;
                0028  : value 0, min 0, max 0, fuzz 0, flat 0, resolution 0&lt;br /&gt;
  input props:&lt;br /&gt;
    &amp;lt;none&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Uboot&amp;diff=1372</id>
		<title>Uboot</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Uboot&amp;diff=1372"/>
		<updated>2017-11-19T17:19:21Z</updated>

		<summary type="html">&lt;p&gt;Zombah: fix extlinux fdt vars&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''TODO''' : привести в человеческий вид&lt;br /&gt;
&lt;br /&gt;
==Особенности==&lt;br /&gt;
Сразу опишу некоторые нюансы, т.к. многие не дочитывают до конца или пропускают нюансы. &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #ff0000;&amp;quot;&amp;gt;1. Загрузочный скрипт должен быть запакован командой mkimage&amp;lt;/span&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #ff0000;&amp;quot;&amp;gt;2. initrd/initramfs образ должен быть запакован командой mkimage&amp;lt;/span&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Версии==&lt;br /&gt;
* mainline&lt;br /&gt;
Отсутствует поддержка клавиатуры. В 2016-11 не работает экран (патч ушел в мейллист, но не приянт)&lt;br /&gt;
* Старая версия (2013 год)&lt;br /&gt;
Добавлена поддержка клавиатуры, экран работает. Отсутствует поддержка многих вещей, которые появились за последние несколько лет (extlinux, например)&lt;br /&gt;
* 2016-11-nvec-v1-dev&lt;br /&gt;
Портирован патч с поддержкой клавиатуры.&lt;br /&gt;
Добавлен фикс экрана&lt;br /&gt;
*Особо не тестировалась*&lt;br /&gt;
&lt;br /&gt;
==Собранные версии==&lt;br /&gt;
[http://tinyurl.com/cukvzlp uboot.bin] с работающим экраном ([https://gitorious.org/uboot-ac100/uboot-ac100/commits/uboot-next-ac100 исходники] на gitorious).&lt;br /&gt;
* пока не работает встроенная клавиатура&lt;br /&gt;
* некоторые модели usb клавиатур должны работать, но на #ac100 никто этого не смог добиться (видимо зависит от модели)&lt;br /&gt;
[https://paz00.ru/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:Uboot-w-kbd.bin uboot-w-kbd.bin] с экспериментальной поддержкой клавиатуры ([https://gitorious.org/u-boot-ac100-exp/u-boot-ac100-exp/commits/master исходники]).&lt;br /&gt;
&lt;br /&gt;
[http://ac100.wikispaces.com/file/view/u-boot-2014-07-android.bin/516688186/u-boot-2014-07-android.bin u-boot-2014-07-android.bin] Binary from this branch https://github.com/ac100-ru/u-boot-ac100-exp/tree/v2014.07-android&lt;br /&gt;
&lt;br /&gt;
==Как работает u-boot==&lt;br /&gt;
При использовании fastboot (загрузчик, с которым тошка шла по-умолчанию) ядро, инитрд, cmdline нужно было упаковать в boot образ и записать в 5 или 6 партицию. Бут образ из 6-й грузился по-умолчанию, из 5-й - по домику.&lt;br /&gt;
При использовании u-boot'а бут образы не используются. Ядро и initrd должны лежать на файловой системе партиции. Cmdline задается в загрузочном скрипте. Загрузка происходит следующим образом:&lt;br /&gt;
u-boot перебирает sd, emmc, usb и ищет там файл загрузочного скрипта (boot.scr). Если он его не находит, вываливается в командную строку (u-boot'а, линукса там никакого нет). Если скрипт находится, то выполняется этот скрипт. В скрипте задается cmdline, считывается в память ядро, инитрд, device tree (для ядер 3.8 и новее) и зовется команда загрузки (bootz или bootm).&lt;br /&gt;
&lt;br /&gt;
'''Другими словами'''&lt;br /&gt;
&lt;br /&gt;
U-Boot ставится в спец. разделы (boot0 и boot1) внутреннего накопителя и не занимает места на части накопителя, где расположена ОС. Устанавливается U-Boot в эти разделы сценарием switch-to-uboot (на AC100 нужно запустить sosboot, а затем выполнить сценарий switch-to-uboot). Для загрузки, U-Boot ищет сценарий с именем boot.scr (на самом деле есть еще имя, но это не так важно). Ищет он его в корне раздела и в каталоге /boot. Проверяются все разделы всех накопителей. Если сценарий не найден, будет выведена консоль U-Boot'а. boot.scr — текстовый файл с небольшим заголовком. В сценарии указаны команды для загрузки ядра, initramfs (опционально), dtb и сама команда запуска. Чтобы ядро бралось из другого места, нужно править сценарий.&lt;br /&gt;
&lt;br /&gt;
==Установка ОС==&lt;br /&gt;
См. https://paz00.ru/index.php/Uboot_installation_ru установка ОС с u-boot'ом (https://paz00.ru/index.php/Uboot_installation en)&lt;br /&gt;
&lt;br /&gt;
==Загрузка в память==&lt;br /&gt;
Иногда удобно проверять работу u-boot'а/ядра не заливая его на внутренний накопитель.&lt;br /&gt;
Загрузить uboot в тошибу не меняя ничего на накопителе можно командой&lt;br /&gt;
===nvflash===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nvflash --bl ./u-boot-dtb-tegra.bin --go&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
В этом случае нужно иметь рабочий скрипт загрузки для u-boot'а.&lt;br /&gt;
Можно сделать полноценный образ, содержащий в себе u-boot, ядро и другие нужные компоненты:&lt;br /&gt;
* получаем create_image.pl&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone git://gitorious.org/uboot-ac100/create_bootimage.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* формируем uboot.cmd&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setenv bootargs 'cma=64M'&lt;br /&gt;
bootz @KERNEL @INITRD @FDT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* создаем boot-image.ram&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
create_image.pl uboot.bin zImage initrd.img tegra20-paz00.dtb uboot.cmd boot-image.ram&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* заливаем boot-image.ram в память&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nvflash --bl boot-image.ram --go&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===tegrarcm===&lt;br /&gt;
можно использовать tegrarcm:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tegrarcm --bct=ac100.bct --bootloader=boot-image.ram --loadaddr=0x108000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Загрузка с USB флешки==&lt;br /&gt;
'''for-next загружается, 3.1 в процессе'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% cat boot.cmd &lt;br /&gt;
echo === boot.scr: boot from USB flash ===&lt;br /&gt;
setenv setargs&lt;br /&gt;
setenv bootargs 'console=ttyS0,115200 cma=64M'&lt;br /&gt;
usb dev 0&lt;br /&gt;
ext2load usb 0 0x1000000 /boot/zImage&lt;br /&gt;
ext2load usb 0 0x2000000 /boot/tegra20-paz00.dtb&lt;br /&gt;
ext2load usb 0 0x2200000 /boot/initrd-uboot&lt;br /&gt;
bootz 0x1000000 0x2200000 0x2000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Запаковываем''' команды загрузки в образ&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% ../u-boot/tools/mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n &amp;quot;myscript&amp;quot; -d boot.cmd boot.scr&lt;br /&gt;
Image Name:   myscript&lt;br /&gt;
Created:      Sat Nov 24 23:57:51 2012&lt;br /&gt;
Image Type:   ARM Linux Script (uncompressed)&lt;br /&gt;
Data Size:    38 Bytes = 0.04 kB = 0.00 MB&lt;br /&gt;
Load Address: 00000000&lt;br /&gt;
Entry Point:  00000000&lt;br /&gt;
Contents:&lt;br /&gt;
   Image 0: 30 Bytes = 0.03 kB = 0.00 MB&lt;br /&gt;
% ls -la ./boot.scr&lt;br /&gt;
-rw-r--r-- 1 stuw users 102 Nov 24 23:57 ./boot.scr&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
И '''обязательно''' перепаковываем initrd.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% ../u-boot/tools/mkimage -n MyRamDisk -A arm -O linux -T ramdisk -C gzip -d initrd.img initrd-uboot&lt;br /&gt;
Image Name:   MyRamDisk&lt;br /&gt;
Created:      Sun Jan 20 20:23:04 2013&lt;br /&gt;
Image Type:   ARM Linux RAMDisk Image (gzip compressed)&lt;br /&gt;
Data Size:    1217437 Bytes = 1188.90 kB = 1.16 MB&lt;br /&gt;
Load Address: 00000000&lt;br /&gt;
Entry Point:  00000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
boot.scr нужно положить в /boot на sd карте.&lt;br /&gt;
Если ядро не использует fdt - его не грузим и убираем последний параметр в команде bootz.&lt;br /&gt;
&lt;br /&gt;
==Запись uboot'а на место загрузчика==&lt;br /&gt;
'''Не все описание точное, u-boot &amp;quot;подрос&amp;quot; :)'''&lt;br /&gt;
[http://ac100.grandou.net/swarren_brain_dump U-Boot] (by Stephen Warren)&lt;br /&gt;
&amp;lt;range type=&amp;quot;comment&amp;quot; id=&amp;quot;438689&amp;quot;&amp;gt;[http://ac100.grandou.net/debian_uboot PaulFertser сообщил], что u-boot из main ветки у него работает!&amp;lt;/range id=&amp;quot;438689&amp;quot;&amp;gt;&lt;br /&gt;
См. также [http://nv-tegra.nvidia.com/gitweb/?p=3rdparty/u-boot.git;a=shortlog;h=refs/heads/t30-port-v2011.03-public t30-port-v2011.03-public] ([http://nv-tegra.nvidia.com/gitweb/?p=3rdparty/u-boot.git;a=commit;h=9274b9d3d6d9402695e4f98aa056cf3e3e44fef8 LCD Display driver commit], [http://nv-tegra.nvidia.com/gitweb/?p=3rdparty/u-boot.git;a=commit;h=c788bf82b966c393254c82830b1aa3ba0d07e7bf tegra keyboard support commit])&lt;br /&gt;
&lt;br /&gt;
savalik не осилил заливку uboot на тошибу. Как он понял u-boot.bin (fastboot.stock.bin) составляет какую то часть от раздела EBT(4го).&lt;br /&gt;
При запуске nvflash --bl u-boot.bin --go он загоняется в память устройства. Но для его зашивки надо использовать --updatebct (??? какие то ключи)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;socketa4techx7 осилил заливку uboot на тошибу. На всякий случай: 1) Надо достать partitiontable и оригинальный bct.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nvflash --bl fastboot.bin --getpartitiontable ac100-pt.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nvflash -r --rawdeviceread 0 5000 00.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=00.bin of=ac100.bct bs=4080 count=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;2) теперь запихнем оригинальный bct куда подальше и создадим пустой bct-образный файл:&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp ac100.bct ac100.bct.orig&lt;br /&gt;
dd if=/dev/zero of=ac100.bct seek=2704 bs=1 count=48 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;3) Зальём в тошку u-boot.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nvflash --bl fastboot.bin --bct ac100.bct --odmdata 0x800c0085 --download 4 u-boot.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;Бинго! (по мотивам http://ac100.grandou.net/swarren_brain_dump)&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;Траблы: разрешение экрана кривовато, шрифт мелковат. Зы. бинарник, который я заливал, я взял из последнего L4T.&amp;lt;/span&amp;gt;(по непонятным причинам сработало 1 раз). &amp;lt;range type=&amp;quot;comment&amp;quot; id=&amp;quot;521845&amp;quot;&amp;gt;Вообще говоря, толку от u-boot сейчас мало - он не поддерживает дисплей и клавиатуру. Так что пока рассматриваем другие варианты.&amp;lt;/range id=&amp;quot;521845&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же советуемая Паулом putusb Муромца не работает из за какой то банальщины вроде неправильного импортирования модулей. (Муромцу подзатыльник за то что все сломал.)&lt;br /&gt;
&lt;br /&gt;
==Сборка==&lt;br /&gt;
Для v2016.11-nvec-v1-dev&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ac100-ru/u-boot-ac100-exp.git&lt;br /&gt;
cd u-boot-ac100-exp&lt;br /&gt;
git checkout -b v2016.11-nvec-v1-dev origin/v2016.11-nvec-v1-dev&lt;br /&gt;
make ARCH=arm CROSS_COMPILTE=arm-linux-gnueabi- paz00_config&lt;br /&gt;
make ARCH=arm CROSS_COMPILTE=arm-linux-gnueabi- # опционально добавить -j &amp;lt;количество потоков&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Для старых версий&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone git://git.denx.de/u-boot-tegra.git&lt;br /&gt;
cd u-boot-tegra&lt;br /&gt;
make paz00_config&lt;br /&gt;
CROSS_COMPILE=arm-linux-gnueabi- make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://pastebin.com/Ff5ydM1p -- печальный выхлоп в виде сегфолта в конце.&lt;br /&gt;
http://dl.dropbox.com/u/32472722/ac100_stuff/u-boot.bin bootloader failed NvError 0x0&lt;br /&gt;
:nvflash\nvflash\nvflash.exe --bl nvflash\nvflash\fastboot.stock.bin --bct ac100.bct --odmdata 0x800c0085 --download 4 u-boot.bin &amp;lt;range type=&amp;quot;comment&amp;quot; id=&amp;quot;636874&amp;quot;&amp;gt;делает кирпич. &amp;lt;/range id=&amp;quot;636874&amp;quot;&amp;gt;да и в целом odmdata 0x800c0085 кажется нам не идет.&lt;br /&gt;
&lt;br /&gt;
==Загрузка ядра из boot образа==&lt;br /&gt;
Буду расписывать на основе http://ac100.grandou.net/abootimg#output_examples&lt;br /&gt;
Видно, что:&lt;br /&gt;
page size = 2048 bytes&lt;br /&gt;
kernel size = 3146584 bytes&lt;br /&gt;
ramdisk size = 2310081 bytes&lt;br /&gt;
&lt;br /&gt;
В нулевом секторе находится заголовок. Начиная с первого сектора идет ядро. Потом initrd.&lt;br /&gt;
Ядро занимает (3146584 + 2048 - 1) / 2048 байт = 1537 секторов.&lt;br /&gt;
Ramdisk: (2310081 + 2048 - 1) / 2048 байт = 1128 секторов.&lt;br /&gt;
&lt;br /&gt;
6-я партиция начинается с сектора 5376 и ее размер 4096 секторов (сектор - 2048 байт, какой размер блока у убута - не знаю).&lt;br /&gt;
Ядро: начало 5376+1=5377, размер 1537 секторов&lt;br /&gt;
Как вытащить cmdline - пока не знаю. надо руками вбивать :(&lt;br /&gt;
&lt;br /&gt;
U-boot работает с секторами по 512 байт и не видит скрытые области на ностеле тошибы. Поэтому нужно сделать дополнительные корректировки (на примере 116-й модели, бут партиции по 2 МБ).&lt;br /&gt;
Т.к. скрытые области на 116-й модели по 2 МБ, то скрытыми будут 2048 секторов. Пересчитаем смещение ядра: 5377-2048=3329&lt;br /&gt;
Т.е. u-boot использует сектора по 512 байт, а мы считали все для секторов в 2048 байт, нужно пересчитать значения для скармливания u-boot'у:&lt;br /&gt;
Ядро: начало 3329*4=13316 (0x3404), размер 1537*4=6148 (0x1804)&lt;br /&gt;
&lt;br /&gt;
Команда для считывания ядра из 6-й партиции будет такая:&lt;br /&gt;
mmc read 0x1000000 0x3404 0x1804&lt;br /&gt;
&lt;br /&gt;
==Варианты меню загрузки==&lt;br /&gt;
===Устаревший вариант: Bootmenu===&lt;br /&gt;
Тестовая сборка: [https://dl.dropboxusercontent.com/u/40761340/Test/sos-uboot-r5-2013-09-23.bin Test/sos-uboot-r5-2013-09-23.bin]&lt;br /&gt;
&lt;br /&gt;
Для записи uboot'а на место постоянного загрузчика: загрузить образ в память, выполнить ./switch_to_uboot&lt;br /&gt;
&lt;br /&gt;
'''НЕПРОВЕРЕННЫЙ ВАРИАНТ'''&lt;br /&gt;
&lt;br /&gt;
Должен выдать меню из следующих пунктов:&lt;br /&gt;
&lt;br /&gt;
Boot kernel&lt;br /&gt;
&lt;br /&gt;
Boot recovery&lt;br /&gt;
&lt;br /&gt;
Boot from SD&lt;br /&gt;
&lt;br /&gt;
Boot from USB&lt;br /&gt;
&lt;br /&gt;
Uboot&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setenv bootmenu_0 &amp;quot;Boot kernel  =setenv bootargs console=tty0 console=ttyS0,115200n8 CMA=64M quiet splash;\&lt;br /&gt;
mmc dev 0;\&lt;br /&gt;
ext2load mmc 0 0x1000000 /boot/zImage;\&lt;br /&gt;
ext2load mmc 0 0x2000000 /boot/tegra20-paz00.dtb;\&lt;br /&gt;
ext2load mmc 0 0x2200000 /boot/initrd-uboot;\&lt;br /&gt;
bootz 0x1000000 0x2200000 0x2000000;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
setenv bootmenu_1 &amp;quot;Boot recovery=setenv bootargs console=tty0 console=ttyS0,115200n8 CMA=64M quiet splash;&lt;br /&gt;
mmc dev 0;\&lt;br /&gt;
ext2load mmc 0 0x1000000 /boot/zImage-recovery;\&lt;br /&gt;
ext2load mmc 0 0x2000000 /boot/tegra20-paz00.dtb;\&lt;br /&gt;
ext2load mmc 0 0x2200000 /boot/initrd-recovery-uboot;\&lt;br /&gt;
bootz 0x1000000 0x2200000 0x2000000;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
setenv bootmenu_2 &amp;quot;Boot from SD =setenv bootargs console=tty0 console=ttyS0,115200n8 CMA=64M quiet splash;\&lt;br /&gt;
mmc dev 1;\&lt;br /&gt;
ext2load mmc 1 0x1000000 /boot/zImage;\&lt;br /&gt;
ext2load mmc 1 0x2000000 /boot/tegra20-paz00.dtb;\&lt;br /&gt;
ext2load mmc 1 0x2200000 /boot/initrd-uboot;\&lt;br /&gt;
bootz 0x1000000 0x2200000 0x2000000;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
setenv bootmenu_3 &amp;quot;Boot from USB=setenv bootargs console=tty0 console=ttyS0,115200n8 CMA=64M quiet splash;\&lt;br /&gt;
usb dev 0;\&lt;br /&gt;
ext2load usb 0 0x1000000 /boot/zImage;\&lt;br /&gt;
ext2load usb 0 0x2000000 /boot/tegra20-paz00.dtb;\&lt;br /&gt;
ext2load usb 0 0x2200000 /boot/initrd-uboot;\&lt;br /&gt;
bootz 0x1000000 0x2200000 0x2000000;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
bootmenu 20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Меню для Андроида&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo === AC100 Android Bootmenu ===&lt;br /&gt;
setenv bootmenu_0 &amp;quot;Boot LNX  =mmc dev 0; ext2load mmc 0:2 0x1000000 /boot/zImage;\&lt;br /&gt;
                                         ext2load mmc 0:2 0x2200000 /boot/initrd.gz;\&lt;br /&gt;
                                         bootz 0x1000000 0x2200000;&amp;quot;&lt;br /&gt;
setenv bootmenu_1 &amp;quot;Boot SOS  =mmc dev 0; ext2load mmc 0:1 0x1000000 /boot/zImage;\&lt;br /&gt;
                                         ext2load mmc 0:1 0x2200000 /boot/initrd.gz;\&lt;br /&gt;
                                         bootz 0x1000000 0x2200000;&amp;quot;&lt;br /&gt;
setenv bootmenu_2 &amp;quot;Boot from SD =setenv bootargs console=tty0; mmc dev 1;\&lt;br /&gt;
                                         ext2load mmc 1 0x1000000 /boot/zImage;\&lt;br /&gt;
                                         ext2load mmc 1 0x2200000 /boot/initrd.gz;\&lt;br /&gt;
                                         bootz 0x1000000 0x2200000;&amp;quot;&lt;br /&gt;
setenv bootmenu_3 &amp;quot;Boot from USB=setenv bootargs $cmdline; usb dev 0;\&lt;br /&gt;
                                         ext2load usb 0 0x1000000 /boot/zImage;\&lt;br /&gt;
                                         ext2load usb 0 0x2200000 /boot/initrd.gz;\&lt;br /&gt;
                                         bootz 0x1000000 0x2200000 0x2000000;&amp;quot;&lt;br /&gt;
bootmenu 20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo === Toshiba AC100 Bootmenu ===&lt;br /&gt;
setenv bootmenu_0 &amp;quot;Boot LNX CM-10.1 =ext2load mmc 0:2 0x1000000 /boot/zImage-boot-cm-10-1; ext2load mmc 0:2 0x2200000 /boot/initrd-boot-cm-10-1.gz; bootz 0x1000000 0x2200000;&amp;quot;&lt;br /&gt;
setenv bootmenu_1 &amp;quot;Boot SOS CM-10.1 =ext2load mmc 0:1 0x1000000 /boot/zImage-recovery-cm-10-1; ext2load mmc 0:1 0x2200000 /boot/initrd-recovery-cm-10-1.gz; bootz 0x1000000 0x2200000;&amp;quot;&lt;br /&gt;
setenv bootmenu_2 &amp;quot;Boot LNX UBUNTU-12.10 =ext2load mmc 0:2 0x1000000 /boot/zImage-lubuntu-12-10; ext2load mmc 0:2 0x2200000 /boot/initrd-lubuntu-12-10; bootz 0x1000000 0x2200000;&amp;quot;&lt;br /&gt;
setenv bootmenu_3 &amp;quot;Boot from SD fat=fatload mmc 1:1 0x1000000 /boot/zImage; fatload mmc 1:1 0x2200000 /boot/initrd.gz; bootz 0x1000000 0x2200000;&amp;quot;&lt;br /&gt;
setenv bootmenu_4 &amp;quot;Boot from USB ext2=ext2load usb 0:1 0x1000000 /boot/zImage; ext2load usb 0:1 0x2200000 /boot/initrd.gz; bootz 0x1000000 0x2200000 0x2000000;&amp;quot;&lt;br /&gt;
bootmenu 5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Новый вариант: Extlinux===&lt;br /&gt;
В новых версиях u-boot появилась поддержка syslinux скриптов для создания меню загрузки. &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://git.denx.de/?p=u-boot.git;a=blob;f=doc/README.distro;h=9e4722a86ee562fdc80b675f5be9d30e30e61597;hb=HEAD README в исходниках U-Boot] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример конфигурации:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TIMEOUT 1000&lt;br /&gt;
DEFAULT default&lt;br /&gt;
ONTIMEOUT exit&lt;br /&gt;
MENU TITLE Boot menu&lt;br /&gt;
&lt;br /&gt;
LABEL default&lt;br /&gt;
        MENU LABEL Default&lt;br /&gt;
        LINUX /boot/zImage&lt;br /&gt;
        FDTDIR /boot/&lt;br /&gt;
        APPEND root=/dev/mmcblk0p1 plymouth.enable=0 console=ttyS0,115200n8&lt;br /&gt;
&lt;br /&gt;
LABEL failsafe&lt;br /&gt;
        MENU LABEL Failsafe&lt;br /&gt;
        LINUX /boot/zImage-failsafe&lt;br /&gt;
        FDT /boot/tegra20-paz00.dtb&lt;br /&gt;
	INITRD /boot/initrd-uboot&lt;br /&gt;
        APPEND root=/dev/mmcblk0p1 plymouth.enable=0 console=ttyS0,115200n8 console=tty&lt;br /&gt;
&lt;br /&gt;
LABEL exit&lt;br /&gt;
	MENU LABEL Local boot script (boot.scr)&lt;br /&gt;
	LOCALBOOT 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#При использовании '''FDTDIR''' для выбора '''dtb''' файла при загрузке используются переменные окружения ''SYS_SOC'' и ''SYS_BOARD''. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Разное==&lt;br /&gt;
===Bootable флаг в U-Boot===&lt;br /&gt;
[http://lists.denx.de/pipermail/u-boot/2012-October/136724.html Описание как в U-Boot считывается bootable флаг] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Скрипты от nvidia для прошивки U-Boot===&lt;br /&gt;
https://github.com/NVIDIA/tegra-uboot-flasher-scripts&lt;br /&gt;
https://github.com/NVIDIA/tegra-uboot-scripts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Патчи Нвек в Mainline U-Boot===&lt;br /&gt;
http://patchwork.ozlabs.org/project/uboot/list/?submitter=Andrey+Danin&amp;amp;state=*&amp;amp;archive=both&lt;br /&gt;
&lt;br /&gt;
===Persistent enviroment location===&lt;br /&gt;
This settings live in ''include/configs/paz00.h''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* Environment in eMMC, at the end of 2nd &amp;quot;boot sector&amp;quot; */&lt;br /&gt;
#define CONFIG_ENV_IS_IN_MMC&lt;br /&gt;
#define CONFIG_ENV_OFFSET (-CONFIG_ENV_SIZE)&lt;br /&gt;
#define CONFIG_SYS_MMC_ENV_DEV 0&lt;br /&gt;
#define CONFIG_SYS_MMC_ENV_PART 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;srwarren&amp;gt; Typically it's at the end of /dev/mmcblk0boot1 for devices that boot from eMMC&lt;br /&gt;
&amp;lt;srwarren&amp;gt; IIRC, 0==main data, 1==boot0, 2==boot1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Factory kernel 2.6.32-9 with U-Boot===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Uncompressing Linux.................................................................................................................................................................................. done, booting the kernel.&lt;br /&gt;
&lt;br /&gt;
Error: unrecognized/unsupported machine ID (r1 = 0x00000c38).&lt;br /&gt;
&lt;br /&gt;
Available machine support:&lt;br /&gt;
&lt;br /&gt;
ID (hex)        NAME&lt;br /&gt;
00000d05        Tegra 2 Development System&lt;br /&gt;
00000aab        NVIDIA Harmony Development System&lt;br /&gt;
00000b6f        NVIDIA Ventana Development System&lt;br /&gt;
&lt;br /&gt;
Please check your kernel config and/or bootloader.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====how to override this machine ID?====&lt;br /&gt;
'''0x00000c38''' is 3128 decimal, defined in arch/arm/include/asm/mach-types.h&lt;br /&gt;
in U-Boot.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define MACH_TYPE_PAZ00                3128&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===load U-Boot default enviroment settings===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
env default -a&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Iovyroot&amp;diff=1371</id>
		<title>Iovyroot</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Iovyroot&amp;diff=1371"/>
		<updated>2017-11-17T14:45:51Z</updated>

		<summary type="html">&lt;p&gt;Zombah: fix typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==PoC==&lt;br /&gt;
https://github.com/dosomder/iovyroot&lt;br /&gt;
&lt;br /&gt;
==Find offsets==&lt;br /&gt;
===If kallsyms exist===&lt;br /&gt;
# Unpack kernel &lt;br /&gt;
# Grab https://github.com/fi01/kallsymsprint&lt;br /&gt;
# Print kernel kallsyms: kallsymsprint.x86 kernel.unpacked&lt;br /&gt;
# For 32bit platform grep for: egrep &amp;quot;ptmx_fops|sidtab|policydb|selinux_enabled|selinux_enforcing&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Add device==&lt;br /&gt;
# Here is offseet order https://github.com/zombah/iovyroot/blob/master/jni/include/offsets.h#L12&lt;br /&gt;
# Patch source:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--- a/jni/offsets.c&lt;br /&gt;
+++ b/jni/offsets.c&lt;br /&gt;
@@ -419,6 +419,12 @@ struct offsets offsets[] = {&lt;br /&gt;
        { &amp;quot;MI 2&amp;quot;, &amp;quot;Linux version 3.4.0-perf-g9b728b6-00625-ge66671e (builder@qh-miui-ota-bd53) (gcc version 4.8 (GCC) ) #1 SMP PREEMPT Mon Mar 7 20:05:25 CST 2016&amp;quot;,&lt;br /&gt;
          { (void*)FSYNC_OFFSET(0xC12D5298) },&lt;br /&gt;
          (void*)0xC12BC530, (void*)0xC12BC420, (void*)0xC0F5332C, (void*)0xC12BA9D0 },&lt;br /&gt;
+&lt;br /&gt;
+       /********************** ALCATEL ************************/&lt;br /&gt;
+       //Alcatel/TCL 5065D Pop35, 5.1.1 LMY47V&lt;br /&gt;
+       { &amp;quot;5065D&amp;quot;, &amp;quot;Linux version 3.10.49-g17d9d71 (android-bld@aclgcl-ubnt) (gcc version 4.8 (GCC) ) #1 SMP PREEMPT Tue Sep 29 19:51:34 CST 2015&amp;quot;,&lt;br /&gt;
+         { (void*)FSYNC_OFFSET(0xc0e82728) },&lt;br /&gt;
+         (void*)0xc0e08a40, (void*)0xc0e08930, (void*)0xc0cf76c0, (void*)0xc0e06edc },&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 #endif /* (__LP64__) */&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compile==&lt;br /&gt;
# Copy whole poc folder to android/device/vendor/model folder and run mmm into it from android build env root&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Iovyroot&amp;diff=1370</id>
		<title>Iovyroot</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Iovyroot&amp;diff=1370"/>
		<updated>2017-11-17T14:43:51Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add patch and compile notes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==PoC==&lt;br /&gt;
https://github.com/dosomder/iovyroot&lt;br /&gt;
&lt;br /&gt;
==Find offsets==&lt;br /&gt;
===If kallsyms exist===&lt;br /&gt;
# Unpack kernel &lt;br /&gt;
# Grab https://github.com/fi01/kallsymsprint&lt;br /&gt;
# Print kernel kallsyms: kallsymsprint.x86 kernel.unpacked&lt;br /&gt;
# For 32bit platform grep for: egrep (ptmx_fops|sidtab|policydb|selinux_enabled|selinux_enforcing)&lt;br /&gt;
&lt;br /&gt;
==Add device==&lt;br /&gt;
# Here is offseet order https://github.com/zombah/iovyroot/blob/master/jni/include/offsets.h#L12&lt;br /&gt;
# Patch source:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--- a/jni/offsets.c&lt;br /&gt;
+++ b/jni/offsets.c&lt;br /&gt;
@@ -419,6 +419,12 @@ struct offsets offsets[] = {&lt;br /&gt;
        { &amp;quot;MI 2&amp;quot;, &amp;quot;Linux version 3.4.0-perf-g9b728b6-00625-ge66671e (builder@qh-miui-ota-bd53) (gcc version 4.8 (GCC) ) #1 SMP PREEMPT Mon Mar 7 20:05:25 CST 2016&amp;quot;,&lt;br /&gt;
          { (void*)FSYNC_OFFSET(0xC12D5298) },&lt;br /&gt;
          (void*)0xC12BC530, (void*)0xC12BC420, (void*)0xC0F5332C, (void*)0xC12BA9D0 },&lt;br /&gt;
+&lt;br /&gt;
+       /********************** ALCATEL ************************/&lt;br /&gt;
+       //Alcatel/TCL 5065D Pop35, 5.1.1 LMY47V&lt;br /&gt;
+       { &amp;quot;5065D&amp;quot;, &amp;quot;Linux version 3.10.49-g17d9d71 (android-bld@aclgcl-ubnt) (gcc version 4.8 (GCC) ) #1 SMP PREEMPT Tue Sep 29 19:51:34 CST 2015&amp;quot;,&lt;br /&gt;
+         { (void*)FSYNC_OFFSET(0xc0e82728) },&lt;br /&gt;
+         (void*)0xc0e08a40, (void*)0xc0e08930, (void*)0xc0cf76c0, (void*)0xc0e06edc },&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 #endif /* (__LP64__) */&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compile==&lt;br /&gt;
# Copy whole poc folder to android/device/vendor/model folder and run mmm into it from android build env root&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Iovyroot&amp;diff=1369</id>
		<title>Iovyroot</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Iovyroot&amp;diff=1369"/>
		<updated>2017-11-17T13:47:37Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add iovyroot kallsyms&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==PoC==&lt;br /&gt;
https://github.com/dosomder/iovyroot&lt;br /&gt;
&lt;br /&gt;
==Find offsets==&lt;br /&gt;
===If kallsyms exist===&lt;br /&gt;
# Unpack kernel &lt;br /&gt;
# Grab https://github.com/fi01/kallsymsprint&lt;br /&gt;
# Print kernel kallsyms: kallsymsprint.x86 kernel.unpacked&lt;br /&gt;
# For 32bit platform grep for: egrep (ptmx_fops|sidtab|policydb|selinux_enabled|selinux_enforcing)&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Android&amp;diff=1368</id>
		<title>Android</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Android&amp;diff=1368"/>
		<updated>2017-11-17T13:09:27Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add iovyroot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Материалы и ссылки по использованию и портированию системы Андроид на Toshiba AC100== &lt;br /&gt;
[[File:nvidia_tegra2_android-500x316.jpg|300x187px]]&lt;br /&gt;
&lt;br /&gt;
==Информационные материалы== &lt;br /&gt;
----&lt;br /&gt;
===Информация для пользователей=== &lt;br /&gt;
'''[[Android 4.0 installation|Инструкция по установке]]''' &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Текущий статус порта Андроид]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android for Toshiba AC100 Roadmap]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Инструкция по установке GAPPS aka Google Apps]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Автоматическое обновление или ручное обновление]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Информация для продвинутых пользователей=== &lt;br /&gt;
[[С какой стороны подходить к Андроиду]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Исходники последних портов]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Модификация образов партиций]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Продвинутые техники в работе с Андроидом]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Debug Android]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Анализ бинарных файлов]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Overlays]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Конфигурация ядра]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Памятка по конфигурации ядра]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Конфигурация устройства для сборки Андроида]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Checklist по проверке работы Андроида]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Подписывание Андроид сборки]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Новая таблица разделов для Андроида]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Nexus 7 aosp tegra kernel]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[QCOM CAF Corner]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Информация для разработчиков== &lt;br /&gt;
----&lt;br /&gt;
===Задачи=== &lt;br /&gt;
[[Внедрение автоматизированного OTA обновления]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Проблемы=== &lt;br /&gt;
[[Внешний модем]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Сон,Suspend,Resume,Wakelock]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Звук в Андройде]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android 4.0 Problems|&amp;quot;Багтрекер&amp;quot;]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Перезагрузка системы в рековери партицию]] &amp;lt;br/&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====Временные решения==== &lt;br /&gt;
[[Кнопки в Андроиде]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Решено==== &lt;br /&gt;
[[Иконки выходящие за предела экрана лаунчера|Иконки выходящие за пределы экрана лаунчера]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Диоды aka Leds]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Переключение раскладок клавиатуры в Андроиде]] &amp;lt;br/&amp;gt; &lt;br /&gt;
[[Изменения статуса заряда батареи]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Пропадание встроенной клавы и тачпада]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Landscape режим экрана]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Хардварное видео]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Wpa_supplicant]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Vold]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Camera]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Flashing Uboot to MMC]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Загрузка Андроида с помощью Uboot]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Unsorted stuff====&lt;br /&gt;
[[nvec for android]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[TouchPad Android]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android USB Gadget]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Abootimg android port]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Приложения для Андроида]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Составление грамотного bugreportа]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[ac100 flash process]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android rt3070 or rt2x00]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Uboot menu concept]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Debug wifi]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Cross Compile compat-drivers]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[tegra-otg loop with u-boot]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Bluedroid 4.2 battle]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Replicant draft]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Mainline kernel for Android]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android install guild NG|Android install guide NG]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[gnu parted example]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[gpt partition table]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[ubuntu_uboot]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android compile from sources]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Use tegra3 binaries]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Nexus kernel sandbox]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Uboot suspend]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Gamepad in Android]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android 4.0 Keyboard]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[English Android Install Guide]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android version Matrix]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android downstream kernel memory map]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android /dev/block/platform]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Extract data from stock firmware]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[MMI codes]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[DASH]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[picasso-kernel]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[TWRP recovery]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[iovyroot]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Zombah sandbox]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ссылки== &lt;br /&gt;
----&lt;br /&gt;
[http://4pda.ru/forum/index.php?showtopic=198800 Обсуждение Toshiba AC-100 на 4pda.ru] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://4pda.ru/forum/index.php?showtopic=286846 Обсуждение Андройд 4 для Toshiba AC100 на 4pda.ru] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.tabletroms.com/forums/ac100-rom-development/3562-android-4-0-toshiba-ac100-firmware-review-installation-ice-cream-sandvich-4-0-a.html Обсуждение сборок андроида на tabletroms.com] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.tabletroms.com/forums/ac100/ Англоязычный форум по Toshiba AC100] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.modaco.com/topic/330834-advent-vega-kernel-source-code-now-available/%20 Англоязычный форум по Advent Vega. Содержит массу полезной информации.] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://code.google.com/p/cm-paz00/ Проект на гуглокоде, здесь выкладываются новые версии] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Интересные ресурсы== &lt;br /&gt;
[https://github.com/OTAUpdateCenter/ota-update-centre/downloads OTA обновления для кастом прошивок] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://forum.xda-developers.com/showthread.php?t=1545165 Инструкция как создавать патчи которые можно накладывать с помощью CWM-Recovery] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.scribd.com/doc/81447396/Tegra2-Embedded-Controller-Interface-Specification-20111117 Спецификации NVEC] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.androidtablets.net/forum/android-tablet-hacking/438-how-setup-static-bootlogo-before-animated-boot-animation.html Описание как создавать init logo для Андроида] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://code.google.com/p/android-xserver/ Android X Server] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Софт==&lt;br /&gt;
[https://play.google.com/store/apps/details?id=nl.fameit.rotate Бесплатная софтина для принудительного поворота экрана] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Устаревшая информация== &lt;br /&gt;
[[Android 2.1]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android 2.2]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android 3.0]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android 4.0]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Сборки энтузиастов]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Инструкция по установке]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[user:zombah|1337638026]]&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Zombah_raspberry_pi_sandbox&amp;diff=1367</id>
		<title>Zombah raspberry pi sandbox</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Zombah_raspberry_pi_sandbox&amp;diff=1367"/>
		<updated>2017-11-07T01:00:54Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add rpi docker info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==NOOBS install from linux==&lt;br /&gt;
# parted format sd to msdos label&lt;br /&gt;
# create single partition win fat&lt;br /&gt;
# mkfs.vfat -F 32 new partition&lt;br /&gt;
# unzip noobs.zip -d new partition&lt;br /&gt;
&lt;br /&gt;
==RPI snmp hardware monitoring==&lt;br /&gt;
http://docs.librenms.org/Extensions/Applications/#raspberry-pi&lt;br /&gt;
&lt;br /&gt;
==Lakkatv==&lt;br /&gt;
Current devel lakka branch here https://github.com/libretro/Lakka-LibreELEC is Lakka-V2.0&lt;br /&gt;
&lt;br /&gt;
Install 32bit requirements: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zypper in gcc48-32bit glibc-devel-32bit glibc-devel-static-32bit u-boot-tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To compile: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ git clone https://github.com/libretro/Lakka-LibreELEC.git&lt;br /&gt;
$ cd Lakka-LibreELEC&lt;br /&gt;
$ export CCACHE_DISABLE=1&lt;br /&gt;
$ DISTRO=Lakka PROJECT=RPi2 ARCH=arm make image&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Probably ggc6 is better, for compilation, will test later. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Docker on openSUSE aarch64 tw==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
00:15 &amp;lt; roox&amp;gt; agraf: docker isn't that hard ;-)&lt;br /&gt;
00:15 &amp;lt; roox&amp;gt; You can give it a try...&lt;br /&gt;
00:15 &amp;lt; roox&amp;gt; # zypper install docker &amp;amp;&amp;amp; systemctl start docker&lt;br /&gt;
00:15 &amp;lt; roox&amp;gt; # docker pull arm32v7/opensuse:42.3&lt;br /&gt;
00:15 &amp;lt; roox&amp;gt; # sudo docker run -it arm32v7/opensuse:42.2 /bin/bash&lt;br /&gt;
00:15 &amp;lt; roox&amp;gt; This will give you a shell inside the container and also provides you with a 32bit environment on top of an aarch64 system&lt;br /&gt;
00:16 &amp;lt; roox&amp;gt; Problems started when I tried to customize this container and used zypper in the Dockerfile&lt;br /&gt;
00:16 &amp;lt; roox&amp;gt; Here's my current workaround that will work fine:&lt;br /&gt;
00:16 &amp;lt; roox&amp;gt; # sed -i 's|# arch = s390|arch = armv7hl|g' /etc/zypp/zypp.conf&lt;br /&gt;
00:16 &amp;lt; roox&amp;gt; # rm -rf  /etc/zypp/repos.d/*&lt;br /&gt;
00:16 &amp;lt; roox&amp;gt; # zypper ar http://download.opensuse.org/ports/armv7hl/distribution/leap/42.3/repo/oss/ oss&lt;br /&gt;
00:17 &amp;lt; roox&amp;gt; Forcing the architecture in zypp.conf is required otherwise it will try to find packages for aarch64&lt;br /&gt;
00:19 &amp;lt; roox&amp;gt; Interestingly the issue with the wrong repositories seems to be known to the container guys...&lt;br /&gt;
00:19 &amp;lt; roox&amp;gt; https://github.com/openSUSE/docker-containers/pull/66&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=QCOM_CAF_Corner&amp;diff=1366</id>
		<title>QCOM CAF Corner</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=QCOM_CAF_Corner&amp;diff=1366"/>
		<updated>2017-11-05T22:55:57Z</updated>

		<summary type="html">&lt;p&gt;Zombah: /* Kernel= */ fix typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Qualcomm and CodeAuroraForum related topics==&lt;br /&gt;
----&lt;br /&gt;
===Kernel===&lt;br /&gt;
[[Quest_for_Nokia_X2_CAF_source|How to find CAF branch for Linux Kernel sources]] &amp;lt;br/&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===System===&lt;br /&gt;
[[Extract_data_from_stock_firmware|How to extract power_profiles.xml]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Qcom_debuging|QCOM specific debuging system properties]] &amp;lt;br/&amp;gt;&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=QCOM_CAF_Corner&amp;diff=1365</id>
		<title>QCOM CAF Corner</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=QCOM_CAF_Corner&amp;diff=1365"/>
		<updated>2017-11-05T22:55:40Z</updated>

		<summary type="html">&lt;p&gt;Zombah: initial qcom corner&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Qualcomm and CodeAuroraForum related topics==&lt;br /&gt;
----&lt;br /&gt;
===Kernel====&lt;br /&gt;
[[Quest_for_Nokia_X2_CAF_source|How to find CAF branch for Linux Kernel sources]] &amp;lt;br/&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
===System===&lt;br /&gt;
[[Extract_data_from_stock_firmware|How to extract power_profiles.xml]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Qcom_debuging|QCOM specific debuging system properties]] &amp;lt;br/&amp;gt;&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=%D0%90%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7_%D0%B1%D0%B8%D0%BD%D0%B0%D1%80%D0%BD%D1%8B%D1%85_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2&amp;diff=1364</id>
		<title>Анализ бинарных файлов</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=%D0%90%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7_%D0%B1%D0%B8%D0%BD%D0%B0%D1%80%D0%BD%D1%8B%D1%85_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2&amp;diff=1364"/>
		<updated>2017-11-05T22:54:56Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add android blob utility&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Способы анализа бинарных файлов==&lt;br /&gt;
----&lt;br /&gt;
В ''Android'' часто встречаются части системы доступные только в бинарном виде ака ''blobs'',&lt;br /&gt;
ниже способы получения информации о бинарных файлах:&lt;br /&gt;
&lt;br /&gt;
===file,strings,readelf===&lt;br /&gt;
Первое что можно посмотреть это вывод комманды ''file''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
file gralloc.tegra.so &lt;br /&gt;
gralloc.tegra.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, stripped&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
тут видно что это биннарник под ''arm'' архитектуру, динамически слинкованый и изнего удалена не &lt;br /&gt;
вилияющая на исполнение информация, например отладочного характера.&lt;br /&gt;
&lt;br /&gt;
Потом можно посмотреть какие переменные/функции есть в бинарном файле с помощью утилиты ''strings''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
strings gralloc.tegra.so &lt;br /&gt;
__aeabi_unwind_cpp_pr0&lt;br /&gt;
NvOsStrcmp&lt;br /&gt;
pthread_mutex_lock&lt;br /&gt;
NvGrAllocDevOpen&lt;br /&gt;
NvGrFbDevOpen&lt;br /&gt;
pthread_mutex_unlock&lt;br /&gt;
NvGrDevUnref&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Аналогично ''strings'' можно воспользоваться утилитой ''objdump'' выдвет более вменяюмую информацию,&lt;br /&gt;
но игнорирует левый текст, который тоже иногда бывает интересен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Так как бинарник динамический хорошо узнать на какие библиотеки он динамически ссылается, это делается&lt;br /&gt;
утилитой ''readelf''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
readelf -d gralloc.tegra.so |grep Shared&lt;br /&gt;
 0x00000001 (NEEDED)                     Shared library: [liblog.so]&lt;br /&gt;
 0x00000001 (NEEDED)                     Shared library: [libcutils.so]&lt;br /&gt;
 0x00000001 (NEEDED)                     Shared library: [libhardware_legacy.so]&lt;br /&gt;
 0x00000001 (NEEDED)                     Shared library: [libnvos.so]&lt;br /&gt;
 0x00000001 (NEEDED)                     Shared library: [libnvrm.so]&lt;br /&gt;
 0x00000001 (NEEDED)                     Shared library: [libnvrm_channel.so]&lt;br /&gt;
 0x00000001 (NEEDED)                     Shared library: [libnvddk_2d_v2.so]&lt;br /&gt;
 0x00000001 (NEEDED)                     Shared library: [libpkip.so]&lt;br /&gt;
 0x00000001 (NEEDED)                     Shared library: [libcrypto.so]&lt;br /&gt;
 0x00000001 (NEEDED)                     Shared library: [libc.so]&lt;br /&gt;
 0x00000001 (NEEDED)                     Shared library: [libstdc++.so]&lt;br /&gt;
 0x00000001 (NEEDED)                     Shared library: [libm.so]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Анализ функций===&lt;br /&gt;
По выводу strings часто не очень понятны функции которые использует библиотека или бинарник, для этого лучше использовать утилиту&lt;br /&gt;
'''nm'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# nm -C -D ~/src/blobs/libril-qc-qmi-1.so&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===binwalk===&lt;br /&gt;
Если бинарник запакован, часто это легко увидеть с помощью утилиты '''binwalk''', на примере Linux Kernel&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ binwalk vmlinuz&lt;br /&gt;
&lt;br /&gt;
DECIMAL       HEXADECIMAL     DESCRIPTION&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
16375         0x3FF7          gzip compressed data, maximum compression, from Unix, NULL date (1970-01-01 00:00:00)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
проверяем с помошью GNU coreutils od что сдвиг правильный:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ od -A d -t x1 vmlinuz| grep '1f 8b 08 00'&lt;br /&gt;
0016368 20 65 72 72 6f 72 00 1f 8b 08 00 00 00 00 00 02&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
выходит все верно до начала 1f 8b 08 00 7 знаков, 16368+7=16375.&lt;br /&gt;
&lt;br /&gt;
Теперь с полной уверенностью можно вырезать содержимое:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dd if=vmlinuz bs=1 skip=16375 | zcat &amp;gt; vmlinux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Автоматизированный анализ бинарных файлов===&lt;br /&gt;
При первом знакомстве с бинарными файлами производителя и для упрощения поиска &amp;lt;br/&amp;gt;&lt;br /&gt;
зависимостей есть отличная утилита [https://github.com/JackpotClavin/Android-Blob-Utility Android Blob Utility]&lt;br /&gt;
&lt;br /&gt;
[[user:zombah|1337898155]]&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Android&amp;diff=1363</id>
		<title>Android</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Android&amp;diff=1363"/>
		<updated>2017-11-05T22:44:42Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add qcom caf&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Материалы и ссылки по использованию и портированию системы Андроид на Toshiba AC100== &lt;br /&gt;
[[File:nvidia_tegra2_android-500x316.jpg|300x187px]]&lt;br /&gt;
&lt;br /&gt;
==Информационные материалы== &lt;br /&gt;
----&lt;br /&gt;
===Информация для пользователей=== &lt;br /&gt;
'''[[Android 4.0 installation|Инструкция по установке]]''' &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Текущий статус порта Андроид]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android for Toshiba AC100 Roadmap]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Инструкция по установке GAPPS aka Google Apps]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Автоматическое обновление или ручное обновление]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Информация для продвинутых пользователей=== &lt;br /&gt;
[[С какой стороны подходить к Андроиду]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Исходники последних портов]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Модификация образов партиций]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Продвинутые техники в работе с Андроидом]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Debug Android]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Анализ бинарных файлов]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Overlays]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Конфигурация ядра]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Памятка по конфигурации ядра]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Конфигурация устройства для сборки Андроида]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Checklist по проверке работы Андроида]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Подписывание Андроид сборки]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Новая таблица разделов для Андроида]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Nexus 7 aosp tegra kernel]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[QCOM CAF Corner]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Информация для разработчиков== &lt;br /&gt;
----&lt;br /&gt;
===Задачи=== &lt;br /&gt;
[[Внедрение автоматизированного OTA обновления]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Проблемы=== &lt;br /&gt;
[[Внешний модем]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Сон,Suspend,Resume,Wakelock]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Звук в Андройде]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android 4.0 Problems|&amp;quot;Багтрекер&amp;quot;]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Перезагрузка системы в рековери партицию]] &amp;lt;br/&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====Временные решения==== &lt;br /&gt;
[[Кнопки в Андроиде]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Решено==== &lt;br /&gt;
[[Иконки выходящие за предела экрана лаунчера|Иконки выходящие за пределы экрана лаунчера]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Диоды aka Leds]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Переключение раскладок клавиатуры в Андроиде]] &amp;lt;br/&amp;gt; &lt;br /&gt;
[[Изменения статуса заряда батареи]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Пропадание встроенной клавы и тачпада]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Landscape режим экрана]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Хардварное видео]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Wpa_supplicant]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Vold]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Camera]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Flashing Uboot to MMC]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Загрузка Андроида с помощью Uboot]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Unsorted stuff====&lt;br /&gt;
[[nvec for android]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[TouchPad Android]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android USB Gadget]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Abootimg android port]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Приложения для Андроида]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Составление грамотного bugreportа]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[ac100 flash process]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android rt3070 or rt2x00]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Uboot menu concept]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Debug wifi]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Cross Compile compat-drivers]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[tegra-otg loop with u-boot]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Bluedroid 4.2 battle]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Replicant draft]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Mainline kernel for Android]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android install guild NG|Android install guide NG]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[gnu parted example]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[gpt partition table]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[ubuntu_uboot]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android compile from sources]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Use tegra3 binaries]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Nexus kernel sandbox]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Uboot suspend]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Gamepad in Android]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android 4.0 Keyboard]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[English Android Install Guide]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android version Matrix]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android downstream kernel memory map]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android /dev/block/platform]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Extract data from stock firmware]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[MMI codes]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[DASH]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[picasso-kernel]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[TWRP recovery]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Zombah sandbox]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ссылки== &lt;br /&gt;
----&lt;br /&gt;
[http://4pda.ru/forum/index.php?showtopic=198800 Обсуждение Toshiba AC-100 на 4pda.ru] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://4pda.ru/forum/index.php?showtopic=286846 Обсуждение Андройд 4 для Toshiba AC100 на 4pda.ru] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.tabletroms.com/forums/ac100-rom-development/3562-android-4-0-toshiba-ac100-firmware-review-installation-ice-cream-sandvich-4-0-a.html Обсуждение сборок андроида на tabletroms.com] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.tabletroms.com/forums/ac100/ Англоязычный форум по Toshiba AC100] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.modaco.com/topic/330834-advent-vega-kernel-source-code-now-available/%20 Англоязычный форум по Advent Vega. Содержит массу полезной информации.] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://code.google.com/p/cm-paz00/ Проект на гуглокоде, здесь выкладываются новые версии] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Интересные ресурсы== &lt;br /&gt;
[https://github.com/OTAUpdateCenter/ota-update-centre/downloads OTA обновления для кастом прошивок] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://forum.xda-developers.com/showthread.php?t=1545165 Инструкция как создавать патчи которые можно накладывать с помощью CWM-Recovery] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.scribd.com/doc/81447396/Tegra2-Embedded-Controller-Interface-Specification-20111117 Спецификации NVEC] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.androidtablets.net/forum/android-tablet-hacking/438-how-setup-static-bootlogo-before-animated-boot-animation.html Описание как создавать init logo для Андроида] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://code.google.com/p/android-xserver/ Android X Server] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Софт==&lt;br /&gt;
[https://play.google.com/store/apps/details?id=nl.fameit.rotate Бесплатная софтина для принудительного поворота экрана] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Устаревшая информация== &lt;br /&gt;
[[Android 2.1]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android 2.2]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android 3.0]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Android 4.0]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Сборки энтузиастов]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Инструкция по установке]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[user:zombah|1337638026]]&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Kvm_notes_sandbox&amp;diff=1362</id>
		<title>Kvm notes sandbox</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Kvm_notes_sandbox&amp;diff=1362"/>
		<updated>2017-10-31T21:14:50Z</updated>

		<summary type="html">&lt;p&gt;Zombah: /* Host I/O Scheduler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Good links==&lt;br /&gt;
[https://doc.opensuse.org/documentation/leap/virtualization/html/book.virt/book.virt.html openSUSE Guide] &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Administration_Guide/index.html RHEL Guide] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Host setup==&lt;br /&gt;
Remember to enable virtualization inside bios: &amp;lt;br/&amp;gt;&lt;br /&gt;
for hp proliats it is: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Advanced options -&amp;gt; Processor Options -&amp;gt; Intel(R) Virtualization Technology and No-Excecute Memory Protection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install kvm patterns: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zypper in -t pattern kvm_server&lt;br /&gt;
# zypper in -t pattern kvm_tools&lt;br /&gt;
# zypper in spice-vdagent&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Host IOMMU===&lt;br /&gt;
Add to host cmdline 'GRUB_CMDLINE_LINUX_DEFAULT' in ''/etc/default/grub'' file: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
intel_iommu=on console=ttyS0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or for AMD host system: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
amd_iommu=on console=ttyS0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Host I/O Scheduler===&lt;br /&gt;
IBM KVM best practices guide recomends to use Deadline scheduler. &amp;lt;br /&amp;gt;&lt;br /&gt;
https://www.ibm.com/support/knowledgecenter/linuxonibm/liaat/liaatbpblockioperf.htm&lt;br /&gt;
&lt;br /&gt;
Add to 'GRUB_CMDLINE_LINUX_DEFAULT' inside ''/etc/default/grub'': &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elevator=deadline&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forward kvm host qemu vnc with ssh==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -L 5900:localhost:5900 &amp;lt;kvm-host-ip&amp;gt; -N&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Create guest==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
virt-install \&lt;br /&gt;
 --virt-type kvm \&lt;br /&gt;
 --name basebox_opensuse42_2 \&lt;br /&gt;
 --description &amp;quot;My basebox openSUSE 42.2&amp;quot; \&lt;br /&gt;
 --os-type=Linux \&lt;br /&gt;
 --os-variant=opensuse42.2 \&lt;br /&gt;
 --ram=2048 --vcpus=2 \&lt;br /&gt;
 --disk path=/home/kvm/images/basebox_opensuse42_2.img,device=disk,bus=virtio,size=20,sparse=true,format=raw,cache=none \&lt;br /&gt;
 --disk path=/home/kvm/openSUSE-Leap-42.2-DVD-x86_64.iso,device=cdrom \&lt;br /&gt;
 --graphics spice,listen=172.16.1.78 \&lt;br /&gt;
 --network bridge:br0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Virsh==&lt;br /&gt;
----&lt;br /&gt;
===List all guests even not started===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh list --all&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Guest migration===&lt;br /&gt;
Dump config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh dumpxml --migratable &amp;lt;guest-name&amp;gt; &amp;gt;guest-name.xml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore guest config on new host&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh define guest-name.xml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Edit guest with virsh===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh edit guest-name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Attach block device to guest===&lt;br /&gt;
Create xml config for example vda.xml&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;disk type='block' device='disk'&amp;gt;&lt;br /&gt;
      &amp;lt;driver name='qemu' type='raw' cache='none'/&amp;gt;&lt;br /&gt;
      &amp;lt;source dev='/dev/sda5'/&amp;gt;&lt;br /&gt;
      &amp;lt;target dev='vda' bus='virtio'/&amp;gt;&lt;br /&gt;
&amp;lt;/disk&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Permanently attach block device to already existing domain&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh attach-disk &amp;lt;domain-name&amp;gt; vda.xml --persistent&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Connect to console with virsh===&lt;br /&gt;
&lt;br /&gt;
Add serial console to guest, virsh edit guest&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;devices&amp;gt;&lt;br /&gt;
    &amp;lt;serial type='pty'&amp;gt;&lt;br /&gt;
      &amp;lt;target port='0'/&amp;gt;&lt;br /&gt;
    &amp;lt;/serial&amp;gt;&lt;br /&gt;
    &amp;lt;console type='pty'&amp;gt;&lt;br /&gt;
      &amp;lt;target type='serial' port='0'/&amp;gt;&lt;br /&gt;
    &amp;lt;/console&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
connect to guest console: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh console guest-name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Clonning guest===&lt;br /&gt;
It it possible to clone with virsh dumpxml, but dont forget to change uuid, mac and vm name. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==KVM basebox notes==&lt;br /&gt;
&lt;br /&gt;
# Add console=ttyS0 into bootloader cmdline for virsh console to work. (require syslinux package)&lt;br /&gt;
# Install package rsyslog (this probably will remove systemd-logger package) and start rsyslog.service&lt;br /&gt;
&lt;br /&gt;
==Test disk performance==&lt;br /&gt;
Test with iozone: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ iozone -a -i0 -i1 -i2 -s512M -r64k&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Test with dd: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dd if=/dev/sda1 of=/dev/null bs=1M count=1024 iflag=direct skip=1024&lt;br /&gt;
# dd if=/dev/zero of=test bs=1M count=1024 oflag=direct&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Kvm_notes_sandbox&amp;diff=1361</id>
		<title>Kvm notes sandbox</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Kvm_notes_sandbox&amp;diff=1361"/>
		<updated>2017-10-31T21:13:50Z</updated>

		<summary type="html">&lt;p&gt;Zombah: /* Host I/O Scheduler */ add cmdline&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Good links==&lt;br /&gt;
[https://doc.opensuse.org/documentation/leap/virtualization/html/book.virt/book.virt.html openSUSE Guide] &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Administration_Guide/index.html RHEL Guide] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Host setup==&lt;br /&gt;
Remember to enable virtualization inside bios: &amp;lt;br/&amp;gt;&lt;br /&gt;
for hp proliats it is: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Advanced options -&amp;gt; Processor Options -&amp;gt; Intel(R) Virtualization Technology and No-Excecute Memory Protection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install kvm patterns: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zypper in -t pattern kvm_server&lt;br /&gt;
# zypper in -t pattern kvm_tools&lt;br /&gt;
# zypper in spice-vdagent&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Host IOMMU===&lt;br /&gt;
Add to host cmdline 'GRUB_CMDLINE_LINUX_DEFAULT' in ''/etc/default/grub'' file: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
intel_iommu=on console=ttyS0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or for AMD host system: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
amd_iommu=on console=ttyS0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Host I/O Scheduler===&lt;br /&gt;
IBM KVM best practices guide recomends to use Deadline scheduler. &amp;lt;br /&amp;gt;&lt;br /&gt;
https://www.ibm.com/support/knowledgecenter/linuxonibm/liaat/liaatbpblockioperf.htm&lt;br /&gt;
&lt;br /&gt;
Add to /etc/default/grub ''GRUB_CMDLINE_LINUX_DEFAULT'': &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elevator=deadline&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forward kvm host qemu vnc with ssh==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -L 5900:localhost:5900 &amp;lt;kvm-host-ip&amp;gt; -N&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Create guest==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
virt-install \&lt;br /&gt;
 --virt-type kvm \&lt;br /&gt;
 --name basebox_opensuse42_2 \&lt;br /&gt;
 --description &amp;quot;My basebox openSUSE 42.2&amp;quot; \&lt;br /&gt;
 --os-type=Linux \&lt;br /&gt;
 --os-variant=opensuse42.2 \&lt;br /&gt;
 --ram=2048 --vcpus=2 \&lt;br /&gt;
 --disk path=/home/kvm/images/basebox_opensuse42_2.img,device=disk,bus=virtio,size=20,sparse=true,format=raw,cache=none \&lt;br /&gt;
 --disk path=/home/kvm/openSUSE-Leap-42.2-DVD-x86_64.iso,device=cdrom \&lt;br /&gt;
 --graphics spice,listen=172.16.1.78 \&lt;br /&gt;
 --network bridge:br0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Virsh==&lt;br /&gt;
----&lt;br /&gt;
===List all guests even not started===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh list --all&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Guest migration===&lt;br /&gt;
Dump config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh dumpxml --migratable &amp;lt;guest-name&amp;gt; &amp;gt;guest-name.xml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore guest config on new host&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh define guest-name.xml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Edit guest with virsh===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh edit guest-name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Attach block device to guest===&lt;br /&gt;
Create xml config for example vda.xml&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;disk type='block' device='disk'&amp;gt;&lt;br /&gt;
      &amp;lt;driver name='qemu' type='raw' cache='none'/&amp;gt;&lt;br /&gt;
      &amp;lt;source dev='/dev/sda5'/&amp;gt;&lt;br /&gt;
      &amp;lt;target dev='vda' bus='virtio'/&amp;gt;&lt;br /&gt;
&amp;lt;/disk&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Permanently attach block device to already existing domain&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh attach-disk &amp;lt;domain-name&amp;gt; vda.xml --persistent&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Connect to console with virsh===&lt;br /&gt;
&lt;br /&gt;
Add serial console to guest, virsh edit guest&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;devices&amp;gt;&lt;br /&gt;
    &amp;lt;serial type='pty'&amp;gt;&lt;br /&gt;
      &amp;lt;target port='0'/&amp;gt;&lt;br /&gt;
    &amp;lt;/serial&amp;gt;&lt;br /&gt;
    &amp;lt;console type='pty'&amp;gt;&lt;br /&gt;
      &amp;lt;target type='serial' port='0'/&amp;gt;&lt;br /&gt;
    &amp;lt;/console&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
connect to guest console: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh console guest-name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Clonning guest===&lt;br /&gt;
It it possible to clone with virsh dumpxml, but dont forget to change uuid, mac and vm name. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==KVM basebox notes==&lt;br /&gt;
&lt;br /&gt;
# Add console=ttyS0 into bootloader cmdline for virsh console to work. (require syslinux package)&lt;br /&gt;
# Install package rsyslog (this probably will remove systemd-logger package) and start rsyslog.service&lt;br /&gt;
&lt;br /&gt;
==Test disk performance==&lt;br /&gt;
Test with iozone: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ iozone -a -i0 -i1 -i2 -s512M -r64k&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Test with dd: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dd if=/dev/sda1 of=/dev/null bs=1M count=1024 iflag=direct skip=1024&lt;br /&gt;
# dd if=/dev/zero of=test bs=1M count=1024 oflag=direct&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Kvm_notes_sandbox&amp;diff=1360</id>
		<title>Kvm notes sandbox</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Kvm_notes_sandbox&amp;diff=1360"/>
		<updated>2017-10-31T21:12:12Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add io scheduler&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Good links==&lt;br /&gt;
[https://doc.opensuse.org/documentation/leap/virtualization/html/book.virt/book.virt.html openSUSE Guide] &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Administration_Guide/index.html RHEL Guide] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Host setup==&lt;br /&gt;
Remember to enable virtualization inside bios: &amp;lt;br/&amp;gt;&lt;br /&gt;
for hp proliats it is: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Advanced options -&amp;gt; Processor Options -&amp;gt; Intel(R) Virtualization Technology and No-Excecute Memory Protection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install kvm patterns: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zypper in -t pattern kvm_server&lt;br /&gt;
# zypper in -t pattern kvm_tools&lt;br /&gt;
# zypper in spice-vdagent&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Host IOMMU===&lt;br /&gt;
Add to host cmdline 'GRUB_CMDLINE_LINUX_DEFAULT' in ''/etc/default/grub'' file: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
intel_iommu=on console=ttyS0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or for AMD host system: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
amd_iommu=on console=ttyS0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Host I/O Scheduler===&lt;br /&gt;
IBM KVM best practices guide recomends to use Deadline scheduler.&lt;br /&gt;
https://www.ibm.com/support/knowledgecenter/linuxonibm/liaat/liaatbpblockioperf.htm&lt;br /&gt;
 &lt;br /&gt;
==Forward kvm host qemu vnc with ssh==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -L 5900:localhost:5900 &amp;lt;kvm-host-ip&amp;gt; -N&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Create guest==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
virt-install \&lt;br /&gt;
 --virt-type kvm \&lt;br /&gt;
 --name basebox_opensuse42_2 \&lt;br /&gt;
 --description &amp;quot;My basebox openSUSE 42.2&amp;quot; \&lt;br /&gt;
 --os-type=Linux \&lt;br /&gt;
 --os-variant=opensuse42.2 \&lt;br /&gt;
 --ram=2048 --vcpus=2 \&lt;br /&gt;
 --disk path=/home/kvm/images/basebox_opensuse42_2.img,device=disk,bus=virtio,size=20,sparse=true,format=raw,cache=none \&lt;br /&gt;
 --disk path=/home/kvm/openSUSE-Leap-42.2-DVD-x86_64.iso,device=cdrom \&lt;br /&gt;
 --graphics spice,listen=172.16.1.78 \&lt;br /&gt;
 --network bridge:br0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Virsh==&lt;br /&gt;
----&lt;br /&gt;
===List all guests even not started===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh list --all&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Guest migration===&lt;br /&gt;
Dump config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh dumpxml --migratable &amp;lt;guest-name&amp;gt; &amp;gt;guest-name.xml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore guest config on new host&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh define guest-name.xml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Edit guest with virsh===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh edit guest-name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Attach block device to guest===&lt;br /&gt;
Create xml config for example vda.xml&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;disk type='block' device='disk'&amp;gt;&lt;br /&gt;
      &amp;lt;driver name='qemu' type='raw' cache='none'/&amp;gt;&lt;br /&gt;
      &amp;lt;source dev='/dev/sda5'/&amp;gt;&lt;br /&gt;
      &amp;lt;target dev='vda' bus='virtio'/&amp;gt;&lt;br /&gt;
&amp;lt;/disk&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Permanently attach block device to already existing domain&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh attach-disk &amp;lt;domain-name&amp;gt; vda.xml --persistent&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Connect to console with virsh===&lt;br /&gt;
&lt;br /&gt;
Add serial console to guest, virsh edit guest&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;devices&amp;gt;&lt;br /&gt;
    &amp;lt;serial type='pty'&amp;gt;&lt;br /&gt;
      &amp;lt;target port='0'/&amp;gt;&lt;br /&gt;
    &amp;lt;/serial&amp;gt;&lt;br /&gt;
    &amp;lt;console type='pty'&amp;gt;&lt;br /&gt;
      &amp;lt;target type='serial' port='0'/&amp;gt;&lt;br /&gt;
    &amp;lt;/console&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
connect to guest console: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh console guest-name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Clonning guest===&lt;br /&gt;
It it possible to clone with virsh dumpxml, but dont forget to change uuid, mac and vm name. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==KVM basebox notes==&lt;br /&gt;
&lt;br /&gt;
# Add console=ttyS0 into bootloader cmdline for virsh console to work. (require syslinux package)&lt;br /&gt;
# Install package rsyslog (this probably will remove systemd-logger package) and start rsyslog.service&lt;br /&gt;
&lt;br /&gt;
==Test disk performance==&lt;br /&gt;
Test with iozone: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ iozone -a -i0 -i1 -i2 -s512M -r64k&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Test with dd: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dd if=/dev/sda1 of=/dev/null bs=1M count=1024 iflag=direct skip=1024&lt;br /&gt;
# dd if=/dev/zero of=test bs=1M count=1024 oflag=direct&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Debug_Android&amp;diff=1359</id>
		<title>Debug Android</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Debug_Android&amp;diff=1359"/>
		<updated>2017-10-29T22:15:08Z</updated>

		<summary type="html">&lt;p&gt;Zombah: logging perf note&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Средства и приемы для сбора отладочной информации в системе Андройд= &lt;br /&gt;
&lt;br /&gt;
==Вывод информации от ядра на экран== &lt;br /&gt;
По умолчанию система Андроид скрывает вывод ядра, но его можно включить в самом ядре&lt;br /&gt;
с помощью переменной:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONFIG_FRAMEBUFFER_CONSOLE=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
в ''.config'' файле настройки ядра и пересобрав ядро после этого.&lt;br /&gt;
Также нужно будет добавить следующую переменную в ''cmdline'' запуска ядра:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
console=tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
после этих процедур при запуске устройства ядро будет направлять свой вывод&lt;br /&gt;
на экран.&lt;br /&gt;
&lt;br /&gt;
==dmesg== &lt;br /&gt;
Вывод информации которую пишет ядро в консоль, после того как система стартовала&lt;br /&gt;
вывод ядра можно посмотреть с помощью команды:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dmesg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
которая является в Андроиде частью busybox или toolbox.&lt;br /&gt;
&lt;br /&gt;
===Увеличение детализации сообщений от ядра===&lt;br /&gt;
Можно поменять специальной переменной в настройках ядра: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONFIG_DEFAULT_MESSAGE_LOGLEVEL=7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
по умолчанию оно стоит в значении 4. &amp;lt;br /&amp;gt;&lt;br /&gt;
Или черех ''cmdline'': &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
loglevel=7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Список возможных значений: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	loglevel=	All Kernel Messages with a loglevel smaller than the&lt;br /&gt;
			console loglevel will be printed to the console. It can&lt;br /&gt;
			also be changed with klogd or other programs. The&lt;br /&gt;
			loglevels are defined as follows:&lt;br /&gt;
&lt;br /&gt;
			0 (KERN_EMERG)		system is unusable&lt;br /&gt;
			1 (KERN_ALERT)		action must be taken immediately&lt;br /&gt;
			2 (KERN_CRIT)		critical conditions&lt;br /&gt;
			3 (KERN_ERR)		error conditions&lt;br /&gt;
			4 (KERN_WARNING)	warning conditions&lt;br /&gt;
			5 (KERN_NOTICE)		normal but significant condition&lt;br /&gt;
			6 (KERN_INFO)		informational&lt;br /&gt;
			7 (KERN_DEBUG)		debug-level messages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
первоисточник https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt &amp;lt;br /&amp;gt;&lt;br /&gt;
Также через ''cmdline'' можно форсировать значение переменной '''loglevel''' другой переменной&lt;br /&gt;
'''ignore_loglevel''', это удобно для дебага когда надо видеть все сообщения ядра.&lt;br /&gt;
&lt;br /&gt;
Если даже так нет вразумительной информации в каком месте затыкается ядро, такое возможно если в &lt;br /&gt;
этом месте нет обработки ошибок, можно добавить в ''cmdline'' переменную: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
initcall_debug&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
тогда в логах будет видно какие ядро вызывает функции и будет понятно в какой происходит ошибка. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Увеличение логирования влияет на производительность ядра, особенно initcall_debug, в производстве &amp;lt;br /&amp;gt;&lt;br /&gt;
их лучше не использовать. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Аналог /var/log/messages== &lt;br /&gt;
Очень часто хочется смотреть на уже загруженной системе вывод ядра в текущем времени, по&lt;br /&gt;
аналогии с /var/log/messages в линуксе, в андройде это можно сделать через файл /proc/kmsg,&lt;br /&gt;
например так:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tail -f /proc/kmsg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==logcat== &lt;br /&gt;
Мощнейший иструмент для вывода отладочной информации системы Андроид, служит&lt;br /&gt;
команда:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
logcat&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ее можно вызывать из консоли, в терминальных приложениях и через [[adb]] консоль.&lt;br /&gt;
&lt;br /&gt;
Чтобы вывести только ошибки:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
logcat *:E&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Чтобы увеличить кол-во информации которую показывает logcat нужно задать&lt;br /&gt;
значение в файле init.rc системы Андроид переменной loglevel с 0 до 8, чем больше&lt;br /&gt;
значение тем больше информации будет фигурировать в логах.&lt;br /&gt;
&lt;br /&gt;
У ''logcat'' есть несколько разных буфферов логирования их список видно при вызове&lt;br /&gt;
с ключем --help. Буфферы следующие 'main', 'system', 'radio' и 'events'&lt;br /&gt;
Например вызвав&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
logcat -b radio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
можно посмотреть отладучную информацию радио модуля.&lt;br /&gt;
&lt;br /&gt;
С помощью комманды&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
logcat -b events&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
можно увидеть uevent'ы системы, например изменения заряда батареи.&lt;br /&gt;
&lt;br /&gt;
==strace== &lt;br /&gt;
Для вывода более глубокой отладочной информации по запуску определенной службы системы Андроид&lt;br /&gt;
используется утилита strace которая является часть системы и обычно располагается в папке /system/xbin&lt;br /&gt;
Добавать в запуск службы вывод strace, можно отредактировав файл init.rc следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
service surfaceflinger /system/xbin/strace -tt -o/data/surfaceflinger.strace /system/bin/surfaceflinger&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
после такой операции отладочная информация запуска сервиса surfaceflinger будет помещаться в файл surfaceflinger.strace&lt;br /&gt;
в корне папки /data/&lt;br /&gt;
&lt;br /&gt;
или&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
service surfaceflinger /system/xbin/strace -ttf -o/data/surfaceflinger.strace /system/bin/surfaceflinger&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
если сервис будет создавать fork процессы&lt;br /&gt;
&lt;br /&gt;
==debugfs== &lt;br /&gt;
Некоторые системы ядра позволяют получить дополнительную информацию о своей работе через виртуальную файловую систему&lt;br /&gt;
''debugfs'', по умолчанию она не монтируется как файловые системы ''sysfs'' или ''procfs'', подмонтировать ''debugfs''&lt;br /&gt;
можно следующим образом из консоли или терминала системы Андроид:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /data/debugfs&lt;br /&gt;
mount -t debugfs debugfs /data/debugfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
после этого в папке /data/debugfs появятся каталоги и файлы по структуре похожие на ''procfs''&lt;br /&gt;
&lt;br /&gt;
==dumpsys== &lt;br /&gt;
Очень полезная андроидная утилита, выводит список активных процессов и позволять посмотреть по каждому процессу&lt;br /&gt;
его информацию, в информации могут фигурировать различные параметры процесса и информация с которой он работает,&lt;br /&gt;
например&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dumpsys window&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Список доступных для ''dumpsys'' сервисов, можно увидеть на первом экране если запустить dumpsys без ключей&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dumpsys |less&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==ddms== &lt;br /&gt;
Разобрался, наконец, с ним.&lt;br /&gt;
Инфа актуальна для разработки андроид-приложений, при использовании тошибы с андроидом в качестве устройства для тестирования.&lt;br /&gt;
Но так же можно снимать logcat с андроида непосредственно на бб.&lt;br /&gt;
&lt;br /&gt;
При использовании для разработки компа с линуксом, тошиба определяется как неизвестное устройство (unknown device)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ./android-sdk-linux/platform-tools/adb devices&lt;br /&gt;
&lt;br /&gt;
List of devices attached&lt;br /&gt;
0000000000000000 unknown&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Соответственно, тошибу нельзя выбрать как цель для запуска приложения.&lt;br /&gt;
Для решения проблемы необходимо добавить правило в udev на ведущем компе (не на тошибе)&lt;br /&gt;
&lt;br /&gt;
Для этого:&lt;br /&gt;
* Создаём файл:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/udev/rules.d/51-android.rules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Заполняем его:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTR{idVendor}==&amp;quot;18d1&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Выставляем права:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 chmod a+r /etc/udev/rules.d/51-android.rules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Перечитываем правила udev&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo udevadm control --reload-rules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Не забыть включить режим '''Отладка Android''' в настройках тошибы;&lt;br /&gt;
&lt;br /&gt;
'''После этого тошиба начнёт определяться в DDMS, можно отлаживать приложения под андроид и logcat можно смотреть непосредственно в Eclipse, например;'''&lt;br /&gt;
&lt;br /&gt;
'''ATTR{idVendor}==&amp;quot;18d1&amp;quot;''' - это VID тошибы с цианогеном, значение соответствует производителю &amp;quot;Google&amp;quot;;&lt;br /&gt;
Чтобы просмотреть VID, при подключенной тошибе можно выполнить '''$lsusb''' на ведущем компе;&lt;br /&gt;
&lt;br /&gt;
Эта же [http://developer.android.com/tools/device.html#setting-up инфа на английском]&lt;br /&gt;
&lt;br /&gt;
По ссылке также находится таблица VID-ов, соответсвующая производителям.&lt;br /&gt;
2 '''zombah''': подозреваю, что если сконфигурировать нужный VID&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Toshiba  0930&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
то тошка сможет подхватываться автоматом без конфигурирования udev, как это делают всякие брендовые самсунги и т.п. &amp;lt;br /&amp;gt;&lt;br /&gt;
[[user:Sash0k]]&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Debug_Android&amp;diff=1358</id>
		<title>Debug Android</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Debug_Android&amp;diff=1358"/>
		<updated>2017-10-29T22:10:41Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add initcall_debug info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Средства и приемы для сбора отладочной информации в системе Андройд= &lt;br /&gt;
&lt;br /&gt;
==Вывод информации от ядра на экран== &lt;br /&gt;
По умолчанию система Андроид скрывает вывод ядра, но его можно включить в самом ядре&lt;br /&gt;
с помощью переменной:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONFIG_FRAMEBUFFER_CONSOLE=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
в ''.config'' файле настройки ядра и пересобрав ядро после этого.&lt;br /&gt;
Также нужно будет добавить следующую переменную в ''cmdline'' запуска ядра:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
console=tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
после этих процедур при запуске устройства ядро будет направлять свой вывод&lt;br /&gt;
на экран.&lt;br /&gt;
&lt;br /&gt;
==dmesg== &lt;br /&gt;
Вывод информации которую пишет ядро в консоль, после того как система стартовала&lt;br /&gt;
вывод ядра можно посмотреть с помощью команды:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dmesg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
которая является в Андроиде частью busybox или toolbox.&lt;br /&gt;
&lt;br /&gt;
===Увеличение детализации сообщений от ядра===&lt;br /&gt;
Можно поменять специальной переменной в настройках ядра: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONFIG_DEFAULT_MESSAGE_LOGLEVEL=7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
по умолчанию оно стоит в значении 4. &amp;lt;br /&amp;gt;&lt;br /&gt;
Или черех ''cmdline'': &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
loglevel=7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Список возможных значений: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	loglevel=	All Kernel Messages with a loglevel smaller than the&lt;br /&gt;
			console loglevel will be printed to the console. It can&lt;br /&gt;
			also be changed with klogd or other programs. The&lt;br /&gt;
			loglevels are defined as follows:&lt;br /&gt;
&lt;br /&gt;
			0 (KERN_EMERG)		system is unusable&lt;br /&gt;
			1 (KERN_ALERT)		action must be taken immediately&lt;br /&gt;
			2 (KERN_CRIT)		critical conditions&lt;br /&gt;
			3 (KERN_ERR)		error conditions&lt;br /&gt;
			4 (KERN_WARNING)	warning conditions&lt;br /&gt;
			5 (KERN_NOTICE)		normal but significant condition&lt;br /&gt;
			6 (KERN_INFO)		informational&lt;br /&gt;
			7 (KERN_DEBUG)		debug-level messages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
первоисточник https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt &amp;lt;br /&amp;gt;&lt;br /&gt;
Также через ''cmdline'' можно форсировать значение переменной '''loglevel''' другой переменной&lt;br /&gt;
'''ignore_loglevel''', это удобно для дебага когда надо видеть все сообщения ядра.&lt;br /&gt;
&lt;br /&gt;
Если даже так нет вразумительной информации в каком месте затыкается ядро, такое возможно если в &lt;br /&gt;
этом месте нет обработки ошибок, можно добавить в ''cmdline'' переменную: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
initcall_debug&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
тогда в логах будет видно какие ядро вызывает функции и будет понятно в какой происходит ошибка. &lt;br /&gt;
&lt;br /&gt;
==Аналог /var/log/messages== &lt;br /&gt;
Очень часто хочется смотреть на уже загруженной системе вывод ядра в текущем времени, по&lt;br /&gt;
аналогии с /var/log/messages в линуксе, в андройде это можно сделать через файл /proc/kmsg,&lt;br /&gt;
например так:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tail -f /proc/kmsg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==logcat== &lt;br /&gt;
Мощнейший иструмент для вывода отладочной информации системы Андроид, служит&lt;br /&gt;
команда:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
logcat&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ее можно вызывать из консоли, в терминальных приложениях и через [[adb]] консоль.&lt;br /&gt;
&lt;br /&gt;
Чтобы вывести только ошибки:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
logcat *:E&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Чтобы увеличить кол-во информации которую показывает logcat нужно задать&lt;br /&gt;
значение в файле init.rc системы Андроид переменной loglevel с 0 до 8, чем больше&lt;br /&gt;
значение тем больше информации будет фигурировать в логах.&lt;br /&gt;
&lt;br /&gt;
У ''logcat'' есть несколько разных буфферов логирования их список видно при вызове&lt;br /&gt;
с ключем --help. Буфферы следующие 'main', 'system', 'radio' и 'events'&lt;br /&gt;
Например вызвав&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
logcat -b radio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
можно посмотреть отладучную информацию радио модуля.&lt;br /&gt;
&lt;br /&gt;
С помощью комманды&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
logcat -b events&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
можно увидеть uevent'ы системы, например изменения заряда батареи.&lt;br /&gt;
&lt;br /&gt;
==strace== &lt;br /&gt;
Для вывода более глубокой отладочной информации по запуску определенной службы системы Андроид&lt;br /&gt;
используется утилита strace которая является часть системы и обычно располагается в папке /system/xbin&lt;br /&gt;
Добавать в запуск службы вывод strace, можно отредактировав файл init.rc следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
service surfaceflinger /system/xbin/strace -tt -o/data/surfaceflinger.strace /system/bin/surfaceflinger&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
после такой операции отладочная информация запуска сервиса surfaceflinger будет помещаться в файл surfaceflinger.strace&lt;br /&gt;
в корне папки /data/&lt;br /&gt;
&lt;br /&gt;
или&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
service surfaceflinger /system/xbin/strace -ttf -o/data/surfaceflinger.strace /system/bin/surfaceflinger&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
если сервис будет создавать fork процессы&lt;br /&gt;
&lt;br /&gt;
==debugfs== &lt;br /&gt;
Некоторые системы ядра позволяют получить дополнительную информацию о своей работе через виртуальную файловую систему&lt;br /&gt;
''debugfs'', по умолчанию она не монтируется как файловые системы ''sysfs'' или ''procfs'', подмонтировать ''debugfs''&lt;br /&gt;
можно следующим образом из консоли или терминала системы Андроид:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /data/debugfs&lt;br /&gt;
mount -t debugfs debugfs /data/debugfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
после этого в папке /data/debugfs появятся каталоги и файлы по структуре похожие на ''procfs''&lt;br /&gt;
&lt;br /&gt;
==dumpsys== &lt;br /&gt;
Очень полезная андроидная утилита, выводит список активных процессов и позволять посмотреть по каждому процессу&lt;br /&gt;
его информацию, в информации могут фигурировать различные параметры процесса и информация с которой он работает,&lt;br /&gt;
например&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dumpsys window&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Список доступных для ''dumpsys'' сервисов, можно увидеть на первом экране если запустить dumpsys без ключей&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dumpsys |less&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==ddms== &lt;br /&gt;
Разобрался, наконец, с ним.&lt;br /&gt;
Инфа актуальна для разработки андроид-приложений, при использовании тошибы с андроидом в качестве устройства для тестирования.&lt;br /&gt;
Но так же можно снимать logcat с андроида непосредственно на бб.&lt;br /&gt;
&lt;br /&gt;
При использовании для разработки компа с линуксом, тошиба определяется как неизвестное устройство (unknown device)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ./android-sdk-linux/platform-tools/adb devices&lt;br /&gt;
&lt;br /&gt;
List of devices attached&lt;br /&gt;
0000000000000000 unknown&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Соответственно, тошибу нельзя выбрать как цель для запуска приложения.&lt;br /&gt;
Для решения проблемы необходимо добавить правило в udev на ведущем компе (не на тошибе)&lt;br /&gt;
&lt;br /&gt;
Для этого:&lt;br /&gt;
* Создаём файл:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/udev/rules.d/51-android.rules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Заполняем его:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTR{idVendor}==&amp;quot;18d1&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Выставляем права:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 chmod a+r /etc/udev/rules.d/51-android.rules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Перечитываем правила udev&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo udevadm control --reload-rules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Не забыть включить режим '''Отладка Android''' в настройках тошибы;&lt;br /&gt;
&lt;br /&gt;
'''После этого тошиба начнёт определяться в DDMS, можно отлаживать приложения под андроид и logcat можно смотреть непосредственно в Eclipse, например;'''&lt;br /&gt;
&lt;br /&gt;
'''ATTR{idVendor}==&amp;quot;18d1&amp;quot;''' - это VID тошибы с цианогеном, значение соответствует производителю &amp;quot;Google&amp;quot;;&lt;br /&gt;
Чтобы просмотреть VID, при подключенной тошибе можно выполнить '''$lsusb''' на ведущем компе;&lt;br /&gt;
&lt;br /&gt;
Эта же [http://developer.android.com/tools/device.html#setting-up инфа на английском]&lt;br /&gt;
&lt;br /&gt;
По ссылке также находится таблица VID-ов, соответсвующая производителям.&lt;br /&gt;
2 '''zombah''': подозреваю, что если сконфигурировать нужный VID&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Toshiba  0930&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
то тошка сможет подхватываться автоматом без конфигурирования udev, как это делают всякие брендовые самсунги и т.п. &amp;lt;br /&amp;gt;&lt;br /&gt;
[[user:Sash0k]]&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Debug_Android&amp;diff=1357</id>
		<title>Debug Android</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Debug_Android&amp;diff=1357"/>
		<updated>2017-10-29T22:05:16Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add loglevel&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Средства и приемы для сбора отладочной информации в системе Андройд= &lt;br /&gt;
&lt;br /&gt;
==Вывод информации от ядра на экран== &lt;br /&gt;
По умолчанию система Андроид скрывает вывод ядра, но его можно включить в самом ядре&lt;br /&gt;
с помощью переменной:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONFIG_FRAMEBUFFER_CONSOLE=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
в ''.config'' файле настройки ядра и пересобрав ядро после этого.&lt;br /&gt;
Также нужно будет добавить следующую переменную в ''cmdline'' запуска ядра:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
console=tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
после этих процедур при запуске устройства ядро будет направлять свой вывод&lt;br /&gt;
на экран.&lt;br /&gt;
&lt;br /&gt;
==dmesg== &lt;br /&gt;
Вывод информации которую пишет ядро в консоль, после того как система стартовала&lt;br /&gt;
вывод ядра можно посмотреть с помощью команды:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dmesg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
которая является в Андроиде частью busybox или toolbox.&lt;br /&gt;
&lt;br /&gt;
===Увеличение детализации сообщений от ядра===&lt;br /&gt;
Можно поменять специальной переменной в настройках ядра: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONFIG_DEFAULT_MESSAGE_LOGLEVEL=7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
по умолчанию оно стоит в значении 4. &amp;lt;br /&amp;gt;&lt;br /&gt;
Или черех ''cmdline'': &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
loglevel=7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Список возможных значений: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	loglevel=	All Kernel Messages with a loglevel smaller than the&lt;br /&gt;
			console loglevel will be printed to the console. It can&lt;br /&gt;
			also be changed with klogd or other programs. The&lt;br /&gt;
			loglevels are defined as follows:&lt;br /&gt;
&lt;br /&gt;
			0 (KERN_EMERG)		system is unusable&lt;br /&gt;
			1 (KERN_ALERT)		action must be taken immediately&lt;br /&gt;
			2 (KERN_CRIT)		critical conditions&lt;br /&gt;
			3 (KERN_ERR)		error conditions&lt;br /&gt;
			4 (KERN_WARNING)	warning conditions&lt;br /&gt;
			5 (KERN_NOTICE)		normal but significant condition&lt;br /&gt;
			6 (KERN_INFO)		informational&lt;br /&gt;
			7 (KERN_DEBUG)		debug-level messages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
первоисточник https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt &amp;lt;br /&amp;gt;&lt;br /&gt;
Также через ''cmdline'' можно форсировать значение переменной '''loglevel''' другой переменной&lt;br /&gt;
'''ignore_loglevel''', это удобно для дебага когда надо видеть все сообщения ядра.&lt;br /&gt;
&lt;br /&gt;
==Аналог /var/log/messages== &lt;br /&gt;
Очень часто хочется смотреть на уже загруженной системе вывод ядра в текущем времени, по&lt;br /&gt;
аналогии с /var/log/messages в линуксе, в андройде это можно сделать через файл /proc/kmsg,&lt;br /&gt;
например так:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tail -f /proc/kmsg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==logcat== &lt;br /&gt;
Мощнейший иструмент для вывода отладочной информации системы Андроид, служит&lt;br /&gt;
команда:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
logcat&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ее можно вызывать из консоли, в терминальных приложениях и через [[adb]] консоль.&lt;br /&gt;
&lt;br /&gt;
Чтобы вывести только ошибки:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
logcat *:E&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Чтобы увеличить кол-во информации которую показывает logcat нужно задать&lt;br /&gt;
значение в файле init.rc системы Андроид переменной loglevel с 0 до 8, чем больше&lt;br /&gt;
значение тем больше информации будет фигурировать в логах.&lt;br /&gt;
&lt;br /&gt;
У ''logcat'' есть несколько разных буфферов логирования их список видно при вызове&lt;br /&gt;
с ключем --help. Буфферы следующие 'main', 'system', 'radio' и 'events'&lt;br /&gt;
Например вызвав&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
logcat -b radio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
можно посмотреть отладучную информацию радио модуля.&lt;br /&gt;
&lt;br /&gt;
С помощью комманды&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
logcat -b events&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
можно увидеть uevent'ы системы, например изменения заряда батареи.&lt;br /&gt;
&lt;br /&gt;
==strace== &lt;br /&gt;
Для вывода более глубокой отладочной информации по запуску определенной службы системы Андроид&lt;br /&gt;
используется утилита strace которая является часть системы и обычно располагается в папке /system/xbin&lt;br /&gt;
Добавать в запуск службы вывод strace, можно отредактировав файл init.rc следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
service surfaceflinger /system/xbin/strace -tt -o/data/surfaceflinger.strace /system/bin/surfaceflinger&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
после такой операции отладочная информация запуска сервиса surfaceflinger будет помещаться в файл surfaceflinger.strace&lt;br /&gt;
в корне папки /data/&lt;br /&gt;
&lt;br /&gt;
или&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
service surfaceflinger /system/xbin/strace -ttf -o/data/surfaceflinger.strace /system/bin/surfaceflinger&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
если сервис будет создавать fork процессы&lt;br /&gt;
&lt;br /&gt;
==debugfs== &lt;br /&gt;
Некоторые системы ядра позволяют получить дополнительную информацию о своей работе через виртуальную файловую систему&lt;br /&gt;
''debugfs'', по умолчанию она не монтируется как файловые системы ''sysfs'' или ''procfs'', подмонтировать ''debugfs''&lt;br /&gt;
можно следующим образом из консоли или терминала системы Андроид:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /data/debugfs&lt;br /&gt;
mount -t debugfs debugfs /data/debugfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
после этого в папке /data/debugfs появятся каталоги и файлы по структуре похожие на ''procfs''&lt;br /&gt;
&lt;br /&gt;
==dumpsys== &lt;br /&gt;
Очень полезная андроидная утилита, выводит список активных процессов и позволять посмотреть по каждому процессу&lt;br /&gt;
его информацию, в информации могут фигурировать различные параметры процесса и информация с которой он работает,&lt;br /&gt;
например&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dumpsys window&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Список доступных для ''dumpsys'' сервисов, можно увидеть на первом экране если запустить dumpsys без ключей&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dumpsys |less&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==ddms== &lt;br /&gt;
Разобрался, наконец, с ним.&lt;br /&gt;
Инфа актуальна для разработки андроид-приложений, при использовании тошибы с андроидом в качестве устройства для тестирования.&lt;br /&gt;
Но так же можно снимать logcat с андроида непосредственно на бб.&lt;br /&gt;
&lt;br /&gt;
При использовании для разработки компа с линуксом, тошиба определяется как неизвестное устройство (unknown device)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ./android-sdk-linux/platform-tools/adb devices&lt;br /&gt;
&lt;br /&gt;
List of devices attached&lt;br /&gt;
0000000000000000 unknown&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Соответственно, тошибу нельзя выбрать как цель для запуска приложения.&lt;br /&gt;
Для решения проблемы необходимо добавить правило в udev на ведущем компе (не на тошибе)&lt;br /&gt;
&lt;br /&gt;
Для этого:&lt;br /&gt;
* Создаём файл:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/udev/rules.d/51-android.rules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Заполняем его:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTR{idVendor}==&amp;quot;18d1&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Выставляем права:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 chmod a+r /etc/udev/rules.d/51-android.rules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Перечитываем правила udev&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo udevadm control --reload-rules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Не забыть включить режим '''Отладка Android''' в настройках тошибы;&lt;br /&gt;
&lt;br /&gt;
'''После этого тошиба начнёт определяться в DDMS, можно отлаживать приложения под андроид и logcat можно смотреть непосредственно в Eclipse, например;'''&lt;br /&gt;
&lt;br /&gt;
'''ATTR{idVendor}==&amp;quot;18d1&amp;quot;''' - это VID тошибы с цианогеном, значение соответствует производителю &amp;quot;Google&amp;quot;;&lt;br /&gt;
Чтобы просмотреть VID, при подключенной тошибе можно выполнить '''$lsusb''' на ведущем компе;&lt;br /&gt;
&lt;br /&gt;
Эта же [http://developer.android.com/tools/device.html#setting-up инфа на английском]&lt;br /&gt;
&lt;br /&gt;
По ссылке также находится таблица VID-ов, соответсвующая производителям.&lt;br /&gt;
2 '''zombah''': подозреваю, что если сконфигурировать нужный VID&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Toshiba  0930&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
то тошка сможет подхватываться автоматом без конфигурирования udev, как это делают всякие брендовые самсунги и т.п. &amp;lt;br /&amp;gt;&lt;br /&gt;
[[user:Sash0k]]&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Debug_Android&amp;diff=1356</id>
		<title>Debug Android</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Debug_Android&amp;diff=1356"/>
		<updated>2017-10-29T21:44:19Z</updated>

		<summary type="html">&lt;p&gt;Zombah: tty without number is better&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Средства и приемы для сбора отладочной информации в системе Андройд= &lt;br /&gt;
&lt;br /&gt;
==Вывод информации от ядра на экран== &lt;br /&gt;
По умолчанию система Андроид скрывает вывод ядра, но его можно включить в самом ядре&lt;br /&gt;
с помощью переменной:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONFIG_FRAMEBUFFER_CONSOLE=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
в ''.config'' файле настройки ядра и пересобрав ядро после этого.&lt;br /&gt;
Также нужно будет добавить следующую переменную в ''cmdline'' запуска ядра:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
console=tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
после этих процедур при запуске устройства ядро будет направлять свой вывод&lt;br /&gt;
на экран.&lt;br /&gt;
&lt;br /&gt;
==dmesg== &lt;br /&gt;
Вывод информации которую пишет ядро в консоль, после того как система стартовала&lt;br /&gt;
вывод ядра можно посмотреть с помощью команды:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dmesg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
которая является в Андроиде частью busybox или toolbox.&lt;br /&gt;
&lt;br /&gt;
==Аналог /var/log/messages== &lt;br /&gt;
Очень часто хочется смотреть на уже загруженной системе вывод ядра в текущем времени, по&lt;br /&gt;
аналогии с /var/log/messages в линуксе, в андройде это можно сделать через файл /proc/kmsg,&lt;br /&gt;
например так:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tail -f /proc/kmsg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==logcat== &lt;br /&gt;
Мощнейший иструмент для вывода отладочной информации системы Андроид, служит&lt;br /&gt;
команда:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
logcat&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ее можно вызывать из консоли, в терминальных приложениях и через [[adb]] консоль.&lt;br /&gt;
&lt;br /&gt;
Чтобы вывести только ошибки:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
logcat *:E&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Чтобы увеличить кол-во информации которую показывает logcat нужно задать&lt;br /&gt;
значение в файле init.rc системы Андроид переменной loglevel с 0 до 8, чем больше&lt;br /&gt;
значение тем больше информации будет фигурировать в логах.&lt;br /&gt;
&lt;br /&gt;
У ''logcat'' есть несколько разных буфферов логирования их список видно при вызове&lt;br /&gt;
с ключем --help. Буфферы следующие 'main', 'system', 'radio' и 'events'&lt;br /&gt;
Например вызвав&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
logcat -b radio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
можно посмотреть отладучную информацию радио модуля.&lt;br /&gt;
&lt;br /&gt;
С помощью комманды&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
logcat -b events&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
можно увидеть uevent'ы системы, например изменения заряда батареи.&lt;br /&gt;
&lt;br /&gt;
==strace== &lt;br /&gt;
Для вывода более глубокой отладочной информации по запуску определенной службы системы Андроид&lt;br /&gt;
используется утилита strace которая является часть системы и обычно располагается в папке /system/xbin&lt;br /&gt;
Добавать в запуск службы вывод strace, можно отредактировав файл init.rc следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
service surfaceflinger /system/xbin/strace -tt -o/data/surfaceflinger.strace /system/bin/surfaceflinger&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
после такой операции отладочная информация запуска сервиса surfaceflinger будет помещаться в файл surfaceflinger.strace&lt;br /&gt;
в корне папки /data/&lt;br /&gt;
&lt;br /&gt;
или&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
service surfaceflinger /system/xbin/strace -ttf -o/data/surfaceflinger.strace /system/bin/surfaceflinger&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
если сервис будет создавать fork процессы&lt;br /&gt;
&lt;br /&gt;
==debugfs== &lt;br /&gt;
Некоторые системы ядра позволяют получить дополнительную информацию о своей работе через виртуальную файловую систему&lt;br /&gt;
''debugfs'', по умолчанию она не монтируется как файловые системы ''sysfs'' или ''procfs'', подмонтировать ''debugfs''&lt;br /&gt;
можно следующим образом из консоли или терминала системы Андроид:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /data/debugfs&lt;br /&gt;
mount -t debugfs debugfs /data/debugfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
после этого в папке /data/debugfs появятся каталоги и файлы по структуре похожие на ''procfs''&lt;br /&gt;
&lt;br /&gt;
==dumpsys== &lt;br /&gt;
Очень полезная андроидная утилита, выводит список активных процессов и позволять посмотреть по каждому процессу&lt;br /&gt;
его информацию, в информации могут фигурировать различные параметры процесса и информация с которой он работает,&lt;br /&gt;
например&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dumpsys window&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Список доступных для ''dumpsys'' сервисов, можно увидеть на первом экране если запустить dumpsys без ключей&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dumpsys |less&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[user:zombah|1337638167]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==ddms== &lt;br /&gt;
Разобрался, наконец, с ним.&lt;br /&gt;
Инфа актуальна для разработки андроид-приложений, при использовании тошибы с андроидом в качестве устройства для тестирования.&lt;br /&gt;
Но так же можно снимать logcat с андроида непосредственно на бб.&lt;br /&gt;
&lt;br /&gt;
При использовании для разработки компа с линуксом, тошиба определяется как неизвестное устройство (unknown device)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ./android-sdk-linux/platform-tools/adb devices&lt;br /&gt;
&lt;br /&gt;
List of devices attached&lt;br /&gt;
0000000000000000 unknown&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Соответственно, тошибу нельзя выбрать как цель для запуска приложения.&lt;br /&gt;
Для решения проблемы необходимо добавить правило в udev на ведущем компе (не на тошибе)&lt;br /&gt;
&lt;br /&gt;
Для этого:&lt;br /&gt;
* Создаём файл:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/udev/rules.d/51-android.rules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Заполняем его:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTR{idVendor}==&amp;quot;18d1&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Выставляем права:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 chmod a+r /etc/udev/rules.d/51-android.rules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Перечитываем правила udev&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo udevadm control --reload-rules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Не забыть включить режим '''Отладка Android''' в настройках тошибы;&lt;br /&gt;
&lt;br /&gt;
'''После этого тошиба начнёт определяться в DDMS, можно отлаживать приложения под андроид и logcat можно смотреть непосредственно в Eclipse, например;'''&lt;br /&gt;
&lt;br /&gt;
'''ATTR{idVendor}==&amp;quot;18d1&amp;quot;''' - это VID тошибы с цианогеном, значение соответствует производителю &amp;quot;Google&amp;quot;;&lt;br /&gt;
Чтобы просмотреть VID, при подключенной тошибе можно выполнить '''$lsusb''' на ведущем компе;&lt;br /&gt;
&lt;br /&gt;
Эта же [http://developer.android.com/tools/device.html#setting-up инфа на английском]&lt;br /&gt;
&lt;br /&gt;
По ссылке также находится таблица VID-ов, соответсвующая производителям.&lt;br /&gt;
2 '''zombah''': подозреваю, что если сконфигурировать нужный VID&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Toshiba  0930&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
то тошка сможет подхватываться автоматом без конфигурирования udev, как это делают всякие брендовые самсунги и т.п.&lt;br /&gt;
[[user:Sash0k]]&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Alcatel_Pop35_Notes&amp;diff=1355</id>
		<title>Alcatel Pop35 Notes</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Alcatel_Pop35_Notes&amp;diff=1355"/>
		<updated>2017-10-23T21:04:24Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add konstat info about splash&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Stock kernel output==&lt;br /&gt;
Here is dmesg collected with [[MMI_codes|TCLFeedback]] util http://pastebin.com/yWe0CRCi&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Vendor kernel source==&lt;br /&gt;
Alcatel released GPL sources for device https://sourceforge.net/projects/alcatel/files/?source=navbar &amp;lt;br /&amp;gt;&lt;br /&gt;
Filename OT_5065_20160506.tar.xz&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Parse vendor kernel source for device traces===&lt;br /&gt;
Vendor sources contain configs for alot of devices. &amp;lt;br /&amp;gt;&lt;br /&gt;
Quick grep sources to find how vendor calls device, using some names from stock dmesg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep &amp;quot;PM8909 SMB1360 1GB MTP&amp;quot;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp-smb1360.dts:       model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi355/msm8909-mtp-smb1360.dts:      model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi37/msm8909-mtp-smb1360.dts:       model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi384g/msm8909-mtp-smb1360.dts:     model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi445_tf/msm8909-mtp-smb1360.dts:   model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/qcom/msm8909-mtp-smb1360.dts: model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep &amp;quot;HX8379C TDT fwvga video&amp;quot;&lt;br /&gt;
arch/arm/boot/dts/pixi35/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:                qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi355/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:               qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi37/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:                qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi384g/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:              qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi445_tf/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:            qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep &amp;quot;TLi020A1-1956265-2000mAh&amp;quot;&lt;br /&gt;
arch/arm/boot/dts/pixi35/TCL_TLi020A1_1956265_2000mAh_3p4COV_VBMS_Final-0729.dtsi: qcom,TCL-TLi020A1-1956265-2000mAh-VBMS-data {&lt;br /&gt;
arch/arm/boot/dts/pixi35/TCL_TLi020A1_1956265_2000mAh_3p4COV_VBMS_Final-0729.dtsi:      qcom,battery-type = &amp;quot;TLi020A1-1956265-2000mAh&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -sni board-id arch/arm/boot/dts/pixi35/msm8909*.dts&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-cdp.dts:22:        qcom,board-id= &amp;lt;1 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-mtp.dts:22:        qcom,board-id= &amp;lt;8 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-qrd-skua.dts:20:   qcom,board-id= &amp;lt;0x1000b 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-qrd-skuc.dts:18:   qcom,board-id= &amp;lt;0x1000b 0x8&amp;gt;, &amp;lt;0x11000b 0x8&amp;gt;, &amp;lt;0x21000b 0x8&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-qrd-skue.dts:18:   qcom,board-id= &amp;lt;0x1000b 0x9&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-rcm.dts:23:        qcom,board-id= &amp;lt;21 0x0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-512mb-mtp-smb1360.dts:25:      qcom,board-id= &amp;lt;8 0x103&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-cdp.dts:23:    qcom,board-id= &amp;lt;1 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp.dts:23:    qcom,board-id= &amp;lt;8 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp-smb1360.dts:24:    qcom,board-id= &amp;lt;8 0x3&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-1gb-qhd-rcm.dts:23:     qcom,board-id= &amp;lt;21 0x1001&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-1gb-rcm.dts:22: qcom,board-id= &amp;lt;21 0x1&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-cdp.dts:24:     qcom,board-id= &amp;lt;1 0x2&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-mtp.dts:23:     qcom,board-id= &amp;lt;8 0x2&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-mtp-smb1360.dts:23:     qcom,board-id= &amp;lt;8 0x4&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-qhd-rcm.dts:24: qcom,board-id= &amp;lt;21 0x1101&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qhd-cdp.dts:25:        qcom,board-id= &amp;lt;1 0x1100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qhd-rcm.dts:25:        qcom,board-id= &amp;lt;21 0x1100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qrd-skua.dts:19:       qcom,board-id= &amp;lt;0x1000b 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qrd-skuc.dts:19:       qcom,board-id= &amp;lt;0x1000b 0x108&amp;gt;, &amp;lt;0x11000b 0x108&amp;gt;, &amp;lt;0x21000b 0x108&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qrd-skue.dts:19:       qcom,board-id= &amp;lt;0x1000b 0x109&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-rumi.dts:22:   qcom,board-id= &amp;lt;15 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-sim.dts:22:    qcom,board-id= &amp;lt;16 0&amp;gt;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It seems Pop3 (5) name in vendor kernel sources is pixi35.&lt;br /&gt;
This 3 seems to be our targets:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-mtp.dts:22:        qcom,board-id= &amp;lt;8 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp.dts:23:            qcom,board-id= &amp;lt;8 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp-smb1360.dts:24:    qcom,board-id= &amp;lt;8 0x3&amp;gt;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Bootloader==&lt;br /&gt;
It is usual for qcom LK but with disabled fastboot mode.&amp;lt;br /&amp;gt;&lt;br /&gt;
Stock firmware 01002 contain Developer options-&amp;gt;Enable OEM unlock switch, but &amp;lt;br /&amp;gt;&lt;br /&gt;
it has no visible effect. &amp;lt;br /&amp;gt;&lt;br /&gt;
4PDA recomends suspicious KingRoot v.4.0.0.233 app. &amp;lt;br /&amp;gt;&lt;br /&gt;
It realy installs su somehow, but also place alot of strange files into &amp;lt;br /&amp;gt;&lt;br /&gt;
all places of system including read-only recovery areas. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Need to check iovyroot or rowhammer exploits, maybe it is possible to use them. &amp;lt;br /&amp;gt;&lt;br /&gt;
'''UPDATE: iovyroot works fine on build 01002''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Splash screen==&lt;br /&gt;
Splash screen lives in /dev/block/bootdevice/by-name/splash partition. &amp;lt;br /&amp;gt;&lt;br /&gt;
Probably it is same as other qcom devices: bitmap of size 480x854, vertically rotated  and 24bit RGB888 &amp;lt;br /&amp;gt;&lt;br /&gt;
Konstat have info how to cook it for same msm8909 device here http://konstakang.com/devices/y560/stock-splash/&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Alcatel_Pop35_Notes&amp;diff=1354</id>
		<title>Alcatel Pop35 Notes</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Alcatel_Pop35_Notes&amp;diff=1354"/>
		<updated>2017-10-23T21:01:44Z</updated>

		<summary type="html">&lt;p&gt;Zombah: /* Bootloader */ add iovyroot info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Stock kernel output==&lt;br /&gt;
Here is dmesg collected with [[MMI_codes|TCLFeedback]] util http://pastebin.com/yWe0CRCi&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Vendor kernel source==&lt;br /&gt;
Alcatel released GPL sources for device https://sourceforge.net/projects/alcatel/files/?source=navbar &amp;lt;br /&amp;gt;&lt;br /&gt;
Filename OT_5065_20160506.tar.xz&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Parse vendor kernel source for device traces===&lt;br /&gt;
Vendor sources contain configs for alot of devices. &amp;lt;br /&amp;gt;&lt;br /&gt;
Quick grep sources to find how vendor calls device, using some names from stock dmesg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep &amp;quot;PM8909 SMB1360 1GB MTP&amp;quot;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp-smb1360.dts:       model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi355/msm8909-mtp-smb1360.dts:      model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi37/msm8909-mtp-smb1360.dts:       model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi384g/msm8909-mtp-smb1360.dts:     model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi445_tf/msm8909-mtp-smb1360.dts:   model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/qcom/msm8909-mtp-smb1360.dts: model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep &amp;quot;HX8379C TDT fwvga video&amp;quot;&lt;br /&gt;
arch/arm/boot/dts/pixi35/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:                qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi355/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:               qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi37/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:                qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi384g/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:              qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi445_tf/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:            qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep &amp;quot;TLi020A1-1956265-2000mAh&amp;quot;&lt;br /&gt;
arch/arm/boot/dts/pixi35/TCL_TLi020A1_1956265_2000mAh_3p4COV_VBMS_Final-0729.dtsi: qcom,TCL-TLi020A1-1956265-2000mAh-VBMS-data {&lt;br /&gt;
arch/arm/boot/dts/pixi35/TCL_TLi020A1_1956265_2000mAh_3p4COV_VBMS_Final-0729.dtsi:      qcom,battery-type = &amp;quot;TLi020A1-1956265-2000mAh&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -sni board-id arch/arm/boot/dts/pixi35/msm8909*.dts&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-cdp.dts:22:        qcom,board-id= &amp;lt;1 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-mtp.dts:22:        qcom,board-id= &amp;lt;8 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-qrd-skua.dts:20:   qcom,board-id= &amp;lt;0x1000b 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-qrd-skuc.dts:18:   qcom,board-id= &amp;lt;0x1000b 0x8&amp;gt;, &amp;lt;0x11000b 0x8&amp;gt;, &amp;lt;0x21000b 0x8&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-qrd-skue.dts:18:   qcom,board-id= &amp;lt;0x1000b 0x9&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-rcm.dts:23:        qcom,board-id= &amp;lt;21 0x0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-512mb-mtp-smb1360.dts:25:      qcom,board-id= &amp;lt;8 0x103&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-cdp.dts:23:    qcom,board-id= &amp;lt;1 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp.dts:23:    qcom,board-id= &amp;lt;8 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp-smb1360.dts:24:    qcom,board-id= &amp;lt;8 0x3&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-1gb-qhd-rcm.dts:23:     qcom,board-id= &amp;lt;21 0x1001&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-1gb-rcm.dts:22: qcom,board-id= &amp;lt;21 0x1&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-cdp.dts:24:     qcom,board-id= &amp;lt;1 0x2&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-mtp.dts:23:     qcom,board-id= &amp;lt;8 0x2&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-mtp-smb1360.dts:23:     qcom,board-id= &amp;lt;8 0x4&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-qhd-rcm.dts:24: qcom,board-id= &amp;lt;21 0x1101&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qhd-cdp.dts:25:        qcom,board-id= &amp;lt;1 0x1100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qhd-rcm.dts:25:        qcom,board-id= &amp;lt;21 0x1100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qrd-skua.dts:19:       qcom,board-id= &amp;lt;0x1000b 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qrd-skuc.dts:19:       qcom,board-id= &amp;lt;0x1000b 0x108&amp;gt;, &amp;lt;0x11000b 0x108&amp;gt;, &amp;lt;0x21000b 0x108&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qrd-skue.dts:19:       qcom,board-id= &amp;lt;0x1000b 0x109&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-rumi.dts:22:   qcom,board-id= &amp;lt;15 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-sim.dts:22:    qcom,board-id= &amp;lt;16 0&amp;gt;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It seems Pop3 (5) name in vendor kernel sources is pixi35.&lt;br /&gt;
This 3 seems to be our targets:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-mtp.dts:22:        qcom,board-id= &amp;lt;8 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp.dts:23:            qcom,board-id= &amp;lt;8 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp-smb1360.dts:24:    qcom,board-id= &amp;lt;8 0x3&amp;gt;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Bootloader==&lt;br /&gt;
It is usual for qcom LK but with disabled fastboot mode.&amp;lt;br /&amp;gt;&lt;br /&gt;
Stock firmware 01002 contain Developer options-&amp;gt;Enable OEM unlock switch, but &amp;lt;br /&amp;gt;&lt;br /&gt;
it has no visible effect. &amp;lt;br /&amp;gt;&lt;br /&gt;
4PDA recomends suspicious KingRoot v.4.0.0.233 app. &amp;lt;br /&amp;gt;&lt;br /&gt;
It realy installs su somehow, but also place alot of strange files into &amp;lt;br /&amp;gt;&lt;br /&gt;
all places of system including read-only recovery areas. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Need to check iovyroot or rowhammer exploits, maybe it is possible to use them. &amp;lt;br /&amp;gt;&lt;br /&gt;
'''UPDATE: iovyroot works fine on build 01002''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Splash screen==&lt;br /&gt;
Splash screen lives in /dev/block/bootdevice/by-name/splash partition. &amp;lt;br /&amp;gt;&lt;br /&gt;
Probably it is same as other qcom devices: bitmap of size 480x854, vertically rotated  and 24bit RGB888 &amp;lt;br /&amp;gt;&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Alcatel_Pop35_Notes&amp;diff=1353</id>
		<title>Alcatel Pop35 Notes</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Alcatel_Pop35_Notes&amp;diff=1353"/>
		<updated>2017-10-23T21:01:02Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add splash&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Stock kernel output==&lt;br /&gt;
Here is dmesg collected with [[MMI_codes|TCLFeedback]] util http://pastebin.com/yWe0CRCi&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Vendor kernel source==&lt;br /&gt;
Alcatel released GPL sources for device https://sourceforge.net/projects/alcatel/files/?source=navbar &amp;lt;br /&amp;gt;&lt;br /&gt;
Filename OT_5065_20160506.tar.xz&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Parse vendor kernel source for device traces===&lt;br /&gt;
Vendor sources contain configs for alot of devices. &amp;lt;br /&amp;gt;&lt;br /&gt;
Quick grep sources to find how vendor calls device, using some names from stock dmesg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep &amp;quot;PM8909 SMB1360 1GB MTP&amp;quot;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp-smb1360.dts:       model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi355/msm8909-mtp-smb1360.dts:      model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi37/msm8909-mtp-smb1360.dts:       model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi384g/msm8909-mtp-smb1360.dts:     model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi445_tf/msm8909-mtp-smb1360.dts:   model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/qcom/msm8909-mtp-smb1360.dts: model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep &amp;quot;HX8379C TDT fwvga video&amp;quot;&lt;br /&gt;
arch/arm/boot/dts/pixi35/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:                qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi355/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:               qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi37/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:                qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi384g/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:              qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi445_tf/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:            qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep &amp;quot;TLi020A1-1956265-2000mAh&amp;quot;&lt;br /&gt;
arch/arm/boot/dts/pixi35/TCL_TLi020A1_1956265_2000mAh_3p4COV_VBMS_Final-0729.dtsi: qcom,TCL-TLi020A1-1956265-2000mAh-VBMS-data {&lt;br /&gt;
arch/arm/boot/dts/pixi35/TCL_TLi020A1_1956265_2000mAh_3p4COV_VBMS_Final-0729.dtsi:      qcom,battery-type = &amp;quot;TLi020A1-1956265-2000mAh&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -sni board-id arch/arm/boot/dts/pixi35/msm8909*.dts&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-cdp.dts:22:        qcom,board-id= &amp;lt;1 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-mtp.dts:22:        qcom,board-id= &amp;lt;8 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-qrd-skua.dts:20:   qcom,board-id= &amp;lt;0x1000b 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-qrd-skuc.dts:18:   qcom,board-id= &amp;lt;0x1000b 0x8&amp;gt;, &amp;lt;0x11000b 0x8&amp;gt;, &amp;lt;0x21000b 0x8&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-qrd-skue.dts:18:   qcom,board-id= &amp;lt;0x1000b 0x9&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-rcm.dts:23:        qcom,board-id= &amp;lt;21 0x0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-512mb-mtp-smb1360.dts:25:      qcom,board-id= &amp;lt;8 0x103&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-cdp.dts:23:    qcom,board-id= &amp;lt;1 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp.dts:23:    qcom,board-id= &amp;lt;8 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp-smb1360.dts:24:    qcom,board-id= &amp;lt;8 0x3&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-1gb-qhd-rcm.dts:23:     qcom,board-id= &amp;lt;21 0x1001&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-1gb-rcm.dts:22: qcom,board-id= &amp;lt;21 0x1&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-cdp.dts:24:     qcom,board-id= &amp;lt;1 0x2&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-mtp.dts:23:     qcom,board-id= &amp;lt;8 0x2&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-mtp-smb1360.dts:23:     qcom,board-id= &amp;lt;8 0x4&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-qhd-rcm.dts:24: qcom,board-id= &amp;lt;21 0x1101&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qhd-cdp.dts:25:        qcom,board-id= &amp;lt;1 0x1100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qhd-rcm.dts:25:        qcom,board-id= &amp;lt;21 0x1100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qrd-skua.dts:19:       qcom,board-id= &amp;lt;0x1000b 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qrd-skuc.dts:19:       qcom,board-id= &amp;lt;0x1000b 0x108&amp;gt;, &amp;lt;0x11000b 0x108&amp;gt;, &amp;lt;0x21000b 0x108&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qrd-skue.dts:19:       qcom,board-id= &amp;lt;0x1000b 0x109&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-rumi.dts:22:   qcom,board-id= &amp;lt;15 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-sim.dts:22:    qcom,board-id= &amp;lt;16 0&amp;gt;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It seems Pop3 (5) name in vendor kernel sources is pixi35.&lt;br /&gt;
This 3 seems to be our targets:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-mtp.dts:22:        qcom,board-id= &amp;lt;8 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp.dts:23:            qcom,board-id= &amp;lt;8 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp-smb1360.dts:24:    qcom,board-id= &amp;lt;8 0x3&amp;gt;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Bootloader==&lt;br /&gt;
It is usual for qcom LK but with disabled fastboot mode.&amp;lt;br /&amp;gt;&lt;br /&gt;
Stock firmware 01002 contain Developer options-&amp;gt;Enable OEM unlock switch, but &amp;lt;br /&amp;gt;&lt;br /&gt;
it has no visible effect. &amp;lt;br /&amp;gt;&lt;br /&gt;
4PDA recomends suspicious KingRoot v.4.0.0.233 app. &amp;lt;br /&amp;gt;&lt;br /&gt;
It realy installs su somehow, but also place alot of strange files into &amp;lt;br /&amp;gt;&lt;br /&gt;
all places of system including read-only recovery areas. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Need to check iovyroot or rowhammer exploits, maybe it is possible to use&lt;br /&gt;
them.&lt;br /&gt;
UPDATE: iovyroot works fine on build 01002&lt;br /&gt;
&lt;br /&gt;
==Splash screen==&lt;br /&gt;
Splash screen lives in /dev/block/bootdevice/by-name/splash partition. &amp;lt;br /&amp;gt;&lt;br /&gt;
Probably it is same as other qcom devices: bitmap of size 480x854, vertically rotated  and 24bit RGB888 &amp;lt;br /&amp;gt;&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Alcatel_Pop3_5&amp;diff=1352</id>
		<title>Alcatel Pop3 5</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Alcatel_Pop3_5&amp;diff=1352"/>
		<updated>2017-10-23T20:56:15Z</updated>

		<summary type="html">&lt;p&gt;Zombah: fix device names&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Alcatel_Pop35_Hardware|Alcatel Pop 3 (5) 5065D Hardware]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Alcatel_Pop35_Notes|Alcatel Pop 3 (5) 5065D Notes]] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Android_version_Matrix&amp;diff=1351</id>
		<title>Android version Matrix</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Android_version_Matrix&amp;diff=1351"/>
		<updated>2017-10-23T20:53:59Z</updated>

		<summary type="html">&lt;p&gt;Zombah: fix oreo to lineage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Version Matrix== &lt;br /&gt;
{| style=&amp;quot;border: 1px solid #c6c9ff; border-collapse: collapse;&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Codename&lt;br /&gt;
! AOSP Version&lt;br /&gt;
! CyanogenMod&lt;br /&gt;
! LineageOS  &lt;br /&gt;
|-&lt;br /&gt;
| Eclair&lt;br /&gt;
| 2.1.x&lt;br /&gt;
| eclair&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Froyo&lt;br /&gt;
| 2.2.x &lt;br /&gt;
| froyo &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Gingerbread (GB)&lt;br /&gt;
| 2.3.x&lt;br /&gt;
| gingerbread/cm-7.x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Honeycomb&lt;br /&gt;
| 3.0&lt;br /&gt;
| N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| IceCreameSandwich (ICS)&lt;br /&gt;
| 4.0.x&lt;br /&gt;
| cm-9.x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jellybean (JB)&lt;br /&gt;
| 4.1.x, 4.2.x, 4.3.x&lt;br /&gt;
| cm-10.0,cm-10.1,cm-10.2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| KitKat (KK)&lt;br /&gt;
| 4.4.x&lt;br /&gt;
| cm-11.0-Mx&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Lollipop (L)&lt;br /&gt;
| 5.0,5.1&lt;br /&gt;
| cm-12, cm-12.1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Marshmallow (M)&lt;br /&gt;
| 6.0&lt;br /&gt;
| cm-13.0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Nougat (N)&lt;br /&gt;
| 7.0, 7.1&lt;br /&gt;
| cm-14.0, cm-14.1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Oreo (O)&lt;br /&gt;
| 8.0&lt;br /&gt;
| &lt;br /&gt;
| lineage-15.0&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Android_version_Matrix&amp;diff=1350</id>
		<title>Android version Matrix</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Android_version_Matrix&amp;diff=1350"/>
		<updated>2017-10-23T20:12:51Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add oreo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Version Matrix== &lt;br /&gt;
{| style=&amp;quot;border: 1px solid #c6c9ff; border-collapse: collapse;&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Codename&lt;br /&gt;
! AOSP Version&lt;br /&gt;
! CyanogenMod  &lt;br /&gt;
|-&lt;br /&gt;
| Eclair&lt;br /&gt;
| 2.1.x&lt;br /&gt;
| eclair&lt;br /&gt;
|-&lt;br /&gt;
| Froyo&lt;br /&gt;
| 2.2.x &lt;br /&gt;
| froyo &lt;br /&gt;
|-&lt;br /&gt;
| Gingerbread (GB)&lt;br /&gt;
| 2.3.x&lt;br /&gt;
| gingerbread/cm-7.x&lt;br /&gt;
|-&lt;br /&gt;
| Honeycomb&lt;br /&gt;
| 3.0&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
| IceCreameSandwich (ICS)&lt;br /&gt;
| 4.0.x&lt;br /&gt;
| cm-9.x&lt;br /&gt;
|-&lt;br /&gt;
| Jellybean (JB)&lt;br /&gt;
| 4.1.x, 4.2.x, 4.3.x&lt;br /&gt;
| cm-10.0,cm-10.1,cm-10.2&lt;br /&gt;
|-&lt;br /&gt;
| KitKat (KK)&lt;br /&gt;
| 4.4.x&lt;br /&gt;
| cm-11.0-Mx&lt;br /&gt;
|-&lt;br /&gt;
| Lollipop (L)&lt;br /&gt;
| 5.0,5.1&lt;br /&gt;
| cm-12, cm-12.1&lt;br /&gt;
|-&lt;br /&gt;
| Marshmallow (M)&lt;br /&gt;
| 6.0&lt;br /&gt;
| cm-13.0&lt;br /&gt;
|-&lt;br /&gt;
| Nougat (N)&lt;br /&gt;
| 7.0, 7.1&lt;br /&gt;
| cm-14.0, cm-14.1&lt;br /&gt;
|-&lt;br /&gt;
| Oreo (O)&lt;br /&gt;
| 8.0&lt;br /&gt;
| cm-15.0&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Alcatel_Pop35_Notes&amp;diff=1349</id>
		<title>Alcatel Pop35 Notes</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Alcatel_Pop35_Notes&amp;diff=1349"/>
		<updated>2017-10-22T19:53:12Z</updated>

		<summary type="html">&lt;p&gt;Zombah: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Stock kernel output==&lt;br /&gt;
Here is dmesg collected with [[MMI_codes|TCLFeedback]] util http://pastebin.com/yWe0CRCi&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Vendor kernel source==&lt;br /&gt;
Alcatel released GPL sources for device https://sourceforge.net/projects/alcatel/files/?source=navbar &amp;lt;br /&amp;gt;&lt;br /&gt;
Filename OT_5065_20160506.tar.xz&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Parse vendor kernel source for device traces===&lt;br /&gt;
Vendor sources contain configs for alot of devices. &amp;lt;br /&amp;gt;&lt;br /&gt;
Quick grep sources to find how vendor calls device, using some names from stock dmesg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep &amp;quot;PM8909 SMB1360 1GB MTP&amp;quot;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp-smb1360.dts:       model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi355/msm8909-mtp-smb1360.dts:      model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi37/msm8909-mtp-smb1360.dts:       model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi384g/msm8909-mtp-smb1360.dts:     model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi445_tf/msm8909-mtp-smb1360.dts:   model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/qcom/msm8909-mtp-smb1360.dts: model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep &amp;quot;HX8379C TDT fwvga video&amp;quot;&lt;br /&gt;
arch/arm/boot/dts/pixi35/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:                qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi355/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:               qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi37/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:                qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi384g/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:              qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi445_tf/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:            qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep &amp;quot;TLi020A1-1956265-2000mAh&amp;quot;&lt;br /&gt;
arch/arm/boot/dts/pixi35/TCL_TLi020A1_1956265_2000mAh_3p4COV_VBMS_Final-0729.dtsi: qcom,TCL-TLi020A1-1956265-2000mAh-VBMS-data {&lt;br /&gt;
arch/arm/boot/dts/pixi35/TCL_TLi020A1_1956265_2000mAh_3p4COV_VBMS_Final-0729.dtsi:      qcom,battery-type = &amp;quot;TLi020A1-1956265-2000mAh&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -sni board-id arch/arm/boot/dts/pixi35/msm8909*.dts&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-cdp.dts:22:        qcom,board-id= &amp;lt;1 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-mtp.dts:22:        qcom,board-id= &amp;lt;8 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-qrd-skua.dts:20:   qcom,board-id= &amp;lt;0x1000b 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-qrd-skuc.dts:18:   qcom,board-id= &amp;lt;0x1000b 0x8&amp;gt;, &amp;lt;0x11000b 0x8&amp;gt;, &amp;lt;0x21000b 0x8&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-qrd-skue.dts:18:   qcom,board-id= &amp;lt;0x1000b 0x9&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-rcm.dts:23:        qcom,board-id= &amp;lt;21 0x0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-512mb-mtp-smb1360.dts:25:      qcom,board-id= &amp;lt;8 0x103&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-cdp.dts:23:    qcom,board-id= &amp;lt;1 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp.dts:23:    qcom,board-id= &amp;lt;8 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp-smb1360.dts:24:    qcom,board-id= &amp;lt;8 0x3&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-1gb-qhd-rcm.dts:23:     qcom,board-id= &amp;lt;21 0x1001&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-1gb-rcm.dts:22: qcom,board-id= &amp;lt;21 0x1&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-cdp.dts:24:     qcom,board-id= &amp;lt;1 0x2&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-mtp.dts:23:     qcom,board-id= &amp;lt;8 0x2&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-mtp-smb1360.dts:23:     qcom,board-id= &amp;lt;8 0x4&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-qhd-rcm.dts:24: qcom,board-id= &amp;lt;21 0x1101&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qhd-cdp.dts:25:        qcom,board-id= &amp;lt;1 0x1100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qhd-rcm.dts:25:        qcom,board-id= &amp;lt;21 0x1100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qrd-skua.dts:19:       qcom,board-id= &amp;lt;0x1000b 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qrd-skuc.dts:19:       qcom,board-id= &amp;lt;0x1000b 0x108&amp;gt;, &amp;lt;0x11000b 0x108&amp;gt;, &amp;lt;0x21000b 0x108&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qrd-skue.dts:19:       qcom,board-id= &amp;lt;0x1000b 0x109&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-rumi.dts:22:   qcom,board-id= &amp;lt;15 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-sim.dts:22:    qcom,board-id= &amp;lt;16 0&amp;gt;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It seems Pop3 (5) name in vendor kernel sources is pixi35.&lt;br /&gt;
This 3 seems to be our targets:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-mtp.dts:22:        qcom,board-id= &amp;lt;8 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp.dts:23:            qcom,board-id= &amp;lt;8 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp-smb1360.dts:24:    qcom,board-id= &amp;lt;8 0x3&amp;gt;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Bootloader==&lt;br /&gt;
It is usual for qcom LK but with disabled fastboot mode.&amp;lt;br /&amp;gt;&lt;br /&gt;
Stock firmware 01002 contain Developer options-&amp;gt;Enable OEM unlock switch, but &amp;lt;br /&amp;gt;&lt;br /&gt;
it has no visible effect. &amp;lt;br /&amp;gt;&lt;br /&gt;
4PDA recomends suspicious KingRoot v.4.0.0.233 app. &amp;lt;br /&amp;gt;&lt;br /&gt;
It realy installs su somehow, but also place alot of strange files into &amp;lt;br /&amp;gt;&lt;br /&gt;
all places of system including read-only recovery areas. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Need to check iovyroot or rowhammer exploits, maybe it is possible to use&lt;br /&gt;
them.&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Alcatel_Pop35_Notes&amp;diff=1348</id>
		<title>Alcatel Pop35 Notes</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Alcatel_Pop35_Notes&amp;diff=1348"/>
		<updated>2017-10-22T19:51:59Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add bootloader topic&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Stock kernel output==&lt;br /&gt;
Here is dmesg collected with [[MMI_codes|TCLFeedback]] util http://pastebin.com/yWe0CRCi&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Vendor kernel source==&lt;br /&gt;
Alcatel released GPL sources for device https://sourceforge.net/projects/alcatel/files/?source=navbar &amp;lt;br /&amp;gt;&lt;br /&gt;
Filename OT_5065_20160506.tar.xz&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Parse vendor kernel source for device traces===&lt;br /&gt;
Vendor sources contain configs for alot of devices. &amp;lt;br /&amp;gt;&lt;br /&gt;
Quick grep sources to find how vendor calls device, using some names from stock dmesg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep &amp;quot;PM8909 SMB1360 1GB MTP&amp;quot;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp-smb1360.dts:       model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi355/msm8909-mtp-smb1360.dts:      model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi37/msm8909-mtp-smb1360.dts:       model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi384g/msm8909-mtp-smb1360.dts:     model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi445_tf/msm8909-mtp-smb1360.dts:   model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/qcom/msm8909-mtp-smb1360.dts: model = &amp;quot;Qualcomm Technologies, Inc. MSM8909-PM8909 SMB1360 1GB MTP&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep &amp;quot;HX8379C TDT fwvga video&amp;quot;&lt;br /&gt;
arch/arm/boot/dts/pixi35/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:                qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi355/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:               qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi37/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:                qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi384g/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:              qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
arch/arm/boot/dts/pixi445_tf/dsi-panel-hx8379c-tdt-fwvga-video.dtsi:            qcom,mdss-dsi-panel-name = &amp;quot;HX8379C TDT fwvga video mode dsi panel&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep &amp;quot;TLi020A1-1956265-2000mAh&amp;quot;&lt;br /&gt;
arch/arm/boot/dts/pixi35/TCL_TLi020A1_1956265_2000mAh_3p4COV_VBMS_Final-0729.dtsi: qcom,TCL-TLi020A1-1956265-2000mAh-VBMS-data {&lt;br /&gt;
arch/arm/boot/dts/pixi35/TCL_TLi020A1_1956265_2000mAh_3p4COV_VBMS_Final-0729.dtsi:      qcom,battery-type = &amp;quot;TLi020A1-1956265-2000mAh&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -sni board-id arch/arm/boot/dts/pixi35/msm8909*.dts&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-cdp.dts:22:        qcom,board-id= &amp;lt;1 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-mtp.dts:22:        qcom,board-id= &amp;lt;8 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-qrd-skua.dts:20:   qcom,board-id= &amp;lt;0x1000b 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-qrd-skuc.dts:18:   qcom,board-id= &amp;lt;0x1000b 0x8&amp;gt;, &amp;lt;0x11000b 0x8&amp;gt;, &amp;lt;0x21000b 0x8&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-qrd-skue.dts:18:   qcom,board-id= &amp;lt;0x1000b 0x9&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-rcm.dts:23:        qcom,board-id= &amp;lt;21 0x0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-512mb-mtp-smb1360.dts:25:      qcom,board-id= &amp;lt;8 0x103&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-cdp.dts:23:    qcom,board-id= &amp;lt;1 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp.dts:23:    qcom,board-id= &amp;lt;8 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp-smb1360.dts:24:    qcom,board-id= &amp;lt;8 0x3&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-1gb-qhd-rcm.dts:23:     qcom,board-id= &amp;lt;21 0x1001&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-1gb-rcm.dts:22: qcom,board-id= &amp;lt;21 0x1&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-cdp.dts:24:     qcom,board-id= &amp;lt;1 0x2&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-mtp.dts:23:     qcom,board-id= &amp;lt;8 0x2&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-mtp-smb1360.dts:23:     qcom,board-id= &amp;lt;8 0x4&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-pm8916-qhd-rcm.dts:24: qcom,board-id= &amp;lt;21 0x1101&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qhd-cdp.dts:25:        qcom,board-id= &amp;lt;1 0x1100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qhd-rcm.dts:25:        qcom,board-id= &amp;lt;21 0x1100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qrd-skua.dts:19:       qcom,board-id= &amp;lt;0x1000b 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qrd-skuc.dts:19:       qcom,board-id= &amp;lt;0x1000b 0x108&amp;gt;, &amp;lt;0x11000b 0x108&amp;gt;, &amp;lt;0x21000b 0x108&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-qrd-skue.dts:19:       qcom,board-id= &amp;lt;0x1000b 0x109&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-rumi.dts:22:   qcom,board-id= &amp;lt;15 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-sim.dts:22:    qcom,board-id= &amp;lt;16 0&amp;gt;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It seems Pop3 (5) name in vendor kernel sources is pixi35.&lt;br /&gt;
This 3 seems to be our targets:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-1gb-mtp.dts:22:        qcom,board-id= &amp;lt;8 0&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp.dts:23:            qcom,board-id= &amp;lt;8 0x100&amp;gt;;&lt;br /&gt;
arch/arm/boot/dts/pixi35/msm8909-mtp-smb1360.dts:24:    qcom,board-id= &amp;lt;8 0x3&amp;gt;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Bootloader===&lt;br /&gt;
It is usual for qcom LK but with disabled fastboot mode.&amp;lt;br /&amp;gt;&lt;br /&gt;
Stock firmware 01002 contain Developer options-&amp;gt;Enable OEM unlock switch, but &amp;lt;br /&amp;gt;&lt;br /&gt;
it has no visible effect. &amp;lt;br /&amp;gt;&lt;br /&gt;
4PDA recomends suspicious KingRoot v.4.0.0.233 app. &amp;lt;br /&amp;gt;&lt;br /&gt;
It realy installs su somehow, but also place alot of strange files into &amp;lt;br /&amp;gt;&lt;br /&gt;
all places of system including read-only recovery areas. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Need to check iovyroot or rowhammer exploits, maybe it is possible to use&lt;br /&gt;
them.&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=%D0%90%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7_%D0%B1%D0%B8%D0%BD%D0%B0%D1%80%D0%BD%D1%8B%D1%85_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2&amp;diff=1347</id>
		<title>Анализ бинарных файлов</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=%D0%90%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7_%D0%B1%D0%B8%D0%BD%D0%B0%D1%80%D0%BD%D1%8B%D1%85_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2&amp;diff=1347"/>
		<updated>2017-10-22T19:32:49Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add binwalk note&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Способы анализа бинарных файлов==&lt;br /&gt;
----&lt;br /&gt;
В ''Android'' часто встречаются части системы доступные только в бинарном виде ака ''blobs'',&lt;br /&gt;
ниже способы получения информации о бинарных файлах:&lt;br /&gt;
&lt;br /&gt;
===file,strings,readelf===&lt;br /&gt;
Первое что можно посмотреть это вывод комманды ''file''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
file gralloc.tegra.so &lt;br /&gt;
gralloc.tegra.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, stripped&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
тут видно что это биннарник под ''arm'' архитектуру, динамически слинкованый и изнего удалена не &lt;br /&gt;
вилияющая на исполнение информация, например отладочного характера.&lt;br /&gt;
&lt;br /&gt;
Потом можно посмотреть какие переменные/функции есть в бинарном файле с помощью утилиты ''strings''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
strings gralloc.tegra.so &lt;br /&gt;
__aeabi_unwind_cpp_pr0&lt;br /&gt;
NvOsStrcmp&lt;br /&gt;
pthread_mutex_lock&lt;br /&gt;
NvGrAllocDevOpen&lt;br /&gt;
NvGrFbDevOpen&lt;br /&gt;
pthread_mutex_unlock&lt;br /&gt;
NvGrDevUnref&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Аналогично ''strings'' можно воспользоваться утилитой ''objdump'' выдвет более вменяюмую информацию,&lt;br /&gt;
но игнорирует левый текст, который тоже иногда бывает интересен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Так как бинарник динамический хорошо узнать на какие библиотеки он динамически ссылается, это делается&lt;br /&gt;
утилитой ''readelf''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
readelf -d gralloc.tegra.so |grep Shared&lt;br /&gt;
 0x00000001 (NEEDED)                     Shared library: [liblog.so]&lt;br /&gt;
 0x00000001 (NEEDED)                     Shared library: [libcutils.so]&lt;br /&gt;
 0x00000001 (NEEDED)                     Shared library: [libhardware_legacy.so]&lt;br /&gt;
 0x00000001 (NEEDED)                     Shared library: [libnvos.so]&lt;br /&gt;
 0x00000001 (NEEDED)                     Shared library: [libnvrm.so]&lt;br /&gt;
 0x00000001 (NEEDED)                     Shared library: [libnvrm_channel.so]&lt;br /&gt;
 0x00000001 (NEEDED)                     Shared library: [libnvddk_2d_v2.so]&lt;br /&gt;
 0x00000001 (NEEDED)                     Shared library: [libpkip.so]&lt;br /&gt;
 0x00000001 (NEEDED)                     Shared library: [libcrypto.so]&lt;br /&gt;
 0x00000001 (NEEDED)                     Shared library: [libc.so]&lt;br /&gt;
 0x00000001 (NEEDED)                     Shared library: [libstdc++.so]&lt;br /&gt;
 0x00000001 (NEEDED)                     Shared library: [libm.so]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Анализ функций===&lt;br /&gt;
По выводу strings часто не очень понятны функции которые использует библиотека или бинарник, для этого лучше использовать утилиту&lt;br /&gt;
'''nm'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# nm -C -D ~/src/blobs/libril-qc-qmi-1.so&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===binwalk===&lt;br /&gt;
Если бинарник запакован, часто это легко увидеть с помощью утилиты '''binwalk''', на примере Linux Kernel&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ binwalk vmlinuz&lt;br /&gt;
&lt;br /&gt;
DECIMAL       HEXADECIMAL     DESCRIPTION&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
16375         0x3FF7          gzip compressed data, maximum compression, from Unix, NULL date (1970-01-01 00:00:00)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
проверяем с помошью GNU coreutils od что сдвиг правильный:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ od -A d -t x1 vmlinuz| grep '1f 8b 08 00'&lt;br /&gt;
0016368 20 65 72 72 6f 72 00 1f 8b 08 00 00 00 00 00 02&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
выходит все верно до начала 1f 8b 08 00 7 знаков, 16368+7=16375.&lt;br /&gt;
&lt;br /&gt;
Теперь с полной уверенностью можно вырезать содержимое:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dd if=vmlinuz bs=1 skip=16375 | zcat &amp;gt; vmlinux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[user:zombah|1337898155]]&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Zombah_mac_os_x_notes&amp;diff=1346</id>
		<title>Zombah mac os x notes</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Zombah_mac_os_x_notes&amp;diff=1346"/>
		<updated>2017-10-21T21:49:27Z</updated>

		<summary type="html">&lt;p&gt;Zombah: Add usefull things&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Usefull applications==&lt;br /&gt;
----&lt;br /&gt;
==Allways install first==&lt;br /&gt;
===boot manager===&lt;br /&gt;
Install rEFInd boot manager http://www.rodsbooks.com/refind/&lt;br /&gt;
&lt;br /&gt;
===set always verbose boot===&lt;br /&gt;
edit /Library/Preferences/SystemConfiguration/com.apple.Boot.plist xml or run sudo nvram boot-args=&amp;quot;-v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===track installed files===&lt;br /&gt;
http://onnati.net/apptrap/ &lt;br /&gt;
&lt;br /&gt;
===opensource firewall===&lt;br /&gt;
https://github.com/objective-see/LuLu&lt;br /&gt;
&lt;br /&gt;
==Other usefull things==&lt;br /&gt;
===System monitor===&lt;br /&gt;
https://github.com/mikepj/XRG&lt;br /&gt;
&lt;br /&gt;
===Terminal===&lt;br /&gt;
https://github.com/gnachman/iTerm2&lt;br /&gt;
&lt;br /&gt;
===MIT Kerberos===&lt;br /&gt;
http://web.mit.edu/macdev/KfM/Common/Documentation/osx-kerberos-extras.html&lt;br /&gt;
&lt;br /&gt;
===Plain-text notepad===&lt;br /&gt;
http://www.qownnotes.org/&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Zombah_mac_os_x_notes&amp;diff=1345</id>
		<title>Zombah mac os x notes</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Zombah_mac_os_x_notes&amp;diff=1345"/>
		<updated>2017-10-21T20:27:14Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add some tips and apps to remember&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Usefull applications==&lt;br /&gt;
----&lt;br /&gt;
==Allways install first==&lt;br /&gt;
===boot manager===&lt;br /&gt;
Install rEFInd boot manager http://www.rodsbooks.com/refind/&lt;br /&gt;
&lt;br /&gt;
===set always verbose boot===&lt;br /&gt;
edit /Library/Preferences/SystemConfiguration/com.apple.Boot.plist xml or run sudo nvram boot-args=&amp;quot;-v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===track installed files===&lt;br /&gt;
http://onnati.net/apptrap/ &lt;br /&gt;
&lt;br /&gt;
===opensource firewall===&lt;br /&gt;
https://github.com/objective-see/LuLu&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Zombah&amp;diff=1344</id>
		<title>Участник:Zombah</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Zombah&amp;diff=1344"/>
		<updated>2017-10-21T20:10:11Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add mac os x&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== About me ==&lt;br /&gt;
[[Zombah ToDo List]] &amp;lt;br/&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Sandboxes ==&lt;br /&gt;
[[Zombah sandbox]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Zombah chromebook sandbox]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Zombah nokia msm8610 sandbox]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Zombah tegra chromebook sandbox]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Zombah openwrt sandbox]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Zombah routeros sandbox]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Zombah raspberry pi sandbox]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[4.1-rc1+ lcd fail to start]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[xfce various tweaks]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[kvm notes sandbox]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[zombah openSUSE sandbox]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[zombah vim notes]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[zombah mac os x notes]] &amp;lt;br/&amp;gt;&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Zombah_chromebook_sandbox&amp;diff=1341</id>
		<title>Zombah chromebook sandbox</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Zombah_chromebook_sandbox&amp;diff=1341"/>
		<updated>2017-08-21T00:58:19Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add u-boot compile script&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==snow install nv-u-boot 3704 with serial console debug to ro&amp;amp;rw firmware==&lt;br /&gt;
&lt;br /&gt;
''Backup original firmware as it contain unique device data otherwise chromeos is lost forever for device''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
flashrom -p linux_spi:dev=/dev/spidev1.0 -r original_image.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Device hwid will be '''DAISY TEST A-A 9382''' after firmware update, which is treated as dev board by google. Factory hwid something like '''SNOW KULA A-E 4640'''&lt;br /&gt;
** Chromeos cant be installed or updated on device with this test hwid.&lt;br /&gt;
** Crucial data lives in '''VPD''' (Virtual Private Data) and '''GBB''' (Google Binary Block) partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget https://www.dropbox.com/s/6pzvraf3ko14sz9/nv_image-snow.bin.gz&lt;br /&gt;
gunzip nv_image-snow.bin.gz&lt;br /&gt;
flashrom -p linux_spi:dev=/dev/spidev1.0 -w nv_image-snow.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
found here  https://wiki.archlinux.org/index.php/Samsung_Chromebook_(ARM)#How_to_flash_U-Boot&lt;br /&gt;
&lt;br /&gt;
==snow check/disable write protect status==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
crosh-&amp;gt;shell-&amp;gt;sudo -s&lt;br /&gt;
&lt;br /&gt;
flashrom --wp-status&lt;br /&gt;
flashrom --wp-disable&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==snow/daisy revert firmware to factory default from chrome os==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
crosh-&amp;gt;shell-&amp;gt;sudo -s&lt;br /&gt;
&lt;br /&gt;
crossystem |fgrep fwid&lt;br /&gt;
chromeos-firmwareupdate --factory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
found here https://code.google.com/p/chromium/issues/detail?id=221828&lt;br /&gt;
&lt;br /&gt;
==use linux-stable exynos_defconfig kernel==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
make exynos_defconfig&lt;br /&gt;
make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set mwifiex and mwifiex_sdio as modules&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
make modules_prepare&lt;br /&gt;
make -j4 2&amp;gt;1&amp;amp; | tee ../current.log&lt;br /&gt;
make kernelrelease&lt;br /&gt;
&lt;br /&gt;
sudo make modules_install&lt;br /&gt;
sudo cp arch/arm/boot/zImage /boot/zImage-kernelrelease&lt;br /&gt;
sudo cp System.map /boot/System.map-kernelrelease&lt;br /&gt;
sudo cp .config /boot/config-kernelrelease&lt;br /&gt;
cd /boot&lt;br /&gt;
sudo mkinitrd -k zImage-kernelrelease -i initrd-kernelrelease&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==linux-stable multi_v7_defconfig missing modules for screen==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ptn3460&lt;br /&gt;
pwm-samsung&lt;br /&gt;
platform_lcd&lt;br /&gt;
i2c-arb-gpio-challenge&lt;br /&gt;
cros_ec_devs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==openSUSE notes==&lt;br /&gt;
Remove armsoc driver, its very slow with current upstream kernels, use modesettings or fbdev&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo zypper rm xf86-video-armsoc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==firefox soft webgl==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gfx.xrender.enabled=false&lt;br /&gt;
webgl.force-enable=true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
now got 1fps in fishgl demo 8)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Add/update chainloding u-boot on sdcard==&lt;br /&gt;
&lt;br /&gt;
it requires vboot-utils which contain vbutil and cgpt &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
diskname=/dev/sde&lt;br /&gt;
uboot=u-boot.img&lt;br /&gt;
&lt;br /&gt;
mkimage -A arm -O linux -T kernel -C none -a 0x43e00000 -e 0x43e00000 -n uboot -d u-boot-dtb.bin u-boot.img&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;console=tty1 debug verbose&amp;quot; &amp;gt; /tmp/config&lt;br /&gt;
vbutil_kernel --pack /tmp/newkern \&lt;br /&gt;
        --keyblock /usr/share/vboot/devkeys/kernel.keyblock \&lt;br /&gt;
        --version 1 \&lt;br /&gt;
        --signprivate /usr/share/vboot/devkeys/kernel_data_key.vbprivk \&lt;br /&gt;
        --config=/tmp/config --vmlinuz $uboot --arch arm&lt;br /&gt;
kpartx -av $diskname&lt;br /&gt;
dd if=/tmp/newkern of=$diskname\1&lt;br /&gt;
kpartx -d $diskname&lt;br /&gt;
cgpt add -t kernel -i 1 -S 1 -T 5 -P 10 -l U-BOOT $diskname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Snow motherboard info==&lt;br /&gt;
Motherboard design probably own from Samsung as there is '''BA41-02110A''' ident on board, revision 1.1 and '''Model:Lucas'''&lt;br /&gt;
&lt;br /&gt;
==Manualy load kernel from u-boot==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setenv bootargs 'loglevel=8 plymouth.enable=0 rootflags=size=100% console=ttySAC3,115200n8 console=tty earlyprintk showopts ${append}'&lt;br /&gt;
setenv initrd_high ''&lt;br /&gt;
setenv fdt_high ''&lt;br /&gt;
ext2load mmc 1:2 0x40007000 /boot/linux.vmx&lt;br /&gt;
ext2load mmc 1:2 0x44000000 /boot/initrd.uboot&lt;br /&gt;
ext2load mmc 1:2 0x42000000 /dtb/exynos5250-snow.dtb&lt;br /&gt;
bootz 0x40007000 0x44000000 0x42000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Script to create chainloading kernel partition from openSUSE JeOS==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#==========================================&lt;br /&gt;
# install Arndale SPL &amp;amp; U-Boot as raw&lt;br /&gt;
#------------------------------------------&lt;br /&gt;
if [[ -f &amp;quot;boot/smdk5250-spl.bin&amp;quot; || -f &amp;quot;boot/arndale-spl.bin&amp;quot; ]];then&lt;br /&gt;
    echo &amp;quot;Installing BL1...&amp;quot;&lt;br /&gt;
    if ! dd if=boot/arndale-bl1.img of=$diskname seek=1 conv=notrunc; then&lt;br /&gt;
        echo &amp;quot;Couldn't install BL1 on $diskname&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
    fi&lt;br /&gt;
    echo &amp;quot;Installing SPL...&amp;quot;&lt;br /&gt;
    # Get SPL name (depends on U-Boot version)&lt;br /&gt;
    SPL_FILE=$(ls boot/*-spl.bin);&lt;br /&gt;
    if ! dd if=$SPL_FILE of=$diskname seek=17 conv=notrunc; then&lt;br /&gt;
        echo &amp;quot;Couldn't install SPL ($SPL_FILE) on $diskname&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
    fi&lt;br /&gt;
    echo &amp;quot;Installing U-Boot...&amp;quot;&lt;br /&gt;
    if ! dd if=boot/u-boot.bin of=$diskname seek=49 conv=notrunc; then&lt;br /&gt;
        echo &amp;quot;Couldn't install u-boot on $diskname&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
#==========================================&lt;br /&gt;
# install Chromebook u-boot as boot kernel&lt;br /&gt;
# And do the required magic!&lt;br /&gt;
#------------------------------------------&lt;br /&gt;
if [ &amp;quot;$flavor&amp;quot; = &amp;quot;chromebook&amp;quot; ]; then&lt;br /&gt;
    if [ ! &amp;quot;$is_firstboot&amp;quot; ]; then&lt;br /&gt;
        pushd /usr/src/packages/KIWIROOT-oem/&lt;br /&gt;
        echo &amp;quot;console=tty1 debug verbose&amp;quot; &amp;gt; /tmp/config&lt;br /&gt;
        ./usr/bin/vbutil_kernel --pack /tmp/newkern \&lt;br /&gt;
            --keyblock ./usr/share/vboot/devkeys/kernel.keyblock \&lt;br /&gt;
            --version 1 \&lt;br /&gt;
            --signprivate ./usr/share/vboot/devkeys/kernel_data_key.vbprivk \&lt;br /&gt;
            --config=/tmp/config --vmlinuz boot/u-boot.img --arch arm&lt;br /&gt;
        LINE=$(kpartx -asv $diskname | head -n1)&lt;br /&gt;
        PART=$(echo &amp;quot;$LINE&amp;quot; | awk '{print $3}')&lt;br /&gt;
        dd if=/tmp/newkern of=/dev/mapper/$PART&lt;br /&gt;
        # &amp;quot;kpartx -dv $diskname&amp;quot; does not work if $diskname is longer than 64 characters&lt;br /&gt;
        LOOPDEV=$(echo &amp;quot;/dev/$PART&amp;quot; | sed 's/p[0-9][0-9]*$//')&lt;br /&gt;
        kpartx -dv $LOOPDEV&lt;br /&gt;
        losetup -d $LOOPDEV&lt;br /&gt;
    fi&lt;br /&gt;
    # For build and after reaprtition occured on 1st boot:&lt;br /&gt;
    # Enable bootflag on partition 2 (u-boot now looks for bootscripts on bootable partitions only)&lt;br /&gt;
    parted $diskname set 2 boot on&lt;br /&gt;
    # CGPT magic&lt;br /&gt;
    ./usr/bin/cgpt add -t kernel -i 1 -S 1 -T 5 -P 10 -l U-BOOT $diskname&lt;br /&gt;
    popd&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Script to compile U-Boot from openSUSE U-Boot spec==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%build&lt;br /&gt;
export SOURCE_DATE_EPOCH=$(date -d &amp;quot;$(head -n 2 %{_sourcedir}/%{name}.changes | tail -n 1 | cut -d- -f1 )&amp;quot; +%s)&lt;br /&gt;
make %{?_smp_mflags} CROSS_COMPILE= HOSTCFLAGS=&amp;quot;$RPM_OPT_FLAGS&amp;quot; snow_defconfig&lt;br /&gt;
echo &amp;quot;Attempting to enable fdt apply command (.dtbo) support.&amp;quot;&lt;br /&gt;
echo &amp;quot;CONFIG_OF_LIBFDT_OVERLAY=y&amp;quot; &amp;gt;&amp;gt; .config&lt;br /&gt;
make %{?_smp_mflags} CROSS_COMPILE= HOSTCFLAGS=&amp;quot;$RPM_OPT_FLAGS&amp;quot; USE_PRIVATE_LIBGG=yes&lt;br /&gt;
&lt;br /&gt;
%if &amp;quot;%{name}&amp;quot; == &amp;quot;u-boot-snow&amp;quot; || &amp;quot;%{name}&amp;quot; == &amp;quot;u-boot-spring&amp;quot;&lt;br /&gt;
# Chromebook ARM (snow) and HP Chromebook 11 (spring) need a uImage format&lt;br /&gt;
export TEXT_START=$(awk '$NF == &amp;quot;_start&amp;quot; { printf &amp;quot;0x&amp;quot;$1 }' System.map)&lt;br /&gt;
./tools/mkimage -A arm -O linux -T kernel -C none -a $TEXT_START -e $TEXT_START -n uboot -d u-boot-dtb.bin u-boot.img&lt;br /&gt;
%endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Zombah_chromebook_sandbox&amp;diff=1340</id>
		<title>Zombah chromebook sandbox</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Zombah_chromebook_sandbox&amp;diff=1340"/>
		<updated>2017-08-21T00:37:21Z</updated>

		<summary type="html">&lt;p&gt;Zombah: fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==snow install nv-u-boot 3704 with serial console debug to ro&amp;amp;rw firmware==&lt;br /&gt;
&lt;br /&gt;
''Backup original firmware as it contain unique device data otherwise chromeos is lost forever for device''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
flashrom -p linux_spi:dev=/dev/spidev1.0 -r original_image.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Device hwid will be '''DAISY TEST A-A 9382''' after firmware update, which is treated as dev board by google. Factory hwid something like '''SNOW KULA A-E 4640'''&lt;br /&gt;
** Chromeos cant be installed or updated on device with this test hwid.&lt;br /&gt;
** Crucial data lives in '''VPD''' (Virtual Private Data) and '''GBB''' (Google Binary Block) partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget https://www.dropbox.com/s/6pzvraf3ko14sz9/nv_image-snow.bin.gz&lt;br /&gt;
gunzip nv_image-snow.bin.gz&lt;br /&gt;
flashrom -p linux_spi:dev=/dev/spidev1.0 -w nv_image-snow.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
found here  https://wiki.archlinux.org/index.php/Samsung_Chromebook_(ARM)#How_to_flash_U-Boot&lt;br /&gt;
&lt;br /&gt;
==snow check/disable write protect status==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
crosh-&amp;gt;shell-&amp;gt;sudo -s&lt;br /&gt;
&lt;br /&gt;
flashrom --wp-status&lt;br /&gt;
flashrom --wp-disable&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==snow/daisy revert firmware to factory default from chrome os==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
crosh-&amp;gt;shell-&amp;gt;sudo -s&lt;br /&gt;
&lt;br /&gt;
crossystem |fgrep fwid&lt;br /&gt;
chromeos-firmwareupdate --factory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
found here https://code.google.com/p/chromium/issues/detail?id=221828&lt;br /&gt;
&lt;br /&gt;
==use linux-stable exynos_defconfig kernel==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
make exynos_defconfig&lt;br /&gt;
make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set mwifiex and mwifiex_sdio as modules&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
make modules_prepare&lt;br /&gt;
make -j4 2&amp;gt;1&amp;amp; | tee ../current.log&lt;br /&gt;
make kernelrelease&lt;br /&gt;
&lt;br /&gt;
sudo make modules_install&lt;br /&gt;
sudo cp arch/arm/boot/zImage /boot/zImage-kernelrelease&lt;br /&gt;
sudo cp System.map /boot/System.map-kernelrelease&lt;br /&gt;
sudo cp .config /boot/config-kernelrelease&lt;br /&gt;
cd /boot&lt;br /&gt;
sudo mkinitrd -k zImage-kernelrelease -i initrd-kernelrelease&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==linux-stable multi_v7_defconfig missing modules for screen==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ptn3460&lt;br /&gt;
pwm-samsung&lt;br /&gt;
platform_lcd&lt;br /&gt;
i2c-arb-gpio-challenge&lt;br /&gt;
cros_ec_devs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==openSUSE notes==&lt;br /&gt;
Remove armsoc driver, its very slow with current upstream kernels, use modesettings or fbdev&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo zypper rm xf86-video-armsoc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==firefox soft webgl==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gfx.xrender.enabled=false&lt;br /&gt;
webgl.force-enable=true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
now got 1fps in fishgl demo 8)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Add/update chainloding u-boot on sdcard==&lt;br /&gt;
&lt;br /&gt;
it requires vboot-utils which contain vbutil and cgpt &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
diskname=/dev/sde&lt;br /&gt;
uboot=u-boot.img&lt;br /&gt;
&lt;br /&gt;
mkimage -A arm -O linux -T kernel -C none -a 0x43e00000 -e 0x43e00000 -n uboot -d u-boot-dtb.bin u-boot.img&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;console=tty1 debug verbose&amp;quot; &amp;gt; /tmp/config&lt;br /&gt;
vbutil_kernel --pack /tmp/newkern \&lt;br /&gt;
        --keyblock /usr/share/vboot/devkeys/kernel.keyblock \&lt;br /&gt;
        --version 1 \&lt;br /&gt;
        --signprivate /usr/share/vboot/devkeys/kernel_data_key.vbprivk \&lt;br /&gt;
        --config=/tmp/config --vmlinuz $uboot --arch arm&lt;br /&gt;
kpartx -av $diskname&lt;br /&gt;
dd if=/tmp/newkern of=$diskname\1&lt;br /&gt;
kpartx -d $diskname&lt;br /&gt;
cgpt add -t kernel -i 1 -S 1 -T 5 -P 10 -l U-BOOT $diskname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Snow motherboard info==&lt;br /&gt;
Motherboard design probably own from Samsung as there is '''BA41-02110A''' ident on board, revision 1.1 and '''Model:Lucas'''&lt;br /&gt;
&lt;br /&gt;
==Manualy load kernel from u-boot==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setenv bootargs 'loglevel=8 plymouth.enable=0 rootflags=size=100% console=ttySAC3,115200n8 console=tty earlyprintk showopts ${append}'&lt;br /&gt;
setenv initrd_high ''&lt;br /&gt;
setenv fdt_high ''&lt;br /&gt;
ext2load mmc 1:2 0x40007000 /boot/linux.vmx&lt;br /&gt;
ext2load mmc 1:2 0x44000000 /boot/initrd.uboot&lt;br /&gt;
ext2load mmc 1:2 0x42000000 /dtb/exynos5250-snow.dtb&lt;br /&gt;
bootz 0x40007000 0x44000000 0x42000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Script to create chainloding kernel partition from openSUSE JeOS==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#==========================================&lt;br /&gt;
# install Arndale SPL &amp;amp; U-Boot as raw&lt;br /&gt;
#------------------------------------------&lt;br /&gt;
if [[ -f &amp;quot;boot/smdk5250-spl.bin&amp;quot; || -f &amp;quot;boot/arndale-spl.bin&amp;quot; ]];then&lt;br /&gt;
    echo &amp;quot;Installing BL1...&amp;quot;&lt;br /&gt;
    if ! dd if=boot/arndale-bl1.img of=$diskname seek=1 conv=notrunc; then&lt;br /&gt;
        echo &amp;quot;Couldn't install BL1 on $diskname&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
    fi&lt;br /&gt;
    echo &amp;quot;Installing SPL...&amp;quot;&lt;br /&gt;
    # Get SPL name (depends on U-Boot version)&lt;br /&gt;
    SPL_FILE=$(ls boot/*-spl.bin);&lt;br /&gt;
    if ! dd if=$SPL_FILE of=$diskname seek=17 conv=notrunc; then&lt;br /&gt;
        echo &amp;quot;Couldn't install SPL ($SPL_FILE) on $diskname&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
    fi&lt;br /&gt;
    echo &amp;quot;Installing U-Boot...&amp;quot;&lt;br /&gt;
    if ! dd if=boot/u-boot.bin of=$diskname seek=49 conv=notrunc; then&lt;br /&gt;
        echo &amp;quot;Couldn't install u-boot on $diskname&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
#==========================================&lt;br /&gt;
# install Chromebook u-boot as boot kernel&lt;br /&gt;
# And do the required magic!&lt;br /&gt;
#------------------------------------------&lt;br /&gt;
if [ &amp;quot;$flavor&amp;quot; = &amp;quot;chromebook&amp;quot; ]; then&lt;br /&gt;
    if [ ! &amp;quot;$is_firstboot&amp;quot; ]; then&lt;br /&gt;
        pushd /usr/src/packages/KIWIROOT-oem/&lt;br /&gt;
        echo &amp;quot;console=tty1 debug verbose&amp;quot; &amp;gt; /tmp/config&lt;br /&gt;
        ./usr/bin/vbutil_kernel --pack /tmp/newkern \&lt;br /&gt;
            --keyblock ./usr/share/vboot/devkeys/kernel.keyblock \&lt;br /&gt;
            --version 1 \&lt;br /&gt;
            --signprivate ./usr/share/vboot/devkeys/kernel_data_key.vbprivk \&lt;br /&gt;
            --config=/tmp/config --vmlinuz boot/u-boot.img --arch arm&lt;br /&gt;
        LINE=$(kpartx -asv $diskname | head -n1)&lt;br /&gt;
        PART=$(echo &amp;quot;$LINE&amp;quot; | awk '{print $3}')&lt;br /&gt;
        dd if=/tmp/newkern of=/dev/mapper/$PART&lt;br /&gt;
        # &amp;quot;kpartx -dv $diskname&amp;quot; does not work if $diskname is longer than 64 characters&lt;br /&gt;
        LOOPDEV=$(echo &amp;quot;/dev/$PART&amp;quot; | sed 's/p[0-9][0-9]*$//')&lt;br /&gt;
        kpartx -dv $LOOPDEV&lt;br /&gt;
        losetup -d $LOOPDEV&lt;br /&gt;
    fi&lt;br /&gt;
    # For build and after reaprtition occured on 1st boot:&lt;br /&gt;
    # Enable bootflag on partition 2 (u-boot now looks for bootscripts on bootable partitions only)&lt;br /&gt;
    parted $diskname set 2 boot on&lt;br /&gt;
    # CGPT magic&lt;br /&gt;
    ./usr/bin/cgpt add -t kernel -i 1 -S 1 -T 5 -P 10 -l U-BOOT $diskname&lt;br /&gt;
    popd&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Zombah_chromebook_sandbox&amp;diff=1339</id>
		<title>Zombah chromebook sandbox</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Zombah_chromebook_sandbox&amp;diff=1339"/>
		<updated>2017-08-21T00:36:41Z</updated>

		<summary type="html">&lt;p&gt;Zombah: move content lower that root&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==snow install nv-u-boot 3704 with serial console debug to ro&amp;amp;rw firmware==&lt;br /&gt;
&lt;br /&gt;
''Backup original firmware as it contain unique device data otherwise chromeos is lost forever for device''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
flashrom -p linux_spi:dev=/dev/spidev1.0 -r original_image.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Device hwid will be '''DAISY TEST A-A 9382''' after firmware update, which is treated as dev board by google. Factory hwid something like '''SNOW KULA A-E 4640'''&lt;br /&gt;
** Chromeos cant be installed or updated on device with this test hwid.&lt;br /&gt;
** Crucial data lives in '''VPD''' (Virtual Private Data) and '''GBB''' (Google Binary Block) partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget https://www.dropbox.com/s/6pzvraf3ko14sz9/nv_image-snow.bin.gz&lt;br /&gt;
gunzip nv_image-snow.bin.gz&lt;br /&gt;
flashrom -p linux_spi:dev=/dev/spidev1.0 -w nv_image-snow.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
found here  https://wiki.archlinux.org/index.php/Samsung_Chromebook_(ARM)#How_to_flash_U-Boot&lt;br /&gt;
&lt;br /&gt;
==snow check/disable write protect status==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
crosh-&amp;gt;shell-&amp;gt;sudo -s&lt;br /&gt;
&lt;br /&gt;
flashrom --wp-status&lt;br /&gt;
flashrom --wp-disable&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==snow/daisy revert firmware to factory default from chrome os==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
crosh-&amp;gt;shell-&amp;gt;sudo -s&lt;br /&gt;
&lt;br /&gt;
crossystem |fgrep fwid&lt;br /&gt;
chromeos-firmwareupdate --factory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
found here https://code.google.com/p/chromium/issues/detail?id=221828&lt;br /&gt;
&lt;br /&gt;
==use linux-stable exynos_defconfig kernel==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
make exynos_defconfig&lt;br /&gt;
make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set mwifiex and mwifiex_sdio as modules&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
make modules_prepare&lt;br /&gt;
make -j4 2&amp;gt;1&amp;amp; | tee ../current.log&lt;br /&gt;
make kernelrelease&lt;br /&gt;
&lt;br /&gt;
sudo make modules_install&lt;br /&gt;
sudo cp arch/arm/boot/zImage /boot/zImage-kernelrelease&lt;br /&gt;
sudo cp System.map /boot/System.map-kernelrelease&lt;br /&gt;
sudo cp .config /boot/config-kernelrelease&lt;br /&gt;
cd /boot&lt;br /&gt;
sudo mkinitrd -k zImage-kernelrelease -i initrd-kernelrelease&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==linux-stable multi_v7_defconfig missing modules for screen==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ptn3460&lt;br /&gt;
pwm-samsung&lt;br /&gt;
platform_lcd&lt;br /&gt;
i2c-arb-gpio-challenge&lt;br /&gt;
cros_ec_devs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=openSUSE notes=&lt;br /&gt;
Remove armsoc driver, its very slow with current upstream kernels, use modesettings or fbdev&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo zypper rm xf86-video-armsoc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==firefox soft webgl==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gfx.xrender.enabled=false&lt;br /&gt;
webgl.force-enable=true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
now got 1fps in fishgl demo 8)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Add/update chainloding u-boot on sdcard==&lt;br /&gt;
&lt;br /&gt;
it requires vboot-utils which contain vbutil and cgpt &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
diskname=/dev/sde&lt;br /&gt;
uboot=u-boot.img&lt;br /&gt;
&lt;br /&gt;
mkimage -A arm -O linux -T kernel -C none -a 0x43e00000 -e 0x43e00000 -n uboot -d u-boot-dtb.bin u-boot.img&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;console=tty1 debug verbose&amp;quot; &amp;gt; /tmp/config&lt;br /&gt;
vbutil_kernel --pack /tmp/newkern \&lt;br /&gt;
        --keyblock /usr/share/vboot/devkeys/kernel.keyblock \&lt;br /&gt;
        --version 1 \&lt;br /&gt;
        --signprivate /usr/share/vboot/devkeys/kernel_data_key.vbprivk \&lt;br /&gt;
        --config=/tmp/config --vmlinuz $uboot --arch arm&lt;br /&gt;
kpartx -av $diskname&lt;br /&gt;
dd if=/tmp/newkern of=$diskname\1&lt;br /&gt;
kpartx -d $diskname&lt;br /&gt;
cgpt add -t kernel -i 1 -S 1 -T 5 -P 10 -l U-BOOT $diskname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Snow motherboard info==&lt;br /&gt;
Motherboard design probably own from Samsung as there is '''BA41-02110A''' ident on board, revision 1.1 and '''Model:Lucas'''&lt;br /&gt;
&lt;br /&gt;
==Manualy load kernel from u-boot==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setenv bootargs 'loglevel=8 plymouth.enable=0 rootflags=size=100% console=ttySAC3,115200n8 console=tty earlyprintk showopts ${append}'&lt;br /&gt;
setenv initrd_high ''&lt;br /&gt;
setenv fdt_high ''&lt;br /&gt;
ext2load mmc 1:2 0x40007000 /boot/linux.vmx&lt;br /&gt;
ext2load mmc 1:2 0x44000000 /boot/initrd.uboot&lt;br /&gt;
ext2load mmc 1:2 0x42000000 /dtb/exynos5250-snow.dtb&lt;br /&gt;
bootz 0x40007000 0x44000000 0x42000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Script to create chainloding kernel partition from openSUSE JeOS==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#==========================================&lt;br /&gt;
# install Arndale SPL &amp;amp; U-Boot as raw&lt;br /&gt;
#------------------------------------------&lt;br /&gt;
if [[ -f &amp;quot;boot/smdk5250-spl.bin&amp;quot; || -f &amp;quot;boot/arndale-spl.bin&amp;quot; ]];then&lt;br /&gt;
    echo &amp;quot;Installing BL1...&amp;quot;&lt;br /&gt;
    if ! dd if=boot/arndale-bl1.img of=$diskname seek=1 conv=notrunc; then&lt;br /&gt;
        echo &amp;quot;Couldn't install BL1 on $diskname&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
    fi&lt;br /&gt;
    echo &amp;quot;Installing SPL...&amp;quot;&lt;br /&gt;
    # Get SPL name (depends on U-Boot version)&lt;br /&gt;
    SPL_FILE=$(ls boot/*-spl.bin);&lt;br /&gt;
    if ! dd if=$SPL_FILE of=$diskname seek=17 conv=notrunc; then&lt;br /&gt;
        echo &amp;quot;Couldn't install SPL ($SPL_FILE) on $diskname&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
    fi&lt;br /&gt;
    echo &amp;quot;Installing U-Boot...&amp;quot;&lt;br /&gt;
    if ! dd if=boot/u-boot.bin of=$diskname seek=49 conv=notrunc; then&lt;br /&gt;
        echo &amp;quot;Couldn't install u-boot on $diskname&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
#==========================================&lt;br /&gt;
# install Chromebook u-boot as boot kernel&lt;br /&gt;
# And do the required magic!&lt;br /&gt;
#------------------------------------------&lt;br /&gt;
if [ &amp;quot;$flavor&amp;quot; = &amp;quot;chromebook&amp;quot; ]; then&lt;br /&gt;
    if [ ! &amp;quot;$is_firstboot&amp;quot; ]; then&lt;br /&gt;
        pushd /usr/src/packages/KIWIROOT-oem/&lt;br /&gt;
        echo &amp;quot;console=tty1 debug verbose&amp;quot; &amp;gt; /tmp/config&lt;br /&gt;
        ./usr/bin/vbutil_kernel --pack /tmp/newkern \&lt;br /&gt;
            --keyblock ./usr/share/vboot/devkeys/kernel.keyblock \&lt;br /&gt;
            --version 1 \&lt;br /&gt;
            --signprivate ./usr/share/vboot/devkeys/kernel_data_key.vbprivk \&lt;br /&gt;
            --config=/tmp/config --vmlinuz boot/u-boot.img --arch arm&lt;br /&gt;
        LINE=$(kpartx -asv $diskname | head -n1)&lt;br /&gt;
        PART=$(echo &amp;quot;$LINE&amp;quot; | awk '{print $3}')&lt;br /&gt;
        dd if=/tmp/newkern of=/dev/mapper/$PART&lt;br /&gt;
        # &amp;quot;kpartx -dv $diskname&amp;quot; does not work if $diskname is longer than 64 characters&lt;br /&gt;
        LOOPDEV=$(echo &amp;quot;/dev/$PART&amp;quot; | sed 's/p[0-9][0-9]*$//')&lt;br /&gt;
        kpartx -dv $LOOPDEV&lt;br /&gt;
        losetup -d $LOOPDEV&lt;br /&gt;
    fi&lt;br /&gt;
    # For build and after reaprtition occured on 1st boot:&lt;br /&gt;
    # Enable bootflag on partition 2 (u-boot now looks for bootscripts on bootable partitions only)&lt;br /&gt;
    parted $diskname set 2 boot on&lt;br /&gt;
    # CGPT magic&lt;br /&gt;
    ./usr/bin/cgpt add -t kernel -i 1 -S 1 -T 5 -P 10 -l U-BOOT $diskname&lt;br /&gt;
    popd&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Zombah_chromebook_sandbox&amp;diff=1338</id>
		<title>Zombah chromebook sandbox</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Zombah_chromebook_sandbox&amp;diff=1338"/>
		<updated>2017-08-21T00:35:21Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add script from openSUSE JeOS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=snow install nv-u-boot 3704 with serial console debug to ro&amp;amp;rw firmware=&lt;br /&gt;
&lt;br /&gt;
''Backup original firmware as it contain unique device data otherwise chromeos is lost forever for device''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
flashrom -p linux_spi:dev=/dev/spidev1.0 -r original_image.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Device hwid will be '''DAISY TEST A-A 9382''' after firmware update, which is treated as dev board by google. Factory hwid something like '''SNOW KULA A-E 4640'''&lt;br /&gt;
** Chromeos cant be installed or updated on device with this test hwid.&lt;br /&gt;
** Crucial data lives in '''VPD''' (Virtual Private Data) and '''GBB''' (Google Binary Block) partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget https://www.dropbox.com/s/6pzvraf3ko14sz9/nv_image-snow.bin.gz&lt;br /&gt;
gunzip nv_image-snow.bin.gz&lt;br /&gt;
flashrom -p linux_spi:dev=/dev/spidev1.0 -w nv_image-snow.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
found here  https://wiki.archlinux.org/index.php/Samsung_Chromebook_(ARM)#How_to_flash_U-Boot&lt;br /&gt;
&lt;br /&gt;
=snow check/disable write protect status=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
crosh-&amp;gt;shell-&amp;gt;sudo -s&lt;br /&gt;
&lt;br /&gt;
flashrom --wp-status&lt;br /&gt;
flashrom --wp-disable&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=snow/daisy revert firmware to factory default from chrome os=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
crosh-&amp;gt;shell-&amp;gt;sudo -s&lt;br /&gt;
&lt;br /&gt;
crossystem |fgrep fwid&lt;br /&gt;
chromeos-firmwareupdate --factory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
found here https://code.google.com/p/chromium/issues/detail?id=221828&lt;br /&gt;
&lt;br /&gt;
=use linux-stable exynos_defconfig kernel=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
make exynos_defconfig&lt;br /&gt;
make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set mwifiex and mwifiex_sdio as modules&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
make modules_prepare&lt;br /&gt;
make -j4 2&amp;gt;1&amp;amp; | tee ../current.log&lt;br /&gt;
make kernelrelease&lt;br /&gt;
&lt;br /&gt;
sudo make modules_install&lt;br /&gt;
sudo cp arch/arm/boot/zImage /boot/zImage-kernelrelease&lt;br /&gt;
sudo cp System.map /boot/System.map-kernelrelease&lt;br /&gt;
sudo cp .config /boot/config-kernelrelease&lt;br /&gt;
cd /boot&lt;br /&gt;
sudo mkinitrd -k zImage-kernelrelease -i initrd-kernelrelease&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=linux-stable multi_v7_defconfig missing modules for screen=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ptn3460&lt;br /&gt;
pwm-samsung&lt;br /&gt;
platform_lcd&lt;br /&gt;
i2c-arb-gpio-challenge&lt;br /&gt;
cros_ec_devs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=openSUSE notes=&lt;br /&gt;
Remove armsoc driver, its very slow with current upstream kernels, use modesettings or fbdev&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo zypper rm xf86-video-armsoc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=firefox soft webgl=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gfx.xrender.enabled=false&lt;br /&gt;
webgl.force-enable=true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
now got 1fps in fishgl demo 8)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Add/update chainloding u-boot on sdcard=&lt;br /&gt;
&lt;br /&gt;
it requires vboot-utils which contain vbutil and cgpt &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
diskname=/dev/sde&lt;br /&gt;
uboot=u-boot.img&lt;br /&gt;
&lt;br /&gt;
mkimage -A arm -O linux -T kernel -C none -a 0x43e00000 -e 0x43e00000 -n uboot -d u-boot-dtb.bin u-boot.img&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;console=tty1 debug verbose&amp;quot; &amp;gt; /tmp/config&lt;br /&gt;
vbutil_kernel --pack /tmp/newkern \&lt;br /&gt;
        --keyblock /usr/share/vboot/devkeys/kernel.keyblock \&lt;br /&gt;
        --version 1 \&lt;br /&gt;
        --signprivate /usr/share/vboot/devkeys/kernel_data_key.vbprivk \&lt;br /&gt;
        --config=/tmp/config --vmlinuz $uboot --arch arm&lt;br /&gt;
kpartx -av $diskname&lt;br /&gt;
dd if=/tmp/newkern of=$diskname\1&lt;br /&gt;
kpartx -d $diskname&lt;br /&gt;
cgpt add -t kernel -i 1 -S 1 -T 5 -P 10 -l U-BOOT $diskname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Snow motherboard info=&lt;br /&gt;
Motherboard design probably own from Samsung as there is '''BA41-02110A''' ident on board, revision 1.1 and '''Model:Lucas'''&lt;br /&gt;
&lt;br /&gt;
=Manualy load kernel from u-boot=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setenv bootargs 'loglevel=8 plymouth.enable=0 rootflags=size=100% console=ttySAC3,115200n8 console=tty earlyprintk showopts ${append}'&lt;br /&gt;
setenv initrd_high ''&lt;br /&gt;
setenv fdt_high ''&lt;br /&gt;
ext2load mmc 1:2 0x40007000 /boot/linux.vmx&lt;br /&gt;
ext2load mmc 1:2 0x44000000 /boot/initrd.uboot&lt;br /&gt;
ext2load mmc 1:2 0x42000000 /dtb/exynos5250-snow.dtb&lt;br /&gt;
bootz 0x40007000 0x44000000 0x42000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Script to create chainloding kernel partition from openSUSE JeOS==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#==========================================&lt;br /&gt;
# install Arndale SPL &amp;amp; U-Boot as raw&lt;br /&gt;
#------------------------------------------&lt;br /&gt;
if [[ -f &amp;quot;boot/smdk5250-spl.bin&amp;quot; || -f &amp;quot;boot/arndale-spl.bin&amp;quot; ]];then&lt;br /&gt;
    echo &amp;quot;Installing BL1...&amp;quot;&lt;br /&gt;
    if ! dd if=boot/arndale-bl1.img of=$diskname seek=1 conv=notrunc; then&lt;br /&gt;
        echo &amp;quot;Couldn't install BL1 on $diskname&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
    fi&lt;br /&gt;
    echo &amp;quot;Installing SPL...&amp;quot;&lt;br /&gt;
    # Get SPL name (depends on U-Boot version)&lt;br /&gt;
    SPL_FILE=$(ls boot/*-spl.bin);&lt;br /&gt;
    if ! dd if=$SPL_FILE of=$diskname seek=17 conv=notrunc; then&lt;br /&gt;
        echo &amp;quot;Couldn't install SPL ($SPL_FILE) on $diskname&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
    fi&lt;br /&gt;
    echo &amp;quot;Installing U-Boot...&amp;quot;&lt;br /&gt;
    if ! dd if=boot/u-boot.bin of=$diskname seek=49 conv=notrunc; then&lt;br /&gt;
        echo &amp;quot;Couldn't install u-boot on $diskname&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
#==========================================&lt;br /&gt;
# install Chromebook u-boot as boot kernel&lt;br /&gt;
# And do the required magic!&lt;br /&gt;
#------------------------------------------&lt;br /&gt;
if [ &amp;quot;$flavor&amp;quot; = &amp;quot;chromebook&amp;quot; ]; then&lt;br /&gt;
    if [ ! &amp;quot;$is_firstboot&amp;quot; ]; then&lt;br /&gt;
        pushd /usr/src/packages/KIWIROOT-oem/&lt;br /&gt;
        echo &amp;quot;console=tty1 debug verbose&amp;quot; &amp;gt; /tmp/config&lt;br /&gt;
        ./usr/bin/vbutil_kernel --pack /tmp/newkern \&lt;br /&gt;
            --keyblock ./usr/share/vboot/devkeys/kernel.keyblock \&lt;br /&gt;
            --version 1 \&lt;br /&gt;
            --signprivate ./usr/share/vboot/devkeys/kernel_data_key.vbprivk \&lt;br /&gt;
            --config=/tmp/config --vmlinuz boot/u-boot.img --arch arm&lt;br /&gt;
        LINE=$(kpartx -asv $diskname | head -n1)&lt;br /&gt;
        PART=$(echo &amp;quot;$LINE&amp;quot; | awk '{print $3}')&lt;br /&gt;
        dd if=/tmp/newkern of=/dev/mapper/$PART&lt;br /&gt;
        # &amp;quot;kpartx -dv $diskname&amp;quot; does not work if $diskname is longer than 64 characters&lt;br /&gt;
        LOOPDEV=$(echo &amp;quot;/dev/$PART&amp;quot; | sed 's/p[0-9][0-9]*$//')&lt;br /&gt;
        kpartx -dv $LOOPDEV&lt;br /&gt;
        losetup -d $LOOPDEV&lt;br /&gt;
    fi&lt;br /&gt;
    # For build and after reaprtition occured on 1st boot:&lt;br /&gt;
    # Enable bootflag on partition 2 (u-boot now looks for bootscripts on bootable partitions only)&lt;br /&gt;
    parted $diskname set 2 boot on&lt;br /&gt;
    # CGPT magic&lt;br /&gt;
    ./usr/bin/cgpt add -t kernel -i 1 -S 1 -T 5 -P 10 -l U-BOOT $diskname&lt;br /&gt;
    popd&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Zombah_chromebook_sandbox&amp;diff=1337</id>
		<title>Zombah chromebook sandbox</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Zombah_chromebook_sandbox&amp;diff=1337"/>
		<updated>2017-07-17T12:46:02Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add backup firmware&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=snow install nv-u-boot 3704 with serial console debug to ro&amp;amp;rw firmware=&lt;br /&gt;
&lt;br /&gt;
''Backup original firmware as it contain unique device data otherwise chromeos is lost forever for device''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
flashrom -p linux_spi:dev=/dev/spidev1.0 -r original_image.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Device hwid will be '''DAISY TEST A-A 9382''' after firmware update, which is treated as dev board by google. Factory hwid something like '''SNOW KULA A-E 4640'''&lt;br /&gt;
** Chromeos cant be installed or updated on device with this test hwid.&lt;br /&gt;
** Crucial data lives in '''VPD''' (Virtual Private Data) and '''GBB''' (Google Binary Block) partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget https://www.dropbox.com/s/6pzvraf3ko14sz9/nv_image-snow.bin.gz&lt;br /&gt;
gunzip nv_image-snow.bin.gz&lt;br /&gt;
flashrom -p linux_spi:dev=/dev/spidev1.0 -w nv_image-snow.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
found here  https://wiki.archlinux.org/index.php/Samsung_Chromebook_(ARM)#How_to_flash_U-Boot&lt;br /&gt;
&lt;br /&gt;
=snow check/disable write protect status=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
crosh-&amp;gt;shell-&amp;gt;sudo -s&lt;br /&gt;
&lt;br /&gt;
flashrom --wp-status&lt;br /&gt;
flashrom --wp-disable&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=snow/daisy revert firmware to factory default from chrome os=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
crosh-&amp;gt;shell-&amp;gt;sudo -s&lt;br /&gt;
&lt;br /&gt;
crossystem |fgrep fwid&lt;br /&gt;
chromeos-firmwareupdate --factory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
found here https://code.google.com/p/chromium/issues/detail?id=221828&lt;br /&gt;
&lt;br /&gt;
=use linux-stable exynos_defconfig kernel=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
make exynos_defconfig&lt;br /&gt;
make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set mwifiex and mwifiex_sdio as modules&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
make modules_prepare&lt;br /&gt;
make -j4 2&amp;gt;1&amp;amp; | tee ../current.log&lt;br /&gt;
make kernelrelease&lt;br /&gt;
&lt;br /&gt;
sudo make modules_install&lt;br /&gt;
sudo cp arch/arm/boot/zImage /boot/zImage-kernelrelease&lt;br /&gt;
sudo cp System.map /boot/System.map-kernelrelease&lt;br /&gt;
sudo cp .config /boot/config-kernelrelease&lt;br /&gt;
cd /boot&lt;br /&gt;
sudo mkinitrd -k zImage-kernelrelease -i initrd-kernelrelease&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=linux-stable multi_v7_defconfig missing modules for screen=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ptn3460&lt;br /&gt;
pwm-samsung&lt;br /&gt;
platform_lcd&lt;br /&gt;
i2c-arb-gpio-challenge&lt;br /&gt;
cros_ec_devs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=openSUSE notes=&lt;br /&gt;
Remove armsoc driver, its very slow with current upstream kernels, use modesettings or fbdev&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo zypper rm xf86-video-armsoc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=firefox soft webgl=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gfx.xrender.enabled=false&lt;br /&gt;
webgl.force-enable=true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
now got 1fps in fishgl demo 8)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Add/update chainloding u-boot on sdcard=&lt;br /&gt;
&lt;br /&gt;
it requires vboot-utils which contain vbutil and cgpt &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
diskname=/dev/sde&lt;br /&gt;
uboot=u-boot.img&lt;br /&gt;
&lt;br /&gt;
mkimage -A arm -O linux -T kernel -C none -a 0x43e00000 -e 0x43e00000 -n uboot -d u-boot-dtb.bin u-boot.img&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;console=tty1 debug verbose&amp;quot; &amp;gt; /tmp/config&lt;br /&gt;
vbutil_kernel --pack /tmp/newkern \&lt;br /&gt;
        --keyblock /usr/share/vboot/devkeys/kernel.keyblock \&lt;br /&gt;
        --version 1 \&lt;br /&gt;
        --signprivate /usr/share/vboot/devkeys/kernel_data_key.vbprivk \&lt;br /&gt;
        --config=/tmp/config --vmlinuz $uboot --arch arm&lt;br /&gt;
kpartx -av $diskname&lt;br /&gt;
dd if=/tmp/newkern of=$diskname\1&lt;br /&gt;
kpartx -d $diskname&lt;br /&gt;
cgpt add -t kernel -i 1 -S 1 -T 5 -P 10 -l U-BOOT $diskname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Snow motherboard info=&lt;br /&gt;
Motherboard design probably own from Samsung as there is '''BA41-02110A''' ident on board, revision 1.1 and '''Model:Lucas'''&lt;br /&gt;
&lt;br /&gt;
=Manualy load kernel from u-boot=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setenv bootargs 'loglevel=8 plymouth.enable=0 rootflags=size=100% console=ttySAC3,115200n8 console=tty earlyprintk showopts ${append}'&lt;br /&gt;
setenv initrd_high ''&lt;br /&gt;
setenv fdt_high ''&lt;br /&gt;
ext2load mmc 1:2 0x40007000 /boot/linux.vmx&lt;br /&gt;
ext2load mmc 1:2 0x44000000 /boot/initrd.uboot&lt;br /&gt;
ext2load mmc 1:2 0x42000000 /dtb/exynos5250-snow.dtb&lt;br /&gt;
bootz 0x40007000 0x44000000 0x42000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Zombah_chromebook_sandbox&amp;diff=1336</id>
		<title>Zombah chromebook sandbox</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Zombah_chromebook_sandbox&amp;diff=1336"/>
		<updated>2017-07-12T21:39:12Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add manual kernel load&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=snow install nv-u-boot 3704 with serial console debug to ro&amp;amp;rw firmware=&lt;br /&gt;
&lt;br /&gt;
''Backup original firmware as it contain unique device data otherwise chromeos is lost forever for device''&lt;br /&gt;
* Device hwid will be '''DAISY TEST A-A 9382''' after firmware update, which is treated as dev board by google. Factory hwid something like '''SNOW KULA A-E 4640'''&lt;br /&gt;
** Chromeos cant be installed or updated on device with this test hwid.&lt;br /&gt;
** Crucial data lives in '''VPD''' (Virtual Private Data) and '''GBB''' (Google Binary Block) partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget https://www.dropbox.com/s/6pzvraf3ko14sz9/nv_image-snow.bin.gz&lt;br /&gt;
gunzip nv_image-snow.bin.gz&lt;br /&gt;
flashrom -p linux_spi:dev=/dev/spidev1.0 -w nv_image-snow.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
found here  https://wiki.archlinux.org/index.php/Samsung_Chromebook_(ARM)#How_to_flash_U-Boot&lt;br /&gt;
&lt;br /&gt;
=snow check/disable write protect status=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
crosh-&amp;gt;shell-&amp;gt;sudo -s&lt;br /&gt;
&lt;br /&gt;
flashrom --wp-status&lt;br /&gt;
flashrom --wp-disable&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=snow/daisy revert firmware to factory default from chrome os=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
crosh-&amp;gt;shell-&amp;gt;sudo -s&lt;br /&gt;
&lt;br /&gt;
crossystem |fgrep fwid&lt;br /&gt;
chromeos-firmwareupdate --factory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
found here https://code.google.com/p/chromium/issues/detail?id=221828&lt;br /&gt;
&lt;br /&gt;
=use linux-stable exynos_defconfig kernel=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
make exynos_defconfig&lt;br /&gt;
make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set mwifiex and mwifiex_sdio as modules&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
make modules_prepare&lt;br /&gt;
make -j4 2&amp;gt;1&amp;amp; | tee ../current.log&lt;br /&gt;
make kernelrelease&lt;br /&gt;
&lt;br /&gt;
sudo make modules_install&lt;br /&gt;
sudo cp arch/arm/boot/zImage /boot/zImage-kernelrelease&lt;br /&gt;
sudo cp System.map /boot/System.map-kernelrelease&lt;br /&gt;
sudo cp .config /boot/config-kernelrelease&lt;br /&gt;
cd /boot&lt;br /&gt;
sudo mkinitrd -k zImage-kernelrelease -i initrd-kernelrelease&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=linux-stable multi_v7_defconfig missing modules for screen=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ptn3460&lt;br /&gt;
pwm-samsung&lt;br /&gt;
platform_lcd&lt;br /&gt;
i2c-arb-gpio-challenge&lt;br /&gt;
cros_ec_devs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=openSUSE notes=&lt;br /&gt;
Remove armsoc driver, its very slow with current upstream kernels, use modesettings or fbdev&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo zypper rm xf86-video-armsoc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=firefox soft webgl=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gfx.xrender.enabled=false&lt;br /&gt;
webgl.force-enable=true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
now got 1fps in fishgl demo 8)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Add/update chainloding u-boot on sdcard=&lt;br /&gt;
&lt;br /&gt;
it requires vboot-utils which contain vbutil and cgpt &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
diskname=/dev/sde&lt;br /&gt;
uboot=u-boot.img&lt;br /&gt;
&lt;br /&gt;
mkimage -A arm -O linux -T kernel -C none -a 0x43e00000 -e 0x43e00000 -n uboot -d u-boot-dtb.bin u-boot.img&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;console=tty1 debug verbose&amp;quot; &amp;gt; /tmp/config&lt;br /&gt;
vbutil_kernel --pack /tmp/newkern \&lt;br /&gt;
        --keyblock /usr/share/vboot/devkeys/kernel.keyblock \&lt;br /&gt;
        --version 1 \&lt;br /&gt;
        --signprivate /usr/share/vboot/devkeys/kernel_data_key.vbprivk \&lt;br /&gt;
        --config=/tmp/config --vmlinuz $uboot --arch arm&lt;br /&gt;
kpartx -av $diskname&lt;br /&gt;
dd if=/tmp/newkern of=$diskname\1&lt;br /&gt;
kpartx -d $diskname&lt;br /&gt;
cgpt add -t kernel -i 1 -S 1 -T 5 -P 10 -l U-BOOT $diskname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Snow motherboard info=&lt;br /&gt;
Motherboard design probably own from Samsung as there is '''BA41-02110A''' ident on board, revision 1.1 and '''Model:Lucas'''&lt;br /&gt;
&lt;br /&gt;
=Manualy load kernel from u-boot=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setenv bootargs 'loglevel=8 plymouth.enable=0 rootflags=size=100% console=ttySAC3,115200n8 console=tty earlyprintk showopts ${append}'&lt;br /&gt;
setenv initrd_high ''&lt;br /&gt;
setenv fdt_high ''&lt;br /&gt;
ext2load mmc 1:2 0x40007000 /boot/linux.vmx&lt;br /&gt;
ext2load mmc 1:2 0x44000000 /boot/initrd.uboot&lt;br /&gt;
ext2load mmc 1:2 0x42000000 /dtb/exynos5250-snow.dtb&lt;br /&gt;
bootz 0x40007000 0x44000000 0x42000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Linux_%D0%B4%D0%B8%D1%81%D1%82%D1%80%D0%B8%D0%B1%D1%83%D1%82%D0%B8%D0%B2%D1%8B&amp;diff=1335</id>
		<title>Linux дистрибутивы</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Linux_%D0%B4%D0%B8%D1%81%D1%82%D1%80%D0%B8%D0%B1%D1%83%D1%82%D0%B8%D0%B2%D1%8B&amp;diff=1335"/>
		<updated>2017-06-19T15:59:00Z</updated>

		<summary type="html">&lt;p&gt;Zombah: move gentoo to community supported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Если Вы начинающий пользователь linux, ставите linux на тошку в первый раз или просто не уверены в своих силах - воспользуйтесь [https://wiki.ubuntu.com/ARM/TEGRA/AC100 официальным мануалом ubuntu]. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Достаточно много rootfs можно найти [http://rcn-ee.net/deb/rootfs/ здесь] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Есть поддержка==&lt;br /&gt;
* [[openSUSE]]&lt;br /&gt;
* [[Fedora]]&lt;br /&gt;
&lt;br /&gt;
==Поддержка силами сообщества==&lt;br /&gt;
* [[Gentoo]]&lt;br /&gt;
* [[Ubuntu]]&lt;br /&gt;
* [[Buildroot]]&lt;br /&gt;
&lt;br /&gt;
==Статус поддержки не известен==&lt;br /&gt;
* [[Ubuntu Touch]]&lt;br /&gt;
* [[Debian]] &lt;br /&gt;
* [[ArchLinux]]&lt;br /&gt;
* [[Armedslack]]&lt;br /&gt;
* [[CRUX-ARM]]&lt;br /&gt;
* [http://www.angstrom-distribution.org/ The Ångström Distribution]&lt;br /&gt;
* [[RedSleeve|RedSleeve (RHEL on ARM)]]&lt;br /&gt;
* [[Sabayon|Sabayon/BeagleBone]]&lt;br /&gt;
* [http://www.geexbox.org/geexbox-for-embedded-devices-booting-on-tegra2/ GeeXboX под Tegra2]&lt;br /&gt;
* [http://share.basyskom.com/plasma-active/nvidia_tegra2.html Plasma Active3 для NVidia Tegra 2]&lt;br /&gt;
* [http://www.opennet.ru/opennews/art.shtml?num=37674 Boot to Qt] &amp;lt;br/&amp;gt;&lt;br /&gt;
* [[Образы предустановленных ОС]]&lt;br /&gt;
* [[Установка rootfs|Установка любой rootfs с помощью установщика Ubuntu]]&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Gentoo&amp;diff=1334</id>
		<title>Gentoo</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Gentoo&amp;diff=1334"/>
		<updated>2017-06-19T15:56:22Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add cfk gentoo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Актуальная информация==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
18:47 &amp;lt; cfk_&amp;gt; а что надо, у меня в портаже все пакеты собраны&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рабочие сборки Gentoo брать тут: &amp;lt;br/&amp;gt;&lt;br /&gt;
http://4pda.ru/forum/index.php?showtopic=367318&amp;amp;view=findpost&amp;amp;p=61889020 &amp;lt;br/&amp;gt;&lt;br /&gt;
http://4pda.ru/forum/index.php?showtopic=367318&amp;amp;view=findpost&amp;amp;p=61889020 &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
там же инфо как ставить и тп.&lt;br /&gt;
&lt;br /&gt;
==Старая информация==&lt;br /&gt;
Схема установки слегка извратна, но тем не менее проста (как и вся гента).&lt;br /&gt;
&lt;br /&gt;
Ядро (на данный момент) проще всего взять последнее [https://gitorious.org/~marvin24/ac100/marvin24s-kernel марвиновское], собирается по [[kernel_compilation|обычной схеме]] [[Кросс компилятор|кросскомпилером]]. Не забудьте указать правильный для вас префикс кроссдева CROSS_COMPILE.&lt;br /&gt;
Сборка загрузочного образа и заливка его на шестой раздел тоже [[Прошивка ядра в ac100|стандартная]], никаких хитростей. В параметрах ядра укажите mmcblk1p1(SD) или sda1(USB) (в зависимости от того, с чего хотите ставить). В качестве схемы разделов рекомендую не tegrapart, а nvtegra (нативней и проще в итоге), в соответствии с вашим выбором уберите или оставьте параметр TEGRAPART ядру в загрузчике.&lt;br /&gt;
Meantime, на sdhc или флешку, предварительно отформатированную в ext3, распаковывается армовый stage3 (особенности архитектуры тоже выбирайте как вам нравится, я решился на hardfloat и не жалею). Туда же кидаются эти архивы - stage3 и portage-latest.&lt;br /&gt;
Не забудьте затолкать в /lib системы модули и firmware, иначе wifi-интерфейс не поднимется. Чтобы загрузиться в эту систему, нужен рутовый пароль, который, к сожалению, через простой chroot не задастся (что вполне очевидно), поэтому здесь применяем небольшой финт ушами: выполняем&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
openssl passwd -1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
И полученный шифрованный пароль пишем рутовую запись /etc/shadow распакованной на флешку системы.&lt;br /&gt;
&lt;br /&gt;
В общем-то после перезагрузки вы уже получаете развёрнутую систему, дальше вам решать - оставить её на флешке или залить на внутреннюю карточку нетбука. Заливка на неё происходит, в общем-то, тривиально - форматируете какой-нибудь немаленький раздел (от 8 и дальше) в нужную вам фс, монтируете, распаковываете на неё stage3, portage и копируете модули ядра в /lib. После этого, разумеется, нужно пересобрать образ ядра с новым параметром корневого раздела root= и залить его на шестой раздел.&lt;br /&gt;
Перед всем этим не забудьте, что для скопированной на внутреннюю mmc системы нам тоже нужно задать root-пароль; к счастью, в этот раз мы уже используем обычную arm-систему и в ухищрениях с openssl, описанных выше, нужды нет; делаете обычный chroot и внутри него - passwd.&lt;br /&gt;
Основная забота, на самом деле - это получить работающий wifi, а в &amp;quot;голой&amp;quot; stage3 у нас нет ни iwconfig, ни wpa_supplicant, ни прочих wicd. Есть два пути - скросскомпилить их на основном компе, собрать бинарные пакеты и установить на нетбук, либо же воспользоваться производственными мощностями нашей любимой тошибы, а именно:&lt;br /&gt;
- на целевой развёрнутой системе сделать emerge -av wpa_supplicant/wicd/wireless-tools и посмотреть, сколько и чего они хотят по зависимостям;&lt;br /&gt;
- на компе с интернетами забрать архивы с исходниками из distfiles любого зеркала и перетащить их в /usr/portage/distfiles на целевой системе&lt;br /&gt;
- после этого емерж уже не будет ломиться в (пока) несуществующий интернет за архивами, а тихонечко соберёт и установит всё оффлайн.&lt;br /&gt;
&lt;br /&gt;
Настройка системы далее идёт как обычно по хендбуку, никаких нюансов.&lt;br /&gt;
&lt;br /&gt;
[http://dev.gentoo.org/~armin76/arm/tegra2/install.xml Установка Gentoo на Tegra2 от небезызвестного armin76] (не работает)&lt;br /&gt;
&lt;br /&gt;
* [[Ac100 gentoo cross compile firefox]]&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=OpenSUSE_JeOS_bringup&amp;diff=1333</id>
		<title>OpenSUSE JeOS bringup</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=OpenSUSE_JeOS_bringup&amp;diff=1333"/>
		<updated>2017-06-18T13:51:04Z</updated>

		<summary type="html">&lt;p&gt;Zombah: contrib not required anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Brief guide how to add target to openSUSE:Factory:ARM:JeOS&lt;br /&gt;
&lt;br /&gt;
==Get source code==&lt;br /&gt;
&lt;br /&gt;
* Install '''osc''' &amp;lt;pre&amp;gt;# zypper in osc&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Branch or copy '''openSUSE:Factory:ARM:JeOS''' project &amp;lt;pre&amp;gt;$ osc bco openSUSE:Factory:ARM JeOS&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Disable building of all images in your JeOS branch&lt;br /&gt;
&lt;br /&gt;
==Add new target==&lt;br /&gt;
&lt;br /&gt;
* Modify config.sh&lt;br /&gt;
** Add contrib repo if required for downstream kernel/u-boot or addititional rpms (optional)&lt;br /&gt;
** Add additional modules to include to initrd file (optional)&lt;br /&gt;
&lt;br /&gt;
* Modify pre_checkin.sh&lt;br /&gt;
** add target name to '''armv7_jeos_images''', optional to '''armv7_gfx_images'''&lt;br /&gt;
*** jeos image contain only rootfs with main packages and gfx image also contain various desktop enviroments&lt;br /&gt;
* Modify Images.kiwi.in (input file for specific configs generation)&lt;br /&gt;
** add target flavor '''#elif IS_FLAVOR_paz00''' &amp;lt;pre&amp;gt;+#elif IS_FLAVOR_paz00&amp;amp;#10;+#  define BOOTKERNEL default&amp;amp;#10;+#  define KERNEL_CMDLINE_SER &amp;quot;plymouth.enable=0 console=ttyS0,115200n8 console=tty&amp;quot;&amp;amp;#10;+#  define KERNEL_CMDLINE_GFX &amp;quot;plymouth.enable=0 console=ttyS0,115200n8 console=tty&amp;quot;&amp;amp;#10;+#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-paz00) \&amp;amp;#10;+                         PKG_BOOT_TAG(dtb-tegra2)&amp;amp;#10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*** BOOTKERNEL var defines kernel name to use, for example default or lpae for upstream openSUSE Factory kernels&lt;br /&gt;
*** PKG_BOOT_TAG var defines u-boot rpm package name which contain board dtb file and name of rpm of u-boot itself for the board &lt;br /&gt;
** add additional repo (''legacy, not required anymore'')&amp;lt;pre&amp;gt;+#if IS_FLAVOR_paz00&amp;amp;#10;+        &amp;lt;repository type=&amp;quot;rpm-md&amp;quot; priority=&amp;quot;5&amp;quot;&amp;gt;&amp;amp;#10;+                &amp;lt;source path=&amp;quot;obs://devel:ARM:Factory:Contrib:Tegra/standard&amp;quot;/&amp;gt;&amp;amp;#10;+        &amp;lt;/repository&amp;gt;&amp;amp;#10;+#endif&amp;amp;#10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*** packages in higher priority repo will go before default factory repo ones&lt;br /&gt;
* Modify uboot-image-setup.in&lt;br /&gt;
** add target case '''case $flavor in paz00)''' &amp;lt;pre&amp;gt;+  paz00)&amp;amp;#10;+    kerneladdr=0x1000000&amp;amp;#10;+    ramdiskaddr=0x2200000&amp;amp;#10;+    fdtaddr=0x2000000&amp;amp;#10;+    should_use_fdt=1&amp;amp;#10;+    should_load_fdt=1&amp;amp;#10;+    units=&amp;quot;1 0&amp;quot;&amp;amp;#10;+    bootdevs=&amp;quot;mmc usb&amp;quot;&amp;amp;#10;+    fdtfile=dtb/tegra20-paz00.dtb&amp;amp;#10;+    ;;&amp;amp;#10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*** Define variables which openSUSE common boot.scr script will use &lt;br /&gt;
* Create uboot-setup-paz00.tgz&lt;br /&gt;
** copy any of existing ones &amp;lt;pre&amp;gt;cp uboot-setup-panda.tgz uboot-setup-paz00.tgz&amp;lt;/pre&amp;gt;&lt;br /&gt;
*** it will be overriten with pre_checkin.sh script&lt;br /&gt;
&lt;br /&gt;
* run pre_checkin.sh to generate specific configs for all boards &amp;lt;pre&amp;gt;sh ./pre_checkin.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* run build of '''JeOS-paz00.kiwi'''&lt;br /&gt;
&amp;lt;pre&amp;gt; osc build images armv7l JeOS-paz00.kiwi &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Submit patch with new target to upstream Jeos project&lt;br /&gt;
&lt;br /&gt;
==Todo==&lt;br /&gt;
* Find some way to install u-boot with kiwi&lt;br /&gt;
* Find some way to update u-boot with kiwi&lt;br /&gt;
&lt;br /&gt;
==Test results==&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=OpenSUSE_JeOS_bringup&amp;diff=1332</id>
		<title>OpenSUSE JeOS bringup</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=OpenSUSE_JeOS_bringup&amp;diff=1332"/>
		<updated>2017-06-18T13:46:59Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add disable building comment&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Brief guide how to add target to openSUSE:Factory:ARM:JeOS&lt;br /&gt;
&lt;br /&gt;
==Get source code==&lt;br /&gt;
&lt;br /&gt;
* Install '''osc''' &amp;lt;pre&amp;gt;# zypper in osc&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Branch or copy '''openSUSE:Factory:ARM:JeOS''' project &amp;lt;pre&amp;gt;$ osc bco openSUSE:Factory:ARM JeOS&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Disable building of all images in your JeOS branch&lt;br /&gt;
&lt;br /&gt;
==Add new target==&lt;br /&gt;
&lt;br /&gt;
* Modify config.sh&lt;br /&gt;
** Add contrib repo if required for downstream kernel/u-boot or addititional rpms (optional)&lt;br /&gt;
** Add additional modules to include to initrd file (optional)&lt;br /&gt;
&lt;br /&gt;
* Modify pre_checkin.sh&lt;br /&gt;
** add target name to '''armv7_jeos_images''', optional to '''armv7_gfx_images'''&lt;br /&gt;
*** jeos image contain only rootfs with main packages and gfx image also contain various desktop enviroments&lt;br /&gt;
* Modify Images.kiwi.in (input file for specific configs generation)&lt;br /&gt;
** add target flavor '''#elif IS_FLAVOR_paz00''' &amp;lt;pre&amp;gt;+#elif IS_FLAVOR_paz00&amp;amp;#10;+#  define BOOTKERNEL default&amp;amp;#10;+#  define KERNEL_CMDLINE_SER &amp;quot;plymouth.enable=0 console=ttyS0,115200n8 console=tty&amp;quot;&amp;amp;#10;+#  define KERNEL_CMDLINE_GFX &amp;quot;plymouth.enable=0 console=ttyS0,115200n8 console=tty&amp;quot;&amp;amp;#10;+#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-paz00) \&amp;amp;#10;+                         PKG_BOOT_TAG(dtb-tegra2)&amp;amp;#10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*** BOOTKERNEL var defines kernel name to use, for example default or lpae for upstream openSUSE Factory kernels&lt;br /&gt;
*** PKG_BOOT_TAG var defines u-boot rpm package name which contain board dtb file and name of rpm of u-boot itself for the board &lt;br /&gt;
** add additional repo &amp;lt;pre&amp;gt;+#if IS_FLAVOR_paz00&amp;amp;#10;+        &amp;lt;repository type=&amp;quot;rpm-md&amp;quot; priority=&amp;quot;5&amp;quot;&amp;gt;&amp;amp;#10;+                &amp;lt;source path=&amp;quot;obs://devel:ARM:Factory:Contrib:Tegra/standard&amp;quot;/&amp;gt;&amp;amp;#10;+        &amp;lt;/repository&amp;gt;&amp;amp;#10;+#endif&amp;amp;#10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*** packages in higher priority repo will go before default factory repo ones&lt;br /&gt;
* Modify uboot-image-setup.in&lt;br /&gt;
** add target case '''case $flavor in paz00)''' &amp;lt;pre&amp;gt;+  paz00)&amp;amp;#10;+    kerneladdr=0x1000000&amp;amp;#10;+    ramdiskaddr=0x2200000&amp;amp;#10;+    fdtaddr=0x2000000&amp;amp;#10;+    should_use_fdt=1&amp;amp;#10;+    should_load_fdt=1&amp;amp;#10;+    units=&amp;quot;1 0&amp;quot;&amp;amp;#10;+    bootdevs=&amp;quot;mmc usb&amp;quot;&amp;amp;#10;+    fdtfile=dtb/tegra20-paz00.dtb&amp;amp;#10;+    ;;&amp;amp;#10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*** Define variables which openSUSE common boot.scr script will use &lt;br /&gt;
* Create uboot-setup-paz00.tgz&lt;br /&gt;
** copy any of existing ones &amp;lt;pre&amp;gt;cp uboot-setup-panda.tgz uboot-setup-paz00.tgz&amp;lt;/pre&amp;gt;&lt;br /&gt;
*** it will be overriten with pre_checkin.sh script&lt;br /&gt;
&lt;br /&gt;
* run pre_checkin.sh to generate specific configs for all boards &amp;lt;pre&amp;gt;sh ./pre_checkin.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* run build of '''JeOS-paz00.kiwi'''&lt;br /&gt;
&amp;lt;pre&amp;gt; osc build images armv7l JeOS-paz00.kiwi &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Submit patch with new target to upstream Jeos project&lt;br /&gt;
&lt;br /&gt;
==Todo==&lt;br /&gt;
* Find some way to install u-boot with kiwi&lt;br /&gt;
* Find some way to update u-boot with kiwi&lt;br /&gt;
&lt;br /&gt;
==Test results==&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=OpenSUSE_JeOS_bringup&amp;diff=1331</id>
		<title>OpenSUSE JeOS bringup</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=OpenSUSE_JeOS_bringup&amp;diff=1331"/>
		<updated>2017-06-18T13:40:21Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add bco&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Brief guide how to add target to openSUSE:Factory:ARM:Jeos&lt;br /&gt;
&lt;br /&gt;
==Get source code==&lt;br /&gt;
&lt;br /&gt;
* Install '''osc''' &amp;lt;pre&amp;gt;# zypper in osc&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Branch or copy '''openSUSE:Factory:ARM:Jeos''' project &amp;lt;pre&amp;gt;$ osc bco openSUSE:Factory:ARM Jeos&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Add new target==&lt;br /&gt;
&lt;br /&gt;
* Modify config.sh&lt;br /&gt;
** Add contrib repo if required for downstream kernel/u-boot or addititional rpms (optional)&lt;br /&gt;
** Add additional modules to include to initrd file (optional)&lt;br /&gt;
&lt;br /&gt;
* Modify pre_checkin.sh&lt;br /&gt;
** add target name to '''armv7_jeos_images''', optional to '''armv7_gfx_images'''&lt;br /&gt;
*** jeos image contain only rootfs with main packages and gfx image also contain various desktop enviroments&lt;br /&gt;
* Modify Images.kiwi.in (input file for specific configs generation)&lt;br /&gt;
** add target flavor '''#elif IS_FLAVOR_paz00''' &amp;lt;pre&amp;gt;+#elif IS_FLAVOR_paz00&amp;amp;#10;+#  define BOOTKERNEL default&amp;amp;#10;+#  define KERNEL_CMDLINE_SER &amp;quot;plymouth.enable=0 console=ttyS0,115200n8 console=tty&amp;quot;&amp;amp;#10;+#  define KERNEL_CMDLINE_GFX &amp;quot;plymouth.enable=0 console=ttyS0,115200n8 console=tty&amp;quot;&amp;amp;#10;+#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-paz00) \&amp;amp;#10;+                         PKG_BOOT_TAG(dtb-tegra2)&amp;amp;#10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*** BOOTKERNEL var defines kernel name to use, for example default or lpae for upstream openSUSE Factory kernels&lt;br /&gt;
*** PKG_BOOT_TAG var defines u-boot rpm package name which contain board dtb file and name of rpm of u-boot itself for the board &lt;br /&gt;
** add additional repo &amp;lt;pre&amp;gt;+#if IS_FLAVOR_paz00&amp;amp;#10;+        &amp;lt;repository type=&amp;quot;rpm-md&amp;quot; priority=&amp;quot;5&amp;quot;&amp;gt;&amp;amp;#10;+                &amp;lt;source path=&amp;quot;obs://devel:ARM:Factory:Contrib:Tegra/standard&amp;quot;/&amp;gt;&amp;amp;#10;+        &amp;lt;/repository&amp;gt;&amp;amp;#10;+#endif&amp;amp;#10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*** packages in higher priority repo will go before default factory repo ones&lt;br /&gt;
* Modify uboot-image-setup.in&lt;br /&gt;
** add target case '''case $flavor in paz00)''' &amp;lt;pre&amp;gt;+  paz00)&amp;amp;#10;+    kerneladdr=0x1000000&amp;amp;#10;+    ramdiskaddr=0x2200000&amp;amp;#10;+    fdtaddr=0x2000000&amp;amp;#10;+    should_use_fdt=1&amp;amp;#10;+    should_load_fdt=1&amp;amp;#10;+    units=&amp;quot;1 0&amp;quot;&amp;amp;#10;+    bootdevs=&amp;quot;mmc usb&amp;quot;&amp;amp;#10;+    fdtfile=dtb/tegra20-paz00.dtb&amp;amp;#10;+    ;;&amp;amp;#10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*** Define variables which openSUSE common boot.scr script will use &lt;br /&gt;
* Create uboot-setup-paz00.tgz&lt;br /&gt;
** copy any of existing ones &amp;lt;pre&amp;gt;cp uboot-setup-panda.tgz uboot-setup-paz00.tgz&amp;lt;/pre&amp;gt;&lt;br /&gt;
*** it will be overriten with pre_checkin.sh script&lt;br /&gt;
&lt;br /&gt;
* run pre_checkin.sh to generate specific configs for all boards &amp;lt;pre&amp;gt;sh ./pre_checkin.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* run build of '''JeOS-paz00.kiwi'''&lt;br /&gt;
&amp;lt;pre&amp;gt; osc build images armv7l JeOS-paz00.kiwi &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Submit patch with new target to upstream Jeos project&lt;br /&gt;
&lt;br /&gt;
==Todo==&lt;br /&gt;
* Find some way to install u-boot with kiwi&lt;br /&gt;
* Find some way to update u-boot with kiwi&lt;br /&gt;
&lt;br /&gt;
==Test results==&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Kvm_notes_sandbox&amp;diff=1330</id>
		<title>Kvm notes sandbox</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Kvm_notes_sandbox&amp;diff=1330"/>
		<updated>2017-06-15T17:06:52Z</updated>

		<summary type="html">&lt;p&gt;Zombah: fix italic&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Good links==&lt;br /&gt;
[https://doc.opensuse.org/documentation/leap/virtualization/html/book.virt/book.virt.html openSUSE Guide] &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Administration_Guide/index.html RHEL Guide] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Host setup==&lt;br /&gt;
Remember to enable virtualization inside bios: &amp;lt;br/&amp;gt;&lt;br /&gt;
for hp proliats it is: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Advanced options -&amp;gt; Processor Options -&amp;gt; Intel(R) Virtualization Technology and No-Excecute Memory Protection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add to host cmdline 'GRUB_CMDLINE_LINUX_DEFAULT' in ''/etc/default/grub'' file: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
intel_iommu=on console=ttyS0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or for AMD host system: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
amd_iommu=on console=ttyS0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install kvm patterns: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zypper in -t pattern kvm_server&lt;br /&gt;
# zypper in -t pattern kvm_tools&lt;br /&gt;
# zypper in spice-vdagent&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forward kvm host qemu vnc with ssh==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -L 5900:localhost:5900 &amp;lt;kvm-host-ip&amp;gt; -N&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Create guest==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
virt-install \&lt;br /&gt;
 --virt-type kvm \&lt;br /&gt;
 --name basebox_opensuse42_2 \&lt;br /&gt;
 --description &amp;quot;My basebox openSUSE 42.2&amp;quot; \&lt;br /&gt;
 --os-type=Linux \&lt;br /&gt;
 --os-variant=opensuse42.2 \&lt;br /&gt;
 --ram=2048 --vcpus=2 \&lt;br /&gt;
 --disk path=/home/kvm/images/basebox_opensuse42_2.img,device=disk,bus=virtio,size=20,sparse=true,format=raw,cache=none \&lt;br /&gt;
 --disk path=/home/kvm/openSUSE-Leap-42.2-DVD-x86_64.iso,device=cdrom \&lt;br /&gt;
 --graphics spice,listen=172.16.1.78 \&lt;br /&gt;
 --network bridge:br0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Virsh==&lt;br /&gt;
----&lt;br /&gt;
===List all guests even not started===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh list --all&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Guest migration===&lt;br /&gt;
Dump config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh dumpxml --migratable &amp;lt;guest-name&amp;gt; &amp;gt;guest-name.xml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore guest config on new host&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh define guest-name.xml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Edit guest with virsh===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh edit guest-name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Attach block device to guest===&lt;br /&gt;
Create xml config for example vda.xml&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;disk type='block' device='disk'&amp;gt;&lt;br /&gt;
      &amp;lt;driver name='qemu' type='raw' cache='none'/&amp;gt;&lt;br /&gt;
      &amp;lt;source dev='/dev/sda5'/&amp;gt;&lt;br /&gt;
      &amp;lt;target dev='vda' bus='virtio'/&amp;gt;&lt;br /&gt;
&amp;lt;/disk&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Permanently attach block device to already existing domain&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh attach-disk &amp;lt;domain-name&amp;gt; vda.xml --persistent&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Connect to console with virsh===&lt;br /&gt;
&lt;br /&gt;
Add serial console to guest, virsh edit guest&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;devices&amp;gt;&lt;br /&gt;
    &amp;lt;serial type='pty'&amp;gt;&lt;br /&gt;
      &amp;lt;target port='0'/&amp;gt;&lt;br /&gt;
    &amp;lt;/serial&amp;gt;&lt;br /&gt;
    &amp;lt;console type='pty'&amp;gt;&lt;br /&gt;
      &amp;lt;target type='serial' port='0'/&amp;gt;&lt;br /&gt;
    &amp;lt;/console&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
connect to guest console: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh console guest-name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Clonning guest===&lt;br /&gt;
It it possible to clone with virsh dumpxml, but dont forget to change uuid, mac and vm name. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==KVM basebox notes==&lt;br /&gt;
&lt;br /&gt;
# Add console=ttyS0 into bootloader cmdline for virsh console to work. (require syslinux package)&lt;br /&gt;
# Install package rsyslog (this probably will remove systemd-logger package) and start rsyslog.service&lt;br /&gt;
&lt;br /&gt;
==Test disk performance==&lt;br /&gt;
Test with iozone: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ iozone -a -i0 -i1 -i2 -s512M -r64k&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Test with dd: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dd if=/dev/sda1 of=/dev/null bs=1M count=1024 iflag=direct skip=1024&lt;br /&gt;
# dd if=/dev/zero of=test bs=1M count=1024 oflag=direct&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
	<entry>
		<id>https://paz00.ru/index.php?title=Kvm_notes_sandbox&amp;diff=1329</id>
		<title>Kvm notes sandbox</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Kvm_notes_sandbox&amp;diff=1329"/>
		<updated>2017-06-15T17:05:28Z</updated>

		<summary type="html">&lt;p&gt;Zombah: add amd iommu&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Good links==&lt;br /&gt;
[https://doc.opensuse.org/documentation/leap/virtualization/html/book.virt/book.virt.html openSUSE Guide] &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Administration_Guide/index.html RHEL Guide] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Host setup==&lt;br /&gt;
Remember to enable virtualization inside bios: &amp;lt;br/&amp;gt;&lt;br /&gt;
for hp proliats it is: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Advanced options -&amp;gt; Processor Options -&amp;gt; Intel(R) Virtualization Technology and No-Excecute Memory Protection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add to host cmdline GRUB_CMDLINE_LINUX_DEFAULT in _/etc/default/grub_ file: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
intel_iommu=on console=ttyS0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or for AMD host system: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
amd_iommu=on console=ttyS0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install kvm patterns: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zypper in -t pattern kvm_server&lt;br /&gt;
# zypper in -t pattern kvm_tools&lt;br /&gt;
# zypper in spice-vdagent&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forward kvm host qemu vnc with ssh==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -L 5900:localhost:5900 &amp;lt;kvm-host-ip&amp;gt; -N&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Create guest==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
virt-install \&lt;br /&gt;
 --virt-type kvm \&lt;br /&gt;
 --name basebox_opensuse42_2 \&lt;br /&gt;
 --description &amp;quot;My basebox openSUSE 42.2&amp;quot; \&lt;br /&gt;
 --os-type=Linux \&lt;br /&gt;
 --os-variant=opensuse42.2 \&lt;br /&gt;
 --ram=2048 --vcpus=2 \&lt;br /&gt;
 --disk path=/home/kvm/images/basebox_opensuse42_2.img,device=disk,bus=virtio,size=20,sparse=true,format=raw,cache=none \&lt;br /&gt;
 --disk path=/home/kvm/openSUSE-Leap-42.2-DVD-x86_64.iso,device=cdrom \&lt;br /&gt;
 --graphics spice,listen=172.16.1.78 \&lt;br /&gt;
 --network bridge:br0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Virsh==&lt;br /&gt;
----&lt;br /&gt;
===List all guests even not started===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh list --all&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Guest migration===&lt;br /&gt;
Dump config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh dumpxml --migratable &amp;lt;guest-name&amp;gt; &amp;gt;guest-name.xml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore guest config on new host&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh define guest-name.xml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Edit guest with virsh===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh edit guest-name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Attach block device to guest===&lt;br /&gt;
Create xml config for example vda.xml&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;disk type='block' device='disk'&amp;gt;&lt;br /&gt;
      &amp;lt;driver name='qemu' type='raw' cache='none'/&amp;gt;&lt;br /&gt;
      &amp;lt;source dev='/dev/sda5'/&amp;gt;&lt;br /&gt;
      &amp;lt;target dev='vda' bus='virtio'/&amp;gt;&lt;br /&gt;
&amp;lt;/disk&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Permanently attach block device to already existing domain&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh attach-disk &amp;lt;domain-name&amp;gt; vda.xml --persistent&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Connect to console with virsh===&lt;br /&gt;
&lt;br /&gt;
Add serial console to guest, virsh edit guest&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;devices&amp;gt;&lt;br /&gt;
    &amp;lt;serial type='pty'&amp;gt;&lt;br /&gt;
      &amp;lt;target port='0'/&amp;gt;&lt;br /&gt;
    &amp;lt;/serial&amp;gt;&lt;br /&gt;
    &amp;lt;console type='pty'&amp;gt;&lt;br /&gt;
      &amp;lt;target type='serial' port='0'/&amp;gt;&lt;br /&gt;
    &amp;lt;/console&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
connect to guest console: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# virsh console guest-name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Clonning guest===&lt;br /&gt;
It it possible to clone with virsh dumpxml, but dont forget to change uuid, mac and vm name. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==KVM basebox notes==&lt;br /&gt;
&lt;br /&gt;
# Add console=ttyS0 into bootloader cmdline for virsh console to work. (require syslinux package)&lt;br /&gt;
# Install package rsyslog (this probably will remove systemd-logger package) and start rsyslog.service&lt;br /&gt;
&lt;br /&gt;
==Test disk performance==&lt;br /&gt;
Test with iozone: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ iozone -a -i0 -i1 -i2 -s512M -r64k&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Test with dd: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dd if=/dev/sda1 of=/dev/null bs=1M count=1024 iflag=direct skip=1024&lt;br /&gt;
# dd if=/dev/zero of=test bs=1M count=1024 oflag=direct&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zombah</name></author>
	</entry>
</feed>