On 17/04/15 06:00, Jude Nelson wrote:
Hi Anto,

I just committed preliminary support for using vdevd with devtmpfs.  vdevd should automatically detect whether or not devtmpfs is mounted on /dev, and nevertheless run device setup scripts (by using its own device metadata tree in /dev/vdev/ to see whether or not the device was actually processed).ÂÂ

NB for developers:  this problem isn't specific to Linux--I expect to encounter it with FreeBSD as well, since it has a full-blown in-kernel devfs.  vdevd will keep track of "OS quirks" in the future--one of which is the "Device Already Exists" quirk, whereby vdevd simply expects the OS to provide the device file (regardless of the mechanism). The Linux-specific vdevd back-end now checks to see if vdevd will create files on a devtmpfs filesystem, and enables that quirk if so.

Funny, undocumented (!!) discovery:  the devtmpfs filesystem type (see statfs(2)) is the same (!!) as the tmpfs filesystem type, despite being a fundamentally different filesystem. I'm surprised that this wasn't caught during the devtmpfs code review--guess I'll have to file a bug report. Anyway, if you find yourself wondering why vdev has to detect devtmpfs by parsing /proc/mounts and verifying that the realpath of the mountpoint is the same as or is a subdirectory of a devtmpfs mountpoint, that's why--we (currently) can't rely on the f_fsid in statfs(2) or statvfs(2).

Thanks,
Jude


Hello Jude,

After I pulled your commit from github.com, I have done the following:

1. compile and install vdev
2. copy vdev's initrd into /boot
3. rename /sbin/init to /sbin/init.novdev
4. copy vdev's init file into /sbin
5. manually set the vdev's initrd and init.vdev in grub.cfg
6. manually add /etc/init.d/vdev into runlevel.conf (and keep /etc/init.d/udev)
    first, I tried to put vdev before udev, then the other way around
7. reboot my PC using vdev's initrd and init

There are some progress on the boot messages, but I still ended up on (initramfs) prompt. As before, I can only use my keyboard using kernel 3.2.0, so I could capture the vdev_debugging that you asked before. Please download that from https://minifora.eu/public/devuan/vdev/vdev_debug_logs.tar.gz. That file also contain the copy of /var/log/messages, but I just took the messages since I started to keep rebooting my PC.

I think something still do not work properly on the vdev's init as I got message saying "/sbin/init: 30: .: Can't open /conf/arch.conf" at boot and when I did reboot as below.

root@hp8530w:~# reboot

Broadcast message from root@hp8530w (pts/1) (Fri Apr 17 18:28:56 2015):

The system is going down for reboot NOW!
Loading, please wait...
mount: sysfs already mounted or /sys busy
mount: according to mtab, sysfs is already mounted on /sys
mount: proc already mounted
/sbin/init: 30: .: Can't open /conf/arch.conf
root@hp8530w:~#
root@hp8530w:~# reboot
WARNING: could not determine runlevel - doing soft reboot
  (it's better to use shutdown instead of reboot from the command line)
Loading, please wait...
mkdir: cannot create directory `/var/lock': File exists
mount: sysfs already mounted or /sys busy
mount: according to mtab, sysfs is already mounted on /sys
mount: proc already mounted
/sbin/init: 30: .: Can't open /conf/arch.conf
root@hp8530w:~#

I am still using file-rc instead of sysv-rc, but I didn't clean up /etc/rc?.d directories. I tried to use sysv-rc, but my mouse and keyboard are not being detected when using kernel 3.18.11. They are only being detected on kernel 3.2.0 from wheezy repository. I think there is something wrong with my kernel config but I will investigate that later.

Cheers,

Anto

_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Reply via email to