主题 : cm10 for tiny210v2 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 32117
精华: 1
发帖: 16
金钱: 130 两
威望: 26 点
贡献值: 1 点
综合积分: 52 分
注册时间: 2010-11-10
最后登录: 2021-08-19
楼主  发表于: 2013-03-26 17:12

 cm10 for tiny210v2

管理提醒: 本帖被 xoom 设置为精华(2013-05-27)
为了搞Android弄了块tiny210v2的板。电容屏的的板子。

我这个人比较懒,而且现在工作了有点忙。要是因为板硬件差异跑不起来,我就不管了。能解决的问题,我尽量。

这个系统跑在sd卡上,所以给你的sd卡分区。第一个区放bootloader,第二个区放uImage,第三个区做为SD卡,第四个区Android根文件系统。分区大小自己看着办,够放就行。

#1.bootloader
代码:https://github.com/5victor/u-boot-tiny210.git

用的是liukun321移植的u-boot,修复了不能在tiny210v2上运行,主要是因为tiny210v2的nand flash是8K的页,还做了点其它的小美化。u-boot的环境变量是放在SD卡里面的。

u-boot编译什么的就不需要我说了吧。

编译好了,照liukun321那贴说的,烧到卡里去就能运行了。http://blog.csdn.net/liukun321/article/details/7438880

给内核的启动参数:
bootargs=console=ttySAC0,115200 root=/dev/mmcblk0p4 rw rootfstype=ext4 rootdelay=1 init=/init lcd=S70 ctp=3                                                     bootcmd=fatload mmc 0:2 0x20000000 uimage ; bootm 0x20000000
bootargs中root=/dev/mmcblk0p4就是前面为什么Android根文件系统放第4分区的原因。bootcmd中mmc 0:2这就是内核放第二区的原因。
#2.kernel
代码:https://github.com/5victor/linux-tiny210v2.git

那个电容屏和alsa-soc的驱动已经变成源码放在内核里了。我暂时需要这两个模块,所以就只弄了这两个模块的源代码了。

克隆下来代码,进去。

1.cp mini210-tvp5150_android_defconfig .config

2.把u-boot-tiny210v2编译出来的tools/mkimage放在/usr/local/bin

3.make ARCH=arm CROSS_COMPILE=(自已看着办)  uImage

把SD卡第二分区格式化成fat32,把uImage放在其根目录下。

#3.Android
先把Android或者cm源代码下下来。

然后,我移植的。

cm的在https://github.com/5victor/cm_device_samsung_tiny210

Android官方的在https://github.com/5victor/device_samsung_tiny210

把代码克隆下来后移动到device/samsung/tiny210。

1.source build/envsetup.sh

2.lunch 选你看到有tiny210字眼的项目

3.make

4.sd卡第4分区格式化成ext4格式

5.cp -a out/target/product/tiny210/root/* /sd卡根目录 注意那个*号。

6.cp -a out/target/product/tiny210/system /sd卡根目录

7.修改SD卡下*.rc *.prop的权限为644。sysem/build.prop为644。

8.修改init.rc文件

就这样了,当然,有的错误你们遇到之后才知道了。
上几张图,才有真相。




 




我靠,这样的贴居然没人顶。
源代码就在那了,居然没人对怎么把Android移植到一个新的设备感兴趣?
写得不够详细。你是愿意自己吃饭还是愿意别人把饭嚼了喂给你吃?so。遇到问题时先尝试使用搜索引擎解决,实在解决不了再请教别人。

网上各种编译u-boot、编译kernel、编译Android的文章。

还有,自己编译一个系统跑起来的收获绝对比你用SD卡刷系统或者后面出来的USB什么的刷系统收获大得多。
[ 此帖被冰柠绿茶在2013-03-31 02:33重新编辑 ]
级别: 新手上路
UID: 2039
精华: 0
发帖: 19
金钱: 115 两
威望: 35 点
贡献值: 0 点
综合积分: 38 分
注册时间: 2008-10-20
最后登录: 2013-06-01
1楼  发表于: 2013-05-19 16:12

 请问init.rc如何修改?出现init: cannot execve xxxx Permission denied

tiny210 上的,出现一堆init: cannot execve('/system/bin/keystore'): Permission denied是咋回事
uboot 的启动参数,使用友善提供的linux3.08内核。
baudrate=115200
bootargs= console=ttySAC0,115200 root=/dev/mmcblk0p3 rw rootfstype=ext4 rootdelay=1 init=/init lcd=H43
bootcmd=fatload mmc 0:1 0x20000000 uImage ; bootm 0x20000000
bootdelay=3
ethact=dm9000
ethaddr=00:40:5c:26:0a:5b
gatewayip=192.168.0.1
ipaddr=192.168.186.13
netmask=255.255.255.0
serverip=192.168.186.13
stderr=serial
stdin=serial
stdout=serial

Environment size: 396/16380 bytes

出现如下:已经确认system/bin 权限,改为777也无济于事。请问init.rc如何修改?
[    2.824090] regulator_init_complete: pd_mfc_supply: disabling
[    2.829255] regulator_init_complete: pd_tv_supply: disabling
[    2.834926] s3c-rtc s3c64xx-rtc: rtc disabled, re-enabling
[    2.840358] s3c-rtc s3c64xx-rtc: setting system clock to 2012-01-02 01:41:57 UTC (1325468517)
[    2.851999] FIMC0 registered successfully
[    2.854168] FIMC1 registered successfully
[    2.858198] FIMC2 registered successfully
[    2.860895] S5PC1XX TVOUT Driver, (c) 2009 Samsung Electronics
[    2.867165] s5p-tvout s5p-tvout: hpd status is cable removed
[    2.878586] Waiting 1sec before mounting root device...
[    6.872974] EXT4-fs (mmcblk0p3): recovery complete
[    6.880442] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null)
[    6.880546] VFS: Mounted root (ext4 filesystem) on device 179:3.
[    6.880647] Freeing init memory: 188K
[    6.914379] init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_score_adj instead.
[    7.040025] init: cannot open '/initlogo.rle'
[    7.083350] init: cannot execve('/system/bin/dbus-daemon'): Permission denied
[    7.084441] init: cannot execve('/system/bin/mediaserver'): Permission denied
[    7.084902] init: cannot execve('/system/bin/drmserver'): Permission denied
[    7.085830] init: cannot find '/system/etc/install-recovery.sh', disabling 'flash_recovery'
[    7.093798] android_usb: already disabled
[    7.095501] android_usb: already disabled
[    7.099811] init: cannot execve('/system/bin/keystore'): Permission denied
[    7.105914] adb_bind_config
[    7.109474] android_work: did not send uevent (0 0   (null))
[    7.250641] warning: `adbd' uses 32-bit capabilities (legacy support in use)
root@android:/ # [    7.519557] PVR_K:(Warning): SysFinalise: Version string: SGX540 S5PC110 [543, drivers/gpu/pvr/s5pc110/sysconfig.c]
[    7.952352] init: cannot execve('/system/bin/bootanimation'): Permission denied
[    8.589549] request_suspend_state: wakeup (3->0) at 8106484085 (2012-01-02 01:42:03.244564336 UTC)
[    8.591219] init: untracked pid 1502 exited
[    8.599767] init: cannot execve('/system/bin/mediaserver'): Permission denied
[   11.602086] init: cannot execve('/system/bin/keystore'): Permission denied
[   11.602700] init: cannot execve('/system/bin/dbus-daemon'): Permission denied
[   11.603232] init: cannot execve('/system/bin/drmserver'): Permission denied
[   12.265500] request_suspend_state: wakeup (0->0) at 11782436487 (2012-01-02 01:42:06.920516946 UTC)
[   12.267387] init: untracked pid 1767 exited
[   12.269771] init: cannot execve('/system/bin/mediaserver'): Permission denied
[   17.274202] init: cannot execve('/system/bin/keystore'): Permission denied
[   17.274471] init: cannot execve('/system/bin/dbus-daemon'): Permission denied
[   17.275269] init: cannot execve('/system/bin/mediaserver'): Permission denied
[   17.275750] init: cannot execve('/system/bin/drmserver'): Permission denied
[   17.901593] request_suspend_state: wakeup (0->0) at 17418530323 (2012-01-02 01:42:12.556610074 UTC)
[   17.903208] init: untracked pid 1982 exited
[   17.910117] init: cannot execve('/system/bin/mediaserver'): Permission denied

                                                                    
级别: 新手上路
UID: 2039
精华: 0
发帖: 19
金钱: 115 两
威望: 35 点
贡献值: 0 点
综合积分: 38 分
注册时间: 2008-10-20
最后登录: 2013-06-01
2楼  发表于: 2013-05-19 22:26
我是按照楼主的方法修改,直接把文件拷贝到SDcard 里面的,也试着换了友善4.0.3文件系统里面的init.rc也是同样的结果。附件是CM10.1用的的的init.rc.多谢帮忙看看。
级别: 新手上路
UID: 2039
精华: 0
发帖: 19
金钱: 115 两
威望: 35 点
贡献值: 0 点
综合积分: 38 分
注册时间: 2008-10-20
最后登录: 2013-06-01
3楼  发表于: 2013-05-20 22:06
问题解决了 在使用gnome-disk-unitily 格式化SD卡的时候默认使用了 "take ownership of filesystem“把这个选项取消掉即可。
级别: 新手上路
UID: 2039
精华: 0
发帖: 19
金钱: 115 两
威望: 35 点
贡献值: 0 点
综合积分: 38 分
注册时间: 2008-10-20
最后登录: 2013-06-01
4楼  发表于: 2013-05-20 23:13
之前的问题解决了不过还有一堆问题
[    7.687245] init: untracked pid 1848 exited
[   11.367917] request_suspend_state: wakeup (0->0) at 10888571732 (2012-01-02 22:12:48.022120316 UTC)
[   11.370463] init: untracked pid 1849 exited
[   11.371382] init: untracked pid 1850 exited
[   17.005500] request_suspend_state: wakeup (0->0) at 16526157399 (2012-01-02 22:12:53.659705858 UTC)
[   17.008202] init: untracked pid 2063 exited
[   17.009192] init: untracked pid 2064 exited
[   21.329502] request_suspend_state: wakeup (0->0) at 20850162267 (2012-01-02 22:12:57.983710975 UTC)
[   21.332012] init: untracked pid 2277 exited
[   21.333121] init: untracked pid 2278 exited
[   28.198383] request_suspend_state: wakeup (0->0) at 27719046569 (2012-01-02 22:13:04.852594903 UTC)
[   28.203712] init: untracked pid 2491 exited
[   28.204714] init: untracked pid 2492 exited
[   31.884402] request_suspend_state: wakeup (0->0) at 31405066388 (2012-01-02 22:13:08.538615138 UTC)
[   31.886899] init: untracked pid 2705 exited
[   31.887831] init: untracked pid 2706 exited
[   36.216379] request_suspend_state: wakeup (0->0) at 35737046754 (2012-01-02 22:13:12.870595254 UTC)
[   36.218914] init: untracked pid 2919 exited
[   36.219899] init: untracked pid 2920 exited
[   41.557421] request_suspend_state: wakeup (0->0) at 41078091421 (2012-01-02 22:13:18.211639879 UTC)
[   41.560000] init: untracked pid 3133 exited
附件: init.tar.gz (5 K) 下载次数:4
级别: 新手上路
UID: 2039
精华: 0
发帖: 19
金钱: 115 两
威望: 35 点
贡献值: 0 点
综合积分: 38 分
注册时间: 2008-10-20
最后登录: 2013-06-01
5楼  发表于: 2013-05-22 22:36
logcat
显示
复制代码
  1. D/AndroidRuntime( 2691): >>>>>> AndroidRuntime START com.android.internal.os.ZygoteInit <<<<<<
  2. D/AndroidRuntime( 2691): CheckJNI is OFF
  3. E/dalvikvm( 2691): Could not stat dex cache directory '/cache/dalvik-cache': No such file or directory
  4. I/dalvikvm( 2691): Unable to open or create cache for /system/framework/core.jar (/cache/dalvik-cache/system@framework@core.jar@classes.dex)
  5. D/dalvikvm( 2691): Unable to process classpath element '/system/framework/core.jar'
  6. E/dalvikvm( 2691): Could not stat dex cache directory '/cache/dalvik-cache': No such file or directory
  7. I/dalvikvm( 2691): Unable to open or create cache for /system/framework/core-junit.jar (/cache/dalvik-cache/system@framework@core-junit.jar@classes.dex)
  8. D/dalvikvm( 2691): Unable to process classpath element '/system/framework/core-junit.jar'
  9. E/dalvikvm( 2691): Could not stat dex cache directory '/cache/dalvik-cache': No such file or directory
  10. I/dalvikvm( 2691): Unable to open or create cache for /system/framework/bouncycastle.jar (/cache/dalvik-cache/system@framework@bouncycastle.jar@classes.dex)
  11. D/dalvikvm( 2691): Unable to process classpath element '/system/framework/bouncycastle.jar'

在ini.rc中添加
复制代码
  1.     mkdir /cache/dalvik-cache 0777 system system
  2.     chown system system /cache/dalvik-cache
  3.     chmod 0777 /cache/dalvilk-cache

就可以看到桌面,不过
狂打
[   20.303707] android_usb: already disabled
[   20.306580] android_usb: already disabled
[   20.315713] android_usb: already disabled
[   20.315932] android_usb: already disabled
[   20.318971] android_usb: already disabled
[   20.322924] android_usb: already disabled
[   20.326568] android_usb: already disabled
[   20.331555] android_usb: already disabled
[   20.335029] android_usb: already disabled
[   20.338475] android_usb: already disabled
[   20.342504] android_usb: already disabled
老大还有其他招没有?