jcnelson / vdev

A device-file manager for *nix
GNU General Public License v3.0
101 stars 13 forks source link

Is the procedure described in INSTALL currently valid? #38

Closed tilt12345678 closed 9 years ago

tilt12345678 commented 9 years ago

is the procedure described in INSTALL actual? it fails for me with the first make command described make -C libvdev make: *\ No targets specified and no makefile found. Stop. i noted that a simple "make" apparently builds the software correctly up to squashing the hwdb. before i proceed to do a test install i would appreciate confirmation that the remainder of the INSTALL is correct.

jcnelson commented 9 years ago

Hi tilt,

Thank you for bringing this to my attention. The INSTALL.md file was outdated; I just pushed the latest instructions. There is no longer a libvdev build target.

Thanks, Jude

jcnelson commented 9 years ago

Closing this issue for lack of activity. Please re-open if there are still problems with the installation instructions :)

tilt12345678 commented 9 years ago

Sorry about the bother, but here's a couple of errors in INSTALL.md that i currently am encountering:

On a sidenote, i think that "make" should make vdev and "make install" install it. ;)

jcnelson commented 9 years ago

Hi @tilt12345678,

What do you think of the ones here? 219df04730c767c86d53e5aa5e8eef3b20413e1e

tilt12345678 commented 9 years ago

That was fast! :-D

Following the INSTALL step-by-step, one issue remains: ETCDIR still seems to be pointing to a wrong location (after going through Step 1 entirely, /etc/vdev does not exist). In result, at Step 2: Generate an Initramfs, i am getting this error:

root@vdevtest:~/vdev# make -C example initramfs
make: Entering directory `/root/vdev/example'
/bin/sh ./make-initramfs.sh
You must install vdev's /etc files first
Generating initrd.img-3.2.0-4-amd64
cp: cannot stat `/etc/vdev/*': No such file or directory
E: ../build/etc/initramfs-tools/hooks/vdev failed with return 1.
make: Leaving directory `/root/vdev/example'
jcnelson commented 9 years ago

Thanks for sanity-checking the instructions!

I forgot to say that PREFIX= must be included when building and installing the example target. How about this? 01c4720015e7ef5a73a51306915334b74311a73f

tilt12345678 commented 9 years ago

With performing the example installation as instructed, at Step 2 i got this warning instead:

root@vdevtest:~/vdev# make -C example initramfs
make: Entering directory `/root/vdev/example'
/bin/sh ./make-initramfs.sh
Generating initrd.img-3.2.0-4-amd64
WARN: could not find hardware database in /lib/vdev/hwdb.  Some hardware metadata may not be generated.
Generated initrd.img-3.2.0-4-amd64

I resolved this by performing

make -C hwdb PREFIX=/ install

However, when booting with the created initrd, i got this: screenshot

I know i deviated from the installation instructions there, but i wasn't sure what to do about the warning.

jcnelson commented 9 years ago

Thank you for trying the new install instructions!

The problem you encountered is here:

make -C example initramfs

This needs to be make -C example initramfs PREFIX=.

It is imperative that you set the PREFIX variable to an empty string for each build and install target, since you're installing vdev to your root partition. If you don't do this, vdev binaries and configuration will get installed under /usr/local (as required by the GNU Makefile conventions), and the initramfs generator script will not find them (in fact, the initramfs image shouldn't even have a /usr directory).

Also, just to confirm--do you have initramfs-tools installed? I ask because the mount_top and mount_premount scripts appear to be missing.

tilt12345678 commented 9 years ago

thank you, it works like that. vdevd is now starting from the initramfs. note i am using a modified toplevel Makefile as shown in f3b144270d1c8fde2a2407bbf92fab2b3862d9ab