1. Do not use dmsetup to mount /system. This does check integrity of system partition and will fail.
Essentially in init.rc remove lines
exec /sbin/dmsetup create system -r /dmtable
mount squashfs /dev/mapper/system /system ro nodev noatime
and replace with the old way of mounting system
mount squashfs mtd@rootfs /system ro nodev noatime
2. Do not start process_monitor service
Delete line "start process_monitor" in init.rc
You can just delete /bin/process_monitor from system partition, and it should not execute the init.rc service as well.
3. I also changed the dump_msg service to oneshot in init.rc. But I don't think it matters.
I also did some other random changes, which are unnecessary. I will revert those changes when I get some time, but for now it is booting without any issues for me.