Date: Tue, 28 Dec 2004 20:30:10 -0800 (PST) From: Doug White <dwhite@gumbysoft.com> To: c0x@daemon.pp.ru Cc: freebsd-qa@freebsd.org Subject: Re: 5.3 LiveCD fixit shell geom(8) environment broken? Message-ID: <20041228202524.M49504@carver.gumbysoft.com> In-Reply-To: <2ff9b55d0412270234634d2e96@mail.gmail.com> References: <2ff9b55d0412270234634d2e96@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 27 Dec 2004, Alexey Belousov wrote: > hi All, > > recently, I played with geom in fixit shell and found some oddity: > > Fixit# geom mirror load > Command 'load' not available. > Fixit# sysctl kern.module_path > kern.module_path: /boot/kernel;/boot/modules > Fixit# ls -la /boot/kernel/ > ls: /boot/kernel/: No such file or directory > Fixit# ln -s /mnt2/boot/kernel /boot/ > Fixit# geom mirror load -v > Module available. > Done. This is making a rather dangerous assumption -- that the installed kernel in /mnt2/boot/kernel is binary-compatible with the GENERIC kernel from the CD you started the fixit enviornment from. Its not something that could be enabled in the general case. Of course if you know they are compatible (i.e., 5.3-RELEASE CD for a 5.3-RELEASE system) you could have just loaded the module manually: kldload /mnt2/boot/kernel/geom_mirror.ko instead of the symlink fiddling. Or updated the module path even. > Fixit# geom mirror dump da0 > Unknown command: dump > usage: geom mirror help > geom mirror list > geom mirror load [-v] > geom mirror unload [-v] > Fixit# ldd `which geom` > /mnt2/sbin/geom: > libgeom.so.2 => /mnt2/lib/libgeom.so.2 (0x28078000) > libsbuf.so.2 => /mnt2/lib/libsbuf.so.2 (0x2807c000) > libbsdxml.so.1 => /mnt2/lib/libbsdxml.so.1 (0x2807e000) > libutil.so.4 => /mnt2/lib/libutil.so.4 (0x2809d000) > libc.so.5 => /mnt2/lib/libc.so.5 (0x280a9000) > Fixit# ln -s /mnt2/lib / > Fixit# geom mirror dump da0 > Metadata on da0: > magic: GEOM::MIRROR > version: 1 > <---snip---> > Fixit# > > Summary: > 1. missing geom_*.ko / invalid kern.module_path > fix: sysctl kern.module_path=`sysctl -n kern.module_path`\;/mnt2/boot/kernel > or simply ln -s /mnt2/boot/kernel /boot/ The sysctl change is preferred. > 2. missing necessary libs in /lib (hardcoded path?) > fix: ln -s /mnt2/lib / or preferably 'ldconfig -m /mnt2/lib'. Again there is a compatibility issue that would make this unsafe to do automatically. Were you able to test if the geom command works properly, without any sysctl or symlink fiddling, if you choose to mount disc #2? That should provide all the necessary pieces without having to pick them out of the installed system. -- Doug White | FreeBSD: The Power to Serve dwhite@gumbysoft.com | www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041228202524.M49504>