Hi, Today I tried to update my 10-STABLE machine (full ZFS including root) from r268480 (built on Jul 10) to r268734 (built today), but after make installkernel and reboot into single user mode (to do make installworld and mergemaster), I couldn't proceed further because "zfs mount -a" crashed immediately with segfault. Because only read-only root fs was available, I couldn't do any debugging (/usr resides in a separate fs). Actually any zfs or zpool commands seemed to crash immediately. There were several ZFS related commits between two builds, but I believe old userland should be usable with a newer kernel (or I cannot follow the standard install procedure). % uname -a FreeBSD elvenbow.cc.kyushu-u.ac.jp 10.0-STABLE FreeBSD 10.0-STABLE #0 r268480: Thu Jul 10 15:25:15 JST 2014 root at elvenbow.cc.kyushu-u.ac.jp:/usr/obj/usr/src/sys/ELVENBOW amd64 % what /boot/kernel.new/kernel /boot/kernel.new/kernel: FreeBSD 10.0-STABLE #0 r268734: Wed Jul 16 12:36:48 JST 2014 Any suggestions? I don't want to do make installworld during multi user mode because I cannot ensure new zfs userland will work with new kernel (if not, my system will become unusable). Maybe try installing new /rescue only and try it with the new kernel? I'm considering to set up BE to avoid this kind of problem, but I need some exercise... Regards, -- Yoshiaki Kasahara Research Institute for Information Technology, Kyushu University kasahara at nc.kyushu-u.ac.jp
--- Original message --- From: "Yoshiaki Kasahara" <kasahara at nc.kyushu-u.ac.jp> Date: 16 July 2014, 13:22:42> Hi,> Any suggestions? I don't want to do make installworld during multi > user mode because I cannot ensure new zfs userland will work with new > kernel (if not, my system will become unusable). Maybe try installing > new /rescue only and try it with the new kernel? > > I'm considering to set up BE to avoid this kind of problem, but I need > some exercise... >Hello I do not practice since 2004 reboot to single mode. I still do installworld in multiuser mode. ... service ntpd stop cd /usr/src make clean rm -r /usr/obj make -j$thread buildworld || exit make -j$thread buildkernel KERNCONF=$kernel || exit make installkernel KERNCONF=$kernel || exit make installworld || exit gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0 sync echo "Check BootDisk and REBOOT" I do not use mergemaster. And after reboot in multiplayer mode I form /etc in the new system. ... rm -rf /etc.old cp -a /etc /etc.old rm -rf /var/tmp/root mkdir -p /var/tmp/root cd /usr/src/etc make DESTDIR=/var/tmp/root distrib-dirs distribution cd /var/tmp/root/etc ... ... cp -af /var/tmp/root/etc / file_list="ssh/sshd_config crontab csh.cshrc dhclient.conf hosts.allow inetd.conf make.conf master.passwd newsyslog.conf \ login.conf login.conf.db ntp.conf passwd pwd.db rc.conf rc.local snmpd.config spwd.db shells sysctl.conf syslog.conf" for file in $file_list; do cp -a /etc.old/$file /etc/$file done Copy the new files in /etc. Then return the old config files for. And then back to reboot. If, for some config files are missing - see /etc.old P.S. Many thanks to the user Hagen (who supposedly lived in England in the year 2004). -- Vladislav V. Prodan System & Network Administrator support.od.ua