在Debian9.4.0操作系统下编译openwrt

  • 一、编译环境搭建
  • 二、下载openwrt
  • 三、(可选)进入openwrt目录,下载并安装所有可用的feeds
  • 四、运行menuconfig命令检查编译环境中缺失的软件包


debian docker配置桥接_debian

debian docker配置桥接_git_02

   网上很多的编译openwrt的教程是在Ubuntu14或16的desktop版本下,因为用习惯了debian系统,因此我这次使用的是Debian9.4.0操作系统,内核版本号Linux debian 4.9.0-6-amd64,安装在虚拟机下。debian9.4.0稳定版默认desktop会安装xfce,这里也建议取消安装desktop,使用ssh远程登录,文字命令一样可以编译openwrt,这样就不需要联网下载xfce,安装debian操作系统更快速。

一、编译环境搭建

  1. 安装debian9.4.0,不安装desktop,步骤略。
  2. 更新debian系统,安装编译openwrt的必要软件。
sudo apt-get upgrade
sudo apt-get update
sudo apt-get install git-core build-essential libssl-dev libncurses5-dev unzip subversion mercurial zlib1g-dev gawk time

  最后一个time软件,官方网站上没有说,这个可能是Debian自身没有安装,需要自己安装,不然后面编译openwrt会不通过。

附安装sudo方式
因为openwrt官方建议是使用非root用户来编译,若没有sudo工具,则需要进入su后,安装sudo>

su apt-get install sudo

安装完成后,直接输入命令>

visudo

这个命令,vi与sudo之间没有空格,打开后直接在最后一行添加代码,%username改为你自己的用户名>

%username ALL=(ALL) ALL`

保存并退出:
提示:执行visudo,默认是使用nano编辑器,所以保存退出的时候需要通过快捷键的方式来完成 保存 执行“Ctrl+O”* 回车
执行完“Ctrl+O”后,会输出”File Name to Write sudoers.tmp”,在tmp后执行回车* 退出
执行“Ctrl+X”*

安装完成后,退出root用户。
安装sudo方式 end =============================

二、下载openwrt

  可在usr中新建一个目录myopenwrt,使用git下载openwrt源码,最新的版本。

cd /usr
sudo mkdir myopenwrt
cd myopenwrt
sudo git clone https://git.openwrt.org/openwrt/openwrt.git

  下载时间取决于网速,下载完成后,会有一个openwrt根目录,我们所有的编译操作都在此目录下。若网速太慢,可以直接进入github网站,使用迅雷下载openwrt源码的zip压缩文件,然后上传解压到该目录即可。

  修改openwrt文件目录所有者信息,官方也有提示,这一步相当重要,不然在Debian下会编译失败。

sudo chown -R user:user /openwrt/

三、(可选)进入openwrt目录,下载并安装所有可用的feeds

cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a

四、运行menuconfig命令检查编译环境中缺失的软件包

make menuconfig

  运行menuconfig后,若检查全部通过,会进入配置页面,就可以进行路由器编译前的配置了。注意,ssh登录窗口开大一点,直接全屏就好,不然就会提示窗口显示行列不够。

debian docker配置桥接_openwrt_03


  此时,就可以根据路由器硬件版本型号来配置了。配置完成后,输入命令

make V=99

  开始编译,命令含义就不解释了,自行百度。第一次编译过程中,会从网上下载依赖的软件,因此时间会非常漫长,做好心理准备。第一次编译建议默认配置就行了,确保编译不出错。编译完成后,会在/openwrt/bin/targets/~~下生成编译好的固件,然后就可以愉快的刷机了。