I have developed a small x86 'Hello World' Linux-based OS. I just created the files loader.s, linker.ld and main.c then I used the GRUB loader to boot my OS using bochs emulator in Ubuntu.
I just accessed the video memory and displayed the 'hello world' string to screen. And I debugged my OS using bochs, the cr0 PM value is set to 1, so i think my OS is directly entering to protected mode instead of entering to real mode.
And my question is how should I enter into real mode directly without entering to protected mode? After this how can I call BIOS interrupts to get the initial hardware details like HDD, RAM, Processor, etc...