[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] grub + FreeBSD's loader(8) + ZFS root
From: |
Navdeep Parhar |
Subject: |
Re: [PATCH] grub + FreeBSD's loader(8) + ZFS root |
Date: |
Wed, 7 Apr 2010 13:21:01 -0700 |
2010/4/7 Vladimir 'φ-coder/phcoder' Serbinenko <address@hidden>:
> Navdeep Parhar wrote:
>> Hello grub-devel,
>>
>> Right now it's not possible to boot using FreeBSD's loader(8) from a ZFS
>> root filesystem. Grub doesn't indicate to the loader that there is a
>> ZFS root involved and consequently the loader fails to find the kernel.
>> The attached patch fixes this. It does not affect those that boot the
>> kernel directly. This is only for users that want to boot using
>> FreeBSD's loader.
>>
>> Why would you want to? IMHO it is much simpler to boot indirectly using
>> the loader because in that case grub does not have to deal with
>> device.hints, kernel modules, kFreeBSD.xxx style variables,
>> /boot/zfs/zpool.cache, etc. As a FreeBSD user, I'm used to putting this
>> information in the "normal" config files (/boot/loader.conf, device.hints,
>> etc.) and not in a grub.cfg file. Grub only needs to know where the loader
>> is, nothing else:
>>
>> menuentry "FreeBSD 8" {
>> search -s -l fbsd8
>> kfreebsd -D /@/boot/zfsloader
>> }
>> (fbsd8 is the name of the ZFS root pool)
>>
>>
> Eternal chainloading isn't the way to go. It limits grub usefullness and
> scope and is to be used only when no alternative exists. In this case
> the right direction would be to make a small C module to parse boot(8)
> config or a shell script for 30_osprober.in to do the same job
Sure, chainloading doesn't have to be the preferred way of booting an
OS, but it shouldn't fail without a good reason either. Right now
FreeBSD can be chainloaded from a UFS root but not from ZFS root.
That's all that I'm trying to fix here. This patch doesn't imply that
chainloading is *the* way to load FreeBSD - just that it is a usable
alternate to direct loading, even from a ZFS root.
Regards,
Navdeep