How to use NTLDR(win xp's loader) to load my own kernel
How to use NTLDR(win xp's loader) to load my own kernel
Hello,
Could you help me:
I want to use the NTLDR(windows xp's loader) to load my kernel,
but I do not know how to do it.
The difficult things are :
where does the ntldr load the kernel to,is it 0x0000:7c000?
what parameters will the ntldr transfer to the kernel.
what kind of KERNEL file format does the NTLDT need?
thank you if you give any ideas!
Could you help me:
I want to use the NTLDR(windows xp's loader) to load my kernel,
but I do not know how to do it.
The difficult things are :
where does the ntldr load the kernel to,is it 0x0000:7c000?
what parameters will the ntldr transfer to the kernel.
what kind of KERNEL file format does the NTLDT need?
thank you if you give any ideas!
Hehe, It would be good to have NTLDR as a boot loader for hobby OS'es Ability to load protected mode, virtual memory, multitasking... by one bootloader It would be good idea to disassemb..., pardon, download ReactOS source and have the bootloader in our operating systems. But I still need something to do when in real mode, like detecting hardware, etc... NTDETECT.COM ?
inflater
inflater
My web site: http://inflater.wz.cz (Slovak)
Derrick operating system: http://derrick.xf.cz (Slovak and English )
Derrick operating system: http://derrick.xf.cz (Slovak and English )
NTLDR loads boot.ini. And I don't understand why you would want to try to emulate NTLDR, unless your sole purpose is to boot Windows.
NTLDR does things like load the HAL, the system registry hive, and certain NT drivers. None of these are going to be applicable unless you're trying to rewrite ReactOS.
NTLDR does things like load the HAL, the system registry hive, and certain NT drivers. None of these are going to be applicable unless you're trying to rewrite ReactOS.
I have succeeded iin loading my own os through windows xp's NTLDR.
look:
http://www.woos.cn/bbs/read.php?tid=2
look:
http://www.woos.cn/bbs/read.php?tid=2
- Attachments
-
- A running testing picture
- 23_2_2e3ba096f3e9026.jpg (62.97 KiB) Viewed 6474 times
Re: How to use NTLDR(win xp's loader) to load my own kernel
Okay, I've researched this a bit. Actually what you need is your bootsector (512 byte long) used to load your kernel. Mine starts from real mode so I modified NTLDR's boot.ini to load e.g. "DERRICK.BST", but it failed to actually load the kernel, because the bootsector was expecting to be raw-writed on a floppy disk (divide by zero error when computing bpb drive parameters). More better solution would be to create a special kind of bootsector for ntldr that would check for the boot drive, either floppy or hard disk. Then, read the first sector which contains the BPB and compute the values from there - and load the kernel heh. a bit complicated, but can be done.
My web site: http://inflater.wz.cz (Slovak)
Derrick operating system: http://derrick.xf.cz (Slovak and English )
Derrick operating system: http://derrick.xf.cz (Slovak and English )
Re: How to use NTLDR(win xp's loader) to load my own kernel
As OS's that use NTLDR also most likely use NTFS, you would just need to write a simple NTFS read.
30-40 lines of asm code should do it.
30-40 lines of asm code should do it.