How to build "modern" (supported) version for OLD (4/32M) device?

Hi there,
I need to build quite modern (at least supported) version of OpenWRT for an old 4/32M device (TP-LINK MR3220).
I am ready to sacrifice (at least) whole IPv6 and PPP stuff, it is quite big and I don't need this.
For one of my devices I don't even need iptables, as it works as simple bridge (+usb storage).
But there are pre-built versions, but no option to select this device in versions higher than Chaos Calmer (and even this leaves ZERO free flash space).
I've arrived to build such version of Barrier Breaker, but I was told here that this is "deprecated and buggy". And it IS buggy, as I can have AP (WDS) + STA on MR3220 but this does not work on WR1043ND.
So question is HOW to build "modern" image?

There are 2 paths to custom images:

  1. Compiling from source
  2. Use image builder which essentially mounts and image loopback and allows you to add/remove binary packages.
    https://openwrt.org/docs/guide-user/additional-software/saving_space

One thing I'm not clear on is if image builder for 19.07.2 provides profiles for 4/32 devices.
Edit: Just checked my 19.07.2 image builder and it does not contain a profile for the TP-LINK MR3220.

If your definition of "modern" means 19.07.2 or snapshots, you may have to build from source.

Yes, I know I need to build from source, as "builders" are only 64 bit, and my system is still 32 bit.
But I need some step-by-step guide, especially adressing lack of MR3220 as build target in v18 and v19.
There IS .config somewhere, as there are ready-made builds for this platform.
Just need it as starting point.

And for me "modern" is "something to hwat I could receive support from community". Do not insis ton latest stable or development branch.

The link I provided has copy/paste commands. Looked a little more, the last supported release for your device was

72	TP-Link	TL-MR3220	v1	17.01.5
73	TP-Link	TL-MR3220	v2	17.01.5

The DD-wrt project has newer builds for your device. That might be the easiest.

Have you even looked at the source code?
Your device is in the ar71xx/tiny section ...
even in the current master.

From menuconfig:


.config - OpenWrt Configuration
 ──────────────────────────────────────────────────────────────────────────────
  ┌───────────────────────── OpenWrt Configuration ─────────────────────────┐
  │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty │  
  │  submenus ----).  Highlighted letters are hotkeys.  Pressing <Y>        │  
  │  includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to │  
  │  exit, <?> for Help, </> for Search.  Legend: [*] built-in  [ ]         │  
  │ ┌─────────────────────────────────────────────────────────────────────┐ │  
  │ │        Target System (Atheros AR7xxx/AR9xxx)  --->                  │ │  
  │ │        Subtarget (Devices with small flash)  --->                   │ │  
  │ │        Target Profile (TP-LINK TL-MR3220 v1)  --->                  │ │  
  │ │        Target Images  --->                                          │ │

But the 4/32 are rather unusable with master or 19.07. But 18.06 might still work for you.

Apparently the device (v1) can also be found in the DTS based ath79 target, which is the successor for ar71xx. It might produce slightly smaller image, but not sure about that:

  │ ┌─────────────────────────────────────────────────────────────────────┐ │  
  │ │        Target System (Atheros ATH79 (DTS))  --->                    │ │  
  │ │        Subtarget (Devices with small flash)  --->                   │ │  
  │ │        Target Profile (TP-Link TL-MR3220 v1)  --->                  │ │  
  │ │        Target Images  --->                                          │ │

EDIT:
Note that your main problem will in any case be the 32 MB RAM, which is going to be pain with the current kernels and supporting packages.