I think the rebooting issue is because the iLiad runs out of memory and the kernel starts shooting processes.
After enabling swap space (
https://wiki.mobileread.com/wiki/Swap_on_iLiad), I was able to avoid the rebooting issue, though the viewer became very, very slow.
I guess I'll have to see if I can make it more memory efficient.