编译x-Wrt 全过程

参考自;​​​​​​c编译教程 | All about X-Wrt

  需要详细了解的小伙伴还请参看原文 ^-^

概念:

x-wrt(基于openwrt深度定制的发行版本)

编译系统: ubuntu22.04 

注意:

特别注意的是,整个编译过程,都是用 普通用户 操作,不要用 root用户 操作。

安装编译所需要的软件包:

sudo apt install build-essential ecj fastjar file flex g++ gcc-multilib g++-multilib gawk gettext git git-core java-propose-classpath libelf-dev libncurses5-dev libncursesw5-dev libssl-dev swig python3 python3-dev python3-distutils python3-pyelftools subversion unzip wget zlib1g-dev rsync qemu-utils

安装结果如下:

下载源码:

从github上clone源码:

git clone https://github.com/x-wrt/x-wrt.git

进入上面拉取过来的文件夹

cd x-wrt

#更新代码tag:

git fetch origin

git fetch origin --tag

#列出可以使用的版本tag:

git tag

#注意摁 q 键结束

#或者直接获取最新发布版本

git describe --tags $(git rev-list --tags --max-count=1)

#选择并切换到指定的版本tag:

git checkout -f <tag-name>

在 Git 中,"tag"(标签)是一种用于标记特定提交点的机制,它给该提交点一个易于记忆和引用的名字。

例如

git checkout -f 22.03_b202204051420

#或者 直接切换到最新版本额度tag

git checkout -f $(git describe --tags $(git rev-list --tags --max-count=1))

#更新代码:

./scripts/feeds update -a

./scripts/feeds install -a

配置固件

配置步骤

配置固件的命令make menuconfig 但是我们可以从配置模版开始会更轻松一些。

比如ramips-mt7621的设备可以用拷贝这个模版feeds/x/rom/lede/config.ramips-mt7621 内核分区限制小的设备,选用 -nosymbol 结尾的config配置模版

cp feeds/x/rom/lede/config.ramips-mt7621 .config

# 上面已经cp 拷贝了模版配置到 .config # 例如

cp feeds/x/rom/lede/config.ramips-mt7621 .config # 下面继续操作和修改

#1 执行 make menuconfig

#2 进入 Target Profile 选择需要编译打包的设备型号,选择型号后立刻退出,保存

#3 执行下面的命令修复 .config

sh feeds/x/rom/lede/fix-config.sh

#4 再次执行 make menuconfig 然后立刻退出保存

#5 最后一次 执行 make menuconfig 自定义选择你需要的软件包

更多配置

配置目标

在上述准备好的模版配置文件的基础上,执行make menuconfig命令进行个性化定制,增删应用。

定位到各个子菜单,选择对应的软件包

执行编译

命令:

make

或者

make -j1 V=s

生成的包在bin/targets/下面

如果需要再次修改配置编译,只要不是换设备,都可以直接 make menuconfig 修改后就编译,如果需要修改设备,请从拷贝模版配置的地方重新开始配置。

在使用 make 命令时,-lV=s 是两个不同的选项,它们各自有不同的作用:

  • -l:这个选项告诉 make 在执行时不要超过指定的负载(load)。如果系统同时运行的 make 实例太多,make 将等待直到负载降低到这个阈值以下。这有助于避免在构建过程中过度使用系统资源。

  • V=s:这里的 V 选项设置 make 的详细程度(verbosity)。s 通常代表 "silent"(静默),意味着 make 将尽可能少地显示信息,通常只显示错误和警告。这有助于减少输出的噪音,特别是在日志文件中。

将这两个选项结合起来使用 make -l V=s 可能不是一个有效的命令,因为 -l 选项后面通常需要跟一个数字来指定负载限制,例如 make -l1。如果您的意图是设置详细程度为静默,并且限制系统负载,您应该分开写这两个选项,或者在 -l 后面提供一个具体的数字

总结

 我们编译固件的时候一定要看编译出来的调试信息,缺少什么就去下载什么。

 编译make menuconfig 的时候我们很多时候不用手动的去 一个个在菜单里面去选,可以直接 cp 前人配置好的 config配置文件到  .config 里面,再执行

sh feeds/x/rom/lede/fix-config.sh

修复一下,即可配置成功,这个时候再次进去到make menuconfig 即可看到我们的配置结果,保存退出即可。

的以后如果我们有新的方案,要更新新的东西,我们修改config 文件即可,也没必要直接打开页面去配置。

我们在进行 编译前,如果有之前配置好的库文件,可以在当前目录下建立一个软链接,比如

ln -s /work/dl dl  

这样编译的时候,下载库和工具的时候,会优先查找本地路劲,如果找不到再到云端去找,这样我们把库和工具放在本地路径了,就省略了编译的时候去云端下载拉取的时间。

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
X-WRT是一种基于OpenWRT固件的路由器固件,其目的是为了提供更简单易用的用户界面和功能。想要刷OpenWRT固件到X-WRT路由器上,可以按照以下步骤进行操作: 1. 确认路由器型号和硬件版本:首先需要确认自己的路由器型号和硬件版本,以便选择正确的OpenWRT固件进行刷机。 2. 下载正确的OpenWRT固件:从OpenWRT官方网站上下载适用于你的路由器型号和硬件版本的固件文件。 3. 进入X-WRT路由器管理界面:使用Web浏览器登录进入X-WRT路由器的管理界面,通常通过输入路由器IP地址在浏览器中访问。 4. 选择固件刷机选项:在X-WRT管理界面中,找到类似“固件升级”、“系统升级”或类似选项的菜单,并点击进入。 5. 选择OpenWRT固件文件:在固件升级选项中选择“浏览”或“选择文件”按钮,然后浏览并选择你之前下载的OpenWRT固件文件。 6. 开始刷机:点击“开始升级”或“刷写固件”按钮,然后等待固件刷机过程完成。在此期间,请不要中断电力供应或断开网络连接。 7. 等待路由器重启:固件刷机完成后,路由器会自动重启。等待一段时间,直到路由器完全启动并重新连接到网络。 8. 进入OpenWRT管理界面:使用Web浏览器登录进入新刷入的OpenWRT固件管理界面,通常通过输入路由器IP地址在浏览器中访问。 经过以上步骤,你的X-WRT路由器就成功刷入了OpenWRT固件。现在你可以享受更多的定制性和高级功能,而OpenWRT提供了更多的插件和扩展来满足你的需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值