ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2009年1月31日 星期六

Bookmark : after make... Android image

build 完之後,雖然 make 的 target 是 install_image,但是 卻不是拿 installer.img 來用。

follow link 的說明,build 好的 system folder 是
  • / : root
  • /system : system
  • /data : data
kernel image 是已經 build 好的..在哪裡?
follow instruction 要 mkinitramfs 時...找不到2.6.27-android module..

這一篇有增加一個 step,就是build x86 kernel 的 module.
不知道要不要作..(Q_Q 是日文..),但是 boot image 都做出來了,應該是不需要才對..

這一個 thread 有說明要怎樣 build 一個 x86 kernel for Virtualbox.
他是由 installer.img 來作的..

Some bookmarks about Android : cupcake

原來 Android的下一版(1.5) 叫做 cupcake(那在branch 看到的 donuts 是?)。
自從 Android 整個 open source 後,一堆 support 都出現了,Android 開始蓬勃發展了起來。

像這一篇:Try out Cupcake yourself
就把 cupcake build 好,用 1.0 版的 android emulator 就可以 run 了。

還有,跟著 link,就可以看到,有人開始把 Android SDK 納入 Debian package了。
deb package of Android SDK with breeding edage cupcake images
使用 debian 系統的人,以後就可以簡單的 apt-get 就可以 run Android emulator,安裝 Android SDK了。

Android open source 後,像以前的一些限制:Armv5 以上,cramfs support 應該都沒有了吧。
因為這些都是因為 Android 沒有 open source 前,只有 release rootfs,所以 kernel porting 的重點都在"能 run 這個 rootfs",所以才有這些限制。

現在 Android for x86 都出來了,Armv5 的限制應該也沒有了吧。

2009年1月29日 星期四

果然有error.. build OK!

果然,沒有那麼簡單,make 的過程出現 Error:
Copy: jasmin (out/host/linux-x86/obj/EXECUTABLES/jasmin_intermediates/jasmin)
Install: out/host/linux-x86/bin/screenshot2
Install: out/host/linux-x86/bin/traceview
Install: out/host/linux-x86/lib/libswt-atk-gtk-3236.so
Install: out/host/linux-x86/lib/libswt-cairo-gtk-3236.so
Install: out/host/linux-x86/lib/libswt-gtk-3236.so
Install: out/host/linux-x86/lib/libswt-pi-gtk-3236.so
target asm: grub_start_stage2 <= external/grub/stage2/start.S
Target userdata fs image: out/target/product/eee_701/userdata.img
du: 無法存取「out/target/product/eee_701/data」: 沒有此一檔案或目錄
/bin/bash: line 0: [: -lt: unary operator expected find: out/target/product/eee_701/data: 沒有此一檔案或目錄
out/host/linux-x86/bin/genext2fs: out/target/product/eee_701/data is neither a file nor a directory
make: *** [out/target/product/eee_701/userdata.img] Error 1 make: *** Waiting for unfinished jobs.... 
但也還好,google一下,有回應: Change 8265: Fix the build issue when building installer_img with TARGET_ARCH=x86 所以follow說明,找一下 bootable/diskinstaller/config.mk 改一下:
installer_target_data_files := \
$(INSTALLED_BOOTIMAGE_TARGET) \
$(INSTALLED_SYSTEMIMAGE) \   
$(INSTALLED_USERDATAIMAGE_TARGET) \
$(bootldr_bin)
改成
installer_target_data_files := \
droidcore \
$(bootldr_bin)
然後重新下一次 make xxxx... 的 command.. 結果呢? 還在 build.. 希望會有好結果..
花了一個晚上,終於build OK了。 只有在最後,target Dex xxxx 的階段,不知道是因為 memory 不夠(只有512M),所以 swap 一直動作,hd 轉個不停,大概持續1個多小時,然後沒有任何output。 disk space 也沒有改變,幾乎以為是當機。 最後的log是:
--- Finished installer data image -[ out/target/product/eee_701/installer/installer_data.img ]-
Creating bootable installer image: out/target/product/eee_701/installer.img
Updated inst_boot length to be 4444KB
Updated inst_data length to be 420764KB
I/diskconfig(16123): Requesting operation on a regular file, not block device.
I/config_mbr(16123): Configuring pentry. status=0x80 type=0x83 start_lba=2048 len_lba=8888
I/config_mbr(16123): Configuring pentry. status=0x0 type=0x83 start_lba=10936 len_lba=841528
I/config_mbr(16123): Configuring pentry. status=0x0 type=0x0 start_lba=0 len_lba=0
I/config_mbr(16123): Configuring pentry. status=0x0 type=0x0 start_lba=0 len_lba=0
Copying images to specified partition offsets
I/diskutils(16123): Writing RAW image 'out/target/product/eee_701/installer/installer_tmp.img' to 'out/target/product/eee_701/installer.img' (offset=1048576)
I/diskutils(16123): Wrote 4550656 bytes to out/target/product/eee_701/installer.img @ 1048576
I/diskutils(16123): Writing RAW image 'out/target/product/eee_701/installer/installer_data.img' to 'out/target/product/eee_701/installer.img' (offset=5599232)
I/diskutils(16123): Wrote 430862336 bytes to out/target/product/eee_701/installer.img @ 5599232
File edit complete. Wrote 2 images.
Done with bootable installer image -[ out/target/product/eee_701/installer.img ]-

2009年1月27日 星期二

Worklog - build Android for x86

照著 Androidx86 這一頁內容,到 android 這一頁 download repo 這個 tool。 建立 ~/myproject/cupcake,然後作 repo init 和 repo sync ..
原來 -b option 就是取出 branch,這個 Thread 最後(2009/01/29)說 cupcake 已經 merge 進 master 了,所以不需要再 -b cupcake
repo sync 要好久呀,常常在 "unpacking objects" 就停下來。(停在某個 %). 這時候,我就用 Ctrl-C 中斷,等個幾分鐘後再作 repo sync.. 有時候就會繼續下去.. 但是一下又停了。
發現用system monitor 來看比較方便,大約 1min 會有一個download,所以如果發現network 沒動作,超過 3 min,就Ctrl-C,再 repo sync..

終於,花了三天終於 sync 完畢,開始作 checkout xxx 的動作。
checkout 動作就不用再download了,所以很快..
follow Androidx86 的說明,加上 local_manifest.xml。 內容大概是加上 vendor/asus/eeepc701 這一個 source。 再用 repo sync 把他拉下來。 -- 這個很快。一下就好了。 然後就是 follow instruction,build...
後記: 有人 follow 2009/1/29以後的 thread 整理了一份 "build android for eeepc"。
這個文件有點問題,照著他作: repo init 後 create local_manifest 然後 repo sync,會出現 error。 在 repo init 後,還是要 repo sync 一次,再create local_manifest ,再 repo sync 一次..

2009年1月26日 星期一

Before building --- android

Android Opensource 後,陸續有人 port 到不同的hardware target 上,甚至,port到 x86 上。

google 了一下,想不到,連 Androidx86 這樣的網站都出現了。
看了一下,好像是 2009/1/18 建立的。 - 還蠻新的。

最早的 x86 port 是 eeepc 701,現在該站的文章有說明 ThinkPad, Geode LX (for OLPC?)。

艇麻煩的,還要安裝Google為 Android寫的 source control tool : repo。
雖然說是 git 的加強,但也太囉唆了些。
還好 repo 只是一個 python file。所以'安裝'還算簡單,就是 download 檔案下來,chmod 就可以了。
最近好像"為xxx project 寫building tool 好像是流行,稿得要 build 一個 project就要install 一堆 build environment。
為什麼不能像以前一樣,就是 configure, make, make install 就 OK ?
最古老/完整的內容,應該還是這一個討論串。後來的內容都是要在 VirtualBox 上 Run。好像還體難的,有一堆問題。

2009年1月20日 星期二

bookmark - Android porting to real target

這一篇 KLDPWiki有說明 Android, kernel, software developement, root file system 等的內容說明。 Android 需要的 Linux Kernel 跟一般 Linux Kernel 不一樣的地方好像是 EABI 跟 OpenBind。 要 build support EABI 的 Kernel,要先 build support EABI 的 toolchain..
會不會有雞生蛋,蛋生雞的問題?
另外一篇 Compilation of Android kernel ,則是說明 如何 build 一個可以 run android vm 的 kernel。 是以qemu for arm 作例子

2009年1月4日 星期日

Hv3 - the fast light web browser

在google "fast light web browser" 時,本以為會出現 Dillo,結果有一篇竟然說是 "Dillo Killer",所以去看了一下: The Hv3 web browser. Is it a Dillo killer ? 大概說明一下.. rendering engine 是 Tkhtml3,Scripting 是 SEE。完全用 C 寫的。 速度上,和Dillo差不多,rendering 的效果則是好很多。 目前ubuntu 還沒有包近來,要手動 wget 執行。
速度是很快,image, javascript 都有一個開關可以選。 (Html Viewer 3)

標籤

網誌存檔