Flashing the Neo 1973/zh cn
From Openmoko
(-cat) |
m (Flashing openmoko/zh cn moved to Flashing Openmoko/zh cn: case) |
Revision as of 12:05, 9 July 2008
Languages: |
English • العربية • Български • Česky • Dansk • Deutsch • Esperanto • Eesti • Español • فارسی • Suomi • Français • עברית • Magyar • Italiano • 한국어 • Nederlands • Norsk (bokmål) • Polski • Português • Română • Русский • Svenska • Slovenčina • Українська • 中文(中国大陆) • 中文(台灣) • Euskara • Català |
本篇文章的内容主要教导您如何将你的Neo 1973更新到最新的版本。在这里,我们将会在内建的闪存中选择性 的更新kernel、root filesystem。
WARNING: 如果你更新了u-boot,并且没有除错板,在更新程序进行被中断时,你可能必须要放弃更新。 |
WARNING: 如果你有较旧的U-boot 版本,并且上传了较之前版本更小的映像档,或者,你撰写了一个较jiffs2更小的rootfs,更新并不会产生作用—你必须在你上传rootfs前执行nand erase rootfs",会比在你开始写入新的rootfs前执行"nand erase rootfs"前每次都执行"nand erase rootfs" 来的快,并且可以节省掉第二个rootfs上传的时间。注意:如果你 清除NAND 且没有指出你要清除的分割区,u-boot 将会被抹掉,并且Neo 将会bricked |
Contents |
档案下载
NOTE: |
您下载的rootfs & kernel映象档必须是相同的版本。Kernel可加载的模块被放在 分割区的 /lib/modules/ 下—如果你下载了错误的版本组合,你会在启动的过程中得到无法存取/lib/modules/x.y.z-moko123 的一些错误讯息,若发生这种情形,请交换kernel或rootfs 到相对应的版本。 不幸的是,rootfs文件名称并无法看出与它兼容的kernel版本,你可能要一个一个试验。
NOTE: 至少某些不对应的版本组合看起来可以在不同模块版本下被启动,因此在进行更新启动后,请到控制台下查看它的版本。
错误讯息中的 "moko123" 会指出openmoko patchset 版本。
必须的档案为:
- http://buildhost.openmoko.org/daily/neo1973/deploy/glibc/images/neo1973/?C=M;O=D (Daily unstable builds)
- http://buildhost.automated.it/OM2007.2/?M=D (Location of more current unofficial builds.)
下载清单可以在 此找到。您可以在Phase 1 软件测试中找到测试过的映像档。
修改记录(Changelogs )可以在下列位置找到:
请取得以下档案:
- dfu-util (针对Linux /i386的预先编译的二进制文件位于 http://buildhost.openmoko.org)
- (这部份将于个人计算机上执行,将会把档案透过USB传到手机上)
- openmoko-devel-image-fic-gta01-2007********.rootfs.jffs2
- uImage-2.6.21.*-moko*-r*_0_****_0-fic-gta01.bin
- 给phase 0 (Bv03) 手机装置:
- 已有一些人进行测试:
u-boot-gta01bv3-r8_70124c2602ae2d4c5d3dba05b482d91548242de8_0_2040.bin
MD5SUM: 60c5aeba1bd6642b05b3a5e6f2dafe83 - 测试: hrw:
u-boot-gta01bv3-r8_70124c2602ae2d4c5d3dba05b482d91548242de8_0_2062.bin
MD5SUM: 716f1eba9b0f2be4a0a3be4a56724935
- 已有一些人进行测试:
- 针对phase 1 手机,uboot 更新则为非必须。
让手机进入DFU模式
你必须将装置启动到uboot 选单下,以下列的方法执行:
- 拔除HOST上的USB装置
- 按住手机的 AUX 按钮 接着按住手机 电源按钮.
- 在装置正式被启动前,你必须按住电源按钮约4分钟。否则,屏幕只会呈现白色启动模式,但并不会启动电源。
- 屏幕上会出现u-boot 选单:
U-Boot .. === 启动选单=== BOOT Set console to USB Set console to serial Power off Boot from SD Factory reset 按下[AUX] 选取您要的选项,按下[POWER] 执行。
- 透过USB接线将Neo1973 接到host,(直接连接电话到计算机上,不要透过HUB)
Note: 如果bootloader 在30秒内没有动作,没有任何按键动作或者是使用serial console,装置会自动的被启动。 你可以透过每30秒钟按下AUX 按钮告诉bootloader 延续这个动作。当你决定进行这个动作时,请连接到bootloader:
cu -l /dev/ttyACM0 GTA01Bv4 # setenv boot_menu_timeout 65000 GTA01Bv4 # saveenv
若您不熟悉cu,要离开的话你必须按下"~."
(你可能必须安装uucp 套件来存取cu,之前也可能必须要使用"chown uucp:uucp /dev/ttyACM0
")
u-boot并没有需要进一步观察的内容 – 装置会在被告知要更新dfu-util接着会开始自动进行更新映像档的工作。更新了所有的档案之后,你可以选择"Boot" 选项,启动最新的档案。
确实更新装置
再次确认u-boot 是否符合你的硬件装置的版本,若你有除错板来修复失败的u-boot更新时,你可能只需要更新u-boot 。你也可以查看目前的分割.
Note: 以root身份执行应用程序为必须的(至少在Ubuntu 及Debian下是如此)。
Note: 为了避免一个以上的use装置成为作用中装置,请使用-d 0x1457:0x5119 选项。
更新u-boot:
WARNING: 除非你有除错板装置或者,你真的对更新程序有非常深入的暸解,不然不要轻易更新u-boot。更新到错误的 u-boot 映像档将会brick your device! 特别是映像档被放在GTA01B_v03上,而不是GTA01B_v04。
./dfu-util -a u-boot -R -D u-boot-gta01bv3-r8_70124c2602ae2d4c5d3dba05b482d91548242de8_0_2040.bin |
更新kernel:
./dfu-util -a kernel -R -D ./uImage-2.6.21.1-moko10-r0_0_1883_0-fic-gta01.bin
更新kernel至少必须需要一分钟的时间,如果你遇到困难,你可能需要比较一下输出 " U-Boot/ dmesg/ dfu-util 。 手机应该会显示"Starting DFU DOWNLOAD to partition 'kernel'.
更新root 档案系统:
./dfu-util -a rootfs -R -D ./Openmoko-devel-image-fic-gta01-20070501054014.rootfs.jffs2
更新root 档案系统可能会花费约13分钟左右的时间。请注意若你使用XEN VM 进行更新工作,它将会花费更久的时间。
这里是已知无误的输出 U-Boot、dmesg及 dfu-util。手机的屏幕将会显示"Starting DFU DOWNLOAD to partition 'rootfs'。
请注意一般它不需要再更新任何东西。只有特殊需求才需要更新其它内容。
...现在,你已经应该可以启动系统了,但并不会看到任何audio/SD 卡。你必须下载相对应的modules.tgz ,并且将他们复制到openmoko。 - 更新:GTA01 不会需要进行这项动作,除非你安装了包含在root映像档中相符合的kernel ('uname -r' 可以用来显示kernel 版本, 'ls /lib/modules/' 将会显示出目前模块的版本)
VERY IMPORTANT NOTE (我将此视为设计上的瑕疵-- dfu-util 应该要自动执行才对):如果你上传一个与之前不能运作的rootfs 映像档相似的档案—你应该要连接到u-boot bootloader,先清掉NAND,接着上传你的rootf:
cu -l /dev/ttyACM0 GTA01Bv3 # nand erase rootfs
旧版的u-boot 错误还蛮多的,你必须要每25秒按着AUX 按钮,以避免手机在进行内容更新时,进入深眠模式。它并不会在更新时清除掉rootfs ,为了达到这个目地,请执行minicom /dev/ttyACM0,接着在nand中删掉rootfs。
Good luck!
接着要进行的工作
执行到这个阶段,现在你已经拥有了目前最新的kernel及rootfs映像档,或者至少是(半)正式的版本,接着,要做些什么事?
你可能必须要设定USB_Networking并且进一步的设定你的Neo1973。请不要忘记使用下列指令更新你的Neo1973 :
ipkg update && ipkg upgrade
并且参考ipkg repositories.
问题排除
如果在更新映像档时发生错误,可能肇因于连接到Neo1973的USB hub或USB 接线质量太差。建议您在使用dfu-util时,直接将手机连接到host端(即系统)。 如果dfu-util 在开始更新前传送如下的讯息:
Resetting USB... not at least 2 device changes found ?!? Lost device after RESET?
请重新试着键入上述的指令—它应该会重新执行。 而上述讯息也可能在出现bookloader选单时,连接到usb 接线时出现。你必须小心的依照本篇文章中所提到的顺序着手进行,不要太早的连接USB接线。
dfu-util 无法在Windows 操作系统所仿真的linux 环境下执行。 请参考Dfu-util页面取得更多信息。