Seems like Apple's ld doesn't support the `-T` option. Installing i386-elf-gcc and i686-elf-gcc don't solve the problem either.

Let's setup a Linux VM...

Did you really think Apple would give you the tools to build your own operating system?

Hmm no idea. I only build 1 OS on my Mac: https://github.com/mit-pdos/xv6-public.

It obviously won't compile with Apple's gcc (which actually is a clang wrapper), so have to install another compiler (i386-elf-gcc).

But on my Debian box, it works with the standard gcc.