167f0
![]() |
|
|
|
|
|||||||
| FreeBSD Development Kernel development, writing drivers, coding, and questions regarding FreeBSD internals. |
![]() |
|
|
Thread Tools | Display Modes |
|
#1
|
|||
|
|||
|
Hi,
Grub can boot FreeBSD by : Code:
kernel /boot/<some kernel> boot I search the source tree and can not find any thing about multiboot. I think the grub maybe know something about the boot stages of FreeBSD. Am i right? Thanks. |
|
#2
|
||||
|
||||
|
The kernel has nothing to do with multiboot. That's the bootloader's job, which in your case is grub.
__________________
Senior UNIX Engineer at Unix Support Nederland Experience is something you don't get until just after you need it. |
|
#3
|
|||
|
|||
|
The multiboot code is not in the kernel.
By default, it's in boot0 (stored in the MBR if you chose it during the setup) and you can find it in src/sys/boot/i386/boot0/boot0.s (N.B. it's written in assembler). The boot process is very simple, which is why grub or any other boot manager can easily do it. Basically it just finds the first block (i.e. the boot loader) in a particular partition using the MBR's partition table and executes it. In FreeBSD this block is boot1.
__________________
May the source be with you! |
| The Following User Says Thank You to Beastie For This Useful Post: | ||
wsw1wsw2 (July 21st, 2009) | ||
|
#4
|
|||
|
|||
|
I would like to know this, too. Does FreeBSD kernel conform to multiboot spec so it can be loaded by grub directly?
http://onlamp.com/bsd/2007/03/01/inside-multiboot.html Last edited by john_doe; October 1st, 2009 at 16:32. |
|
#5
|
|||
|
|||
|
I've been dual booting for a while with Grub (FreeBSD + Windows).
Here's my configuration file: Code:
default 0 timeout 5 title Windows XP SP2 map (hd0) (hd1) map (hd1) (hd0) rootnoverify (hd1,0) chainloader +1 title FreeBSD 7.2-RELEASE-p3 rootnoverify (hd0,0) chainloader +1 |
|
#7
|
||||
|
||||
|
You can use mbchk to check if a binary is multiboot-compliant (installed with GRUB):
Code:
/boot > mbchk loader loader: No Multiboot header. /boot > mbchk kernel kernel: No Multiboot header. Oh, and for those wondering what this "multiboot" thing is and what the hell it has to do with the kernel itself: it's a specification that requires bootable binaries to have a special header, in order to allow arbitrary kernels to be loaded by arbitrary bootloaders. |
|
#8
|
|||
|
|||
|
This may be a naive comment, but the effort seems like too little too late. EFI will probably replace the BIOS soon, and I suspect that will render all this BIOS hackery obsolete. Either way, FreeBSD's chain loading process is elegant (more so than linux) and simply works. I can only see this being useful for someone writing a new OS and wanting to avoid the black art of writing a boot loader.
|
|
#9
|
||||
|
||||
|
Quote:
Alphons
__________________
Ken sent me. |
|
#10
|
||||
|
||||
|
Mistaken you are not:
Quote:
|
|
#11
|
||||
|
||||
|
So, do you happen to know which OSes/kernels currently comply to this proposed standard?
Alphons
__________________
Ken sent me. |
|
#12
|
||||
|
||||
|
I think the Hurd and NetBSD are pretty much the only one ... Surely two of the most popular operating systems out there.
As far as I've understood is, the multiboot specs have pretty much failed to gain a wide acceptance.
__________________
UNIX was not designed to stop you from doing stupid things, because that would also stop you from doing clever things. |
|
#13
|
|||
|
|||
|
Quote:
http://l4ka.org/projects/pistachio/ And, frankly, it would be nice if FreeBSD were multiboot compliant like NetBSD.
__________________
Cordula's Web. |
|
#14
|
|||
|
|||
|
What does multiboot provide that EFI doesn't?
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| 7.1 amd 64 on HP DV8000Z... Error: "/boot/kernel/kernel text=0x78eea0 | dgologanov | Installing & Upgrading | 0 | April 26th, 2009 04:18 |
| freeBSD 4.10 Kernel srcs | jarod | Installing & Upgrading | 4 | April 25th, 2009 11:03 |
| Building kernel modules without kernel source code | holycow | General | 5 | April 2nd, 2009 09:18 |
| Is the cciss kernel module available in the installation kernel & other general Q's | osx-addict | Installing & Upgrading | 2 | March 2nd, 2009 18:14 |
| Fail to compile kernel in Freebsd 7.0 R | ohcarol | Installing & Upgrading | 4 | February 19th, 2009 17:45 |