Skip site navigation (1)Skip section navigation (2)
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>