openwrt 内核源码搭建和编译(一)

689 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

1. 说明

如果不需要修改内核,则可跳过内核的编译。

2. 安装虚拟机

ubuntu镜像地址
ubuntu解压可用

安装步骤不在此细说,参考网上的即可。注意硬盘分配建议30G,内核源码编译后至少占用20G的空间。

3. 下载源码

openwrt-hiwooya-master内核源码
toolchain-mipsel交叉编译工具链
openwrt-hiwooya-dl软件包 openwrt扩展包

4. 安装需要的组件

sudo apt-get install gcc 
sudo apt-get install g++ 
sudo apt-get install binutils 
sudo apt-get install patch 
sudo apt-get install bzip2 
sudo apt-get install flex 
sudo apt-get install bison 
sudo apt-get install make 
sudo apt-get install autoconf 
sudo apt-get install gettext 
sudo apt-get install texinfo 
sudo apt-get install unzip 
sudo apt-get install sharutils 
sudo apt-get install subversion 
sudo apt-get install libncurses5-dev 
sudo apt-get install ncurses-term 
sudo apt-get install zlib1g-dev 
sudo apt-get install gawk
sudo apt-get install asciidoc
sudo apt-get install libz-dev
sudo apt-get install libssl-dev

5. 编译openwrt-hiwooya-master

5.1 复制代码到/home/目录

cp openwrt-hiwooya-master /home/openwrt-hiwooya-master -rf
cd /home/openwrt-hiwooya-master

5.2 复制dl到源码顶层目录

tar jxvf dl.tar.bz2 -C /home/openwrt-hiwooya-master/

5.3 配置

cp config-HIWOOYA16128 .config
make menuconfig

image.png

选择其他需要的软件包,根据后面的项目,需要用到的有

  • 4g相关:Utilities --->prince --->quectel
  • sqlite3相关:
    Libraries ---> database --->libsqlite3
    Utilities ---> database --->sqlite3-cli
  • mqtt相关:Network --->mosquitto-client-nossl
  • gpio相关:Utilities ---> gpioctl-sysfs
  • 原子库:Base system ---> libatomic
  • usb转串口[可选]:
    Kernel modules ---> USB Support ---> kmod-usb-serial ---> kmod-usb-serial-ch341
    Kernel modules ---> USB Support ---> kmod-usb-serial ---> kmod-usb-serial-cp210x
  • 支持ps命令带参[可选]:Utilities ---> procps
  • 去除声卡相关[可选]:Kernel modules ---> Sound Support 里的所有声卡相关
  • dmesg[可选]:Utilities ---> dmesg

5.4 开始编译

make V=99

编译安装过程大概耗时几十分钟,取决于电脑的性能。最后编译出来的固件存放在/home/openwrt-hiwooya-master/bin/ramips/openwrt-ramips-mt7688-HIWOOYA1664-squashfs-sysupgrade.bin,大小为7.75M。

6. 内核烧录

参考官方文档,使用web界面方式烧录即可。