假如用戶想使用的 LOGO 圖片小于屏幕分辨率,則可以先按照前面的方法將 LOGO 圖片編譯到內核,然后燒寫到開發板中,可以看到 LOGO 圖片小于在左上角出現,這種情況需要調整 LOGO 的位置。 接下來簡單介紹一下如何修改 LOGO 的位置。 首先我們使用的圖片是內核默認自帶的 ppm 文件,“logo_linux_clut224.ppm”,也就是小企鵝圖片,它的分辨率非常小,我們介紹如何修改源碼將其移動到屏幕正中間。 在內核源碼“drivers/video/fbdev/core/fbmem.c”中的 fb_show_logo_line 函數的 “image.height = logo->height;”行之后增加代碼。 image.dx=(info->var.xres/2)-(image.width/2); image.dy=(info->var.yres/2)-(image.height/2); ![]() 修改之后如圖 2所示。 ![]() 接著修改:fb_do_show_logo(info, &image, rotate, n);將 n 改成 1,修改之后,如圖 73.4.3所示。 ![]() 修改源碼“drivers/video/console/fbcon.c”中的 fbcon_prepare_logo()函數 在代碼logo_height = fb_prepare_logo(info, ops->rotate); logo_lines = DIV_ROUND_UP(logo_height, vc->vc_font.height); 之間增加: logo_height += (info->var.yres/2) - (logo_height/2); 如圖 4所示。 ![]() 至此代碼修改完成,重新編譯燒寫之后,再內核啟動過程中,可以看到 linux 內核的小企鵝 LOGO 在屏幕的正中間。 ![]() 迅為imx6ull開發板 ![]() |