Openwrt-Chaos_Calmer搭建编译环境问题处理

openwrt搭建编译环境时的问题处理

版本型号:

Ubuntu14.05
OpenWrt-Chaos_Calmer-15.05

1. 在下载源代码之前,先把openwrt的编译环境的搭建起来也就是执行以下命令

sudo apt-get install g++
sudo apt-get install libncurses5-dev
sudo apt-get install zlib1g-dev
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install unzip
sudo apt-get install autoconf
sudo apt-get install gawk
sudo apt-get install make
sudo apt-get install gettext
sudo apt-get install gcc
sudo apt-get install binutils
sudo apt-get install patch
sudo apt-get install bzip2
sudo apt-get install libz-dev
sudo apt-get install asciidoc
sudo apt-get install subversion
sudo apt-get install libssl-dev

这步就是下载安装下面步骤中需要用到的工具,所以若是下面步骤若出现问题需要查看是不是这里安装导致的。
比如:步骤3,执行./scripts/feeds install -a时遇到错误提示:
这里写图片描述
原因就是我忘记安装subversion 和libssl-dev了,重新安装后再顺序进行就没问题了。

2. 下载openwrt源码
从哪里下载源码:
https://dev.openwrt.org/wiki/GetSource
https://github.com/openwrt/openwrt/tree/chaos_calmer
可以使用git工具在Ubuntu中直接下载源码,比较慢,所以我直接windows下在②中下载,然后使用MobaXterm直接传输到Ubuntu相应目录中。
注意版本选择:
这里写图片描述

3. 源码下载完成后,首先更新和安装软件包

应该是为了下载和安装luci之类的第三方包的源码,如果不进行这步的话,配置菜单是没有非op的包给你选择的。

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

执行./scripts/feeds update -a 时出现问题
这里写图片描述
提示没有权限,使用sudo后提示没有这命令。这个应该是说feeds的文件权限,所以使用chmod命令更改文件权限可以正常更新

chmod 777 ./scripts/feed

在进行过程中也出现了两次提示某个文件Permission denied,所以我用同样的办法解决。

最终执行./scripts/feeds update -a的结果如图:
这里写图片描述
执行./scripts/feeds install -a的结果如图:
这里写图片描述

以上就是我搭建编译环境时遇到的问题,接下来总结执行make menuconfig时以及编译固件遇到的问题。

1. 下载SDK 首先需要从OpenWrt官网下载SDK。选择与路由器硬件平台对应的SDK,例如:如果你的路由器是MT7620A芯片,则需要下载MT7620A SDK。 2. 解压SDK 将下载的SDK解压到任意目录下,例如:/opt/mt7620a_sdk。 3. 进入SDK目录 打开终端,进入SDK目录,例如:cd /opt/mt7620a_sdk。 4. 配置SDK 执行make menuconfig命令,进入SDK配置界面,进行以下配置: - Target System: 选择路由器的芯片类型,例如:MediaTek Ralink MIPS - Target Profile: 选择路由器的型号,例如:MT7620A based boards - Target Images: 选择编译软件包的目标平台,例如:ramips/mt7620a 5. 添加软件包源 执行以下命令,添加软件包源: echo "src/gz openwrt_custom http://openwrt.inkworm.com/chaos_calmer/15.05/mt7620a/packages/custom" >> /etc/opkg/customfeeds.conf opkg update 6. 安装编译工具 执行以下命令,安装编译工具: opkg install gcc make libpthread libstdcpp 7. 编写Makefile文件 在任意目录下创建一个文件夹,例如:/opt/my_package,并在该文件夹下创建一个名为Makefile的文件。在Makefile文件中编写软件包的编译规则。 以下是一个简单的Makefile文件示例: ``` include $(TOPDIR)/rules.mk PKG_NAME:=hello-world PKG_VERSION:=1.0 PKG_RELEASE:=1 include $(INCLUDE_DIR)/package.mk define Package/hello-world SECTION:=utils CATEGORY:=Utilities TITLE:=Hello World DEPENDS:=@TARGET_ramips_mt7620a endef define Package/hello-world/description This is a Hello World package. endef define Build/Compile $(MAKE) -C $(PKG_BUILD_DIR) $(TARGET_CONFIGURE_OPTS) endef define Package/hello-world/install $(INSTALL_DIR) $(1)/bin $(INSTALL_BIN) $(PKG_BUILD_DIR)/hello-world $(1)/bin/ endef $(eval $(call BuildPackage,hello-world)) ``` 8. 编译软件包 执行以下命令,编译软件包: make package/hello-world/compile V=s 编译完成后,在SDK目录下的bin目录中可以找到编译好的软件包。 9. 安装软件包 将编译好的软件包拷贝到路由器上,并执行以下命令安装: opkg install hello-world_1.0-1_ramips_24kec.ipk 安装完成后,在路由器上执行hello-world命令即可看到输出结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

izar

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

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

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

打赏作者

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

抵扣说明:

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

余额充值