步骤如下:
$ mkdir ~/mydroid
$ cd ~/mydroid
repo init -u git://git.koolu.org/freerunner/platform/manifest.git -b koolu-1.0
repo sync
make TARGET_PRODUCT=freerunner
编译不过时安装过下面的 fakeroot、iblzo2-dev
编译PASS后,在mydroid运行下面的脚本,脚本如下:
#./cp_android_OS release
#!/bin/sh
ANDROID_OUT=./out
ANDROID_DEVICE=freerunner
EXPORT_ROOT=`pwd`/export
Usage()
{
echo "Usage: $0 release|debug"
}
CopyAndroid()
{
if [ -d $1 ]
then
echo "Copying from $1 to $EXPORT_ROOT..."
sudo rm -rf $EXPORT_ROOT/
sudo mkdir -p $EXPORT_ROOT/root
# Copy the image...
cd $1
tar cf - root | (cd $EXPORT_ROOT; sudo tar xf -)
tar cf - system | (cd $EXPORT_ROOT/root; sudo tar xf -)
# Change owner and permissions...
cd $EXPORT_ROOT
sudo chown -R root:root root
sudo chmod -R 777 root
else
echo "$1 does not exist!"
fi
}
if [ $# != 1 ]
then
Usage
else
case $1 in
release)
CopyAndroid $ANDROID_OUT/target/product/$ANDROID_DEVICE/
;;
debug)
CopyAndroid $ANDROID_OUT/debug/target/product/$ANDROID_DEVICE/
;;
*)
Usage
esac
fi
这样在mydroid/export下出现/root文件夹
就是制作好的根文件系统size为44.3M
修改下面的init.rc文件:
除去所有mout命令,
# Open up access to GSM interface
#chown radio /dev/s3c2410_serial0
# Open up access to GPS interface
#chmod 666 /dev/s3c2410_serial1
注释掉这两行,否则不能输入命令
内核启动信息:
Warning: unable to open an initial console.
init: cannot open '/initlogo.rle'
init: cannot find '/system/bin/playmp3', disabling 'bootsound'
init: cannot find '/system/bin/flash_image', disabling 'flash_recovery'
sh: can't access tty; job control turned off