Page 7 of 9

Posted: Sun 06 Jul 2014, 15:10
by mikeb
I think the biggest problem with these icons is that either the dev has run away or only chooses to talk to certain people...

mike

Posted: Sun 06 Jul 2014, 16:26
by SFR
peebee wrote:p-v-m-0.1.15 seems to have a bit of a problem with this new facility/method of working in that accessing the partition that contains the frugal install displays the save directory contents rather than the partition contents.
I think it's because /etc/mtab (-> /proc/self/mounts) contains:
/dev/sda1 /initrd/mnt/dev_save ext4 rw,noatime,data=ordered 0 0
/dev/sda1 /initrd/pupro1 ext4 rw,noatime,data=ordered 0 0
Apparently only the second entry gets picked by pup-volume-monitor, probably in libpupvm/pupvm-monitor.c, lines 388+.
However I don't know C, so can't fix it...

HTH
Greetings!

Posted: Sun 06 Jul 2014, 17:15
by mikeb
/initrd/pupro1
is that where the folder is loaded to as i use pup_rw ?

When I stop bobbing around in the water I could take a look.... like the other fixed scripts it would only need a bit of filtering.

These icons are great (I have as default on Lucid) so perhaps someone could take over support for them.

mike

Posted: Sun 06 Jul 2014, 17:51
by SFR
Yep, if it's PUPMODE=13. In PUPMODE=12 mtab says:
/dev/sda1 /initrd/mnt/dev_save ext4 rw,noatime,data=ordered 0 0
/dev/sda1 /initrd/pup_rw ext4 rw,noatime,data=ordered 0 0
(btw, it was supposed to be pup_ro1, not pupro1, I made a typo)

Greetings!

Posted: Mon 07 Jul 2014, 08:51
by peebee
I have asked for clarification of the difference in /etc/mtab between a savefile and a savefolder in Slacko6Beta:

http://murga-linux.com/puppy/viewtopic. ... 562#787562

Posted: Mon 07 Jul 2014, 14:42
by gyro
The problem is in the subroutine, "void pup_vm_monitor_get_mounts_unlocked(PupVMMonitor *self)".

It expects to get only a single entry for each "f_ent.mnt_fsname", but when a "mount -o bind" is active, as it is with a savefolder, it gets an extra entry for each "mount -o bind". This extra entry has the same "f_ent.mnt_fsname" but a different "f_ent.mnt_dir".
The entry corresponding to the one expected, is the first one, but the current code stores the last one.
So, near the top of the loop it needs to "continue" if it gets an entry whose "f_ent.mnt_fsname" is the same as the previous entry.
Or it could "continue" if the hash table already contains an entry for this "f_ent.mnt_fsname". Maybe something like:

Code: Select all

		entry.devnode = g_strdup(f_ent.mnt_fsname);
		if (g_hash_table_contains(self->mounts, entry.devnode))
			continue;
Or you could try using "g_hash_table_insert ()", instead of "g_hash_table_replace ()".

gyro

Posted: Mon 07 Jul 2014, 15:36
by SFR
gyro wrote:

Code: Select all

		entry.devnode = g_strdup(f_ent.mnt_fsname);
		if (g_hash_table_contains(self->mounts, entry.devnode))
			continue;
Yep, it's working correctly now, thanks Gyro!
Btw, any idea what can cause this one?

[later]
While poking in the source code I came across daemon/drive-probes.c and its PupVolume *pup_volume_new_from_blkid_cache(blkid_cache cache, const gchar *devnode) function (or whatever it's called in C).

After short investigation:
- old Slacko has only busybox blkid + util-linux-2.21.2-patched_f2fs-i486
- new Slacko has full blkid (util-linux-2.21.2 from slackware repo, but, apparently, it's not patched).

To confirm, I did replace /lib/libblkid.so.* with the one from Slacko-5.7 and indeed, p-v-m was able to recognize f2fs partitions after that.

Greetings!

Posted: Tue 08 Jul 2014, 16:27
by peebee
gyro wrote:The problem is in the subroutine, "void pup_vm_monitor_get_mounts_unlocked(PupVMMonitor *self)".

It expects to get only a single entry for each "f_ent.mnt_fsname", but when a "mount -o bind" is active, as it is with a savefolder, it gets an extra entry for each "mount -o bind". This extra entry has the same "f_ent.mnt_fsname" but a different "f_ent.mnt_dir".
The entry corresponding to the one expected, is the first one, but the current code stores the last one.
So, near the top of the loop it needs to "continue" if it gets an entry whose "f_ent.mnt_fsname" is the same as the previous entry.
Or it could "continue" if the hash table already contains an entry for this "f_ent.mnt_fsname". Maybe something like:

Code: Select all

		entry.devnode = g_strdup(f_ent.mnt_fsname);
		if (g_hash_table_contains(self->mounts, entry.devnode))
			continue;
Or you could try using "g_hash_table_insert ()", instead of "g_hash_table_replace ()".

gyro
Excellent #gyro - very many thanks for tracking that down.

I've recompiled p-v-m on Slacko6beta with the patch and both desktop-drive-icons and pcmanfm are now behaving as they should be when accessing the boot partition when a new savefolder is being used.

My only question is - why does my compile which uses the instructions given by akash-rawal in post #1 result in binaries that are at least 4 times bigger than his compiles???

#SFR - many thanks also for the f2fs fix - I haven't tried that one yet but will soon - wonder whether 01micko will include the needed patch in Slacko6?

Great example of puppy teamwork.
Cheers
peebee

Posted: Tue 08 Jul 2014, 18:50
by SFR
peebee wrote:My only question is - why does my compile which uses the instructions given by akash-rawal in post #1 result in binaries that are at least 4 times bigger than his compiles???
Did you strip them?
wonder whether 01micko will include the needed patch in Slacko6?
Haven't tried it yet, but Mick has recompiled it already:
http://distro.ibiblio.org/puppylinux/pe ... s-i686.pet

Greetings!

Posted: Wed 09 Jul 2014, 06:47
by peebee
SFR wrote:
peebee wrote:My only question is - why does my compile which uses the instructions given by akash-rawal in post #1 result in binaries that are at least 4 times bigger than his compiles???
Did you strip them?
wonder whether 01micko will include the needed patch in Slacko6?
Haven't tried it yet, but Mick has recompiled it already:
http://distro.ibiblio.org/puppylinux/pe ... s-i686.pet

Greetings!
Stripped - thanks.

util-linux-2.12.2_f2fs-i686.pet fixes the f2fs problem.

Many thanks
peebee

Posted: Fri 11 Jul 2014, 15:01
by mikeb
No notification from forum :(

ok I dropped PUPMODE=13 years ago (forgot about that pup_ro1 stuff) so not a problem for me as such and a test with save folder gave one working icon.

The only hiccup is it was possible to unmount the drive from the icon (since there are 2 mounts) and after that I was taken to /initrd/pup_rw which makes some sense but was unable to make the original /mnt/sda1 since I assume the icon saw an existing mount still present . In my case in sysinit I make mnt points that match the device rather than /mnt/home though the result is similar.
Not sure if that affects your arrangements....ie can you unmount the pup drive from the icon and what happens after that?

Also a sr0 appeared from nowhere..not sure about that..was testing in qemu and no /dev/sr0 was enabled!

mike

p-v-m for Slacko6

Posted: Fri 11 Jul 2014, 22:32
by peebee
Here is a version of p-v-m for Slacko6 with gyro's fix for the new savefolder....

Posted: Sun 13 Jul 2014, 20:48
by SFR
mikeb wrote:The only hiccup is it was possible to unmount the drive from the icon (since there are 2 mounts) and after that I was taken to /initrd/pup_rw
[snip]
can you unmount the pup drive from the icon and what happens after that?
just checked and nope, I'm not able to unmount home clicking the icon directly and all the right-click options (mount/unmount/eject) are greyed out.
No matter if it was PM 12 or 13 (Slacko-5.9.3).
mikeb wrote:In my case in sysinit I make mnt points that match the device rather than /mnt/home though the result is similar.
So in your case it's e.g. /mnt/sda1, but "normally" it's /initrd/mnt/dev_save and P-V-M apparently checks for '/initrd/' string:

Code: Select all

		else if (strstr(entry.mntpnt, "/initrd/"))
		{
			entry.flags |= PUP_VOLUME_MNTD_SYSTEM;
		}
Greetings!

Posted: Mon 14 Jul 2014, 10:07
by mikeb
hmm well the /initrd/mnt/pupwhatever is still there... its bind mounted up to /mnt/sda1 rather than symlinked /mnt/home...which would cause a similar reaction to the initial problem in this post.

Thats ok I was checking it was fixed for standard puppies.

Happy drive iconing

Mike

Ps I wonder since you have taken up pup_volume_monitor ..or at least provide fixews....it should get a fresh thread?

p-v-m and tahrpup

Posted: Sat 09 Aug 2014, 10:46
by peebee
I have compiled a patched version of libgio-2.0.so.0.4000.0 to enable p-v-m to be used on Tahr Puppy 5.8.3 k3.14.11pae

Download from:
https://e-nautia.com/peebee/disk/share/ ... atched.pet

Patch for complete glib2 package is attached (false .gz). Used source from Linux-from-Scratch.

Cheers
peebee

Re: p-v-m and tahrpup

Posted: Mon 11 Aug 2014, 08:30
by sfs
Need help
Porteus:

Code: Select all

# mount |grep sda1
/dev/sda1 on /mnt/sda1 type ext4 (rw,noatime,nodiratime,data=ordered)
/dev/sda1 on /mnt/live/memory/changes type ext4 (rw,noatime,nodiratime,data=ordered)
Label = sda1 mount in /mnt/live/memory/changes
http://forum.puppyrus.org/index.php?act ... 1998;image

Posted: Mon 11 Aug 2014, 08:43
by mikeb
Interesting... on slax 6 the changes mount does not appear in mount

Code: Select all

bash-3.1# mount
aufs on / type aufs (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/hda2 on /mnt/hda2 type ext3 (rw,noatime)
/dev/hda1 on /mnt/hda1 type fuseblk (rw,noatime,allow_other,blksize=512)
/dev/hda3 on /mnt/hda3 type ext3 (rw,noatime)
/dev/sda1 on /mnt/sda1 type vfat (rw,noatime,quiet,umask=0,check=s,shortname=mixed)
bash-3.1# cat /proc/cmdline 
ramdisk_size=7120 pty.legacy_count=10 root=/dev/ram0 rw vga=788 splash=silent quiet changes=/nimblex autoexec=startxfce4
bash-3.1# 
It only appears if you cat the initrd mtab.

Code: Select all

bash-3.1# cat /mnt/live/etc/mtab 
rootfs / rootfs rw 0 0
/dev/root /mnt/live ext2 rw 0 0
proc /mnt/live/proc proc rw 0 0
/dev/hda2 /mnt/live/mnt/hda2 ext3 rw,noatime,data=ordered 0 0
/dev/hda2 /mnt/live/memory ext3 rw,noatime,data=ordered 0 0
The problem will be similar to the puppy bind mount problem since the same thing is happening.
mike

Posted: Mon 11 Aug 2014, 08:55
by saintless
I don't know if it helps and what is the problem exactly, but it is the same here booting with porteus initrd - sda3 is mounted twice in mount command output:
http://mail.murga-projects.com/puppy/vi ... b0e#759046

Posted: Mon 11 Aug 2014, 09:02
by mikeb
Not really a problem... any distro using aufs in mysterious ways will give some odd mount information...its simply the nature of the mechanism. What is needed is for any software working with that info to be aware of it though in this case its up to us to modify the sources. I did test these icons on slax and they worked nicely apart from this..if it was a live boot than there is no problem. I use xfce4 so its drive icons do the job anyway without any quirks.

Mike

64bit p-v-m

Posted: Tue 23 Dec 2014, 11:08
by peebee
Version of p-v-m compiled in Slacko64 Alpha as used in LxPup64:

https://e-nautia.com/peebee/disk/share/ ... lacko6.pet