Android 开机界面及Linux内核启动界面的修改(tiny6410)

第一开机界面替换,即内核bootloader启动小企鹅界面更换

1、首先找一个自定义120*120的png图像,这里名称linux.png,但是后面的ppm名称必须是图中所示

在linux下执行下面代码将png转换为ppm:

然后将生成的ppm文件拷贝到内核logo所在目录:

替换既可

2、重新编译linux内核,# make zImage  将新的zImage烧写进安卓系统。

启动内核时小企鹅logo就会变成这个logo

第二安卓开机界面:即显示ANDROID文字的界面

1、制作当前屏幕像素的图片,6410是H43屏 即480*272,保存为android_logo.png

2、将png转换为安卓使用的rle图像:

使用linux下的imageMagick的convert命令,进行raw转换

>convert –depth8 android_logo.png rgb:android_logo.raw

然后将rwa转换为rle,使用编译后的rgb2565工具

因为我没有这个工具,所以在网上找了个png转rle工具,

直接选中图片save成rle图像,名称一定要为initlogo.rle  如图

3、拷贝initlogo.rle到rootfs_dir目录下,

直接编译build安卓源码可以得到rootfs_dir,编译安卓要5个小时以上,所以我就直接用的之前编译好的,rootfs_android

4、做成新的img镜像:因为我的板子nandflash 是SLC型所以不能编译成MLC的ubi,可以编译成yaffs和ext3。

cd到安卓源码目录。

注意这里需安装mktools工具,方法是在光盘中的mktools工具包放到虚拟机解压到根目录即可;

>tar xzvf /home/student/share/mktools-2010.tar.gz –C /

5、到这一步,目录就会有新的镜像了

将这个镜像覆盖到sd卡中安卓img目录下,烧写到板子就行了。

注意:我的板子刚烧写时第二界面显示,但是以后再重启还是显示android字体,是因为initlogo被删除了,重新将initlogo放进根目录就可以了。或者写个脚本到init.rc中,将logo放到某个文件夹(不要是sd卡)下,重新cp进根目录

第三安卓开机界面(android闪烁动画)修改:

在目录

下找到framework-res.apk  并打开(修改后缀名成winrar打开即可)

在assets下的image就是开机第三屏幕的界面,直接替换两张图片即可,注意shine是背景闪烁那个画面,不能只换一个,这个图片大小可以随意。我这是和第二界面一样满屏

时间: 2024-08-30 02:15:50

Android 开机界面及Linux内核启动界面的修改(tiny6410)的相关文章

Linux内核启动及根文件系统载入过程

上接博文<u-boot之u-boot-2009.11启动过程分析> Linux内核启动及文件系统载入过程 当u-boot開始运行bootcmd命令,就进入Linux内核启动阶段.与u-boot类似,普通Linux内核的启动过程也能够分为两个阶段,但针对压缩了的内核如uImage就要包含内核自解压过程了.本文以linux-2.6.37版源代码为例分三个阶段来描写叙述内核启动全过程.第一阶段为内核自解压过程,第二阶段主要工作是设置ARM处理器工作模式.使能MMU.设置一级页表等,而第三阶段则主要为

Linux内核启动及文件系统加载过程

上接博文<u-boot之u-boot-2009.11启动过程分析> 当u-boot开始执行bootcmd命令,就进入Linux内核启动阶段,与u-boot类似,普通Linux内核的启动过程也可以分为两个阶段,但针对压缩了的内核如uImage就要包括内核自解压过程了.本文以项目中使用的linux-2.6.37版源码为例分三个阶段来描述内核启动全过程.第一阶段为内核自解压过程,第二阶段主要工作是设置ARM处理器工作模式.使能MMU.设置一级页表等,而第三阶段则主要为C代码,包括内核初始化的全部工作

Linux内核启动及加载根文件系统

</pre></h1><p><span style="font-family:KaiTi_GB2312;font-size:18px;">上接博文<<a target=_blank href="http://blog.csdn.net/gqb_driver/article/details/8931775" style="text-decoration: none; font-family: 'Mi

linux内核启动过程学习总结

下面是学习linux内核启动过程的记录 平台是:powerpc mpc8548 + linux2.6.23 内核 通用寄存器的作用r0 :在函数开始时使用r1 :存放堆栈指针,相当于ia32架构中的esp寄存器r2 :存放当前进程的描述符的地址r3 :存放第一个参数和返回地址r4-r10 :存放函数的参数r11 :用在指针的调用和当前一些语言的环境指针r12 :用于存放异常处理r13 :保留做为系统线程IDr14-r31 :作为本地变量,具有非易失性 Linux启动过程描述 第一步:使用Boot

linux内核启动第二阶段之setup_arch()函数分析-2.6.36

执行setup_arch()函数 回到start_kernel当中,569行,调用setup_arch函数,传给他的参数是那个未被初始化的内部变量command_line.这个setup_arch()函数是start_kernel阶段最重要的一个函数,每个体系都有自己的setup_arch()函数,是体系结构相关的,具体编译哪个体系的setup_arch()函数,由顶层Makefile中的ARCH变量决定: 它首先通过检测出来的处理器类型进行处理器内核的初始化,然后通过 bootmem_init

Linux内核启动

Linux内核启动过程概述 Linux的启动代码真的挺大,从汇编到C,从Makefile到LDS文件,需要理解的东西很多.毕竟Linux内核是由很多人,花费了巨大的时间和精力写出来的.而且直到现在,这个世界上仍然有成千上万的程序员在不断完善Linux内核的代码.今天我们主要讲解的是Linux-2.6.22.6这个内核版本.说句实话,博主也不确定自己能够讲好今天这个题目,因为这个题目太大太难.但是博主有信心,将自己学会的内容清楚地告诉大家,希望大家也能够有所收获. 1.启动文件head.S和hea

linux内核启动引导过程

linux内核(uImage格式镜像,uImage = zImage_压缩的内核镜像 + 0x40字节大小的uboot格式信息头)的启动过程大体可以分为三个阶段: 第一:内核的自解压过程(汇编+C语言实现) 主要由.arch/arm/boot/compressed对zImage完成解压,并调用call_kernel跳转到下阶段代码. 第二:板级引导阶段(汇编实现) 主要进行cpu和体系结构的检查.cpu本身的初始化以及页表的建立等 第三:通用内核启动阶段(C语言实现:重点分析) 1. 进入ini

Linux内核启动参数

Linux内核启动参数   Console Options                         参数 说明 选项 内核配置/文件   console=Options 用于说明输出设备 ttyn 终端 ttySn[,options], ttyUSB0[,options] 串口uart,io,addr[,options],uart,mmio,addr[,options]&<60;     netconsole=[src-port]@[src-ip]/[dev],[target-por

linux内核启动参数解析及添加

1.环境: ubuntu16.04 Linux jello 4.4.0-89-generic #112-Ubuntu SMP Mon Jul 31 19:38:41 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 2.查看当前linux内核的启动参数: cat /proc/cmdline 笔者的输出内容如下: BOOT_IMAGE=/boot/vmlinuz-4.4.0-89-generic root=UUID=bef418fa-4202-4513-b39b-cd