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
Last revisionBoth sides next revision
docs:guide-developer:start [2023/12/19 07:30] – [Add] Table of contents javad.rahimidocs:guide-developer:start [2024/12/07 10:03] – [Table of contents] security_incidents_response ynezz
Line 3: Line 3:
 Use the Search facility to find more information. Use the Search facility to find more information.
 ====== Table of contents ====== ====== Table of contents ======
-  * [[docs:guide-developer:overview|Quick overview of OpenWrt's internals]]+  * [[docs:guide-developer:overview|Overview]]
   * [[docs:guide-developer:source-code:start|The OpenWrt source code]]   * [[docs:guide-developer:source-code:start|The OpenWrt source code]]
     * [[docs:guide-developer:source-code:start#the_openwrt_source_code|The OpenWrt source code]]     * [[docs:guide-developer:source-code:start#the_openwrt_source_code|The OpenWrt source code]]
-    * [[docs:guide-developer:source-code:start#openwrt_source_code_repositories|Working with GitHub]]+    * [[docs:guide-developer:source-code:start#openwrt_source_code_repositories|Fetching from GitHub]]
     * [[docs:guide-developer:source-code:source-revision-calculation|Revision number calculation]]     * [[docs:guide-developer:source-code:source-revision-calculation|Revision number calculation]]
   * Build system   * Build system
Line 15: Line 15:
       * [[docs:guide-developer:toolchain:wsl|Windows (WSL)]]       * [[docs:guide-developer:toolchain:wsl|Windows (WSL)]]
     * [[docs:guide-developer:buildserver_virtualbox|Setting up a build server in VirtualBox]]     * [[docs:guide-developer:buildserver_virtualbox|Setting up a build server in VirtualBox]]
 +    * Testing OpenWrt in a virtual machine
 +      * [[:docs:guide-user:virtualization:obtain.firmware.docker|Docker OpenWrt Image Generation]]
 +      * [[:docs:guide-user:virtualization:metarouter|Metarouter Virtualization on Mikrotik RouterBoard]]
 +      * [[:docs:guide-user:virtualization:docker_openwrt_image|OpenWrt as a Docker Image]]
 +      * [[:docs:guide-user:virtualization:xen|OpenWrt as a Xen DomU guest]]
 +      * [[:docs:guide-user:virtualization:docker_host|OpenWrt as Docker container host]]
 +      * [[:docs:guide-user:virtualization:xen_debian_private_network|OpenWrt as DomU in Debian Xen4 in a private network]]
 +      * [[:docs:guide-user:virtualization:qemu_host|OpenWrt as QEMU/KVM host server]]
 +      * [[:docs:guide-user:virtualization:lxc|OpenWrt in LXC containers]]
 +      * [[:docs:guide-user:virtualization:qemu|OpenWrt in QEMU]]
 +      * [[:docs:guide-user:virtualization:utm|OpenWrt on UTM on Apple Silicon HowTo]]
 +      * [[:docs:guide-user:virtualization:virtualbox-vm|OpenWrt on VirtualBox HowTo]]
 +      * [[:docs:guide-user:virtualization:fusion|OpenWrt on VMware Fusion on Apple Silicon HowTo]]
 +      * [[:docs:guide-user:virtualization:vmware|OpenWrt on VMware HowTo]]
 +      * [[:docs:guide-user:virtualization:mikrotik_metarouter_openwrt|OpenWrt running as metarouter on mikrotik routerOS]]
 +      * [[:docs:guide-user:virtualization:virtualbox-advanced|VirtualBox Advanced]]
   * [[docs:guide-developer:toolchain:use-buildsystem|Build system usage]]   * [[docs:guide-developer:toolchain:use-buildsystem|Build system usage]]
     * [[docs:guide-developer:toolchain:beginners-build-guide|Quick image building guide]]     * [[docs:guide-developer:toolchain:beginners-build-guide|Quick image building guide]]
     * [[docs:guide-developer:toolchain:env|Using build environments]]     * [[docs:guide-developer:toolchain:env|Using build environments]]
     * [[docs:guide-developer:packages.flags|Overriding Build Options]]     * [[docs:guide-developer:packages.flags|Overriding Build Options]]
 +    * [[docs:guide-developer:toolchain:building_openwrt_on_openwrt|Building OpenWrt ON OpenWrt]]
     * [[docs:guide-developer:obtain.firmware.sdk|Using the SDK]]     * [[docs:guide-developer:obtain.firmware.sdk|Using the SDK]]
     * [[docs:guide-developer:toolchain:crosscompile|Cross Compiling your application]]     * [[docs:guide-developer:toolchain:crosscompile|Cross Compiling your application]]
 +    * [[:docs:guide-developer:toolchain:single.package|Building a single package]]
     * [[docs:guide-developer:external_toolchain|Using External Toolchain]]     * [[docs:guide-developer:external_toolchain|Using External Toolchain]]
     * [[docs:guide-developer:imagebuilder_frontends|Image Builder frontends]]     * [[docs:guide-developer:imagebuilder_frontends|Image Builder frontends]]
     * [[docs:guide-user:additional-software:imagebuilder|Using the Image Builder]]     * [[docs:guide-user:additional-software:imagebuilder|Using the Image Builder]]
     * [[docs:guide-developer:feeds|OpenWrt Feeds]]     * [[docs:guide-developer:feeds|OpenWrt Feeds]]
-  * Adding new packages to OpenWRT+  * Adding new packages to OpenWrt
     * [[docs:guide-developer:helloworld:start|"Hello, world!" package for OpenWrt]]     * [[docs:guide-developer:helloworld:start|"Hello, world!" package for OpenWrt]]
       * [[docs:guide-developer:helloworld:chapter1|Preparing your OpenWrt build system for use]]       * [[docs:guide-developer:helloworld:chapter1|Preparing your OpenWrt build system for use]]
Line 36: Line 54:
       * [[docs:guide-developer:helloworld:chapter8|Patching your application: Editing existing files]]       * [[docs:guide-developer:helloworld:chapter8|Patching your application: Editing existing files]]
     * [[docs:guide-developer:procd-init-script-example|Create a sample procd init script]]     * [[docs:guide-developer:procd-init-script-example|Create a sample procd init script]]
-  * Adding existing packages to OpenWRT+  * Adding existing packages to OpenWrt
     * [[docs:guide-developer:package-policies#autotools|Autotools packages]]     * [[docs:guide-developer:package-policies#autotools|Autotools packages]]
     * [[docs:guide-developer:creating-a-cmake-package-in-openwrt|Cmake packages]]     * [[docs:guide-developer:creating-a-cmake-package-in-openwrt|Cmake packages]]
     * [[docs:guide-developer:creating_a_meson_based_package|Meson packages]]     * [[docs:guide-developer:creating_a_meson_based_package|Meson packages]]
-    * Packages with other specific build systems 
     * [[docs:guide-developer:toolchain:use-patches-with-buildsystem|Patching a package]]     * [[docs:guide-developer:toolchain:use-patches-with-buildsystem|Patching a package]]
     * [[docs:guide-developer:dependencies|Using Dependencies]]     * [[docs:guide-developer:dependencies|Using Dependencies]]
 +    * [[docs:guide-developer:packages|Package creation reference manual]]
 +      * [[docs:guide-developer:packages#buildpackage_variables|BuildPackage variables]]
 +      * [[docs:guide-developer:packages#testing_a_package_makefile|Testing a package Makefile]]
 +      * [[docs:guide-developer:packages#pkg_fixup|PKG_FIXUP]]
 +      * [[docs:guide-developer:packages#package_sourcecode|Package Sourcecode]]
 +      * [[docs:guide-developer:packages#buildpackage_defines|BuildPackage defines]]
 +      * [[docs:guide-developer:packages#building_in_a_subdirectory_of_the_source|Building in a subdirectory of the source]]
 +      * [[:docs:guide-developer:packages#dependency_types|Dependency Types]]
 +      * [[:docs:guide-developer:packages#configure_a_package_source|Configure a package source]]
 +      * [[:docs:guide-developer:packages#adding_configuration_options|Adding configuration options]]
 +      * [[:docs:guide-developer:packages#working_on_local_application_source|Working on local application source]]
 +      * [[:docs:guide-developer:packages#creating_packages_for_kernel_modules|Creating packages for kernel modules]]
 +      * [[:docs:guide-developer:packages#file_installation_macros|File installation macros]]
 +      * [[:docs:guide-developer:packages#packaging_a_service|Packaging a service]]
   * [[docs:guide-developer:debugging|Debugging]]   * [[docs:guide-developer:debugging|Debugging]]
     * [[docs:guide-developer:gdb|GNU Debugger]]     * [[docs:guide-developer:gdb|GNU Debugger]]
-  * Device management in OpenWRT +  * Device management in OpenWrt 
-    * [[docs:guide-developer:add.new.device|Adding a new device]]+    * [[docs:guide-developer:adding_new_device|Adding a new device]]
     * [[docs:guide-developer:add.new.device|Adding new device support]]     * [[docs:guide-developer:add.new.device|Adding new device support]]
     * [[docs:guide-developer:add.new.platform|Adding new platform support]]     * [[docs:guide-developer:add.new.platform|Adding new platform support]]
     * [[docs:guide-developer:device-support-policies|Device support policies / best practices]]     * [[docs:guide-developer:device-support-policies|Device support policies / best practices]]
-    * [[docs:guide-developer:device-support-policies|Device Tree Usage in OpenWrt (DTS)]]+    * [[docs:guide-developer:defining-firmware-partitions|Device Tree Usage in OpenWrt (DTS)]]
     * [[docs:techref:block_mount|Mounting Block Devices]]     * [[docs:techref:block_mount|Mounting Block Devices]]
 +  * Contribution guidelines
 +    * [[:docs:guide-developer:toolchain:use-patches-with-buildsystem|Working with patches]]
 +      * [[:docs:guide-developer:toolchain:use-patches-with-buildsystem#prepare_quilt_configuration|Prepare quilt configuration]]
 +      * [[:docs:guide-developer:toolchain:use-patches-with-buildsystem#adding_a_new_patch|Adding a new patch]]
 +      * [[:docs:guide-developer:toolchain:use-patches-with-buildsystem#edit_an_existing_patch|Edit an existing patch]]
 +      * [[:docs:guide-developer:toolchain:use-patches-with-buildsystem#adding_or_editing_kernel_patches|Adding or editing kernel patches]]
 +      * [[:docs:guide-developer:toolchain:use-patches-with-buildsystem#adding_or_editing_toolchain_patches|Adding or editing toolchain patches]]
 +      * [[:docs:guide-developer:toolchain:use-patches-with-buildsystem#naming_patches|Naming patches]]
 +      * [[:docs:guide-developer:toolchain:use-patches-with-buildsystem#refreshing_patches|Refreshing patches]]
 +      * [[:docs:guide-developer:toolchain:use-patches-with-buildsystem#iteratively_modify_patches_without_cleaning_the_source_tree|Iteratively modify patches without cleaning the source tree]]
 +    * [[:submitting-patches|Submitting patches]]
 +    * [[:bugs|Reporting bugs]]
 +    * [[docs:guide-developer:working-with-git-email|Sending patches by git send-email]]
 +    * [[docs:guide-developer:working-with-github-pr|Working with GitHub]]
 +  * [[:docs:guide-developer:security|Security]]
 +    * [[:docs:guide-developer:selinux_policy_development|OpenWrt SELinux policy development, customization, and testing]]
 +    * [[:docs:guide-developer:security_incidents_response]]
  
 +===== Technical reference =====
  
 +  * [[:docs:guide-developer:networking:start|Networking]]
 +    * [[:docs:guide-developer:networking:theory|Theory]]
 +    * [[:docs:guide-developer:networking:datagram.structures|Datagram Structures]]
 +    * [[:docs:guide-developer:networking:network.interfaces|Linux network interfaces]]
 +    * [[:docs:guide-developer:networking:praxis|Networking in the Linux Kernel]]
 +    * [[:docs:guide-developer:mac.address|Device Support: MAC address setup]]
 +    * [[:docs:guide-developer:mdns|Multicast DNS Daemon]]
 +    * [[:docs:guide-developer:netifid|Netifid]]
 +    * [[:docs:guide-developer:network-scripting|Network scripts]]
 +    * [[:docs:techref:wireless.modes|Wireless Modes]]
 +    * [[:docs:techref:filesystems.network|Network Filesystems]]
 +  * Coding in OpenWrt
 +    * [[:docs:guide-developer:write-shell-script|Write shell scripts in OpenWrt]]
 +    * [[:docs:techref:initscripts|Init Scripts]]
 +      * [[:docs:guide-developer:procd-init-scripts|procd init scripts]]
 +    * [[:docs:techref:uci|UCI (Unified Configuration Interface)]]
 +    * [[:docs:techref:ubox|Ubox]]
 +      * [[:docs:techref:libubox|libubox]] 
 +    * [[:docs:techref:ubus|Ubus (OpenWrt micro bus architecture)]]
 +      * [[:docs:guide-developer:ubus|uBus IPC/RPC System]]
 +      * [[:docs:guide-developer:ubus:file|ubus file]]
 +      * [[:docs:guide-developer:ubus:iwinfo|ubus iwinfo]]
 +      * [[:docs:guide-developer:ubus:network|ubus network]]
 +      * [[:docs:guide-developer:ubus:service|ubus service]]
 +      * [[:docs:guide-developer:ubus:session|ubus session]]
 +      * [[:docs:guide-developer:ubus:system|ubus system]]
 +      * [[:docs:guide-developer:ubus:uci|ubus uci]]
 +    * OpenWrt release management
 +      * [[:docs:guide-developer:releases:start|Making OpenWrt releases]]
 +        * [[:docs:guide-developer:releases:release-process|High-level release process]]
 +        * [[:docs:guide-developer:releases:create-major-releases|How to create a major release]]
 +        * [[:docs:guide-developer:releases:making-service-release|How to create a service release]]
 +        * [[:docs:guide-developer:releases:buildbot-major-releases|How to prepare buildbot for major release]]
 +        * [[:docs:guide-developer:releases:provision-nitrokey3|Prepare Nitrokey 3A Mini for build artifact signing]]
 +        * [[:docs:guide-developer:releases:update_package_list|Update package lists]]
 +        * [[:docs:guide-developer:releases:update_wikidata|Update wikidata]]
 +      * [[:docs:guide-developer:releases:goals:start|Release goals]]
 +        * [[:docs:guide-developer:releases:goals:23.xx|Release goals for 23.XX]]
 +        * [[:docs:guide-developer:releases:goals:22.xx|Release goals for 22.03]]
 +        * [[:docs:guide-developer:releases:goals:21.xx|Release goals for 21.XX]]
 +        * [[:docs:guide-developer:releases:goals:21.02|Release Goals for 21.02]]
 +        * [[:docs:guide-developer:releases:goals:20.xx|Release goals for 20.XX]]
 +        * [[:docs:guide-developer:releases:goals:19.07.4|Release goals for 19.07.4]]
  
-===== Quick overview of OpenWrt's internals ===== 
-<pagelist&list&nodate&nouser> 
-  * [[docs:guide-developer:overview]] 
-</pagelist> 
  
-===== Assembling firmware images with the Image Builder ===== 
-<pagelist&list&nodate&nouser> 
-  * [[docs:guide-user:additional-software:imagebuilder]] 
-  * [[docs:guide-developer:imagebuilder_frontends]] 
-</pagelist> 
  
-===== Contribution guidelines ===== 
-<pagelist&list&nodate&nouser> 
-  * [[:submitting-patches]] 
-</pagelist> 
  
-===== The source code ===== 
-<pagelist&list&nodate&nouser> 
-  * [[docs:guide-developer:source-code:start]] 
-  * [[docs:guide-developer:source-code:source-revision-calculation]] 
-</pagelist> 
- 
-===== Using the toolchain ===== 
-{{pagequery>* ns:docs:guide-developer:toolchain;sort=ns,title;display={title};hidestart;hidejump;bullet=disc;fontsize=100%}} 
- 
-===== Security ===== 
-<pagelist&list&nodate&nouser> 
-  * [[docs:guide-developer:security]] 
-  * [[docs:guide-developer:selinux_policy_development]] 
-</pagelist> 
- 
-===== Bug tracker ===== 
-<pagelist&list&nodate&nouser> 
-  * [[:bugs]] 
-</pagelist> 
- 
-===== Testing OpenWrt in a virtual machine ===== 
-{{pagequery>* ns:docs:guide-user:virtualization;sort=ns,title;display={title};hidestart;hidejump;bullet=disc;fontsize=100%}} 
  
 ===== All development articles ===== ===== All development articles =====
  • Last modified: 2024/12/07 10:03
  • by ynezz