[[PageOutline]] = 支援 ARM-based 的 Partclone 版本 = == 緣起 == * [情境] 最近姊夫幫爸買了一隻新手機,卻遇到一個問題:怎麼把存在手機裡的簡訊、電話簿存到新手機上呢? * [解法一] 據說使用 3G 的 SIM 卡就可以辦到把資料存在電信公司的空間 * [想法] 在雲端的年代,資料才是重點,當可攜裝置變成『拋棄式』的使用情境,對整個嵌入式設計的情境將有很大的改變。 * [解法二] 有沒有辦法直接備份手機呢? * 目前手機並沒有標準的晶片架構,也沒有標準的開機程序,因此該怎麼讓再生龍支援手機備份,至少需要具備兩個條件(1)標準的開機程序(Ex.從 SD 卡開進 Linux 手機)(2)partclone 支援不同 CPU (Ex. ARM) * 以 Android 平台為例,若是 Netbook 的 CPU 是 Atom,大致上應該也是可以用 Clonezilla 進行備份。 * 若是 Android 手機,CPU 架構是 ARM,那首先要考慮的就是開機程序了。其次是支援 ARM 架構的 Native 程式 == 0. 如何模擬 x86 Android Netbook ( How to install x86 Android for Netbook ) == === 方法一:Live Android === * 如果只是要試玩一下的話,可以用 VirtualBox 或其他虛擬化工具來跑 Live Android * [[Image(http://www.offlineblog.net/wp-content/uploads/2009/05/area.png)]] * [官網] http://code.google.com/p/live-android/ * 測試方法: * 下載 ISO 檔案(因為 Google Code 有單檔大小上限,所以他們分成兩個檔案,Windows 必須用 [http://www.freebytesoftware.com/download/hjsplit.zip HJSplit] 作合併,在 Linux 下比較簡單,就只要用 cat 塞在一起就可以了。 {{{ $ wget http://live-android.googlecode.com/files/liveandroidv0.3.iso.001 $ wget http://live-android.googlecode.com/files/liveandroidv0.3.iso.002 $ cat liveandroidv0.3.iso.001 liveandroidv0.3.iso.002 > liveandroidv0.3.iso }}} * 接著用 VirtualBox 進行測試 Live CD 就可以了。 * 根據 [http://code.google.com/p/live-android/wiki/howtouse How to Use] 寫到可以用 Alt-F1/F7 切換圖形介面跟文字介面,而且他們也裝了 busybox 可以在上面開發東西。 {{{ Tips - use alt+F1 or alt+F7 to switch GUI and console. - busybox added, you can do everything in console. - play with HOME Key and MENU key }}} * 如果要測試 Android App 的話,還有點小麻煩,得動手修改權限。[想法] 應該只要改一些小地方,改用 ramfs 或 unionfs 就可以解決這個困擾。可是....這個版本的 Linux 方便跑 ramfs 嘛??!!(謎之音) {{{ LiveAndroid v0.3 1. you can download APK file directly from Browser 2. the APK file save at /sdcard/download 3. press ALT+F1 4. cp /sdcard/download/* /system/app 5. chown 1000:1000 /system/app/* 6. press ALT+F7, you'll see app now. :) }}} === 方法二:Android-x86 === * 這個專案應該是由台灣的團隊支持的,目標是在 Eee PC 上執行 x86 版本的 Android * [官網] http://www.android-x86.org/ - http://android-x86.sf.net/ * 測試方法: * 下載 ISO 檔案 {{{ $ wget http://nchc.dl.sourceforge.net/project/android-x86/Release%201.6-r2/android-x86-1.6-r2.iso }}} * 接著用 VirtualBox 進行測試 Live CD 就可以了。 == 1. 了解開機程序 Android Booting == * [http://www.androidenea.com/2009/06/android-boot-process-from-power-on.html The Android boot process from power on] 這篇寫得蠻不錯的,還有圖解。 * [註] http://www.androidenea.com/ 這個 Enea 團隊的部落格有一些不錯的資料可以看。 * [[Image(jazz/Android_Partclone:Android_boot_1.png)]] * [[Image(jazz/Android_Partclone:Android_boot_2.png)]] * [[Image(jazz/Android_Partclone:Android_boot_3.png)]] * [[Image(jazz/Android_Partclone:Android_boot_4.png)]] * [[Image(jazz/Android_Partclone:Android_boot_5.png)]] * [[Image(jazz/Android_Partclone:Android_boot_6.png)]] * [http://elinux.org/Android_Booting Android Booting] - 這裡有列了一些參考連結,例如怎麼用 bootchart 去分析 android 開機程序等。 * [http://bootloader.wikidot.com/linux:boot:android Android boot process] - 用表格的方式呈現開機程序,也有一些參考連結。 * 快速開機(Fast Booting) * http://android-dls.com/wiki/index.php?title=Fastboot - 這裡描述了 Android 開機 Bootloader 對開機程序與開機速度造成的影響 * [http://www.linuxfordevices.com/c/a/News/Ubiquitous-QuickBoot/ Fast-boot tech claims to load Android or Linux in one second] - 目前最快的紀錄是一秒鐘開啟 Android (夠快了啦~) * [[Image(http://www.linuxfordevices.com/images/stories/ubiquitous_quickboot_arch.gif)]] * [[Image(http://www.linuxfordevices.com/images/stories/ubiquitous_quickboot_diagram.gif)]] * [[Image(http://www.linuxfordevices.com/images/stories/ubiquitous_quickboot_workflow.gif)]] * [展示影片一] http://www.youtube.com/watch?v=lVY7aKvUg9w * [展示影片二] http://www.youtube.com/watch?v=MPePQBD3cRo - [http://armdevices.net/2010/06/08/ubiquituous-quickboot-1-second-android-boot/ 用的是 Freescale i.MX51 開發板] * [新聞] [http://armdevices.net/2010/06/08/ubiquituous-quickboot-1-second-android-boot/ Ubiquitous Corporation Launches "Ubiquitous QuickBoot", as a Break-Through Booting Innovation for Various Embedded Devices] == 2. 開發環境 - 硬體(開發板?!) Hardware - development boards == * [http://www.androidenea.com/2010/10/working-with-android-on-development.html Working with Android on development boards] - Enea 團隊介紹了幾款不同的開發版 === Beagle board === * [官網] http://beagleboard.org/ || CPU || TI OMAP ( ARM + DSP ) || || Price || USD. 149 || * [http://www.linuxfordevices.com/c/a/News/LiquidWare-DIY-Android-Modular-Gadget-Platform Android DIY kit builds on BeagleBoard platform] === Zoom II === * [官網] [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=53575&DCMP=wtbu_zoom&HQS=Other+PR+zoom2_technical Zoom™ OMAP34x-II Mobile Development Platform (MDP)] - 算是 TI 自家的開發板,根據 Enea 團隊的介紹,優點是比 Beagle Board 具有更多介面。 || CPU || TI OMAP ( ARM + DSP ) || === Atmel AT91SAM9M10-EKES === * [官網] [http://www.atmel.com/products/at91/sam9m10.asp?family_id=605 Atmel AT91SAM9M10-EKES] || CPU || ARM926 || === Panda Borad === * [官網] http://www.pandaboard.org/ || CPU || TI OMAP 4 ( ARM + DSP ) || === Blaze === * [http://svtronics.com/market_omap Blaze™ Mobile Development Platform (MDP) ] || CPU || TI OMAP ( ARM + DSP ) || === Freescale i.MX515 === * [http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX515 i.MX515: Applications Processor] || CPU || Freescale i.MX515 (ARM Cortex A8) || === EMMA Mobile 1 HDK/SDK === * [http://www2.renesas.com/mobile/en/emma_mobile/hdk_sdk/index.html EMMA Mobile 1 HDK/SDK] || CPU || EMMA Mobile 1-S || === Tegra 250 Developer Kit === * [http://developer.nvidia.com/tegra/tegra-devkit-features Tegra 250 Developer Kit] || CPU || Dual-core ARM® Cortex-A9 MPCore™ processor || == 3. 開發環境 - 軟體 Software - development toolkit == * == x. 相關產業八卦消息 == * [http://www.linuxfordevices.com/c/a/News/Adobe-MAX-2010-announcements/ Adobe updates AIR dev tools, supporting Android] - Adobe 被 Apple 封殺,目前也只有 Google 陣營還算半挺他(因為 HTML5 的關係) * 小心誤觸專利陷阱 * [http://www.cw.com.tw/article/print.jsp?id=42108 專利跨界!智慧手機訴訟成常態] * [http://www.cw.com.tw/article/print.jsp?id=3812 台灣科技業,深陷全球智財戰]