Firmware creation: removing and adding packages

I am trying to create a firmware for an ancient DIR-300 A1 router. I need:

  1. Remove packets: ppp, ipv6.
  2. Add packages: openvpn, easyssl.
    But I can't find anything similar in the interface!
    Tell me where to look for openvpn and easyssl, and how to remove ppp, ipv6? What points to look for?

I have newer used that program or build a own version.
But according to the symbol description at the top I give it a try.
The usual male version of doing this is to go in to every submenu there is until found without reading the manual first.
Personally I would actually start with the submenu called Extra Packages and search there.

There are thousands of packages. They can't be in a linear long menu...

use "/" to search

e.g. /openvpn

Openvpn can be found at Network->VPN submenu.

 .config - OpenWrt Configuration
 > Search (openvpn) ───────────────────────────────────────────────────────────
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ Search Results ─────────────────────────────┐
  β”‚                                                                         β”‚  
  β”‚ Symbol: PACKAGE_openvpn-mbedtls [=n]                                    β”‚  
  β”‚ Type  : tristate                                                        β”‚  
  β”‚ Defined at tmp/                                β”‚  
  β”‚   Prompt: openvpn-mbedtls................... Open source VPN solution u β”‚  
  β”‚   Location:                                                             β”‚  
  β”‚     -> Network                                                          β”‚  
  β”‚ (7)   -> VPN                                                            β”‚  
  β”‚ Selects: PACKAGE_libmbedtls [=n] && PACKAGE_librt [=y] && PACKAGE_libpt β”‚  
  β”‚                                                                         β”‚  
  β”‚                                                                         β”‚  
  β”‚ Symbol: PACKAGE_openvpn-openssl [=n]                                    β”‚  
  β”‚ Type  : tristate                                                        β”‚  
  β”‚ Defined at tmp/                                β”‚  
  β”‚   Prompt: openvpn-openssl................... Open source VPN solution u β”‚  
  β”‚   Location:                                                             β”‚  
  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€( 98%)───  
  β”‚                                < Exit >                                 β”‚  


There is no chance that OpenVPN will fit into 4 MB flash, nor that the device would even boot with 16 MB RAM, but surely you knew that before.


If you just need to add or remove packages, you can use the image builder, and create an image using packages from the repos, instead of compiling all the packages yourself.

On the other hand, as @slh pointed out, you will not be able to create a suitable image unless you dig deeper and remove functionalities from the packages; and even then, there is no guarantee that it will work.

Again, we're not 'just' talking about 4 MB flash - but also about 16 MB RAM AND a wish for OpenVPN…