florian fainelli - linux foundation...
TRANSCRIPT
![Page 1: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/1.jpg)
Florian Fainelli
OpenWrt/LEDE: when two become one
![Page 2: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/2.jpg)
About Florian
● 2004: Bought a Linksys WRT54G● 2006: Became an OpenWrt developer● 2013: Joined Broadcom to work on Set-top Box
and Cable Modem Linux kernel, toolchain, bootloader, root filesystem
● 2016: Joined the LEDE team...● … while remaining in OpenWrt
![Page 3: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/3.jpg)
Summary
● Introduction to OpenWrt and LEDE● Design, features and examples● OpenWrt/LEDE reunification status
![Page 4: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/4.jpg)
Introduction to OpenWrt/LEDE
![Page 5: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/5.jpg)
What are OpenWrt and LEDE?
● Build systems● Linux distributions● Communities:
– Wiki, forums, mailing-lists and git repositories
– Users, contributors, developers
![Page 6: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/6.jpg)
OpenWrt and LEDE in a nutshell
● Insert graph
OpenWrt/LEDEUser spacecomponents
Open sourceSoftware:
Http, git, svn, files
Kernel image
Rootfilesystem
Bootloader
Packages
OpenWrt/LEDE
Toolchain
Imagebuilder
SDK
Firmwareimage(s)
Makefilescripts
.config
Tools
![Page 7: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/7.jpg)
Design goals
● Maintainability– Working with latest technologies
– Frequent updates to solve security flaws
● Ubiquity– Most off the shelf routers supported within weeks/months following public availability
– With LEDE: extend scope beyond traditional network devices
– Work with vendors to support OpenWrt/LEDE natively
● User empowerment– It’s open source!
– Superior quality and control over vendor provided firmware
● Selected differentiation– Provide a state of the art network device experience
– Turn-key solution to build real products
![Page 8: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/8.jpg)
OpenWrt/LEDE in the landscape
buildroot
OpenWrt/LEDE
Yocto/OE
Number of components/packages
Complexity
Low
Corepackages Package feeds
1 50 100 1000+
Medium
High
![Page 9: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/9.jpg)
Time line
2003 2006 2007 2008 2009 2010 2011 2013 2014 2015 2016
OpenWrt
LEDE
White
russ
ian 0.
9
Kamikaze
7.06/07/09
Kamikaze
8.09
Kamikaze
8.09.1
Kamikaze
8.09.2
Backfire
10.03
Backfire
10.03.1
Attitude
adjustm
ent 12.09
2017
Barrier B
reake
r 14.0
7
Chaos Calm
er 15.05
Chaos Calm
er 15.05.1
LEDE 17.0
1.0
2017
Designated D
river 1
6?
buildroot
Forks/reboot points??
![Page 10: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/10.jpg)
A word or two about router security
● Home routers are a great attack targets– Use vendor SDKs, old software, with custom NIH
software
– Millions of vulnerable devices out there running Linux
![Page 11: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/11.jpg)
Design, features and examples
![Page 12: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/12.jpg)
Build system
● Written in GNU Makefile● Produces *.ipk files for software packages and kernel modules● Abstracts autotools, cmake, bare-Makefile, libtool● Make menuconfig based user interface● Dependencies resolution and configuration validation● Partial rebuild of everything (packages, toolchain, kernel)● Supports building for different targets within the same source
tree● Parallel whenever possible
![Page 13: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/13.jpg)
Why not use buildroot or Yocto?
● Buildroot– Does not support packages
– But was a great basis to work from!
● Yocto/OE– Too slow, too complex
![Page 14: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/14.jpg)
Menuconfig based interface
![Page 15: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/15.jpg)
Toolchain & kernel
● Toolchain– Internal build (default)
– External (crosstool-ng, custom…)
– Supports glibc, uClibc-ng and musl-libc
● Kernel– Vanilla kernel + OpenWrt/LEDE patches + platform
specific patches
– External kernel: directory or git repository
![Page 16: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/16.jpg)
Package makefileinclude $(TOPDIR)/rules.mk
PKG_NAME:=jsonfilter
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(LEDE_GIT)/project/jsonpath.git
PKG_SOURCE_DATE:=2016-07-02
PKG_SOURCE_VERSION:=dea067ad67d977c247c300c06676a06adf21e0c7
PKG_MIRROR_HASH:=6c0e30da3f0c82527f9b5285d7c6ae61406732f2b0543b93131fe115ffc2987a
CMAKE_INSTALL:=1
PKG_MAINTAINER:=Jo-Philipp Wich <[email protected]>
PKG_LICENSE:=ISC
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
define Package/jsonfilter
SECTION:=base
CATEGORY:=Base system
DEPENDS:=+libubox +libjson-c
TITLE:=OpenWrt JSON filter utility
URL:=http://git.openwrt.org/?p=project/jsonpath.git
endef
define Package/jsonfilter/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/jsonpath $(1)/usr/bin/jsonfilter
endef
$(eval $(call BuildPackage,jsonfilter))
● Define name, revision● Git URL, git commit, date● Distribution metadata● Include cmake macros● Define package
metadata (dependencies, location in menuconfig)
● How to create the package
● Add to the build system
![Page 17: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/17.jpg)
Example work flow
● Clean, build and install jsonfilter into rootfs:
make package/jsonfilter/{clean,compile,install}
● Force ethtool selection and download sources:
CONFIG_PACKAGE_ethtool=m make package/ethtool/download
● Manage package patches with quilt:
make package/ethtool/prepare QUILT=1
cd build_dir/*/*/ethtool-*/
quilt push/pop/delete/add
![Page 18: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/18.jpg)
Platform layer
GenericKernel configurationPatchesBase-files
Profile harddisk
Sub-target
Sub-targetKernel configBase-filesABI/Endian
Profile NANDPackage selectionFirmware image
Platform C
Platform B
Platform AKernel configurationPatchesBase-filesPackage selection
![Page 19: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/19.jpg)
Platform definitioninclude $(TOPDIR)/rules.mk
ARCH:=arm
BOARD:=realview
BOARDNAME:=ARM Ltd. Realview board (qemu)
FEATURES:=fpu ramdisk
CPU_TYPE:=mpcore
CPU_SUBTYPE:=vfp
KERNEL_PATCHVER:=3.18
DEVICE_TYPE:=developerboard
include $(INCLUDE_DIR)/target.mk
define Target/Description
Build images for ARM Ltd. Realview boards to be run with qemu
endef
KERNELNAME:=zImage
$(eval $(call BuildTarget))
● Include macros● Define architecture
– Features
– CPU type (ABI, family)
● Kernel version
● Default package selection
● Distribution (menuconfig) presentation
● Indicate what kernel image(s) to build● Add to build system
![Page 20: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/20.jpg)
Kernel example work flow
● Build kernel modulesmake target/linux/compile
● Build kernel image and firmwaremake target/linux/install
● Manage kernel patches with quiltmake target/linux/prepare QUILT=1
cd build_dir/target*/linux*/linux-x.y/
quilt push/pop/add/delete
● Switching between environments./scripts/env/new arm-platform
./scripts/env/switch arm-platform
make -j42
./scripts/env/switch mips-platform
![Page 21: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/21.jpg)
Even kernel modules are packages!
● Kernel package name
● Kconfig option to enable
● Dependencies
● File to install
● Insmod loading hints
● Add to build system
define KernelPackage/tg3
TITLE:=Broadcom Tigon3 Gigabit Ethernet
KCONFIG:=CONFIG_TIGON3
DEPENDS:=+!TARGET_brcm47xx:kmod-libphy +kmod-hwmon-core +kmod-ptp
SUBMENU:=$(NETWORK_DEVICES_MENU)
FILES:=$(LINUX_DIR)/drivers/net/ethernet/broadcom/tg3.ko
AUTOLOAD:=$(call AutoLoad,19,tg3,1)
endef
define KernelPackage/tg3/description
Kernel modules for Broadcom Tigon3 Gigabit Ethernet adapters
endef
$(eval $(call KernelPackage,tg3))
![Page 22: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/22.jpg)
Feeds
● Locations to package recipessrc-git packages https://git.lede-project.org/feed/packages.git
src-link custom /usr/src/openwrt/custom-feed
● Search, install and update additional packagesscripts/feeds update packages
scripts/feeds search “snmp”
scripts/feeds/install snmpd
![Page 23: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/23.jpg)
Development and deployment
Packages
ImageBuilder
Firmwareimage(s)Kernel image
Recipes
Tools
Open sourceSoftware:
Http, git, svn, files
SDK
Toolchain
Recipes
Tools
Packages
![Page 24: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/24.jpg)
Custom user-space, why?
● Modern systems require coordination between heterogeneous and discrete components
● User interfaces (CLI, web, GUI) change system configuration
● Networking devices are incredibly more complex (tunnels, provisioning etc.)
● Requirement for a proven, solid and consistent update mechanism
![Page 25: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/25.jpg)
OpenWrt/LEDE software stack
ubusSocket-based IPC busACLsExport methods & signalsBinary & JSON data format
netifdEvent driven networking IPv4/v6 configurationTunnels, VLAN, Wi-FiProtocol handling
procdProcess monitoringJailingHotplug, watchdog, syslogInit scripts support
uciConfiguration storageC & LUA bindingsCommit & rollback
libuboxEvent loopUtility librarySocket abstractionCommon data structures
LuCIWeb interfaceSupports plugins/modulesJSON-RPCUbus export
![Page 26: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/26.jpg)
System upgrades and failsafe
● System upgrades work consistently across devices:– Independent of the boot medium (SPI, NAND, eMMC)
– Platform layer provides how to identify firmware image and where to flash kernel and root filesystem (partitions, mangling)
– Scripts freeze system, preserve configuration files, and pivot_root to /tmp
– Reboot into new version!
● Overlay FS allows marking the base system as read-only– But still allow read/write partition(s) for installable packages
– Avoids wiping your entire system by accident
● Failsafe allows recovery of devices using device-specific buttons– Provides a recovery mechanism in case configuration is botched
![Page 27: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/27.jpg)
Networking today
Ethernet 3G/4G xDSL (euro)DOCSIS
DHCP RA + DHCPv6 IP(6)CP
6rd DS-Lite MAP-E MAP-T 464XLAT
![Page 28: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/28.jpg)
Configure only the minimum
3G/4Gconfig interface wan
option ifname wwanoption pincode 1234option apn #apn#
Ethernetconfig interface wan
option ifname eth1option proto dhcp
config interface wan6option ifname eth1option proto dhcpv6 PPPoX
config interface wanoption ifname eth1option proto pppoeoption username johnoption password doe
Wi-Ficonfig wifi-iface option device radio0 option mode ap option encryption psk-mixed option key ... option ssid ELC option network lan
Ethernetconfig interface lan option ifname eth0 option type bridge option proto static option ipaddr 192.168.1.1 option netmask 255.255.255.0
![Page 29: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/29.jpg)
And let netifd do the magic
Protocol handlersDHCP, DHCPv6PPP
netifdOrchestrationEvent generationL2/L3/L4 stacking
Physical devicesEthernetxDSLWi-Fi3G/4G Modems
firewall3Netfilter/nftables frontend
DNSmasqDHCP serverDNS cacheDNSseq
Network aware servicesSMBUPnP/DNLADynamic DNS client
Protocol clientsPPPDHCP clientDHCPv6 client
![Page 30: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/30.jpg)
Build-time security features
● Full/partial RelRO (configurable)● Format-security checking (-Werror=format-
security)● Source fortification (-D_FORTIFY_SOURCE)● Stack-smashing protector (user & kernel)● Packages (*.ipk) are signed
![Page 31: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/31.jpg)
Run-time security features
● Jails through procd to restrict filesystem access:procd_add_jail dnsmasq ubus log
procd_add_jail_mount $CONFIGFILE $TRUSTANCHORSFILE $HOSTFILE /etc/passwd /etc/group /etc/TZ /dev/null /dev/urandom $dnsmasqconffile $dnsmasqconfdir $resolvfile $dhcpscript /etc/hosts /etc/ethers $EXTRA_MOUNT
procd_add_jail_mount_rw /var/run/dnsmasq/ $leasefile
● Flexible seccomp definitions to white list system calls:procd_set_param seccomp /etc/seccomp/mdns.json
{
“whitelist”: [“read”“write”..“brk”
}
![Page 32: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/32.jpg)
And many more!
● Has existing ARM, MIPS and x86 targets that run in QEMU
● Packages with separate debug info● Ex/inclusion of patented/specifically licensed
packages● Local package mirror, alternate download
directory (corporate/development environments)● Default IP, init-scripts, banner customization
![Page 33: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/33.jpg)
Areas of improvements
● More continuous testing– Harder because of the wide variety of hardware
– Leverage community and provide clear reporting guidelines
● Send more patches upstream– About 170 patches against Linux 4.9!
– Migrate Qualcomm/Atheros AR71xx towards Device Tree (ath79)
● Opt-in security updates● Documentation
– Wiki
– Table of hardware
– Recommended, best supported, ranking of models
![Page 34: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/34.jpg)
Conclusions
● It works great on your router, but equally well anywhere else!
● Fast, versatile, and flexible● Turn-key user-space solution for products…● … that you can ignore for development only● Extremely active communities
![Page 35: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/35.jpg)
OpenWrt/LEDE reunification status
![Page 36: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/36.jpg)
What happened?
● On March 5th 2016, a group of OpenWrt developers announced the formation of LEDE
● Two types of reaction:– Most people immediately welcomed LEDE and
switched to it
– A smaller group did not acknowledge the problem, and a flurry of emails ensued
● But essentially, it did signal there was a problem to be fixed with OpenWrt
![Page 37: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/37.jpg)
Why LEDE?
● More transparency– All decisions made public– Give equal decisions rights to all project members
– Establish clear processes and guidelines to operate the project (conflicts, external communication, release decisions..)
● Less centralization– Do not rely on single person owned infrastructure (DNS, servers, repositories…)
– Freedom to move code and services based on newer requirements (CI, capacity etc.)
● Predictability– Make frequent releases
– Leverage community testing– Easier integration process from contributor to developer
![Page 38: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/38.jpg)
Meanwhile in OpenWrt
● Surprise, ●
●
![Page 39: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/39.jpg)
Where are we today?
● Reunification terms:– LEDE code base to be used moving forward
– OpenWrt team given LEDE repository access
– Discussions on whether OpenWrt should stick as a name (trademark, larger popularity...)
● But right now, it’s a stalled discussion...
![Page 40: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/40.jpg)
What next?
● Release 17.01.0– So we can focus energy again on bringing the two projects together
again
– We critically need open source, recent and better software for our routers, users should have control and freedom!
● Meet, discuss and agree– In person– More frequently
– On the the reunification terms
● And move forward together from therehttp://lists.infradead.org/pipermail/lede-adm/2017-February/000380.html
![Page 41: Florian Fainelli - Linux Foundation Eventsevents17.linuxfoundation.org/sites/events/files/slides/ELC_OpenWrt... · Summary Introduction to OpenWrt and LEDE Design, features and examples](https://reader030.vdocuments.net/reader030/viewer/2022021620/5be5be4f09d3f2ea1a8c0676/html5/thumbnails/41.jpg)
References
● Websites
● Mailing-lists
● IRC
http://lede-project.org
http://openwrt.org
#lede-dev @ freenode
#openwrt @ freenode