在porting一個功能的時候,發現編譯完成後,系統要壓縮image之前

會執行rsdk-linux-lstrip的動作,縮小library的大小以及將不必要的library先從/romfs移除

用以縮小firmware的大小。

但是卻遇到了我們需要用的library卻一直被移除,仔細看了rsdk-linux-lstrip這個perl檔之後,

發現rsdk-linux-lstrip在做的時候,他只會去保留/bin, /usr/bin/, /sbin下面的執行檔有用到的library。

而我們所porting的執行檔卻是放在/usr/sbin下面,因此rsdk-linux-lstrip在做的時候,無法判別需要留下該library,

所以,我們先修改rsdk-linux-lstrip這個檔案,加上/usr/sbin的判斷即可。

使用「readelf -d 執行檔」 這樣的指令,可以看的出來該執行檔用了哪些share library。

此外,將執行檔使用2進制編輯器打開可以看到檔案的開頭會有\x7FELF字樣,rsdk-linux-lstrip也使用此資訊

來尋找執行檔。

文章標籤

創作者介紹
創作者 Yisin 的頭像
Yisin

欣情巧克力

Yisin 發表在 痞客邦 留言(0) 人氣()