ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2011年1月4日 星期二

install disk

利用原來的 kerne, rootfs, 和 system image (主要是要用到裡面的 command)。來作 auto install disk

當然,target 要能選擇從另一個 sd 開機。

大概就是 pc 做的一樣:
  • partition
  • format
  • dd
所以所有 pc 上的 tool 都要找到 android/arm 的版本
  • fdisk -- busybox
  • mke2fs -- e2fsprog
  • dd -- busybox (android 付的 dd 不認識 K, M, G 等 size argument)
就這樣。
然後寫成 shell script,放到 init.rc 裡。

init.rc 可以參考 recovery 和 diskinstaller 裡的 init.rc 來作。
大概就是 甚麽都不用了,只要記得 mount partition 跟 class_start default
-----> 因為要 class_start default,接下來的一堆 service command h才會啟動。

上述動作都寫在同一個 shell script,然後由 service 叫起來:
service installall /sdcard/installall.sh console oneshot
因為 partition, format,dd 有相依,一個做完才能換另一個,所以要寫在同一個 script,如果用分別的 service 寫,在 sleep的時候,下一個service就會啟動了。

shell script 要注意, sh 在 /system/bin/sh

貼一下 diskinstall 的 init.rc: on init export PATH /sbin:/system/sbin:/system/bin export ANDROID_ROOT /system export ANDROID_DATA /data symlink /system/etc /etc mkdir /data mkdir /cache mount /tmp /tmp tmpfs # mount the installer needed partitions # mount ext2 /dev/block/sdb2 /data ro on boot ifup lo hostname localhost domainname localdomain class_start default service installer /system/bin/installer -p /dev/block/sdb2 console oneshot service logcat /system/bin/logcat console service console /system/bin/sh console

沒有留言:

標籤

網誌存檔