主题 : 一起来做mini2440的Android的根文件系统 复制链接 | 浏览器收藏 | 打印
Just do it
级别: 侠客
UID: 2754
精华: 4
发帖: 66
金钱: 2435 两
威望: 873 点
贡献值: 40 点
综合积分: 212 分
注册时间: 2008-12-07
最后登录: 2016-04-13
楼主  发表于: 2009-09-01 21:20

 一起来做mini2440的Android的根文件系统

一直以来都在用比人的Android文件系,想自己做一个
S3C2440属于armv4类型的CPU,freeruner项目的Android介绍了如何从源码来编译
Android系统,详细步骤如下面的网站:
http://wiki.openmoko.org/wiki/Android_porting
目前状态:编译PASS,但启动后不会出现logo,一直处于黑屏状态
Android的粉丝们,如果感兴趣的话,git代码后,看是否能成功的做好这个系统,
有问题的话QQ49121715交流
级别: 新手上路
UID: 3989
精华: 0
发帖: 20
金钱: 185 两
威望: 88 点
贡献值: 0 点
综合积分: 40 分
注册时间: 2009-02-19
最后登录: 2017-09-13
1楼  发表于: 2009-09-01 22:09
应该没什么大问题吧,只要能够拿到代码就算好的,我现在是网速太慢,挂机都无法下载到代码。其实你可以自己尝试去捣鼓,别光看着网上的做。
Just do it
级别: 侠客
UID: 2754
精华: 4
发帖: 66
金钱: 2435 两
威望: 873 点
贡献值: 40 点
综合积分: 212 分
注册时间: 2008-12-07
最后登录: 2016-04-13
2楼  发表于: 2009-09-02 10:27
我捣鼓了很久了,android在跑,但就是没有UI
级别: 新手上路
UID: 7025
精华: 0
发帖: 29
金钱: 255 两
威望: 114 点
贡献值: 0 点
综合积分: 58 分
注册时间: 2009-06-29
最后登录: 2012-05-03
3楼  发表于: 2009-09-02 11:26
支持! 不知用原生的Android加armv4补丁是否可行,有空研究一下.
Just do it
级别: 侠客
UID: 2754
精华: 4
发帖: 66
金钱: 2435 两
威望: 873 点
贡献值: 40 点
综合积分: 212 分
注册时间: 2008-12-07
最后登录: 2016-04-13
4楼  发表于: 2009-09-02 12:01
git下的freeruner android已经在原生打好了ARMV4的补丁,也就是benno大侠的补丁。
级别: 新手上路
UID: 8685
精华: 0
发帖: 2
金钱: 20 两
威望: 10 点
贡献值: 0 点
综合积分: 4 分
注册时间: 2009-09-02
最后登录: 2009-10-12
5楼  发表于: 2009-09-08 10:13
我下载了koolu1.0的版本,编译后运行也出现同样的问题.但下载的根文件系统在改动后工作正常.下载的根文件系统应该是cupcake 1.5的,不知道从哪里下载源码?是不是需要打armv4的补丁?补丁从哪里下载?希望版主告知.谢谢!!
Just do it
级别: 侠客
UID: 2754
精华: 4
发帖: 66
金钱: 2435 两
威望: 873 点
贡献值: 40 点
综合积分: 212 分
注册时间: 2008-12-07
最后登录: 2016-04-13
6楼  发表于: 2009-09-08 11:58
不知道怎么样改才能出现图形界面,实际上从logcat看,系统是在运行的
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
7楼  发表于: 2009-09-08 12:58
引用第6楼jeefjiang于2009-09-08 11:58发表的  :
不知道怎么样改才能出现图形界面,实际上从logcat看,系统是在运行的

我也正在做这个事情,现在已经可以正常启动到Home画面了,但touchscreen和keyboard还不能用。
你把你做的步骤和启动的logcat输出再贴一遍吧,我看看和我的有什么差别
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
Just do it
级别: 侠客
UID: 2754
精华: 4
发帖: 66
金钱: 2435 两
威望: 873 点
贡献值: 40 点
综合积分: 212 分
注册时间: 2008-12-07
最后登录: 2016-04-13
8楼  发表于: 2009-09-08 19:47
版主到底是牛人,关于触摸屏校准的问题请看这篇博客:
http://wuzhenzhi.21ic.org/user1/2537/archives/2009/61231.html
shinelk大侠的校准引入了tslib,实际上的谷歌手机是没这个的,这篇blog介绍在驱动程序时怎么处理坐标的
Just do it
级别: 侠客
UID: 2754
精华: 4
发帖: 66
金钱: 2435 两
威望: 873 点
贡献值: 40 点
综合积分: 212 分
注册时间: 2008-12-07
最后登录: 2016-04-13
9楼  发表于: 2009-09-08 20:20
步骤如下:
$ 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