【Tiny4412】烧写Android系统(SD卡)
发布日期:2021-06-29 20:47:24
浏览次数:3
分类:技术文章
本文共 5994 字,大约阅读时间需要 19 分钟。
00. 目录
文章目录
01. 编译内核
1.1 解压内核源码
[root@itcast tools]# tar -xjvf linux-3.5_analyse.tar.bz2
1.2 配置内核
[root@itcast linux-3.5_analyse]# make clean [root@itcast linux-3.5_analyse]# cp tiny4412_android_defconfig .config[root@itcast linux-3.5_analyse]#
1.3 关闭TtrustZone
[root@itcast linux-3.5_analyse]# vim .config +485注释485行485 #CONFIG_ARM_TRUSTZONE is not set #=y
1.4 编译源码
[root@itcast linux-3.5_analyse]# make -j4..... CC crypto/ansi_cprng.mod.o CC drivers/scsi/scsi_wait_scan.mod.o CC drivers/char/tiny4412_hello_module.mod.o Kernel: arch/arm/boot/Image is ready AS arch/arm/boot/compressed/head.o GZIP arch/arm/boot/compressed/piggy.gzip CC arch/arm/boot/compressed/misc.o LD [M] drivers/char/tiny4412_hello_module.ko LD [M] crypto/ansi_cprng.ko CC arch/arm/boot/compressed/decompress.o LD [M] drivers/scsi/scsi_wait_scan.ko CC arch/arm/boot/compressed/string.o SHIPPED arch/arm/boot/compressed/lib1funcs.S SHIPPED arch/arm/boot/compressed/ashldi3.S AS arch/arm/boot/compressed/lib1funcs.o AS arch/arm/boot/compressed/ashldi3.o AS arch/arm/boot/compressed/piggy.gzip.o LD arch/arm/boot/compressed/vmlinux OBJCOPY arch/arm/boot/zImage Kernel: arch/arm/boot/zImage is ready
02. 安装dnw工具
2.1 解压dnw工具
[root@itcast tools]# tar -xzvf dnw-linux.tar.gz
2.2 编译
[root@itcast tools]# cd dnw-linux[root@itcast dnw-linux]# make
2.3 安装
[root@itcast dnw-linux]# make installmake -C /lib/modules/`uname -r`/build M=`pwd`/src/driver modulesmake[1]: Entering directory `/usr/src/kernels/2.6.32-431.el6.x86_64' Building modules, stage 2. MODPOST 1 modulesmake[1]: Leaving directory `/usr/src/kernels/2.6.32-431.el6.x86_64'make -C src/dnwmake[1]: Entering directory `/home/tools/dnw-linux/src/dnw'make[1]: “dnw”是最新的。make[1]: Leaving directory `/home/tools/dnw-linux/src/dnw'make -C src/dnw installmake[1]: Entering directory `/home/tools/dnw-linux/src/dnw'cp dnw /usr/binmake[1]: Leaving directory `/home/tools/dnw-linux/src/dnw'make -C /lib/modules/`uname -r`/build M=`pwd`/src/driver modules_installmake[1]: Entering directory `/usr/src/kernels/2.6.32-431.el6.x86_64' INSTALL /home/tools/dnw-linux/src/driver/secbulk.ko DEPMOD 2.6.32-431.el6.x86_64make[1]: Leaving directory `/usr/src/kernels/2.6.32-431.el6.x86_64'cp dnw.rules /etc/udev/rules.d/depmod[root@itcast dnw-linux]#
2.4 测试
[root@itcast dnw-linux]# dnwUsage: dwn [-a load_addr]Default load address: 0x57e00000[root@itcast dnw-linux]#
03. 安装Android_tools
3.1 解压
[root@itcast tools]# tar -xzvf android_tools.tgz usr/local/bin/fastbootusr/local/bin/adbusr/local/bin/minigzipusr/local/bin/mkbootfsusr/local/bin/mkimage[root@itcast tools]#
3.2 将可执行文件拷贝到/usr/local/bin目录中
[root@itcast tools]# cd usr/local/bin/[root@itcast bin]# lsadb fastboot minigzip mkbootfs mkimage[root@itcast bin]# cp * /usr/local/bin/[root@itcast bin]#
04. 烧写Android系统
4.1 查看分区
# minicom端DengJin # fdisk -p 0partion # size(MB) block start # block count partition_Id DengJin #
4.2 分区
# minicomDengJin # fdisk -c 0 320 806 518fdisk is completedpartion # size(MB) block start # block count partition_Id 1 5788 3521760 11855580 0x0C 2 326 136620 667920 0x83 3 807 804540 1654620 0x83 4 518 2459160 1062600 0x83 DengJin #
4.3 格式化分区
# minicomDengJin # fatformat mmc 0:1Start format MMC&d partition&d ...Partition1: Start Address(0x35bce0), Size(0xb4e6dc)size checking ...Under 8Gwrite FAT info: 32Fat size : 0x2d39Erase FAT region................................................................................Partition1 format complete.DengJin #
4.4 烧写Android镜像
images\Superboot4412.bin Bootloaderimages\Android\zImage Android 内核images\Android\ramdisk-u.img Android 根分区映象images\Android\system.img Andorid 系统分区映象image\Android\userdata.img Andorid Data 分区映象images\FriendlyARM.ini 系统烧写配置文件
# 在minicom中:DengJin #fastboot
烧写内核
[root@itcast boot]# pwd/home/tools/linux-3.5_analyse/arch/arm/boot[root@itcast boot]# lsbootp compressed dts Image install.sh Makefile zImage[root@itcast boot]# fastboot flash kernel zImage sending 'kernel' (4293 KB)...OKAY [ 1.078s]writing 'kernel'...OKAY [ 0.376s]finished. total time: 1.530s[root@itcast boot]#
格式化data分区和cache分区
[root@itcast boot]# fastboot -werasing 'userdata'...OKAY [ 9.364s]formatting 'userdata' partition...Erase successful, but not automatically formatting.File system type not supported.OKAY [ 0.006s]erasing 'cache'...OKAY [ 6.982s]formatting 'cache' partition...Erase successful, but not automatically formatting.File system type not supported.OKAY [ 0.006s]finished. total time: 16.357s[root@itcast boot]#
烧写根分区映像
[root@itcast Android]# fastboot flash ramdisk ramdisk-u.img sending 'ramdisk' (703 KB)...OKAY [ 0.185s]writing 'ramdisk'...OKAY [ 0.055s]finished. total time: 0.239s[root@itcast Android]#
烧写系统分区
[root@itcast Android]# fastboot flash system system.img # 烧写时间比较长,大约需要几分钟。
设置启动参数
DengJin # set bootargs console=ttySAC0,115200n8 androidboot.console=ttySAC0 lcd=S70 ctp=2DengJin # saveSaving Environment to SMDK bootable device...doneDengJin # reset
uboot启动设置参数显示如下:
DengJin # printenvbaudrate=115200bootargs=console=ttySAC0,115200n8 androidboot.console=ttySAC0 lcd=S70 ctp=2bootcmd=movi read kernel 0 40008000;movi read rootfs 0 41000000 400000;bootm 40008000 41000000bootdelay=3ethaddr=00:40:5c:26:0a:5bgatewayip=192.168.0.1ipaddr=192.168.0.20netmask=255.255.255.0serverip=192.168.0.10Environment size: 705/16380 bytesDengJin #
等会Android系统就启动了。
05. 问题解决
6.1 问题一:fastboot执行失败,动态库找不到
[root@itcast bin]# fastbootfastboot: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
解决办法
[root@itcast bin]# yum install libstdc++.i686
06. 附录
6.1 Linux内核
下载:6.2 dnw工具
下载:6.3 Android Tools
下载:6.4 Android镜像
下载:6.5 Android4.2.2.rar(镜像文件)
下载:转载地址:https://dengjin.blog.csdn.net/article/details/106601993 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月06日 16时44分35秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
PHP Imap模块删除函数 --Star.hou
2019-04-30
快速搭建Dev / Test / Porduct 环境妙招--Star.hou
2019-04-30
SSD:虽然我适应多尺度,可是数据扩增对我可太重要了/(ㄒoㄒ)/~~
2019-04-30
关于 tflite 更新的 task_api 和 interpreter 两种方式
2019-04-30
2021-06-21 VC++ 6.0安装
2019-04-30
Java方法重载
2019-04-30
可变参数列表与数组作为参数的区别
2019-04-30
关于javadoc命令
2019-04-30
Java内存管理之堆和栈
2019-04-30
就近原则总结
2019-04-30
this关键字的应用
2019-04-30
构造方法常见问题总结
2019-04-30
package和import应用的常见问题
2019-04-30
static关键字的应用
2019-04-30
关于Objecg的常见问题
2019-04-30
关于单例模式的常见问题
2019-04-30