openwrt關閉串列埠列印資訊
阿新 • • 發佈:2018-12-31
mt7620n僅有一個串列埠
由於開發板只有一個UART lite介面,在原生的OpenWrt中作為了核心列印和tty控制檯所用。
而在很多情況下,需要使用串列埠與外部晶片進行通訊,這時就需要從OpenWrt中釋放串列埠。
其實這個任務只有兩個步驟:(我們假定$(TOPDIR)為OpenWrt的編譯目錄)
關閉串列埠控制檯
將$(TOPDIR)/target/linux/ramips/base-files/etc/inittab檔案裡的下面一句註釋掉
::askconsole:/bin/ash --login
$ vi $(TOPDIR)/target/linux/ramips/base-files/etc/inittab
::sysinit:/etc/init.d/rcS S boot ::shutdown:/etc/init.d/rcS K shutdown #::askconsole:/bin/ash --login
關閉部分核心列印
在$(TOPDIR)/package/base-files/files/etc/config/system檔案新增以下兩句
option 'conloglevel' '1' option 'kconloglevel' '1'
$ vi $(TOPDIR)/package/base-files/files/etc/config/system
config system option 'conloglevel' '1' option 'kconloglevel' '1' option hostname OpenWrt option timezone UTC config timeserver ntp list server 0.openwrt.pool.ntp.org list server 1.openwrt.pool.ntp.org list server 2.openwrt.pool.ntp.org list server 3.openwrt.pool.ntp.org option enable_server 0
通過以上兩個步驟,就可以關閉OpenWrt中所有的系統串列埠互動,除系統剛剛啟動前十餘秒的uboot列印資訊和Kernel早期列印資訊(關於這個部分的殘餘列印資訊,建議在下位機開發的時候做出冗餘)。
以上的方法是在OpenWrt的原始碼裡修改,編譯新的韌體,將新的韌體燒進WRTnode便可釋放串列埠。
由於OpenWrt檔案系統的可寫性,也可以直接修改WRTnode現有韌體裡的/etc/inittab和/etc/config/system檔案,重啟後即可釋放串列埠。
因為WRTnode2系列有兩個串列埠,如果你需要連線一個串列埠裝置通訊,就直接使用ttyS1。如果需要兩個串列埠那就需要像WRTnode1那樣釋放ttyS0。(關閉核心列印和關閉控制檯)