makefile: Rework how we generate this thing.
diff --git a/Makefile b/Makefile
index 29fc096..9bad192 100644
--- a/Makefile
+++ b/Makefile
@@ -7,103 +7,85 @@
 SDCARD_SIZE ?= 8
 SDCARD_DEVICE ?=
 
-all: rsync
+all: rootfs
+
+sdcard.img:
+	@echo "Usage: make"
+	@echo
+	@echo "Place a copy of the freescale sdcard image in this directory as 'sdcard.img'"
+	@echo "this makefile will convert the sdcard.img rootfs into a debian root and"
+	@echo "preserve the kernel modules on the disk."
 
 help: targets
 targets:
 	@echo "Tagets available for building in this Makefile:"
 	@echo
 	@echo "prereqs    - installs packages required by this Makefile"
-	@echo "fs/root    - runs debootstrap to build the rootfs tree"
+	@echo "rootfs     - runs debootstrap to build the rootfs tree"
 	@echo "             set DEBOOTSTRAP_EXTRA for additional packages"
-	@echo "sdcard.img - makes a blank sdcard.img"
-	@echo "rsync      - installs the filesystem tree"
 	@echo "flash      - writes the sdcard.img to a card"
 	@echo "             set SDCARD_DEVICE to the device in /dev"
 	@echo "mount      - mounts the sdcard.img to mount/{boot,root}"
 	@echo "unmount    - unmounts a previously mounted sdcard.img"
-	@echo "clean      - removes generated files"
-	@echo "mrclean    - removes generated files and the debootstrap root"
 
 ensure-unmounted:
-	@if [[ -d mount ]]; then \
+	@if [[ -d rootfs ]]; then \
 		echo "sdcard.img mounted -- unmount first!" >/dev/stderr; \
 		exit 1; \
 	fi
 
 ensure-mounted:
-	@if [[ ! -d mount ]]; then \
+	@if [[ ! -d rootfs ]]; then \
 		echo "sdcard.img not mounted -- mount first!" >/dev/stderr; \
 		exit 1; \
 	fi
 
 mount: sdcard.img
-	sudo mkdir -p mount/boot mount/root
+	mkdir rootfs
 	sudo kpartx -as sdcard.img
-	sudo mount /dev/mapper/loop0p1 mount/boot
-	sudo mount /dev/mapper/loop0p2 mount/root
+	sudo mount /dev/mapper/loop0p2 rootfs
 
 umount: unmount
 unmount: ensure-mounted
-	-[[ -d mount ]] && sudo umount mount/boot mount/root
+	-[[ -d rootfs ]] && sudo umount rootfs
 	-sudo kpartx -ds sdcard.img
-	sudo rm -rf mount/
+	rmdir rootfs
 
 prereqs:
 	sudo apt-get install $(REQUIRED_PACKAGES)
 
-fs/root:
-	mkdir -p fs/root
+rootfs: sdcard.img
+	mkdir -p rootfs
+	sudo kpartx -as sdcard.img
+	sudo mount /dev/mapper/loop0p2 rootfs
+	sudo tar cpf modules.tar rootfs/lib/modules/
+	sudo umount rootfs
+	sudo mkfs.ext4 -F -L root -j /dev/mapper/loop0p2
+	sudo mount /dev/mapper/loop0p2 rootfs
 	sudo qemu-debootstrap \
 		--arch=arm64 \
 		--keyring /usr/share/keyrings/debian-archive-keyring.gpg \
 		--variant=buildd \
 		--exclude=debfoster \
 		--include=$(DEBOOTSTRAP_EXTRA) \
-		stable fs/root
-
-sdcard.img: ensure-unmounted
-	dd if=/dev/zero of=sdcard.img bs=1G count=$(SDCARD_SIZE) status=progress
-	parted sdcard.img < partmap.txt
-	sudo kpartx -as sdcard.img
-	sudo mkdosfs -n BOOT /dev/mapper/loop0p1
-	sudo mkfs.ext4 -L root -j /dev/mapper/loop0p2
+		stable rootfs
+	sudo tar xpf modules.tar
+	sudo rsync -ar overlay/ rootfs
+	sudo umount rootfs
 	sudo kpartx -ds sdcard.img
-
-sdcard.img.xz: sdcard.img
-	xz sdcard.img
-
-release: rsync sdcard.img.xz
-	mv sdcard.img.xz imx-debian-$$(date +%Y-%m-%d).img.xz
-
-rsync: fs/root sdcard.img
-	mkdir -p mount/boot mount/root
-	sudo kpartx -as sdcard.img
-	sudo mount /dev/mapper/loop0p1 mount/boot
-	sudo mount /dev/mapper/loop0p2 mount/root
-	sudo rsync -r fs/boot/ mount/boot/
-	sudo rsync -ar fs/root/ mount/root/
-	sudo rsync -ar overlay/ mount/root/
-	sudo umount mount/*
-	sudo kpartx -ds sdcard.img
-	rm -rf mount/
+	rmdir rootfs
+	rm -f modules.tar
 
 flash: ensure-unmounted sdcard.img
 	@if [[ -z "$(SDCARD_DEVICE)" ]]; then \
-		(
+		{
 			echo "Error! Specify which SDCARD_DEVICE to write to like so: "; \
 			echo "  make SDCARD_DEVICE=/dev/mmcblk0 flash";
-		) >/dev/stderr; \
+		} >/dev/stderr; \
 		exit 1; \
 	fi
 	@echo "WARNING! This will erase all data on $(SDCARD_DEVICE)! Writing in 5 seconds!"
 	@for i in $(seq 5 -1 1); do echo -n "$i "; sleep 1; done; echo
-	sudo dd if=sdcard.img of=$(SDCARD_DEVICE) bs=1G status=progress
+	sudo dd if=sdcard.img of=$(SDCARD_DEVICE) status=progress
 
-clean: ensure-unmounted
-	sudo rm -rf sdcard.img
-
-mrclean: clean
-	sudo rm -rf fs/root
-
-.PHONY: prereqs rsync flash clean mrclean help targets mount unmount umount all
+.PHONY: prereqs rootfs flash clean mrclean help targets mount unmount umount all ensure-unmounted ensure-mounted