开发环境:
主机:Ubuntu 20.04
开发板:MYD-YG2UL开发板
1 安装相关工具和库
先更新源:
$sudo apt-get update
安装git工具
$sudo apt-get install git
安装依赖的库文件
$sudo apt-get install gcc g++ binutils patch bzip2 flex bison cmake make autoconf gettext texinfo unzip sharutils ncurses-term zlib1g-dev libncurses5-dev gawk
$ sudo apt-get install gawk grep libc-dev libz-dev perl rsync subversion
$ sudo apt install build-essential ccache device-tree-compiler gettext gperf intltool libelf-dev libglib2.0-dev libgmp3-dev libltdl-dev libncurses5-dev libssl-dev libreadline-dev libtool wget nano patch pkgconf python3 python3-pyelftools zlib1g-dev swig texinfo ack xxd
2 OpenWrt源码获取
米尔科技针对MYD-YG2UL开发板提供两种获取源码的方式,一种是直接从米尔光盘镜像中获取压缩包,另外一种是使用 git获取位于 github 上实时更新的源码进行构建。
笔者这里直接从光盘镜像获取源码压缩包并将其拷贝到用户目录并解压。
$ tar -xvf myir-renesas-openwrt.tar.bz2
其解压目录如下所示。
当然也可以从github拉取代码:
编译OpenWrt系统还需要依赖linux内核,因此需要将myir-renesas-linux.tar.bz2 内核源码解压到 openwrt 源码下的 Linux 目录下。
$ tar -xvf myir-renesas-linux.tar.bz2 -C linux/
3 配置OpenWrt
下载完OpenWrt的源码后,为了使OpenWrt支持更多的软件,需要更新和安装其它源上面的软件。
$./scripts/feeds update -a
$./scripts/feeds install -a
一切就绪,接下来就可以开始编译了。
在编译OpenWrt系统之前,我们首先要对它进行配置。
$ make defconfig && make menuconfig
我们就可以通过方向键来选择配置选项,通过空格键来选择配置状态。当执行完上命令后,便会弹出如图。
为了让OpenWrt系统能成功的在我们的开发板上运行起来,我们需要做如下配置。
- .选择CPU型号
Target System (Renesas) --->
- .选择CPU子型号
Subtarget (RZ/G2X MPU soc evk boards (64 bit) --->
- .选择具体路由器型号
Target Profile (myir rzg2ul) --->
Target Image 配置如下。
Advanced configuration options 配置,使用外部的内核源码。
当然还可以使能 OpenWrt SDK,用于应用开发。
还可以配置Image configuration ,比如版本信息。
PPP 设置,取消勾选PPP选项,不然会报错。
如果勾选PPP选项,报错信息如下。
然后保存退出,这样就配置完成了。
4 编译OpenWrt
最后执行make V=99,开始漫长的编译,编译时间由电脑配置决定,由于编译时,需要的软件是从网络上面下载,所以这里要求电脑必须能够上网。V=99意思显示所有信息。
$make V=99
在编译前,可是用以下命令将源码先下载:
$ make -j8 download V=s
第一次编译大概需要4、5个小时,以后再次编译,则分分钟搞定。编译出来的镜像位于bin/targets/renesas/armv8目录下面。
$ls bin/targets/renesas/armv8
其中openwrt-renesas-armv8-myir_rzg2ul-xxxg.gz就是我们要的镜像。烧写到板子上面即可启动。这样最简单OpenWrt就可以启动了,不过好多功能都没有,一步一步来,不断深入。