八、啟動linux內核並修改開機logo


1. 編譯並燒寫linux內核

  1)先准備好內核源碼包urbetter-linux2.6.28-v1.0.tgz,輸入命令:tar -zxvf urbetter-linux2.6.28-v1.0.tgz 解壓

  2)進入內核源碼包目錄,修改Makefile,將CROSS_COMPILE改為自己的交叉編譯工具。

  3)執行命令:make

  之后會在arch/arm/boot目錄下生成zImage文件

  將zImage燒寫進Nandflash的0x200000地址

2. 准備文件系統

  在6410目錄下創建一個名為rootfs的目錄,將文件系統壓縮包urbetter-rootfs-qt-2.2.0.tgz放置6410目錄下,輸入:sudo tar xzvf  urbetter-rootfs-qt-2.2.0.tgz -c rootfs

  輸入命令:vi /etc/exports

  最后一行加入:/home/linux/zkf/6410/rootfs *(rw,sync,no_root_squash,no_subtree_check)    注意括號內沒有空格,否則重啟nfs服務時會報錯

  之后輸入命令:sudo service nfs-kernel-server restart 重啟nfs服務

  使用命令:showmount -e 可以看見當前可以用nfs掛載的目錄:

  

3. 修改U-boot啟動命令和參數

  啟動U-boot后輸入以下命令:

  setenv ipaddr 192.168.1.100
  setenv serverip 192.168.1.200
  setenv gatewayip 192.168.1.1
  setenv bootargs "root=nfs nfsroot=192.168.1.200:/source/rootfs init=/linuxrc console=ttySAC0,115200 ip=192.168.1.100"

  setenv bootcmd "nand read 50008000 200000 300000;bootm 50008000" 

  saveenv

  重啟開發板,讓U-boot引導內核啟動,內核啟動后能看到LCD上顯示企鵝。

 4. 修改linux開機logo

  准備好一張480*272的png格式的圖片linux_logo.png,按順序輸入以下命令:

  pngtopnm linux_logo.png > linux_logo.pnm

  pnmquant 224 linux_logo.pnm > linux_logo_clut224.pnm

  pnmtoplainpnm linux_logo_clut224.pnm > logo_linux_clut224.ppm

  如果提示沒有軟件則使用:sudo apt-get install netpbm 獲取。

  接下來將logo_linux_clut224.ppm復制到linux內核drivers/video/logo目錄下,替換掉原來的文件,同時刪除掉logo_linux_clut224.c和logo_linux_clut224.o,重新編譯下載內核。內核啟動后顯示的logo就是剛剛替換掉的圖片了。

5. 去掉屏幕打印信息

  第4步完成后雖然開機logo修改成功了,但是啟動后屏幕上會顯示一些打印信息,如下:

  

  我一直以為這部分代碼在內核里,於是在內核里搜了半天沒搜到,然后以為在U-boot里,搜了半天也沒搜到,最后發現是在文件系統里。。。

  將開發板文件系統根目錄下etc/init.d/rcS中這幾句echo全部注釋掉再復位開發板,屏幕上那幾句打印信息就沒了。

6. 去掉開機logo上的光標

  第5步去掉了屏幕上的打印信息,但是左上角還有一個光標,接下來我們要把它去掉。

  將內核代碼drivers/video/console/fbcon.c文件中第395行左右的fb_flashcursor函數和第1359行左右的中的fbcon_cursor函數內容全部注釋掉,重新編譯下載內核,重啟開發板光標便去除了。

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM