| Both sides previous revision Previous revision Next revision | Previous revision |
| docs:guide-developer:start [2016/12/10 14:25] – bobafetthotmail | docs:guide-developer:start [2024/12/07 10:03] (current) – [Table of contents] High-level security incident response handling process ynezz |
|---|
| ====== LEDE Developer Guide ====== | ====== Developer guide ====== |
| | This page has links to all the pages of OpenWrt development documentation. |
| | Use the Search facility to find more information. |
| | ====== Table of contents ====== |
| | * [[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|The OpenWrt source code]] |
| | * [[docs:guide-developer:source-code:start#openwrt_source_code_repositories|Fetching from GitHub]] |
| | * [[docs:guide-developer:source-code:source-revision-calculation|Revision number calculation]] |
| | * Build system |
| | * [[docs:guide-developer:toolchain:buildsystem_essentials|Build System essentials]] |
| | * System setup |
| | * [[docs:guide-developer:toolchain:install-buildsystem|Linux]] |
| | * [[docs:guide-developer:toolchain:buildroot.exigence.macosx|MacOS]] |
| | * [[docs:guide-developer:toolchain:wsl|Windows (WSL)]] |
| | * [[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:beginners-build-guide|Quick image building guide]] |
| | * [[docs:guide-developer:toolchain:env|Using build environments]] |
| | * [[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: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:imagebuilder_frontends|Image Builder frontends]] |
| | * [[docs:guide-user:additional-software:imagebuilder|Using the Image Builder]] |
| | * [[docs:guide-developer:feeds|OpenWrt Feeds]] |
| | * Adding new packages to 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:chapter2|Creating a simple “Hello, world!” application]] |
| | * [[docs:guide-developer:helloworld:chapter3|Creating a package from your application]] |
| | * [[docs:guide-developer:helloworld:chapter4|Including your package feed into OpenWrt build system]] |
| | * [[docs:guide-developer:helloworld:chapter5|Building, deploying and testing your application]] |
| | * [[docs:guide-developer:helloworld:chapter6|Migrating to use GNU make in your application]] |
| | * [[docs:guide-developer:helloworld:chapter7|Patching your application: Adding new 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]] |
| | * Adding existing packages to OpenWrt |
| | * [[docs:guide-developer:package-policies#autotools|Autotools 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:toolchain:use-patches-with-buildsystem|Patching a package]] |
| | * [[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:gdb|GNU Debugger]] |
| | * Device management in OpenWrt |
| | * [[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.platform|Adding new platform support]] |
| | * [[docs:guide-developer:device-support-policies|Device support policies / best practices]] |
| | * [[docs:guide-developer:defining-firmware-partitions|Device Tree Usage in OpenWrt (DTS)]] |
| | * [[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|High-level security incident response handling process]] |
| |
| This page has links to all the pages of LEDE development documentation. Use the Search facility to find more information.\\ | ===== Technical reference ===== |
| ====The source code==== | |
| * [[docs:guide-developer:the-source-code| LEDE source code]] | |
| |
| ==== Using LEDE toolchain ==== | * [[:docs:guide-developer:networking:start|Networking]] |
| * [[docs:guide-developer:Compile packages for LEDE with the SDK]] | * [[: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]] |
| |
| ==== Development Articles ==== | |
| * [[docs:guide-developer:build-system | The Build system]] | |
| * [[docs:guide-developer:Compile a LEDE firmware]] | |
| * [[docs:guide-developer:Compile a LEDE firmware from source]] | |
| * [[docs:guide-developer:uci-defaults]] | |
| * [[docs:guide-developer:adding_new_device]] | |
| * [[docs:guide-developer:mdns]] | |
| * [[docs:guide-developer:procd]] | |
| * [[docs:guide-developer:rpcd]] | |
| * [[docs:guide-developer:ubus]] | |
| * [[docs:guide-developer:netifid]] | |
| * [[https://github.com/btsimonh/lede-vagrant|Vagrant-based automatic setup for a LEDE build environment in a VM]] | |
| * [[docs:guide-developer:embedding-files-in-image| Including custom files/configurations in a firmware image]] | |
| * [[docs:guide-developer:using-build-environments| Build for multiple targets from the same build tree (build environments aka config swapping)]] | |
| |
| ==== Bug Tracker ==== | |
| |
| Please submit bug reports at https://bugs.lede-project.org/. | |
| | |
| | ===== All development articles ===== |
| | {{pagequery>* ns:docs:guide-developer;sort=ns,title;group;display={title};hidestart;hidejump;cols=2}} |
| | {{pagequery>* ns:docs:techref -ns:docs:techref:instructionset;sort=ns,title;group;display={title};hidestart;hidejump;cols=2}} |
| |