-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
archlinux hook for vdev #74
Comments
i was updated the hook (error occurs on it) but for the moment it don't work correctly. i have mailed a complete file log at jcnelson. Waiting for news |
pkgbuild was updated once again. |
hey mate, I took a look at your PKGBUILD. Why are you cp in libudev.so.1.6.3 Is that libudev from libsystemd? You should not rm the one from libudev-compat what I have /usr/lib/libudev.so -> libudev.so.1
/usr/lib/libudev.so.1
/usr/lib/libudev.so.1.0.1 -> libudev.so.1.5.1
/usr/lib/libudev.so.1.5.1 -> libudev.so.1.5.2
/usr/lib/libudev.so.1.5.2 -> libudev.so.1
/usr/lib/libudev.so.1.6.0 -> libudev.so.1.6.4
/usr/lib/libudev.so.1.6.4 -> libudev.so.1 all symlinks except /usr/lib/libudev.so.1 which is the one built by libudev-compat to be fair probably not all are needed but I just spammed those in on the off-chance it was |
@suedi , libudev.1.6.3 provide by eudev gentoo. |
Look at my PKGBUILD. As far as I see, only one link needs to be added:
This results in:
Otherwise, ldconfig would create the /usr/lib/libudev.so link. |
Are you saying libudev.so.1.5.2 symlink would be enough allthough systemd uses |
libudev-compat installs a libudev.so.1.5.2 symlink and everything seems to work on this end. |
@Obarun what your hook does is basically load the modules that are needed to mount the rootfs on your system. With modprobe. From a hardcoded list of modules. You can achieve the same result by adding the modules to the MODPROBE variable in /etc/mkinitcpio.conf. It's what I've been doing, essentially, when I was too lazy to build a custom kernel: |
@fbt , Certainly i misunderstand some stuffs. are you talking about all the hook or just the early hooks? Onemore, you said : "libudev-compat installs a libudev.so.1.5.2 symlink and everything seems to work on this end." |
Yep, it works after autodetect. Now I feel stupid.
vdev-libudev-compat is supposed to be installed instead of libudev, not together with it. Those links are not supposed to be to a version of libudev from udev, it's just ldconfig stuff. |
So. I've tested with the whole hook being:
And it works perfectly, as long as it's after autodetect. |
So. I've cleaned up the install hook a bit (and went on a bit of a lazy path there for some stuff): You don't need to add all the libs your binaries depend on, add_binary does it for you. Not going to push that to AUR yet as it's building from my vdev fork for the moment. |
Hmmm. Update: on one of my systems, it's actually required to run vdevd twice in the initramfs for it to load all the modules properly. I've tried to figure out why, but I'm quite lost. earlyhook log: http://sprunge.us/KjbD There is a /dev listing and lsmod output in the end of both logs. Both are run like this:
It misses sd_mod on the first run, for example. |
Actually, if I just start vdevd without --once, it works fine. --once does something wrong, it seems.
|
The I hadn't noticed this earlier since my initramfs loads all modules before it starts vdevd. |
@fbt i have followed you about the hook install with a little difference, i have keeped module : squashfs, loop, sd_mod, fuse. if i don't implement this the autodetect hook don't write these modules at /lib/module/$kernel/. So with this hook i have no errors anymore on log(first time for me), but it seems not complete entirely the processus. vdev_action_loader debug things but doesn't load anything. Now if i implement on my mkinitcpio.conf all the modules like @fbt said by this command echo "MODULES="$(lsmod | grep -v 'Module' | awk '{print $1}' | tr '\n' ' ')"" >> /etc/mkinitcpio.conf, the processus is complete because i have this on my hook.log at the end : Onemore, vdevd on pid 1 take a very long time for finish the processus and the ram used is huge (320M under console). if i umount the loop device the ram go down to 100Mega. if [ $_RC -ne 0 ]; then
fi and this part if [ $_RC -ne 0 ]; then
fi why do you erase and detach the loop device? sorry for my english guys :( |
Yeah, makes sense. I'll put --once back into the initramfs once that's implemented, as it seems like the best way to do early boot configuration device configuration :3 |
This particular problem from your log usually arises when you don't have a
That's strange...can you show me what it says from
Vdev comes with a hardware database like udev, but vdev's is implemented as a squashfs image (which should only be 4.2MB) that gets mounted to The code in The reason vdevd takes a while to start up is probably due to the fact that in some cases, |
@jcnelson sorry for my late answer, i was very busy. root 6816 0.0 0.0 82724 2900 ? Sl 12:13 0:00 vdevd -c /etc/vdev/vdevd.conf /dev
i don't have anymore this error and i don't have vboxusers group on my test system. the loading procedure is as follows :
This procedure in pid 1 cause trouble. when vdevd is started before remounting rootfs an error appear and say me : / is busy. I don't understand why. Vdevd should be started in first place, right? Well after several test with modules on hook , i look what happens in pid 2
However a have a readlink error on /dev/fd/, a symlink exist pointed at nowhere.
Onemore, i big trouble occurs with modprobe.sh. The modalias seem to be not correct. One question about this, i'm finding this on sd-hwdb.c :
i haven't those files on my system. it can cause problem? you can find log here : |
you can find a pkgbuild providing hook for arch here : https://github.com/Obarun/obarun-pkgbuild/tree/master/vdev-obarun
work for me but need more test on another machine.
i suppose fbt will implement it on his pkgbuild but he wait for the pull request before doing it. So you can make test if you want
The text was updated successfully, but these errors were encountered: