1. 程式人生 > >通過uboot傳參設置mtd分區流程源碼分析

通過uboot傳參設置mtd分區流程源碼分析

開發 節點 drivers fin define 設備節點 http 是否 blog

因為公司同事反映他使用的開板無法將根目錄下的ip_work目mounth成功,由於本人當時沒有去現場查看問題,只是象征性的詢問內核是否創建了/dev/mtdblock5設備節點,因為該開發板默認是掛載在mtdblock5上,由於同事對這方面不了解,包括對問題的敷衍了事,直接反饋給本人,說沒有/dev/mtdblock5,我對此深信不疑,所以當時直接沒有考慮能通過uboot傳參,更改mtd分區信息,而自動創建mtd*設備節點,也算是自己對內核對uboot解參的不了解,後來本人直接把問題歸結於制作文件系統時,沒有創建該設備節點,所以很自然的重新制作的文件系統,並推送到gerrit上,等候評審,後來評審時被一個老員工看到了,反饋給我師傅說:根本不用修改文件系統,能夠直接創建。所以可想而知,打臉了。於是好好分析uboot傳參數修改mtd分區信息的調用過程。

前提條件:通過修改make menuconfig配置,允許解析參數。技術分享圖片

377 __setup("mtdparts=", mtdpart_setup); //kernel/drivers/mtd/cmdlinepart.c 

245 #define __setup(str, fn) \           //init.h"
246 __setup_param(str, fn, fn, 0)  

  

  

通過uboot傳參設置mtd分區流程源碼分析