前情提要:
透過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:
1 2 | cp arch/arm/configs/hi3518a_full_defconfig .config make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- menuconfig SHELL=bash |
將swap啟用
儲存新的設定檔
1 | make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- uImage SHELL=bash |
編譯成功即可在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