Gentoo Archives: gentoo-admin

From: Joe Harvell <jharvell@××××××.net>
To: gentoo-user@l.g.o, gentoo-installer@l.g.o, gentoo-admin@l.g.o, gentoo-embedded@l.g.o
Subject: [gentoo-admin] LVM install fails to boot in 2006.0 with no-nptl/2.4 profile
Date: Mon, 15 May 2006 16:55:15
Message-Id: 4468B119.6040309@dogpad.net
I am in the process of installing Gentoo on an x86 from the 2006.0 
installer CD using the 2.4 kernel profile.  I created an LVM2 volume 
group with logical volumes / filesystems for '/', '/usr', '/var', 
'/opt', and '/home'.  I had no problems mounting those filesystems and 
then chrooting into that environment and performing the base install.  I 
compiled the 2.4.32-r4 kernel from gentoo-sources with no problems, and 
created the initial ram disk by hand so that I could bring up the LVM2 
volumes.

The problem I am having is when I boot into the initrd.   I run vgscan 
with no apparent problems, and it finds the volume group.  When I run 
'vgchange -ay <vgname>, I notice three problems:

1.  There are entries in /dev/mapper/<vgname>-<lvname>, but no symlinks 
in the form /dev/<vgname>/<lvname> --> /dev/mapper/<vgname>/<lvname>.  I 
run 'lvm vgmknodes' and it remedies this.

2. I see five complaints from 'vgchange -ay <vgname>' (one for each LV) 
as follows:

on stderr:   device-mapper: table ioctl failed: Invalid argument
on console (from dm-mod driver): device-mapper: one of name or uuid must 
be supplied, cmd (12)

I ran vgchange under strace and here is the following snippet:

open("/dev/mapper/control", O_RDWR|O_LARGEFILE) = 9
ioctl(9, DM_DEV_STATUS, 0x8109958)      = -1 ENXIO (No such device or 
address)
ioctl(9, DM_DEV_STATUS, 0x8109958)      = -1 ENXIO (No such device or 
address)
ioctl(9, DM_DEV_STATUS, 0x8109958)      = -1 ENXIO (No such device or 
address)
mlockall(MCL_CURRENT|MCL_FUTURE)        = 0
brk(0x8936000)                          = 0x8936000
brk(0x8b1e000)                          = 0x8b1e000
getpriority(PRIO_PROCESS, 0)            = 20
setpriority(PRIO_PROCESS, 0, -18)       = 0
ioctl(9, DM_DEV_STATUS, 0x8109958)      = -1 ENXIO (No such device or 
address)
ioctl(9, DM_DEV_STATUS, 0x8109958)      = -1 ENXIO (No such device or 
address)
ioctl(9, DM_DEV_STATUS, 0x8109958)      = -1 ENXIO (No such device or 
address)
ioctl(9, DM_DEV_STATUS, 0x8109958)      = -1 ENXIO (No such device or 
address)
ioctl(9, DM_DEV_STATUS, 0x8109958)      = -1 ENXIO (No such device or 
address)
ioctl(9, DM_DEV_STATUS, 0x8109958)      = -1 ENXIO (No such device or 
address)
ioctl(9, DM_DEV_STATUS, 0x8109958)      = -1 ENXIO (No such device or 
address)
ioctl(9, DM_DEV_STATUS, 0x8109958)      = -1 ENXIO (No such device or 
address)
ioctl(9, DM_DEV_STATUS, 0x8109958)      = -1 ENXIO (No such device or 
address)
stat64("/dev/ide/host0/bus0/target0/lun0/part10", {st_mode=S_IFBLK|0600, 
st_rdev=makedev(3, 10), ...}) = 0
stat64("/dev/ide/host0/bus0/target0/lun0/part11", {st_mode=S_IFBLK|0600, 
st_rdev=makedev(3, 11), ...}) = 0
stat64("/dev/ide/host0/bus0/target0/lun0/part12", {st_mode=S_IFBLK|0600, 
st_rdev=makedev(3, 12), ...}) = 0
ioctl(9, DM_DEV_CREATE, 0x8109958)      = 0
ioctl(9, DM_TABLE_STATUS, 0x8109958)    = -1 EINVAL (Invalid argument)
write(2, "  ", 2)                       = 2
write(2, "device-mapper: table ioctl faile"..., 51) = 51
write(2, "\n", 1)                       = 1

3.  When I try to mount the filesystem in that LV, it fails.  I tried 
with different filesystem types and it's the same result.  From within 
the 2.4 kernel based initrd, it fails.  If I reboot into the 2.6 kernel 
based installer environment, no problem.

This looks like an incompatibility between the lvm2 and/or device-mapper 
library code and the kernel device-mapper code.  Here are the versions 
installed in the new installation and its initrd:

lvm2-2.02.05
device-mapper-1.02.03
gentoo-sources-2.4.32-r4

livecd 2.4 # ls -l /etc/make.profile
lrwxrwxrwx  1 root root 51 May 11 18:09 /etc/make.profile -> 
/usr/portage/profiles/default-linux/x86/no-nptl/2.4

-- 
gentoo-admin@g.o mailing list

Replies