If you want the OS to boot before it decrypts your drive, why encrypt it in the first place? Honest question, not an attack. For OS to boot without any password it needs to be booting from unencrypted drive. So the attacker could just put their keyloggers on that drive
read only OS partition to boot and then encrypts your user data partition, can I do that with Linux?
Yes. Just encrypt /home partition only