技术积累
日进一寸

OpenWRT原版编译,就是简单

openwrt编译一个专用镜像

openwrt几乎是玩家必备,因为编译需要额外的环境配置,编译失败率等问题,大部分人的选择是下载官方提供的通用镜像。

但是作为技术爱好者,对定制镜像的需求是一直存在的,尤其是passwall等更新频率比较高的应用,因为大家下载的镜像内核版本不一,导致这些应用更新成功率较低

自己编译一个openwrt镜像成了一个不错的选择。

上面也讲了,编译失败概率一直是存在的,如果没有多次编译失败的经验是无法得到一个可用的镜像的,经验都是在失败中总结出来的。

这个视频的主要目的是带大家编译一个含有passwall的openwrt镜像,并在使用中把一些要点都点出来,让大家能够顺利的编译自己的镜像。

请大家认真听讲。

注意,在你能够成功编译之前,请尽可能按照我的设置来,包括luci应用包的选择。

在本视频中编译一个x86镜像,适合于有x86 nas设备的,如果你没有这样的设备,可以将openwrt安装在vmware虚拟机中,一样可以作为旁路由来使用,所以x86镜像适合任何人,等熟悉了编译过程,再给你的arm设备编译相应的镜像,能极大地提高操作自信心。

操作系统使用ubuntu20.04,系统安装过程就不演示了。

环境要求:梯子

export http_proxy="http://192.168.188.233:10809"
export https_proxy="http://192.168.188.233:10809"
sudo apt update
sudo apt-get install subversion g++ zlib1g-dev build-essential git \
python python3 python3-distutils libncurses5-dev gawk gettext unzip \
file libssl-dev wget libelf-dev ecj fastjar java-propose-classpath
sudo apt install vim net-tools screen

下载代码

git clone https://github.com/openwrt/openwrt

更新源

# 如果出现ssl错误需要设置这个
export GIT_SSL_NO_VERIFY=1
#or
git config --global http.sslverify false

添加下面代码到 openwrt 或 lede 源码根目录下的 feeds.conf.default 文件:

src-git kenzo https://github.com/kenzok8/openwrt-packages
src-git small https://github.com/kenzok8/small
src-git nas https://github.com/linkease/nas-packages.git
src-git passwall https://github.com/xiaorouji/openwrt-passwall.git;main
src-git passwall_packages https://github.com/xiaorouji/openwrt-passwall-packages.git;main
src-git helloworld https://github.com/fw876/helloworld.git

将下载好的包安装

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

进入编辑界面

make menuconfig

# fix bios boot partition is under 1 MiB
# sed -i 's/256/1024/g' target/linux/x86/image/Makefile

必选,uhttp,这是界面,openwrt原版是没有界面组件的。
两个地方要打开,collection-luca

菜单项”Target Images”,”Root filesystem partition size (in MB)”
改成其它的大值,默认是160,改成1024,否则的话因为选择安装app占用空间太大必然会导致编译失败。

base 中关闭dsnmasq,因为启用了full,冲突


第一次编译可以不选其他的,也可以选了,报错再说。
推荐passwall

更换模板 

注:此操作请在编译前执行,设置 ar­gon 为默认主题,以此为例举一反三


cd package
git clone https://github.com/jerrykuku/luci-theme-argon.git
cd ..
make menuconfig 
#choose LUCI->Theme->Luci-theme-argon
# 还要选择luci-app-argon-config*.ipk


make download -j4
make V=s -j$(nproc)
# 如果编译报错了,尝试单线程编译
make V=s -j1
# 用screen来操作
# 退出screen方法 Ctrl + a+d

编译完成后输出路径:bin/targets

赞(2)
未经允许不得转载:DongVPS » OpenWRT原版编译,就是简单
分享到: 更多 (0)

评论 抢沙发