瀏覽月:

5 月 2018

Hi3518 kernel compile常見問題集 (一)

前情提要
透過frp協定直接實作p2p ipcam,但是hi3518原始的memory太小,使用frp時報錯

Runtime error: Out of Memory

好,沒關係,linux 有一swapon功能可以把sd卡作為延伸的memory

swapon: function not implemented

可…可惡,沒關係,我還可以重新燒kernel

正文:
因為只要重新編譯kernel,所以這裡只說明單獨編譯kernel的
採用arm-hisiv100nptl-linux工具編譯kernel:

將swap啟用

儲存新的設定檔

 

編譯成功即可在arch/arm/boot/中看到uImage

以下是錯誤處理

一、編譯kernel報錯處理

在\Hi3518_SDK_VX.X.XX\osdrv\kernel\linux-3.0.y\kernel\timeconst.pl中的第373行
將 defined(@val) 改成 @val

二、編譯busybox報錯處理(編譯osdrv才需要,單獨編譯kernel不需要)

在\Hi3518_SDK_VX.X.XX\osdrv\busybox-x.xx.x\makefile中
將 config %config:scripts_basic outputmakefile FORCE 改成 %config:scripts_basic outputmakefile FORCE
將 /%/:prepare scripts FORCE 改成 %/:prepare scripts FORCE

Ubuntu Cross Compile Go-lang for Linkit 7688

輕輕鬆鬆,Go 真方便。

好,問題又來了,要編譯有cgo的go檔案時,需要將相對應的gcc安裝好並且設定編譯成static
因此首先,需要在自己的Ubuntu環境內先安裝相對應的gcc工具

安裝好後,即可下指令compile你含有cgo的程式了,
這邊我是compile go sqlite3的example

 

 

Linkit 7688 裝置frp client&開機運行

首先 下載Linkit 7688 能用的執行檔 並且解壓縮後利用scp 傳至7688內
https://github.com/fatedier/frp/releases
7688用的是mipsle的版本。

完成後 配置frpc.ini
啟動測試

配置開機自啟動
需要先安裝screen

配置好後 rc.local裡面會長這樣

這時就可以reboot測試

有跳出frpc的log的話,表示開機運行成功!

參考資料:

OpenWrt 使用 frp 实现内网穿透


https://github.com/fatedier/frp