使用git下载openwrt:
git clone git://github.com/openwrt/openwrt.git
openwrt常用库:
https://github.com/openwrt/packages
更新安装配置:
cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a
openwrt配置(按照自身的情况选择):
make menuconfig
好了编译安装:
make V=s
V=s 表示跟踪编译的详细过程
最后编译出错(Nice):
错误1:configure: error: you should not run configure as root (set FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check)
意思是说设置环境变量:
export FORCE_UNSAFE_CONFIGURE = 1
错误2:openwrt-ramips-mt7620-ex2700-squashfs-sysupgrade.bin is too big
出现这种情况是因为生成了太多的.bin文件,可以通过修改 target/linux/ramips/image/目录下的对应芯片的.mk文件,将不需要的
TARGET_DEVICES 注释掉就可以解决!!!!
一、缺少libc.so.0 libm.so.0 libdl.so.0依赖库的问题解决
在openwrt中编译自己的项目时,出现依赖库不存在的问题,但是staging_dir/target-mipsel_24kc_glibc-2.24/pkginfo/***.provides有libc.so.6库
解决方法:在libc.provides加入缺少库的名字,而不是在对应项目的provides文件加。
问题的根源:由于项目中使用的so动态库是基于libc.so.0编译的,而当前的编译器glibc只有libc.so.6,所以对不上
以上的解决方法可以骗过编译器,但是最终不能解决问题!!!
可以通过建立软连接的方法解决,比如 ln -s libc.so.0 libc.so.xxx
二、lede-17.01版本中默认情况下缺少/dev/mem内存设备,需要修改.config配置文件
使能 CONFIG_KERNEL_DEVMEM=y
三、缺少/dev/eth_status网线状态监控文件描述符,需改配置文件.config
CONFIG_BUSYBOX_DEFAULT_IFCONFIG=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_IFCONFIG_STATUS=y
三、安装lrzsz包
支持X,Y,Z modem模式传输
通过shell脚本进行串口通信
设置波特率
stty -F /dev/ttyS0 raw speed 115200
echo "hello world"
通过lsz传输文件
lsz -X /tmp/file.img > /dev/ttyS0 < /dev/ttyS0