Date: Tue, 31 May 2011 10:33:46 -0400 From: John Baldwin <jhb@freebsd.org> To: freebsd-hackers@freebsd.org Cc: Dieter BSD <dieterbsd@engineer.com> Subject: Re: Active slice, only for a next boot Message-ID: <201105311033.47021.jhb@freebsd.org> In-Reply-To: <20110530174243.95200@gmx.com> References: <20110530174243.95200@gmx.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Monday, May 30, 2011 1:42:39 pm Dieter BSD wrote: > And it works great. Except that one of the 27 stages of boot > code that FreeBSD uses INSISTS on booting the active slice, > so you can tell the MBR to boot slice 3 and slice 3's boot > code sees that slice 4 is active and boots slice 4. There are only 3 stages, and boot1.S is what looks at the active slice. Unfortunately it doesn't have a better way to do this as the only input it gets from boot0 or any other MBR boot loader is the BIOS drive number in %dl. I'm not sure how else you would detect that a non-active slice was booted from when that is your only input. One could define some extended structure to pass that information and send it in a register, but you'd still have to cope with MBR boot loaders that don't pass it (e.g. the Windows ones if you are dual-booting with Windows) and you'd need to have some sanity checks to make sure one doesn't treat garbage input as valid. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201105311033.47021.jhb>