Hi. So, I'm still struggling with my problem when I cannot boot from a big zfs 2T pool (I have written some messages about a year ago, the whole story is too long and irrelevant to retell it, I'll only notice that I took the path where I'm about to boot from a separate zfs pool closer to the beginning of the disk). I've created such a smaller pool, called it zboot. I've read pjd@ letter explaining that when FreeBSD sees several bootable pools, it chooses the first one - that's fine with me, since the new pool partition's number is smaller than the big one. So, I created zboot, set the mountpoint to legacy, wrote the content to it's /boot directory (and yes, I did call the 'make installkernel DESTDIR=/zboot') and rebooted. Strage thing happened next - I got Can't find /boot/zfsloader FreeBSD/x86 boot Default: zboot:/boot/kernel/kernel boot: | Can't find /boot/kernel/kernel I booted back from USB stick (that I'm using to boot my machine) and rechecked these files - everything mentioned here is in it's place. Does someone have the idea what I'm doing wrong ? May be this has something to do with the fact that zboot does contain only the /boot directory, and not the full rootfs ? Thanks. Eugene.
On Thu, Apr 28, 2016 at 12:44:28PM +0500, Eugene M. Zheganin wrote: |So, I'm still struggling with my problem when I cannot boot from a big |zfs 2T pool (I have written some messages about a year ago, the whole |story is too long and irrelevant to retell it, I'll only notice that I |took the path where I'm about to boot from a separate zfs pool closer to |the beginning of the disk). it's no an answer to your question, but I'm wondering wether the solution to this may also help with beadm being unable to work with crypted ZFS root volumes as the boot zpool is not the same as zroot ... I've got that issue myself ... -- Malcolm Herbert mjch at mjch.net
I would not use the root dataset. Create a ROOT/<name> one so it looks for the kernel in "zboot:/ROOT/fist/boot/kernel/kernel" or similar. This way you are compatible with beadm. On 28 April 2016 at 08:44, Eugene M. Zheganin <emz at norma.perm.ru> wrote:> Hi. > > So, I'm still struggling with my problem when I cannot boot from a big > zfs 2T pool (I have written some messages about a year ago, the whole > story is too long and irrelevant to retell it, I'll only notice that I > took the path where I'm about to boot from a separate zfs pool closer to > the beginning of the disk). > > I've created such a smaller pool, called it zboot. I've read pjd@ letter > explaining that when FreeBSD sees several bootable pools, it chooses the > first one - that's fine with me, since the new pool partition's number > is smaller than the big one. So, I created zboot, set the mountpoint to > legacy, wrote the content to it's /boot directory (and yes, I did call > the 'make installkernel DESTDIR=/zboot') and rebooted. Strage thing > happened next - I got > > > Can't find /boot/zfsloader > > FreeBSD/x86 boot > Default: zboot:/boot/kernel/kernel > boot: > | > Can't find /boot/kernel/kernel > > > I booted back from USB stick (that I'm using to boot my machine) and > rechecked these files - everything mentioned here is in it's place. > > Does someone have the idea what I'm doing wrong ? May be this has > something to do with the fact that zboot does contain only the /boot > directory, and not the full rootfs ? > > Thanks. > Eugene. > _______________________________________________ > freebsd-stable at freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org" >
On 28/04/2016 08:44, Eugene M. Zheganin wrote:> Hi. > > So, I'm still struggling with my problem when I cannot boot from a big > zfs 2T pool (I have written some messages about a year ago, the whole > story is too long and irrelevant to retell it, I'll only notice that I > took the path where I'm about to boot from a separate zfs pool closer to > the beginning of the disk). > > I've created such a smaller pool, called it zboot. I've read pjd@ letter > explaining that when FreeBSD sees several bootable pools, it chooses the > first one - that's fine with me, since the new pool partition's number > is smaller than the big one. So, I created zboot, set the mountpoint to > legacy, wrote the content to it's /boot directory (and yes, I did call > the 'make installkernel DESTDIR=/zboot') and rebooted. Strage thing > happened next - I got > > > Can't find /boot/zfsloader > > FreeBSD/x86 boot > Default: zboot:/boot/kernel/kernel > boot: > | > Can't find /boot/kernel/kernel > > > I booted back from USB stick (that I'm using to boot my machine) and > rechecked these files - everything mentioned here is in it's place. > > Does someone have the idea what I'm doing wrong ? May be this has > something to do with the fact that zboot does contain only the /boot > directory, and not the full rootfs ?FWIW, I'm booting the kernel off a different pool from where the rootfs is... I've set bootfs on the boot-pool (to point to itself), and the loader.conf in that boot pool has vfs.root.mountfrom point to the root-fs on the other pool.
On Thu, 28 Apr 2016 12:44+0500, Eugene M. Zheganin wrote:> Hi. > > So, I'm still struggling with my problem when I cannot boot from a big > zfs 2T pool (I have written some messages about a year ago, the whole > story is too long and irrelevant to retell it, I'll only notice that I > took the path where I'm about to boot from a separate zfs pool closer to > the beginning of the disk). > > I've created such a smaller pool, called it zboot. I've read pjd@ letter > explaining that when FreeBSD sees several bootable pools, it chooses the > first one - that's fine with me, since the new pool partition's number > is smaller than the big one. So, I created zboot, set the mountpoint to > legacy, wrote the content to it's /boot directory (and yes, I did call > the 'make installkernel DESTDIR=/zboot') and rebooted.Are you sure /zboot/boot/zfsloader, /zboot/boot/kernel/kernel, /zboot/boot/kernel/opensolaris.ko, and /zboot/boot/kernel/zfs.ko exists when you manually mount the bootfs as /zboot? What's the bootfs properties on these pools? Run: zpool get bootfs For both pools the bootfs property should probably be unset. I have never unset a bootfs property in my life, but maybe this will work: zpool set bootfs= zboot zpool set bootfs= zroot I have a similar setup in a VM at home due to Oracle VirtualBox in EFI mode only presenting two drives at boot time, where zboot/BOOT/20160428-r298705 is set as the bootfs on the zboot pool, and the mountpoint is set to /bootpool. Further, boot/loader.conf on the small bootfs redirects the kernel to use zroot/ROOT/20160428-r298705 as the rootfs, i.e. vfs.root.mountfrom="zfs:zroot/ROOT/20160428-r298705". The rootfs contains a symlink named boot, pointing to bootpool/boot. "df / /bootpool" will show something similar to this: zroot/ROOT/20160428-r298705 / zboot/BOOT/20160428-r298705 /bootpool> Strage thing happened next - I got > > > Can't find /boot/zfsloader > > FreeBSD/x86 boot > Default: zboot:/boot/kernel/kernel > boot: > | > Can't find /boot/kernel/kernel > > > I booted back from USB stick (that I'm using to boot my machine) and > rechecked these files - everything mentioned here is in it's place. > > Does someone have the idea what I'm doing wrong ? May be this has > something to do with the fact that zboot does contain only the /boot > directory, and not the full rootfs ? > > Thanks. > Eugene.-- +-------------------------------+------------------------------------+ | Vennlig hilsen, | Best regards, | | Trond Endrest?l, | Trond Endrest?l, | | IT-ansvarlig, | System administrator, | | Fagskolen Innlandet, | Gj?vik Technical College, Norway, | | tlf. mob. 952 62 567, | Cellular...: +47 952 62 567, | | sentralbord 61 14 54 00. | Switchboard: +47 61 14 54 00. | +-------------------------------+------------------------------------+