1.OpenWrt源码下载编译

1.简介

OpenWrt是一个基于Linux的开源嵌入式操作系统,专门用于路由器和其他嵌入式设备。它提供了一个灵活的平台,允许用户自定义和控制他们的网络设备。具有以下的特性:

  1. 开放源代码: OpenWrt是一个完全开源的项目,由全球各地的开发者社区维护和支持。这意味着用户可以自由查看、修改和分发OpenWrt的源代码,以满足自己的需求。
  2. 灵活的配置: OpenWrt提供了一个强大的配置界面,允许用户对路由器进行高度个性化的定制。用户可以选择安装和配置各种软件包和功能,如网络代理、VPN服务、防火墙规则等。
  3. 轻量级和高效性能: OpenWrt被设计为轻量级和高效的操作系统,适用于资源有限的嵌入式设备。它采用了精简的内核和最小化的系统组件,以提供更快的启动时间和更高的性能。
  4. 软件包管理: OpenWrt使用自己的软件包管理系统,称为Opkg。用户可以使用Opkg来浏览、安装和升级各种软件包,从而扩展和增强他们的路由器功能。

2.代码下载编译

1,环境配置

安装相应依赖工具

sudo apt-get update

sudo apt-get install build-essential libncurses5-dev gawk git subversion gettext unzip file python

2,代码下载
#下载代码
git clone https://git.openwrt.org/openwrt/openwrt.git
cd openwrt
#添加第三方feeds源
#找到文件 lede/feeds.conf.default
vim lede/feeds.conf.default

src-git kenzok https://github.com/kenzok8/openwrt-packages
src-git small https://github.com/kenzok8/small

#把上面的两段复制进去保存,然后执行下面
./scripts/feeds update -a
./scripts/feeds install -a

下载完成之后,源码在openwrt目录。

3,代码编译
1,配置menuconfig

配置需要编译的架构,选择对应开发板的架构ARM/MIPS。

cd openwrt
make menuconfig

以下x86为例:

第一步,如下图第1步,进入选项,选择x86架构;

第二步,在qemu运行中会用到,这可以一起设置一下,如上图,进入箭头2选项,去掉GZip images,如下图,该步骤会将生成内核的img文件单独显示出来。

如果出现如下报错,按照下面执行,否则忽略,跳转到第二步(该部分用于升级gcc/g++,Python的版本)

Build dependency: Please install the GNU C Compiler (gcc) 8 or later
Build dependency: Please reinstall the GNU C Compiler (8 or later) - it appears to be broken
Build dependency: Please install the GNU C++ Compiler (g++) 8 or later
Build dependency: Please reinstall the GNU C++ Compiler (8 or later) - it appears to be broken
Build dependency: Please install Python >= 3.7
Build dependency: Please install Python >= 3.7
Build dependency: Please install the Python3 distutils module
Build dependency: Please install the Python3 stdlib module

创建一个脚本

vim install_dependencies.sh

复制以下代码到install_dependencies.sh中。

#!/bin/bash

# 安装依赖包
sudo apt update
sudo apt install build-essential -y
sudo apt install python3 python3-distutils python3-stdlib -y

# 检查gcc版本
gcc_version=$(gcc -dumpversion)
if [[ $(bc <<< "$gcc_version >= 8") -eq 0 ]]; then
  sudo apt install gcc-8 g++-8 -y
  sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 100
  sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 100
fi

# 检查Python版本
python_version=$(python3 -c 'import sys; print(sys.version_info[0]*10+sys.version_info[1])')
if [[ $python_version -lt 37 ]]; then
  sudo apt install python3.7 -y
  sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1
fi

echo "依赖安装完成。"
chmod +x install_dependencies.sh
./install_dependencies.sh
2,整体编译make
make -jn V=s  # n需要修改为数字,实际值为编译时使用内核数,以ubuntu实际内核数为准,V=s显示编译日志
3,重新编译

        重新配置新架构或其他设置

rm -rf ./tmp && rm -rf .config
make menuconfig
make -jn  # n需要修改为数字,实际值为编译时使用内核数,以ubuntu实际内核数为准

3.总结

记录代码下载和编译方法。

  • 10
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

故曦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值