1. 程式人生 > >linux 定製自己的開機logo

linux 定製自己的開機logo

1、首先我們準備一張自己的開機圖片,做成符合linux要求的ppm(圖片儲存結尾要求是ppm,並且是ascii碼形式儲存,而且應該是索引模式最大顏色數應該是224)圖片。 2、logo部分程式碼在drivers/video/logo中,以logo_linux_clut224.ppm為例, logo_linux_clut224.c 是依賴logo_linux_clut224.ppm生成的檔案,詳見附件中Makefile。logo_linux_clut224.c檔案包含logo_linux_clut224這個結構體,結構體中包含解析度,圖片陣列,顏色型別。 3、logo.c中會呼叫這個logo_linux_clut224結構體,
#ifdef CONFIG_LOGO_LINUX_CLUT224 logo = &logo_linux_clut224; #endif 定義在logo_linux_clut224.c中include/linux/linux_logo.h 中將這個結構體定義為全域性。
4、如果一版韌體要相容不同解析度的logo那麼將不同解析度的圖片對應的結構體生成出來最好將這些陣列儲存到一個檔案中去然後include,然後定義成不同的結構體。在include/linux/linux_logo.h這裡將自定義的結構體宣告為全域性。然後再logo.c根據從parameter檔案中讀取的配置來進行不同的解析度以及不同圖片的相容。
5、因為logo_linux_clut224.c檔案是生成的,所以在頂層目錄 make clean時候這個檔案會被清除掉。而且也不會提交,所以修改Makefile 結尾clean-files := *.o  *_clut224.c *_mono.c *_vga16.c *_gray256.c把你不想被清掉的檔案從這一行去掉。git 也不會提交這些檔案,所以修改下.gitignore檔案把#*_clut224.c註釋掉。