核心修改Android 啟動過程logo修改

2021-09-06 09:49:29 字數 2500 閱讀 9550

在本文中,我們主要介紹核心修改的內容,自我感覺有個不錯的建議和大家分享下

這裡我們是在ubuntu下進行操作我是用root使用者登陸的,首先安裝netpbm庫

執行:apt-get install netpbm

對於android系統最開始表現logo是在核心當中,所以首先我們要修改核心中的logo.

一.核心中相關修改

編譯linux核心logo製造指令碼mklogo.sh,內容如下:

#!/bin/sh

pngtopnm logo.png > linuxlogo.pnm

pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm

pnmtoplainpnm linuxlogo224.pnm > logo_linux_gzsd_clut224.ppm

rm linuxlogo.pnm linuxlogo224.pnm

將你選好的logo轉換成png格式,定名為logo.png並與mklogo.sh放在統一路徑下.

執行./mklogo.sh最後生成logo_linux_gzsd_clut224.ppm

這個定名可以自由變動,但是必須遵守logo_yourname_type這類定名方法,這裡僅羅列*_clut224.ppm的定名方法,其它格式的定名方法請檢視drivers/video/logo/makefile檔案.

將logo_linux_gzsd_clut224.ppm檔案放到核心原始碼下的drivers/video/logo/目錄下

進入drivers/video/logo目錄

1.修改kconfig檔案

增加:在endif #logo之前

config logo_linux_gzsd

bool "gzsd logo"

default n

2.修改makefile檔案

增加:

obj-$(config_logo_linux_gzsd)       += logo_linux_gzsd_clut224.o

3.logo.c中函式fb_find_logo中的 if (depth >= 8)

上面增加:

#ifdef config_logo_linux_gzsd

logo = &logo_linux_gzsd_clut224;

#endif

4.核心原始碼目錄下的include/linux/linux_logo.h中增加

extern const struct linux_logo logo_linux_gzsd_clut224;

每日一道理

毅力,是千里大堤一沙一石的凝聚,一點點地累積,才有前不見頭後不見尾的壯麗;毅力,是春蠶吐絲一縷一縷的環繞,一絲絲地堅持,才有破繭而出重見光明的輝煌; 毅力,是遠航的船的帆,有了帆,船才可以到達成功的彼岸。

5.在終端執行make menuconfig,選上.

device drivers  ---> graphics support  --->bootup logo  --->gzsd logo

儲存退出後編譯即可

6.禁止lcd控制台的游標

在核心原始碼目錄下drivers/video/console/fbcon.c中

注釋掉函式:fb_flashcursor和fbcon_cursor內的所有內容

7.讓logo中螢幕旁邊表現:

drivers/video/fbmem.c

修改函式fb_do_show_logo如下

static void fb_do_show_logo(struct fb_info *info, struct fb_image *image,

int rotate, unsigned int num)

} else if (rotate == fb_rotate_ud)

} else if (rotate == fb_rotate_cw)

} else if (rotate == fb_rotate_ccw)

}}

重新編譯即可

二.android啟動後閃動畫面修改:

路徑:檔案系統原始碼下的frameworks/base/core/res/assets/images/下有兩張

android-logo-mask.png

android-logo-shine.png

修改這兩張即可,注意請將本來的儲存。

文章結束給大家分享下程式設計師的一些笑話語錄: 據說有一位軟體工程師,一位硬體工程師和一位專案經理同坐車參加研討會。不幸在從盤山公路下山時壞在半路上了。於是兩位工程師和一位經理就如何修車的問題展開了討論。

硬體工程師說:「我可以用隨身攜帶的瑞士軍刀把車壞的部分拆下來,找出原因,排除故障。」

專案經理說:「根據經營管理學,應該召開會議,根據問題現狀寫出需求報告,制訂計畫,編寫日程安排,逐步逼近,alpha測試,beta1測試和beta2測試解決問題。」

軟體工程說:「咱們還是應該把車推回山頂再開下來,看看問題是否重**生。」

Android啟動過程

android啟動過程之image分析過程 android在啟動的時候,會由uboot傳入乙個init引數,這個init引數指定了開機的時候第乙個執行的程式,預設就是init程式,這個程式在ramdisk.img中。可以分析一下它的 看看在其中到底做了一些什麼樣的初始化任務,它的原始檔在system...

JOS 核心啟動過程

開機引導程式bootstrap 32 bit devices unused extended memory bios rom 16 bit devices,expansion roms vga display low memory bios 從上圖可以看出,bios的位址是從0xf0000 0x10...

linux核心啟動過程

第一步 電腦加電後cpu開始自身初始化,然後從某個固定位置 一般為0xfffffff0 取指令開始執行,此指令為跳轉指令,跳轉到bios 首部。第二步 bios開始加電自檢進行post power on self test 此階段完成系統硬體檢測,包括記憶體 系統匯流排檢測等,然後bios讀取啟動裝...