I have been reading about extroot and came to this very terse section:
It just lists a script or rather two commands that install two files, and I would very much appreciate some comments about how it is supposed to effectively work, e.g. how this handles upgrades of additional packages or other data installed on the USB drive. In my case, I would like to have both an extroot plus space for data (audio data for streaming via icecast) on the same USB device and would like to make upgrading of the necessary packages on extroot as automatic as possible.
You cannot reuse your existing extroot over an upgrade. The script just automates creating/populating a new extroot. FWIW, I just rm -rf /path/to/sda1/mount first.
As far as upgrading packages you added since your last upgrade, you will have to manage that yourself. I maintain a script to install any packages I’ve added to extroot.
Just partition your USB drive. i.e. from a 32GB USB (16GB for extroot and 4 X 4GB partitions):