在使用全志tina系統中,就發現在pack中有很多原資料夾中只有patch和makefile,這就導致我們無法修改原始碼:在out中找到原始碼修改後,只要make,就會被原始的**覆蓋。tina是基於openwrt修改,那我們就參考openwrt,把我們修改的**做成patch,就可以解決問題了。很可惜,如果用git生成的補丁,make會報錯,提示patch錯誤。我目前確定,openwrt中確使用quilt工具製作補丁。
一:安裝quilt
sudo apt-get install quilt
然後,gedit ~/.quiltrc,在home下新建.quiltrc檔案,內容如下
quilt_diff_args="--no-timestamps --no-index -p ab --color=auto"
quilt_refresh_args="--no-timestamps --no-index -p ab"
quilt_series_args="--color=auto"
quilt_patch_opts="--unified"
quilt_diff_opts="-p"
editor="vi"
二、正常編譯tina後,在out中把我們要用的某個原始碼資料夾拷貝到其他地方。注意,這個原始碼,是已經打好了pack中對應patch。
三、關鍵來了。
我們檢視pack中對應的原始碼資料夾,一般有00x-fix-***x.patc**件,00x是patch的序號,我們新的patc**件名,序號要比00x大。之前是006-fix-***,我們新的patch就要是007-fix-***.patch。知道這個後,我們進入到拷貝出來的原始碼中,
1:建立patch:quilt new 007-fix-test.patch
2:這個把你可能會修改的檔案加入到patch中,如我會修改src/test.c:
quilt add src/test.c
然後,用我們熟悉的編輯工具編輯test檔案。
3:生成patch
quilt refresh
在當前檔案下,我們可以看到多出乙個資料夾patch,裡面就是新的007patch了。我們再把這個patch拷貝到pack對應的原始碼資料夾中,make,就會自動生成我們修改後的**了。
你可以反覆修改這個檔案,重複再執行quilt refresh即可,程式會繼續生成這個007的patch。
如果有多個檔案,請多次執行quilt add即可。
以上測試驗證,方法簡單可行。如有問題,請檢查.quiltrc。
全志啟動流程
參考文獻 全志啟動流程可分為5部 bootrom spl uboot kernel rootfilesystem 1 spl背景 spl是乙個mini版本的uboot,類似於mtk平台的preloader,用於載入完整的uboot程式到sdrom,並通過uboot來載入核心啟動系統。spl程式流程如...
全志 ADC驅動
adc 驅動 1 include 2 include 3 include 4 include 5 include 6 include 7 include 8 include 9 include 10 include 11 include 12 include 13 include 14 includ...
5 全志 實地調研 全志科技 遇見SoC晶元龍頭
2019年12月,遇見 全志科技300458。這是片最好的時代,上至頂層,下至草根,都與國內晶元確認了眼神。而我們的任務就是尋找晶元各個細分領域的龍頭。無論按cpu gpu fpga nor 模擬晶元來分,還是按屏下指紋 射頻pa cis等來分,市場都挖出了大牛,甚至有的達到千億市值,極大開啟了資本...