需要先在 make menuconfig 中打開 sdk
make -j4
在 bin\targets\ramips\mt7620生成一個
openwrt-sdk-ramips-mt7620_gcc-7.3.0_musl.Linux-x86_64.tar.xz
tar xf openwrt-sdk-ramips-mt7620_gcc-7.3.0_musl.Linux-x86_64.tar.xz
以后使用 sdk 編譯自己的軟件包。
openwrt sdk 的用處。
一般在嵌入式開發軟件要做的事情是這樣,需要先交叉編譯某個庫,如 freeType 或 jpeg 等。生成的 頭文件及庫需要放在一個位置。
在編譯你的軟件時候,在makefile 中指定庫的頭文件,庫路徑什么的,在發布固件的時候,也需要把 so 庫發布到 lib 里面。這些工作是手動做的。
yocto 是一整套,構建,固件,解決庫依賴的編譯工具。(篇符有限,不在這里介紹 yocto )
openwrt sdk 和 yocto 功能差不多,它們提供的功能是。
1,下載
2,打補丁
3,依賴關系
4,編譯進固件
編譯 helloworld 軟件包
參考
https://openwrt.org/docs/guide-developer/helloworld/start
新建2個文件 helloworld.c Makefile
放到 sdk packager helloworld 里面的 src
make 以后會打開配置界面,並自動選擇到 helloworld 為 M
結果 在
bin\packages\mipsel_24kc\base 生成了helloworld_1.0-1_mipsel_24kc.ipk 復制到 路由器中,這里用的是 samba 共享,掛載了 /tmp 節點。
root@OpenWrt:/tmp# opkg install helloworld_1.0-1_mipsel_24kc.ipk
Installing helloworld (1.0-1) to root...
Configuring helloworld.
root@OpenWrt:/tmp# helloworld
hello world
Makefile 寫法,在下一篇文章中。