百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

openwrt环境搭建、编译以及版本说明

bigegpt 2024-08-06 12:03 3 浏览

openwrt环境搭建比较简单,没有太多复杂的东西,只要安装好相应的依赖库然后编译就可以,遇到相应的问题就直接解决。这里需要提到的一点MTK官方维护的固件是比较多编译问题的。

一、ubuntu版本问题

ubuntu版本要求,如果编译的是MTK官方固件,建议不要太高版本的,因为版本太高,编译不通过,笔者曾经尝试不同版本的,基本上ubuntu16编译没什么太大的问题,如果是18版本或者是更高版本,同样的固件是编译不通过的。如果你使用的是网上开源的代码,那最新版本是没什么问题的,低版本可能会缺少相应的库,安装即可,尤其是要求python是3.0版本以上的。

二、编译出错细节处理

1、错误

freadahead.c: In function 'freadahead':
freadahead.c:64:3: error: #error "Please port gnulib freadahead.c to your platform! Look at the definition of fflush, fread on your system, then report this to bug-gnulib."
#error "Please port gnulib freadahead.c to your platform! Look at the definition of fflush, fread on your system, then report this to bug-gnulib."


解决:

cd build_dir/host/m4-1.4.17/
sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' lib/*.c
echo "#define _IO_IN_BAXKUP 0x100">>lib/stdio-impl.h

2、提示没有help2man,可以按照提示的网站去搜索官网下载相应的库(我的是从官网上下载最新的安装包)

(help2man-1.49.2.tar这是我只能装的版本)

也可以用以下命令:

wget https://mirrors.sjtug.sjtu.edu.cn/gnu/help2man/help2man-1.47.9.tar.xz
xz -d help2man-1.47.9.tar.xz
tar -xvf help2man-1.47.9.tar
./configure --prefix=/usr/local
make
sudo make install

3、遇到xxx文件deny,需要开启权限,可以给最高权限编译就不报错

4、错误

fatal: unable to access 'https://git.openwrt.org/openwrt/openwrt.git/': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none


解决:

git config --global http.sslVerify "false"

5、错误

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "zh_CN:zh",
LC_ALL = (unset),
LANG = "zh_CN.UTF-8"
are supported and installed on your system.

解决:在~/.bashrc中添加一句话

export LC_ALL=C,然后source ~/.bashrc 就行了

6、编译其他问题可以参考该链接去解决:https://blog.csdn.net/kuangzuxiaoN/article/details/121458746

三、关于编译

依赖库安装:

sudo apt-get update
sudo apt-get install git g++ make libncurses5-dev subversion libssl-dev gawk libxml-parser-perl unzip wget python xz-utils vim zlibc zlib1g zlib1g-dev openjdk-8-jdk build-essential ccache gettext xsltproc

资源更新:

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

关于这两个命令,是在相应的文件夹下的脚本文件,执行这两条命令就可以更新和下载该版本代码的最新资源。

编译命令:

make V=99

或make V=s -jx (x代表数字,数字是几就代表用几核编译),第一次变异要的时间比较长,可以多核编译,出现问题的时候采用单核编译,就可以知道具体是什么问题了。

图中就是编译成功的界面,我采用的是四核编译。

相关推荐

Linux 系统启动完整流程

一、启动系统流程简介如上图,简述系统启动的大概流程:1:硬件引导UEFi或BIOS初始化,运行POST开机自检2:grub2引导阶段系统固件会从MBR中读取启动加载器,然后将控制权交给启动加载器GRU...

超专业解析!10分钟带你搞懂Linux中直接I/O原理

我们先看一张图:这张图大体上描述了Linux系统上,应用程序对磁盘上的文件进行读写时,从上到下经历了哪些事情。这篇文章就以这张图为基础,介绍Linux在I/O上做了哪些事情。文件系统什么是...

linux入门系列12--磁盘管理之分区、格式化与挂载

前面系列文章讲解了VI编辑器、常用命令、防火墙及网络服务管理,本篇将讲解磁盘管理相关知识。本文将会介绍大量的Linux命令,其中有一部分在“linux入门系列5--新手必会的linux命令”一文中已经...

Linux环境下如何设置多个交叉编译工具链?

常见的Linux操作系统都可以通过包管理器安装交叉编译工具链,比如Ubuntu环境下使用如下命令安装gcc交叉编译器:sudoapt-getinstallgcc-arm-linux-gnueab...

可算是有文章,把Linux零拷贝技术讲透彻了

阅读本文大概需要6.0分钟。作者:卡巴拉的树链接:https://dwz.cn/BaQWWtmh本文探讨Linux中主要的几种零拷贝技术以及零拷贝技术适用的场景。为了迅速建立起零拷贝的概念...

linux软链接的创建、删除和更新

大家都知道,有的时候,我们为了省下空间,都会使用链接的方式来进行引用操作。同样的,在系统级别也有。在Windows系列中,我们称其为快捷方式,在Linux中我们称其为链接(基本上都差不多了,其中可能...

Linux 中最容易被黑客动手脚的关键目录

在Linux系统中,黑客攻击后常会针对关键目录和文件进行修改以实现持久化、提权或隐藏恶意活动。本文介绍下黑客最常修改的目录及其手法。一、/etc目录关键文件有:/etc/passwd和/et...

linux之间传文件命令之Rsync傻瓜式教程

1.前言linux之间传文件命令用什么命令?本文介绍一种最常用,也是功能强大的文件同步和传输工具Rsync,本文提供详细傻瓜式教程。在本教程中,我们将通过实际使用案例和最常见的rsync选项的详细说...

Linux下删除目录符号链接的方法

技术背景在Linux系统中,符号链接(symlink)是一种特殊的文件,它指向另一个文件或目录。有时候,我们可能需要删除符号链接,但保留其指向的目标目录。然而,在删除符号链接时可能会遇到一些问题,例如...

阿里云国际站注册教程:aa云服务器怎么远程链接?

在全球化的今天,互联网带给我们无以计数的便利,而云服务器则是其中的重要基础设施之一。这篇文章将围绕阿里云国际站注册、aa云服务器如何远程链接,以及服务器安全防护如Ddos防火墙、网站应用防护waf防火...

Linux 5.16 网络子系统大范围升级 多个新适配器驱动加入

Linux在数据中心中占主导地位,因此每个内核升级周期的网络子系统变化仍然相当活跃。Linux5.16也不例外,周一最新与网络相关的更新加入了大量的驱动和新规范的支持。一个较新硬件的驱动是Realt...

搭建局域网文件共享服务(Samba),手机电脑都能看喜欢的影视剧

作为一名影视爱好者,为了方便地观看自己喜欢的影视作品,在家里搞一个专门用来存放电影的服务器是有必要的。蚁哥选则用一台Ubuntu系统的电脑做为服务器,共享影音文件,其他同一个局域网内的电脑或手机可以...

分享一个实用脚本—centos7系统巡检

概述这周闲得慌,就根据需求写了差不多20个脚本(部分是之前分享过的做了一些改进),今天主要分享一个给平时运维人员用的centos7系统巡检的脚本,或者排查问题检查系统情况也可以用..实用脚本#!/bi...

Linux 中创建符号链接的方法

技术背景在Linux系统里,符号链接(SymbolicLink),也被叫做软链接(SoftLink),是一种特殊的文件,它指向另一个文件或者目录。符号链接为文件和目录的管理带来了极大的便利,比...

一文掌握 Linux 符号链接

符号链接(SymbolicLink),通常被称为“软链接”,是Linux文件系统中一种强大而灵活的工具。它允许用户创建指向文件或目录的“快捷方式”,不仅简化了文件管理,还在系统配置、软件开发和日...