|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
假如用户想使用的 LOGO 图片小于屏幕分辨率,则可以先按照前面的方法将 LOGO 图片编译到内核,然后烧写到开发板中,可以看到 LOGO 图片小于在左上角出现,这种情况需要调整 LOGO 的位置。
) _5 v/ U( o) N' v接下来简单介绍一下如何修改 LOGO 的位置。( ~# ~' b& @# K0 D
首先我们使用的图片是内核默认自带的 ppm 文件,“logo_linux_clut224.ppm”,也就是小企鹅图片,它的分辨率非常小,我们介绍如何修改源码将其移动到屏幕正中间。1 d: n; y! {( a2 O) R
在内核源码“drivers/video/fbdev/core/fbmem.c”中的 fb_show_logo_line 函数的
) Z! [1 @ w2 { H4 @# O6 C! Z“image.height = logo->height;”行之后增加代码。
# o5 q. P8 x6 x; S: kimage.dx=(info->var.xres/2)-(image.width/2);/ o: U. e1 m }& k7 L
image.dy=(info->var.yres/2)-(image.height/2);# O! Z1 _/ p W- C+ [( H' I. Y
![]()
2 n: w! u: z: ~! K2 b修改之后如图 2所示。
' p/ R: D/ I5 E/ ? ( t0 h/ S* L( h; @9 U* `
接着修改:fb_do_show_logo(info, &image, rotate, n);将 n 改成 1,修改之后,如图 73.4.3所示。
* c5 d- @) m! N, E8 g . Z% J" w M5 n% z
修改源码“drivers/video/console/fbcon.c”中的 fbcon_prepare_logo()函数: D# h L. d: N, B9 @. y' J% O
在代码logo_height = fb_prepare_logo(info, ops->rotate); logo_lines = DIV_ROUND_UP(logo_height, vc->vc_font.height);1 g5 U9 k( S: P' g4 U
之间增加:4 w" X1 e% J9 {* i' T
logo_height += (info->var.yres/2) - (logo_height/2);- W5 N- M' R, b @# P1 S/ k
如图 4所示。
% }, C% ?; _# j3 C 9 A+ |/ e5 Y( r) Z- I2 Z
至此代码修改完成,重新编译烧写之后,再内核启动过程中,可以看到 linux 内核的小企鹅 LOGO 在屏幕的正中间。
9 u8 p6 k; o$ u, P![]()
/ L3 Q! ? ~9 \. m C6 N" h迅为imx6ull开发板
; k3 ~% n2 U; c. E# l 3 D" g1 E, M2 ?3 W- x0 U/ B
|
|