1.1. Ubuntu

Openwrt 推荐的 Linux 发行版为 Ubuntu 20.04 LTS(Long Term Support)版本,其他版本也可行,只是安装软件包的依赖和版本可能不同。

1.1.1. 下载 Openwrt

Openwrt 的代码托管于 Gitee 服务器中:

  • 客户注册 Gitee 账号

# 下载主工程代码
git clone https://gitee.com/qiming-zhixian/m4-openwrt.git

# 下载feeds软件包
cd m4-openwrt
git clone https://gitee.com/qiming-zhixian/zx-feeds.git

1.1.2. 编译环境准备

Openwrt SDK 的开发环境中,还需要安装一些依赖包,本文提供基于 apt 的在线安装方案

1.1.2.1. 资源库更新

在国内使用 apt 进行软件安装,会经常碰到 http://cn.archive.ubuntu.com/ubuntu 无法访问或者访问速度非常慢,最简单的办法是替换成国内比较快的镜像网站,测试中 mirrors.aliyun.com 的效果很好

sudo gedit /etc/apt/sources.list   中  cn.archive.ubuntu.com 全部更换为 mirrors.aliyun.com
sudo apt-get update

1.1.2.2. 安装依赖

sudo apt-get install subversion build-essential libncurses5-dev zlib1g-dev gawk git ccache \
    gettext libssl-dev xsltproc libxml-parser-perl \
    gengetopt default-jre-headless ocaml-nox sharutils texinfo mtd-utils
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install zlib1g:i386 libstdc++6:i386 libc6:i386 libc6-dev-i386
sudo apt-get install device-tree-compiler python3 python3-pip
pip3 install pycryptodomex
pip3 install fdt

1.1.2.3. 安装toolchian

# 下载toolchain https://pan.baidu.com/s/1HlQWjvmJT9RhN4Iir8K_tQ 提取码:hlrj
# 解压缩toolchain
sudo tar riscv64-linux-x86_64-20210512.tag.gz -xvf -C /opt/
# 设置环境变量,修改 ~/.profile文件, 将下面这行添加到文件末尾
PATH="/opt/riscv64-linux-x86_64-20210512/bin:$PATH"
# 手动生效环境变量
source ~/.profile
# 测试交叉工具链
riscv64-unknown-linux-gnu-gcc --version

1.1.3. 编译检查

如果上述安装均成功,可以进入到 m4-openwrt 目录

# 生成配置文件
cd m4-openwrt
make ZXM47D00_zx
# 编译
make V=s -j4
# 生成固件: bin/targets/m4/nand/ZXM47D00/m4_ZXM47D00_nand_page_2k_block_128k_v1.0.0.img