+mkdir -p $TMP/prep/{proc,dev,tmp,sys,mnt,usr}
+stupid_links $TMP/prep
+
+# copy FS tree(s) in full into the TMP/prep tree
+copyFStree() {
+ local D
+ for D in $* ; do
+ tar cf - -C "$FS" $D \
+ | tar -xf - --skip-old-files --keep-directory-symlink -C $TMP/prep
+ done
+}
+
+# Copy FS binary(s) with all its libraries into the TMP/prep tree
+copyFSbin() {
+ local B BIN
+ for B in $* ; do
+ BIN="$(chroot "$FS" which "$B")"
+ tar cf - --dereference -C "$FS" ${BIN#/} \
+ $(chroot "$FS" ldd "$BIN" | grep -oE '/[^ ]*'|sed 's|/||')\
+ | tar -xf - --keep-directory-symlink -C $TMP/prep
+ done
+}
+
+INITRD="$FS"/boot/initrd.img${LINUX#*/vmlinuz}
+if [ -r "$INITRD" ] ; then
+ #select X in my FS ; do [ -n "$X" ] && break ; done
+ X=FS
+else
+ X=my
+fi
+case "$X" in
+ FS)
+ copyFStree lib/modules
+ zstdcat $INITRD | ( cd $TMP/prep && cpio -i )
+ ;;
+ my)
+ copyFStree lib/modules lib/udev
+ copyFSbin busybox sh cttyhack setsid mount mkdir
+ copyFSbin udevd udevadm modprobe modinfo kmod blkid
+ ;;
+esac
+
+## (re)install /init
+echo "** Please select /init template"
+select INIT in none $(echo init*.template) ; do [ -n "$INIT" ] && break ; done
+if [ "$INIT" != none ] ; then
+ mv $TMP/prep/init{,.FS}
+ cp $INIT $TMP/prep/init
+ chmod a+x $TMP/prep/init
+ cp message.txt $TMP/prep/message.txt
+fi
+
+( cd "$TMP/prep" && find -printf '%P\n' | cpio -o -H newc ) | \