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
user:ja:my-openwrt-firmware-image-build-guide [2022/01/14 16:05] – Add "make defconfig"? jauser:ja:my-openwrt-firmware-image-build-guide [2022/04/02 08:42] – [4. Build image] Interwiki link replaced, cfr. " https://forum.openwrt.org/t/is-interwiki-link-for-https-wikidevi-wi-cat-ru-changed/124181 ". ja
Line 8: Line 8:
 ===== 1. Prerequisites ===== ===== 1. Prerequisites =====
 [[faq:what_system_can_i_build_openwrt_on|A suitable case-sensitive file system]].\\ [[faq:what_system_can_i_build_openwrt_on|A suitable case-sensitive file system]].\\
-Last tested on [[docs:guide-developer:toolchain:wsl|WSL2 (Windows Version 10.0.19044.1466)]] with [[https://www.microsoft.com/en-us/p/debian/9msvkqc78pk6|Debian GNU/Linux 11 (bullseye)]].+Last tested on [[docs:guide-developer:toolchain:wsl|WSL2 (Windows Version 10.0.19044.1586)]] with [[https://www.microsoft.com/en-us/p/debian/9msvkqc78pk6|Debian GNU/Linux 11 (bullseye)]].
 <hidden onHidden="Click to display more info" onVisible="Click to hide the extra info"> <hidden onHidden="Click to display more info" onVisible="Click to hide the extra info">
 See Windows [[wp>Ver_(command)|version]] information with [[wp>Cmd.exe|cmd.exe]] command: See Windows [[wp>Ver_(command)|version]] information with [[wp>Cmd.exe|cmd.exe]] command:
Line 34: Line 34:
 Or with one Debian terminal command: Or with one Debian terminal command:
 <code> <code>
-sudo apt update && apt upgrade+sudo apt update && sudo apt upgrade
 </code> </code>
 Other commands (e.g. **upgrade**) operate on package information (**update**).\\ Other commands (e.g. **upgrade**) operate on package information (**update**).\\
Line 123: Line 123:
 For OpenWrt 21.02 Debian terminal command: For OpenWrt 21.02 Debian terminal command:
 <code> <code>
-git checkout v21.02.0+git checkout v21.02.2
 </code> </code>
 </columns> </columns>
Line 192: Line 192:
 |[[toh:tp-link:tl-wa730re|TP-Link TL-WA730RE]] v1       |19.07.8 |Atheros ATH79 (DTS)  |Devices with small flash   |TP-LINK TL-WA730RE v1 |ath79\tiny       | |[[toh:tp-link:tl-wa730re|TP-Link TL-WA730RE]] v1       |19.07.8 |Atheros ATH79 (DTS)  |Devices with small flash   |TP-LINK TL-WA730RE v1 |ath79\tiny       |
 |:::                                                    |21.02.0 |"images are too big by 306444 bytes"                                                   |||| |:::                                                    |21.02.0 |"images are too big by 306444 bytes"                                                   ||||
-|[[toh:ubiquiti:unifi|Ubiquiti UniFi AP-LR]]            |21.02.|Atheros ATH79        |Generic                    |Ubiquiti UniFi        |ath79\generic    |+|[[toh:ubiquiti:unifi_ap|Ubiquiti UniFi AP-LR]]            |21.02.|Atheros ATH79        |Generic                    |Ubiquiti UniFi        |ath79\generic    | 
 +|[[toh:ubiquiti:unifiac|Ubiquiti UniFi AP AC Pro]]      |21.02.2 |Atheros ATH79        |Generic                    |Ubiquiti UniFi AC Pro |ath79\generic    |
 </hidden> </hidden>
  
Line 199: Line 200:
   * "LuCI" ⇒ “Select” ⇒ "Collections" ⇒ “Select” ⇒ on "luci" press <Y> to include (= “*” built-in) ⇒ “Exit” ⇒ “Exit”\\   * "LuCI" ⇒ “Select” ⇒ "Collections" ⇒ “Select” ⇒ on "luci" press <Y> to include (= “*” built-in) ⇒ “Exit” ⇒ “Exit”\\
 [[faq:which_packages_can_i_safely_remove_to_save_space|Maybe remove some packages to save space]].\\ [[faq:which_packages_can_i_safely_remove_to_save_space|Maybe remove some packages to save space]].\\
-- "ppp"+remove "PPP daemon":
   * "Network" ⇒ “Select” ⇒ on “ppp” press <N> to exclude (= “ ” excluded) ⇒ “Exit”   * "Network" ⇒ “Select” ⇒ on “ppp” press <N> to exclude (= “ ” excluded) ⇒ “Exit”
-- “IPv6 support”:+remove “IPv6 support”:
   * “Global build settings” ⇒ “Select” ⇒ on “Enable IPv6 support in packages” press <N> to exclude (= “ ” excluded) ⇒ “Exit”\\   * “Global build settings” ⇒ “Select” ⇒ on “Enable IPv6 support in packages” press <N> to exclude (= “ ” excluded) ⇒ “Exit”\\
 Maybe make [[wp>WPA2_Enterprise|WPA2 Enterprise]] with [[docs:guide-user:network:wifi:wireless.utilities.wpa-supplicant|wpa_supplicant]] available by:\\ Maybe make [[wp>WPA2_Enterprise|WPA2 Enterprise]] with [[docs:guide-user:network:wifi:wireless.utilities.wpa-supplicant|wpa_supplicant]] available by:\\
-removing "wpad-mini"+remove "wpad-mini":
 <columns 100% 50% -> <columns 100% 50% ->
 For OpenWrt 19.07: For OpenWrt 19.07:
Line 212: Line 213:
   * "Network" ⇒ “Select” ⇒ "WirelessAPD" ⇒ “Select” ⇒ on "wpad-basic-wolfssl" press <N> to exclude (= “ ” excluded) ⇒ “Exit” ⇒ “Exit”   * "Network" ⇒ “Select” ⇒ "WirelessAPD" ⇒ “Select” ⇒ on "wpad-basic-wolfssl" press <N> to exclude (= “ ” excluded) ⇒ “Exit” ⇒ “Exit”
 </columns> </columns>
-adding "wpad"+add "wpad":
 <columns 100% 50% -> <columns 100% 50% ->
 For OpenWrt 19.07: For OpenWrt 19.07:
Line 220: Line 221:
   * "Network" ⇒ “Select” ⇒ "WirelessAPD" ⇒ “Select” ⇒ on "wpad" press <Y> to include (= “*” built-in) ⇒ “Exit” ⇒ “Exit”   * "Network" ⇒ “Select” ⇒ "WirelessAPD" ⇒ “Select” ⇒ on "wpad" press <Y> to include (= “*” built-in) ⇒ “Exit” ⇒ “Exit”
 </columns> </columns>
 +Maybe add [[docs:guide-user:network:wan:multiwan:mwan3|load balancing/failover with multiple WAN interfaces]].\\
 +- add "MAC-VLAN support":
 +  * "Kernel modules" ⇒ “Select” ⇒ "Network Devices" ⇒ “Select” ⇒ on “kmod-macvlan” press <Y> to include (= “*” built-in) ⇒ “Exit” ⇒ “Exit”
 +- add “LuCI support for the MWAN3 multiwan hotplug script”:
 +  * “LuCI” ⇒ “Select” ⇒ "3. Applications" ⇒ “Select” ⇒  on “luci-app-mwan3” press <Y> to include (= “*” built-in) ⇒ “Exit” ⇒ “Exit”
 +- or without LuCI, add “Multiwan hotplug script with connection tracking support”:
 +  * “Network” ⇒ “Select” ⇒ "Routing and Redirection" ⇒ “Select” ⇒ on “mwan3” press <Y> to include (= “*” built-in) ⇒ “Exit” ⇒ “Exit”\\
 +Maybe add [[docs:guide-user:advanced:watchcat|network watchdog utility]].\\
 +- add “LuCI Support for Watchcat”:
 +  * “LuCI” ⇒ “Select” ⇒ "3. Applications" ⇒ “Select” ⇒ on “luci-app-watchcat” press <Y> to include (= “*” built-in) ⇒ “Exit” ⇒ “Exit”
 +- or without LuCI, add “Watchcat”:
 +  * “Utilities” ⇒ “Select” ⇒ on “Watchcat” press <Y> to include (= “*” built-in) ⇒ “Exit”
 +
 ==== 3.3 Exit configuration ==== ==== 3.3 Exit configuration ====
 To exit OpenWrt Configuration and save target with options settings do following: To exit OpenWrt Configuration and save target with options settings do following:
Line 233: Line 247:
   * The *-sysupgrade.bin image file is for updating an existing OpenWrt installation.   * The *-sysupgrade.bin image file is for updating an existing OpenWrt installation.
  
-To recompile the images, remove files from directory ./bin/targets/<target directory> and build image ([[#build image|step 4]]) again.+To recompile the images, remove files from directory ./bin/targets/<target directory> and build image ([[#build image|step 4]]) again.\\ 
 +:?: What about [[docs:guide-developer:toolchain:use-buildsystem#cleaning_up|cleaning up]] "make clean", "make dirclean", "make distclean"?
  
 For faster compiling, use ''make -j N'', where N is the number of CPU cores + 1. Be aware that this method is prone to errors during compiling. In case you encounter compile errors, **your very first step is to compile again without ''-j N''**. Use of ''make download'' prior to parallel compilation is recommended to prevent some of these errors (''-jN'' is //generally// safe for the download step for those with faster Internet connectivity.) For faster compiling, use ''make -j N'', where N is the number of CPU cores + 1. Be aware that this method is prone to errors during compiling. In case you encounter compile errors, **your very first step is to compile again without ''-j N''**. Use of ''make download'' prior to parallel compilation is recommended to prevent some of these errors (''-jN'' is //generally// safe for the download step for those with faster Internet connectivity.)
Line 239: Line 254:
 To build an OpenWrt firmware image for other hardware or with other options, use the OpenWrt Configuration ([[#build image|step 3]]) and then build image ([[#build image|step 4]]) again. To build an OpenWrt firmware image for other hardware or with other options, use the OpenWrt Configuration ([[#build image|step 3]]) and then build image ([[#build image|step 4]]) again.
  
-Also more hardware info on [[hwinfo>User:JA|wikidevi]].+Also more hardware info on [[https://wikidevi.wi-cat.ru/User:JA|wikidevi]].
  
 Other OpenWrt pages: Other OpenWrt pages:
   * [[docs:guide-developer:start|Developer guide]]   * [[docs:guide-developer:start|Developer guide]]
   * [[docs:guide-developer:toolchain:beginners-build-guide|Beginners guide to building your own firmware]]   * [[docs:guide-developer:toolchain:beginners-build-guide|Beginners guide to building your own firmware]]
  • Last modified: 2024/01/11 07:12
  • by ja