Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
zh:docs:guide-developer:quickstart-build-images [2018/06/18 01:17] – upstream jiangming1399zh:docs:guide-developer:quickstart-build-images [2020/01/05 09:57] – 同步英文版本更新 lujimmy
Line 1: Line 1:
-====== 敏捷编译指引 ======+====== 固件构建快速入门 ====== 
 +这是一个关于如何构建您自己第一个**快照版**OpenWrt固件的简短指南,如果您想编译一个**稳定版**使用[[docs:guide-user:additional-software:beginners-build-guide|构建自己固件的入门指南]]作为指南。 
 +它没有掩饰任何陷阱,但如果一切顺利,提供了一个快速的方法。实现相同目标的替代指南有: 
 +[[docs:guide-user:additional-software:imagebuilder|使用Image Builder]], 
 +[[docs:guide-user:additional-software:beginners-build-guide|构建自己固件的入门指南]]。
  
-这是一个非常简短的OpenWrt**快照**固件编译指南。 
-本指南不包括一些常见问题的解决方案,以致于在一切正常时给你提供快速的编译方法。 
  
-{{page>zh:releases:snapshot&noheader&nofooter&noeditbtn&firstseconly}} +{{page>releases:snapshot&noheader&nofooter&noeditbtn&firstseconly}}
- +
-首先,我们需要运行下面的指令来安装依赖的软件包 (Debian/Ubuntu 指令):+
  
 +首先,我们需要确认所有的依赖软件已安装。下面以Debian/Ubuntu为例:
 <code> <code>
 sudo apt-get install subversion g++ zlib1g-dev build-essential git python rsync man-db sudo apt-get install subversion g++ zlib1g-dev build-essential git python rsync man-db
 sudo apt-get install libncurses5-dev gawk gettext unzip file libssl-dev wget zip time sudo apt-get install libncurses5-dev gawk gettext unzip file libssl-dev wget zip time
 </code> </code>
- +接下来,使用以下命名获取OpenWrt源代码
-然后拉取 OpenWrt 源代码+
 <code> <code>
-git clone https://git.openwrt.org/openwrt/openwrt.git/+git clone https://git.openwrt.org/openwrt/openwrt.git/
 cd openwrt cd openwrt
  
Line 22: Line 21:
 ./scripts/feeds install -a ./scripts/feeds install -a
  
-make defconfig 
 make menuconfig make menuconfig
 </code> </code>
- +最后一个命令将打开一个菜单如果想为"TL-WR841N v11"这款无线路由构建固件,您可以这样设置
-最后一个命令会弹出一个选择菜单。 +
- +
-如果想为 "TL-WR841N v11" 路由器编译固件,那么选择+
  
   * "Target System" => "Atheros AR7xxx/AR9xxx"   * "Target System" => "Atheros AR7xxx/AR9xxx"
   * "Target Profile" => "TP-LINK TL-WR841N/ND v11"   * "Target Profile" => "TP-LINK TL-WR841N/ND v11"
  
-选择退出并保存你的配置。 +然后选择退出并保存置。现在我们可以开始使用以下命令构建固件了,该过程将持续一段时间:
-然后是正式的编译了,运行:+
  
 <code> <code>
Line 40: Line 34:
 </code> </code>
  
-完成后,你就可以在 ./bin/targets/ar71xx/generic/ 下面找到编译好的固件了8-) +完成后,固件可以在目录 ./bin/targets/ar71xx/generic/ 找到。 
- +  以 *-factory.bin 命名的固件是用于次安装。 
- * *-factory.bin 镜像是用于第一次安装。 +  以 *-sysupgrade.bin 命名的固件是用于更新已安装OpenWrt
- * *-sysupgrade.bin 镜像可以用于之前版本升级 +
- +
-注意:+
  
-  * 如重新编译,那么只要输入make并回车就可以了。 +备注: 
-  * 可使用 ''make -j N'' 使用多核CPU来加快编译速度(N代表着CPU核数+1需要注意的是这种方法很有可能会。如果出现了错误,首要任务是去掉make后面的''-j N''重新编译一次。使用多线程编译之前,运行 ''make download''​ 来预先下载一些需要的文件可有效的防止些错误的发生//通常来说//​,在速的网络连接的情况下,使用 ''-jN''​ 来多线程下载安全)  +  * 如需重新编译固件再次执行''make''命令。 
-  * 可以使用 //make menuconfig// 来变编译设置,然后重新编译。 +  * 如需快速编译,可使用''make -j N''命令, 其中NCPU核数+1。注意,方法在编译期间容易出错。如果遇到编译错误,**你第一步是在没有''-j N''的情况下再次编译**. 建议并行编译之前使用''make download''命令以防止出现这些错误(对于那些拥Internet连接的用户来说,使用''-jN''命令在下载环节通常可以更安全) 
-  * 可以往 ''<buildroot>/files''​ 里面放自定义的文件,来使得编译出的镜像带有这个文件。例如,如果你想在镜像里面的 ''/etc/config/''​ 下放入一个 ''​my_config'' 文件那么你可以把这个文件放到 ''<buildroot>/files/etc/config/my_config''​ 路径下。如果 ''files'' 文件夹不存在,那么你自己新一个就好了+  * 使用 ''make menuconfig'' 命令可以更改设置并再次编译。 
 +  * 可以将固件中的自定义文件放入目录''<buildroot>/files''。例如,将''my_config''固件的''/etc/config/''目录中则对应路径为''<buildroot>/files/etc/config/my_config''。如果''files'' 目录在您的构建系统中不存在,手动创即可
  • Last modified: 2021/10/15 08:27
  • by bobafetthotmail