编译

优质
小牛编辑
141浏览
2023-12-01

准备工作

Ubuntu 16.04

$ apt-get install build-essential subversion libncurses5-dev zlib1g-dev gawk gcc-multilib flex git-core gettext libssl-dev unzip texinfo device-tree-compiler dosfstools libusb-1.0-0-dev

CentOS 7

$ yum install -y unzip bzip2 dosfstools wget gcc gcc-c++ git ncurses-devel zlib-static openssl-devel svn patch perl-Module-Install.noarch perl-Thread-Queue

CentOS7 需手动安装 device-tree-compiler

$ wget http://www.rpmfind.net/linux/epel/6/x86_64/Packages/d/dtc-1.4.0-1.el6.x86_64.rpm
$ rpm -i dtc-1.4.0-1.el6.x86_64.rpm

开始编译

方法1 手动拷贝

$ cd openwrt
$ cp configs/leo_k18_universal_node_defconfig .config
$ make defconfig && make

方法2 通过 envsetup.sh 配置

$ source envsetup.sh
$ make

方法2将方法1做成自动脚本,并添加选择文件系统和 release/debug 选项。

方法3,自动编译脚本用于发布镜像

$ ./build.sh -p leo_k18_universal_node -n openwrt-leo-k18-universal -f leo-k18-universal  -j32 -r

方法3是调用方法2,并编译生成 Recovery 分区以及 OTA 固件,通常用做生产镜像发布。