Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
The code you posted doesn't search for a file(for example kernel.bin), my bootloader doeas it.
I know. My bootsector just sets the BPB (Bios Parameter Block), and loads the raw sectors into memory. All I care about at the moment is allowing files to be stored on the floppy disk and nothing more. I will eventually add support for a fat12 filesystem driver in my kernel for backward compatibility with legacy devices.
Can i use my bootloader code for the bootloader AND a copy for the loader? (the loader copy will switch to pm, load gdt, enable a20, but first of all, will load a kernel.bin at FFFF:0010).
Yes as long as you change it to load at 1MB. The bootsector is limited to 512 bytes, whereas your second-stage loader is not, so you can put as much code as you want in the second-stage.
GRUB starts protected mode, provides the memory size, the memory map if it's available, a list of additional "modules" loaded along with the kernel, APM and VBE2 configuration data, the name of the bootloader and the drives detected in the machine.
sorry if we (administrator) seems to be spamming you with the FAQ, but what you've been asking all along this thread _are_ frequently asked questions and they _are_ for most of them answered in the FAQ.
e.g.
One major advantage of GRUB (or more precisely, a multiboot standard bootloader) is that the kernel will be entered in a known state, which includes the A20Line having been enabled, and ProtectedMode having been entered
creating your own GRUB bootdisk requires a unix-like environment. If you're working under MS Windows (or don't feel like setting up a GRUB disk with linux), check out our Disk Images Under Windows page to get a ready-to-use image.
etc. And even if you don't start with any of our BareBones, consider checking the BareBones pages wich contain troubleshooting info you'll probably need to quickly decode GRUB's error messages, etc.