Back in the mid to late 80's I decided for some reason to try to write a
version of Unix for my Z80-based CP/M computer system. I managed to
produce a surprisingly complete implementation, despite the Z80's measly
64K memory and lack of memory management or protection hardware. You can
grab a copy
here. It's called
"UZI", for "Unix: Z80 Implementation".
Soon afterwards I upgraded my CP/M computer system to a Zilog Z280 processor,
which had fairly fancy memory management (for a 16-bit machine, at least)
and supported user and system modes. This allowed me to make UZI much
more powerful and complete. It was able to support its own development
environment.
You can get the the code for the UZI280 kernel and several
supporting programs here.
Some notes are here.
(Unfortunately
Zilog botched up the Z280 developement so badly that the chip came out years
late and very buggy, just as 80X86 processors and PCs became ubiquitous.)
BTW, I got rid of all my Z80 and CP/M hardware and software years ago.