The answer might be to use debootstrap anyway. Here's a howto https://www.debian.org/releases/lenny/arm/apds03.html.en
The process I managed to use is with the --foreign parameter, which creates a root filesystem ready to be bootstrapped. My command:
debootstrap --foreign --arch amd64 --variant minbase \
--keyring /usr/share/keyrings/debian-keyring.gpg \
jessie debstaged
cd debstaged
tar -czf ../iso/debstaged.tar.gz *
cd ..
The root filesystem tar/gzipped is in my iso folder that I use to create a bootable CD
Once I boot the CD which only has a minimalist busybox initramfs, I can simply untar that filesystem and complete the installation:
mount /dev/sr0 /mnt
mkdir /tmp/root
mount -t tmpfs debroot /tmp/root
cd /tmp/root
tar -xzf /mnt/debstaged.tar.gz
umount /mnt
chroot . /debootstrap/debootstrap --second-stage
At this point, I have a ready configured debian system root in /tmp/root.
The answer is obviously incomplete, but if we could figure which files are necessary and manage to debinify the busybox system, there could be a way. This resource was quite helpful as well - http://lists.busybox.net/pipermail/busybox/2014-June/081017.html
I should be able to switch to the new root like that, but my kernel doesn't have devtmpfs which is required by systemd init:
echo > /proc/sys/kernel/hotplug
umount /proc
umount /sys
exec switch_root -c /dev/console /tmp/root /sbin/init
Kind regards, Rob