I have been working with bootloaders and tiny kernels for some time. I found that when using real USB drive, if my bootloader overwrites the partition table and other data of the MBR on target drive, it is not bootable.
But if I use a chainloader and write my bootloader to a partition, it boots up alright. But I read that the drive is bootable if you have 55 and aa at byte 510 and 511, then the drive is bootable. But it is not. I've also heard about other requirements for modern hardware to detect bootable drives, but I don't know any specifics.
I would like to know more about it, and thanks in advance.