Thanks Jürgen, I was hit by 6423745 (see below) but the main problem is that /sbin/ zpool is linked to /usr/lib/libdiskmgt.so.1 and since /usr was on my datapool, it failed systematically.
I don't think it makes sense that an executable in /sbin be linked to a lib in /usr/lib. The only binaries in /sbin linking to /usr/lib are zpool and zonename. Shall I move libdiskmgt.so.1 to /lib ? or will that break something else? On 28/09/2007, at 11:53 PM, Jürgen Keil wrote: >> >> Using build 70, I followed the zfsboot instructions >> at http://www.opensolaris.org/os/community/zfs/boot/zfsboot-manual/ >> to the letter. >> >> I tried first with a mirror zfsroot, when I try to boot to zfsboot >> the screen is flooded with "init(1M) exited on fatal signal 9" > > Could be this problem: > > http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6423745 > Thanks ... It seems one of the problem was bug 6423745, thanks for pointing that. The first time I created the zpool it was during install and for some reason the installation is done in 32 bit mode. Someone should also correct the zfs boot manual ( http:// www.opensolaris.org/os/community/zfs/boot/zfsboot- manual/;jsessionid=DE41DAFDD945D813FDD8FBAEC669BD11 ) because the grub entry is missing $ISADIR and will cause to always boot in 32 bit mode. >> This is everything I did: > >> zpool create -f rootpool c1t0d0s0 >> zfs create rootpool/rootfs >> >> zfs set mountpoint=legacy rootpool/rootfs >> mkdir /zfsroot >> mount -F zfs rootpool/rootfs /zfsroot > > Ok. > >> cd /zfsroot ; mkdir -p usr opt var home export/home >> >> mount -F zfs datapool/usr /zfsroot/usr >> mount -F zfs datapool/opt /zfsroot/opt >> mount -F zfs datapool/var /zfsroot/var >> mount -F zfs datapool/home /zfsroot/export/home >> >> Added the following to /etc/vfstab >> rootpool/rootfs - /zfsroot zfs - yes - >> datapool/usr - /zfsroot/usr zfs - yes - >> datapool/var - /zfsroot/var zfs - yes - >> datapool/opt - /zfsroot/opt zfs - yes - >> datapool/home - /zfsroot/export/home zfs - yes >> - >> /zvol/dsk/datapool/swap - - swap - >> >> - >> cd / ; find . -xdev -depth -print | cpio -pvdm /zfsroot >> cd / ; find usr -xdev -depth -print | cpio -pvdm /zfsroot >> cd / ; find var -xdev -depth -print | cpio -pvdm /zfsroot >> cd / ; find opt -xdev -depth -print | cpio -pvdm /zfsroot >> cd / ; find export/home -xdev -depth -print | cpio -pvdm /zfsroot >> >> # ran this script: >> http://www.opensolaris.org/os/community/zfs/boot/zfsboot-manual/ >> create_dirs/ >> >> mount -F lofs -o nosub / /mnt >> (cd /mnt; tar cvf - devices dev ) | (cd /zfsroot; tar xvf -) >> umount /mnt > > Your source root filesystem is on UFS? > > I think much of the above steps could be simplified by populating > the zfs root filesystem like this: > > mount -F zfs rootpool/rootfs /zfsroot > ufsdump 0f - / | (cd /zfsroot; ufsrestore xf -) > umount /zfsroot > > That way, you don't have to use the "create_dirs" script, > or mess with the /devices and /dev device tree and the > lofs mount. > > Using ufsdump/ufsrestore also gets the lib/libc.so.1 file correct > in the rootfs zfs, which typically has some lofs file mounted on > top of it. using ufsrestore works for /var and /opt but failed for /usr, nothing was copied when > This message posted from opensolaris.org > _______________________________________________ > zfs-discuss mailing list > zfs-discuss@opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/zfs-discuss _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss