LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware - Installation (https://www.linuxquestions.org/questions/slackware-installation-40/)
-   -   14.1: missing libm.so when booting XFS root on LVM (https://www.linuxquestions.org/questions/slackware-installation-40/14-1-missing-libm-so-when-booting-xfs-root-on-lvm-4175572771/)

vesperto 02-20-2016 08:46 AM

14.1: missing libm.so when booting XFS root on LVM
 
Greetings,

I have a tecra R840 with 2 drives, a Kingston SHSS37A240G SSD on the regular drive bus and a Toshiba MK5061GSYN HDD in the optical bay.

The HDD had a working Windows 7 installation, the SDD had a working «next, next, next» Slackware 14.1 installation, both bootable via LILO in the MBR.

This is the current layout:
On the SSD, a 256MB ext2 /boot, an 8GiB swap and the rest for LVM. On LVM, i have 4 25GB LVs: the XFS / and ext4 /usr, /usr/src and /var.
On the HDD i have an LVM partition spanning the whole drive, with 2 LVs: a 250GB /home and a 100GB /opt, both ext4.

The installation went well, but booting requires an initrd.

This is what i've been doing to get the system up trying to fix this:

Code:

vgcan --mknodes && vgchange -ay
mount /dev/myvg/root /mnt
mount /dev/myvg/usr /mnt/usr
mount /dev/myvg/usr/src /mnt/usr/src
mount /dev/myvg/var /var
mount /dev/disk/by-id/mySSDdisk-part1 /mnt/boot
mount -R /proc /mnt/proc
mount -R /sys /mnt/sys
mount -R /dev /mnt/dev
chroot /mnt

My mkinitrd command has been along these lines:
Code:

mkinitrd -c -f xfs -r /dev/myvg/root -m xfs:ext4:lvm -L -k 3.10.17 -o /boot/initrd.gz
It's not too far off from what mkinitrd_command_generator.sh creates (it also includes a -u flag but i haven't found it on any man page). I know :lvm and -L are the same and i'm sure i don't need :ext4.

The two kernels i have in /boot are vmlinuz-{huge,generic}-3.10.17 (kinda old?).

My initial lilo.conf had this:
Code:

image = /boot/vmlinuz-generic-3.10.17
  initrd = /boot/initrd.gz
  root = /dev/myvg/root
  label = Linux
  read-only

After running lilo and rebooting, the kernel panicked with
Code:

Kernel panic - not syncing VFS
(didn't write down the full message or the preceding one)

I've come across these threads ([1][2]) which suggest using the -C parameter in mkinird, not using /bin/xargs and others, but i haven't gotten the combination rright just yet :)

Since the initrd should know where the / is, i commented out the
Code:

root =
line from lilo.conf, ran lilo and rebooted.

This time the kernel panicked further (i think), on
Code:

/bin/ash: error while loading shared libraries: libm.so.6: cannot open shared object: no such file or directory
Kernel panic - not syncing Atempted to kill init! exitcode=0x00007f00

Also awk (when called by mkinitrd) complains about a missing libmpfr.so

I know i installed A and AP (not L, come to think of it, even though i installed X and, erroneously, Xfce), so i'm guessing (and the threads suggest) that the initrd's lib is missing libraries.

How can i debug and fix this?
Help appreciated.

EDIT

Looking at the contents of /boot/initd.gz it does have a kernel/fs/xfs/xfs.ko, but no similar module for LVM, or dm_mod. Which ones are required? Shouldn't -L deal with this?

[1] Slackware 14.1 : xfs root on LVM : boot error!
[2] slackware-current mkinitrd libm.so.6 missing

Didier Spaier 02-20-2016 03:38 PM

Make a full installation, as advised. At least you need the L series that ships mpfr. We do not support partial installations.

vesperto 02-20-2016 06:28 PM

Quote:

Originally Posted by Didier Spaier (Post 5503481)
At least you need the L series that ships mpfr.

I could've went back to setup and installed L alone, but since i wanted Xfce out i reinstalled "from scratch", with A, AP, D, K, L, N, T, X.
Then chrooted into /mnt and used the _generator.sh to create me the mkinitrd line and lilo.conf data. After running lilo and rebooting, it worked.


All times are GMT -5. The time now is 06:45 PM.