<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://paz00.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%97%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0_%D0%90%D0%BD%D0%B4%D1%80%D0%BE%D0%B8%D0%B4%D0%B0_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_Uboot</id>
	<title>Загрузка Андроида с помощью Uboot - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://paz00.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%97%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0_%D0%90%D0%BD%D0%B4%D1%80%D0%BE%D0%B8%D0%B4%D0%B0_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_Uboot"/>
	<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=%D0%97%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0_%D0%90%D0%BD%D0%B4%D1%80%D0%BE%D0%B8%D0%B4%D0%B0_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_Uboot&amp;action=history"/>
	<updated>2026-05-02T10:57:57Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://paz00.ru/index.php?title=%D0%97%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0_%D0%90%D0%BD%D0%B4%D1%80%D0%BE%D0%B8%D0%B4%D0%B0_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_Uboot&amp;diff=113&amp;oldid=prev</id>
		<title>Unknown user в 08:14, 15 октября 2014</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=%D0%97%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0_%D0%90%D0%BD%D0%B4%D1%80%D0%BE%D0%B8%D0%B4%D0%B0_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_Uboot&amp;diff=113&amp;oldid=prev"/>
		<updated>2014-10-15T08:14:02Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Сборник вопросов связанных с Uboot и Андроидом= &lt;br /&gt;
----&lt;br /&gt;
Пока все в кучу, а там видно будет&lt;br /&gt;
&lt;br /&gt;
==Текущие проблемы мешающие загрузке== &lt;br /&gt;
&lt;br /&gt;
* tegra_otg_init вешает систему при запуске&lt;br /&gt;
** можно обойти отключив otg в board-paz00 патч тут https://www.gitorious.org/~marvin24/ac100/marvin24s-kernel/commit/ed592756cc9807ea778eeff0e4c31d75cec67766&lt;br /&gt;
*** После такого отключения падает в корку дальше когда adbd стартует http://pastebin.com/mmy8WZrU&lt;br /&gt;
** нужно попробовать патч http://marc.info/?l=linux-usb&amp;amp;m=136203353205291&amp;amp;w=2&lt;br /&gt;
** Попробовал вот креш с ним http://pastebin.com/NSZ9SuBN&lt;br /&gt;
*** есть еще вот такой, выглядит более подходящим для 3.1 https://github.com/greenduck/trimslice-android-kernel/commit/fc7b1de8f1b04fa06bcfdebc022bfb5a04503eee&lt;br /&gt;
*** этот патч уже есть в 3.1, не помогает&lt;br /&gt;
&lt;br /&gt;
* Висяк с тем что не находится root= и init=&lt;br /&gt;
** При использовании uboot не распаковывается initrd - включение CONFIG_INITRD_TAG исправляет ситуацию (логи [http://pastebin.com/hYGzUv8q fastboot], [http://pastebin.com/qAHJrDRW uboot], [http://pastebin.com/ZvreUbYP uboot fixed]).&lt;br /&gt;
&lt;br /&gt;
* tegra_dvfs: rate 666000000 too high for dvfs on ...&lt;br /&gt;
** Лечится включением TEGRA_PREINIT_CLOCKS в ядре&lt;br /&gt;
&lt;br /&gt;
* rcu_sched_state detected stall on CPU 1&lt;br /&gt;
&lt;br /&gt;
===При использовании ядра в котором еще нет tegra_udc и используется freescale udc драйвер===&lt;br /&gt;
&lt;br /&gt;
* Ядро виснет при исполнении функции tegra_init_early в arch/arm/mach-tegra/common.c, при запуске tegra_clk_init_from_table(common_clk_init_table);&lt;br /&gt;
** Т.к. никаких упсов или стеков не выдает, не очень понятно в чем дело&lt;br /&gt;
*** Методом вливания по одному патчей из более нового бранча, найден виновник https://gitorious.org/~marvin24/ac100/marvin24s-kernel/commit/8fbd140659857935fab495332e71b99486792b21&lt;br /&gt;
&lt;br /&gt;
* Теперь не хватает похоже некого gr3d клока&lt;br /&gt;
** лог тут http://pastebin.com/vb2bDJ6e&lt;br /&gt;
*** Помог вот этот патч https://gitorious.org/~marvin24/ac100/marvin24s-kernel/commit/046a597b9cc3e2bd7b707887530827cbd607b275&lt;br /&gt;
&lt;br /&gt;
* Теперь андроид грузится из юбута, в логе много софткрешей и мусора&lt;br /&gt;
&lt;br /&gt;
==Test drive==&lt;br /&gt;
&lt;br /&gt;
* Накатить через рековери систему собраную для теста http://dl.dropbox.com/u/32472722/uboot/cm_ac100-ota-eng.zombah.zip&lt;br /&gt;
* Скачать набор uboot для внешней сдкарты fat32, тут http://dl.dropbox.com/u/32472722/uboot/boot.tar.gz&lt;br /&gt;
* Бутнуть тошу в рековери режим&lt;br /&gt;
* Вставить заряженую сд карту&lt;br /&gt;
* Бутнуть тошу коммандой nvflash --bl ./u-boot-dtb-tegra.bin --go , заряженный бутлоадер лежит внутри boot.tar.gz&lt;br /&gt;
** Смотреть в консоль&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=Загрузка штатного ядра и рамдиска юбутом=&lt;br /&gt;
Можно не выносить ядра и рамдиск на отдельный носитель, а читать их с диска прям&lt;br /&gt;
самим юбутом:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mmc dev 0&lt;br /&gt;
mmc read 0x1000000 0x3404 0x12ac   &lt;br /&gt;
mmc read 0x2200000 0x46b0 0x150&lt;br /&gt;
bootz 0x1000000 0x2200000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Инфа из разных мест о работе uboot с android=&lt;br /&gt;
&lt;br /&gt;
* лог загрузки wm8650 http://pastebin.com/wNm3iC34&lt;br /&gt;
** лог обновления прошивки через юбут на wm8650 http://pastebin.com/SG6wXrFf&lt;br /&gt;
&lt;br /&gt;
* boot.scr от самсунга&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setenv android_cmd loglevel=4 console=ram sec_debug.enable=0 sec_debug.enable_user=0 sec_log=0x100000@0x4d900000 s3cfb.bootloaderfb=0x5ec00000 ld9040.get_lcdtype=0x2 consoleblank=0 lpj=3981312 vmalloc=144m;&lt;br /&gt;
&lt;br /&gt;
if test $sgs2_bootmode_val -eq 1; then&lt;br /&gt;
	setenv android_cmd ${android_cmd} bootmode=2;&lt;br /&gt;
fi&lt;br /&gt;
setenv bootargs ${android_cmd}&lt;br /&gt;
&lt;br /&gt;
setenv devtype mmc&lt;br /&gt;
setenv devnum 0&lt;br /&gt;
setenv kernel_part 0xb&lt;br /&gt;
setenv kernel_name /boot/android.uimg&lt;br /&gt;
setenv loadaddr 0x4EF08000&lt;br /&gt;
&lt;br /&gt;
echo Load Address:${loadaddr};&lt;br /&gt;
echo Cmdline:${bootargs};&lt;br /&gt;
&lt;br /&gt;
if fatload ${devtype} ${devnum}:${kernel_part} ${loadaddr} ${kernel_name}; then&lt;br /&gt;
	bootm ${loadaddr};&lt;br /&gt;
	exit 0;&lt;br /&gt;
elif ext2load ${devtype} ${devnum}:${kernel_part} ${loadaddr} ${kernel_name}; then&lt;br /&gt;
	bootm ${loadaddr};&lt;br /&gt;
	exit 0;&lt;br /&gt;
else&lt;br /&gt;
	echo failed to boot custom image;&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Нужно описание нашего emmc на тему юбута, типа где начинается бут лоадер, где ядро, где инитрд. А то разбирают сомнения, нужно упорядочить инфу в одной таблице.&lt;br /&gt;
&lt;br /&gt;
* Пример бутменю в юбуте http://talk.maemo.org/showthread.php?t=81613&lt;br /&gt;
&lt;br /&gt;
* Описание передачи ключей от андроидного ребута ядру http://stackoverflow.com/questions/5472761/how-does-the-bootloader-pick-up-the-command-after-a-restarting-system-with-comm&lt;br /&gt;
** Нужно чтоб была возможность ребутаться в меню или в рековери сразу из системы&lt;br /&gt;
&lt;br /&gt;
* Репо нуковского девайс три андроидного который собирается под юбут https://github.com/NookieDevs/android_device_bn_encore&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Загрузка cm-10 beta4 u-boot'ом =&lt;br /&gt;
&lt;br /&gt;
Boot Kernel size =  2580708&lt;br /&gt;
Boot Initrd size =  170677&lt;br /&gt;
Recovery Kernel size = 2580708&lt;br /&gt;
Recovery Initrd size = 1859967&lt;br /&gt;
&lt;br /&gt;
Boot Kernel offset: &lt;br /&gt;
start = 5376 + 1 = 5377 - 2048 = 3329 x 4=13316 (0x3404) (для 32гб модели)&lt;br /&gt;
size = 2580708 + 2048 = 2582756 - 1 = 2582755 / 2048 = 1261 x 4 = 5044 (0x13b4)&lt;br /&gt;
&lt;br /&gt;
Boot Initrd offset:&lt;br /&gt;
start = 0x3404 + 0x13b4 = 0x47b8&lt;br /&gt;
size = 170677 + 2048 = 172725 / 2048 = 84 x 4 = 336 (0x150)&lt;br /&gt;
&lt;br /&gt;
mmc read 0x1000000 0x3404 0x13b4&lt;br /&gt;
mmc read 0x2200000 0x47b8 0x150&lt;br /&gt;
&lt;br /&gt;
Recovery Kernel offset:&lt;br /&gt;
start = 2816 + 1 = 2817 - 2048 = 769 x 4 = 3076 (0xc04) (для 32гб модели)&lt;br /&gt;
size = 2580708 + 2048 = 2582756 - 1 = 2582755 / 2048 = 1261 x 4 = 5044 (0x13b4) (в андроиде в рековери у нас пока ядро тоже что и бут имидже)&lt;br /&gt;
&lt;br /&gt;
Recovery Initrd offset:&lt;br /&gt;
start = 0xc04 + 0x13b4 = 0x1fb8&lt;br /&gt;
size = 1859967 + 2048 = 1862015 / 2048 = 909 x 4 = 3636 (0xe34)&lt;br /&gt;
&lt;br /&gt;
mmc read 0x1000000 0xc04 0x13b4&lt;br /&gt;
mmc read 0x2200000 0x1fb8 0xe34&lt;br /&gt;
&lt;br /&gt;
== Добавляем функции в u-boot ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff --git a/include/configs/paz00.h b/include/configs/paz00.h&lt;br /&gt;
index b0c6ff4..85bf5cc 100644&lt;br /&gt;
--- a/include/configs/paz00.h&lt;br /&gt;
+++ b/include/configs/paz00.h&lt;br /&gt;
@@ -80,6 +80,35 @@&lt;br /&gt;
 #define CONFIG_SYS_I2C_INIT_BOARD 1&lt;br /&gt;
 #define CONFIG_TEGRA_NVEC 1&lt;br /&gt;
 &lt;br /&gt;
+/* Support kernel 3.1 initrd */&lt;br /&gt;
+#define CONFIG_INITRD_TAG 1&lt;br /&gt;
+&lt;br /&gt;
+#define PAZ00_DEVICE_SETTINGS \&lt;br /&gt;
+        &amp;quot;legacybootkernelstart=0x3404\0&amp;quot; \&lt;br /&gt;
+        &amp;quot;legacybootkernelsize=0x13b4\0&amp;quot; \&lt;br /&gt;
+        &amp;quot;legacybootinitrdstart=0x47b8\0&amp;quot; \&lt;br /&gt;
+        &amp;quot;legacybootinitrdsize=0x150\0&amp;quot; \&lt;br /&gt;
+        &amp;quot;legacybootkernelmemoffset=0x1000000\0&amp;quot; \&lt;br /&gt;
+        &amp;quot;legacybootinitrdmemoffset=0x2200000\0&amp;quot; \&lt;br /&gt;
+        &amp;quot;legacyrecoverykernelstart=0xc04\0&amp;quot; \&lt;br /&gt;
+        &amp;quot;legacyrecoverykernelsize=0x13b4\0&amp;quot; \&lt;br /&gt;
+        &amp;quot;legacyrecoveryinitrdstart=0x1fb8\0&amp;quot; \&lt;br /&gt;
+        &amp;quot;legacyrecoveryinitrdsize=0xe34\0&amp;quot; \&lt;br /&gt;
+        &amp;quot;legacymmcdev=mmc dev 0\0&amp;quot; \&lt;br /&gt;
+        &amp;quot;legacyboot=${legacymmcdev};&amp;quot; \&lt;br /&gt;
+                   &amp;quot;mmc read ${legacybootkernelmemoffset} &amp;quot; \&lt;br /&gt;
+                   &amp;quot;${legacybootkernelstart} ${legacybootkernelsize};&amp;quot; \&lt;br /&gt;
+                   &amp;quot;mmc read ${legacybootinitrdmemoffset} &amp;quot; \&lt;br /&gt;
+                   &amp;quot;${legacybootinitrdstart} ${legacybootinitrdsize};&amp;quot; \&lt;br /&gt;
+                   &amp;quot;bootz ${legacybootkernelmemoffset} ${legacyinitrdmemoffset}\0&amp;quot; \&lt;br /&gt;
+        &amp;quot;legacyrecovery=${legacymmcdev};&amp;quot; \&lt;br /&gt;
+                   &amp;quot;mmc read ${legacybootkernelmemoffset} &amp;quot; \&lt;br /&gt;
+                   &amp;quot;${legacyrecoverykernelstart} ${legacyrecoverykernelsize};&amp;quot; \&lt;br /&gt;
+                   &amp;quot;mmc read ${legacybootinitrdmemoffset} &amp;quot; \&lt;br /&gt;
+                   &amp;quot;${legacyrecoveryinitrdstart} ${legacyrecoveryinitrdsize};&amp;quot; \&lt;br /&gt;
+                   &amp;quot;bootz ${legacybootkernelmemoffset} ${legacyinitrdmemoffset}\0&amp;quot; \&lt;br /&gt;
+        &amp;quot;&amp;quot;&lt;br /&gt;
+&lt;br /&gt;
 #include &amp;quot;tegra-common-post.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #endif /* __CONFIG_H */&lt;br /&gt;
diff --git a/include/configs/tegra-common-post.h b/include/configs/tegra-common-post.h&lt;br /&gt;
index 222de86..2392c1d 100644&lt;br /&gt;
--- a/include/configs/tegra-common-post.h&lt;br /&gt;
+++ b/include/configs/tegra-common-post.h&lt;br /&gt;
@@ -150,7 +150,8 @@&lt;br /&gt;
 #define CONFIG_EXTRA_ENV_SETTINGS \&lt;br /&gt;
        TEGRA_DEVICE_SETTINGS \&lt;br /&gt;
        MEM_LAYOUT_ENV_SETTINGS \&lt;br /&gt;
-       BOOTCMDS_COMMON&lt;br /&gt;
+       BOOTCMDS_COMMON \&lt;br /&gt;
+    PAZ00_DEVICE_SETTINGS&lt;br /&gt;
 &lt;br /&gt;
 #if defined(CONFIG_TEGRA20_SFLASH) || defined(CONFIG_TEGRA20_SLINK) || defined(CONFIG_TEGRA114_SPI)&lt;br /&gt;
 #define CONFIG_FDT_SPI&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Unknown user</name></author>
	</entry>
</feed>