unionfs-fuse for DreamOS

  • Nachdem mir die Aussage das der Kernel der DreamOS boxen zu alt fürs overlay Filesystem und zu neu fürs unionfs auf den * geht, habe ich OoZooN gebeten den fuse Treiber bei seinen DreamOS Images fix in den Kernel zu machen.

    Dann funktioniert das unionfs für Userspace OHNE runterladen des kernel drivers und modprobe fuse, etc...

    Einfach das jeweilige deb aus dem Anhang installieren und schon klappt das mit dem unionfs-fuse binary zu mounten.

    Man Page gibt es hier

    Viel Spass beim Testen ;)



    PS: Die binaries sind statisch gelinked damit keine dependencies nötig sind.

    PPS :Wer KEIN aktuelles OoZooN Image auf der box hat muss leider auch noch das machen:

    1. apt-get update
    2. apt-get install kernel-module-fuse

    Und dann vor jedem verwenden des unionfs-fuse halt auch noch den Treiber laden mit:

    1. modprobe fuse
  • Anbei auch noch die beiden fuse utilities mount.fuse und fusermount, damit funktioniert dann auch das mount.unionfs aus dem obigen Kit und man kann unionfs mounts auch in die /etc/fstab machen und wie jedes andere Filesystem auch beim booten mounten (sofern man eben ein OoZooN Image hat wo man das fuse modul nicht nachladen muss)



  • Hi ...

    I have tried this method but can not succeed

    mount -t unionfs -o dirs = / media / hdd / usr: / usr = ro none / usr

    I need to mount

    / usr to / media / hdd / usr ..

    and make

    / usr as read only ..

    Do you have any idea ?!

    Thank you

  • I have already read the man page ..

    here is code inside my plugin ..

    And here is out put of cat /proc/mounts (there is no unionfs mount)

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von fairbird ()

  • This is the plugin work correctly .. To make new user on usb flash with mount /usr directory with read only .

    Before on my dm800se I have use this command after install kernel-module-unionfs

    1. out.write('mount -t unionfs -o dirs=%s:/usr=ro none /usr > /tmp/jump.tmp\n' % path2)

    and if dm920 have new kernel such as 3.18 i can use this command

    1. out.write('mount -t overlay overlay -o lowerdir=/usr,upperdir=%s,workdir=%s /usr > /tmp/jump.tmp\n' % (path2, pathw))

    But with kernel 3.14 as you know there is no (unionfs or overlay)

    I have try that an example on man page but doesn't work unionfs mount.

    maybe I make wrong command. So I have ask your help.

  • maybe you should simply not ignore my advices?

    maybe you should sinply not have spent so much time patching my Plugins and tools to support clones?

    1. mkdir /tmp/usr
    2. unionfs-fuse -o cow /usr=RO:/media/hdd/usr=RW /tmp/usr
  • No ...

    -I'm not ignore your advises at all.

    -Yes your are right before I have clone boxes and supported (I'm so sorry) But now my box genuine and I will never support clone (It is wasting me time) ز

    I will try your code ... and see what happen .

    One more thing .. I try to find any topic to your (swaproot) tool . Where can I ask you about it ?!

    Thank you

  • well, if you would READ the manual it would work also with mount.fuse or even mount.unionfs.

    1. mount.fuse unionfs#/usr=RO:/media/hdd/usr=RW /tmp/usr -o cow

    and you are insisting to ignore advice that what you are doing is a s*y idea :(

    BUT we should not give orders to Kreacher =O

  • I'm not ignore your's advice.

    But the plugin need that method ..

    for example I have three user in plugin ..

    If I want to jump to some user (I need to make mount as (ro) from /usr to (rw) /universe/user) In this case the (/universe/user) can read all files from /usr but If I install any things It will be only on (/universe/user) not on (/usr) ..

    here is my code

    but the problem is now If I jump to new user the unionfs mount to old user still working and I make new cmd to make it umount .

  • I already told you that recursive mounts of /usr in user space is NOT a godd idea, and this way to implement it is even worse.

    I don't have a problem if you make users on other boxes or Images with this approach "happy", but I will not help you to do it this way on DreamOS. if you are not able to find your way on how to do what you try to achieve properly (!) insisting on it will NOT change my opinion.

    BTW there is a reason (!) why unions-fuse also has a chroot option, which brings me back to my comment that you are NOT willing to READ and try to understand what the documentation says.

  • Hi, gutemine

    Still mount not work probable with me ..

    if I use this command

    1. mount.fuse unionfs#/usr=RO:/media/hdd/usr=RW /tmp/usr -o cow

    or this

    1. unionfs-fuse -o cow /usr=RO:/media/hdd/usr=RW /tmp/usr

    If found the mount on (/media/hdd/usr) but If I add some for example script on (/media/hdd/usr/script) panel can not detect.

    before with old kernel on 800se I have use kernel of unionfs with this command

    1. mount -t unionfs -o dirs=/media/hdd/usr:/usr=ro none /usr

    and if I install or add any files on (/media/hdd/usr) not moving to /usr because /use mount as read only but image can read it files from (/media/hdd/usr) if I install skins or scripts or plugins ...etc. Image can find it and I can use it normally.

  • Look, it works as it should and if you are not willing to accept this it is not my fault:

  • I know exactly what you means and advised to me (It is very clear)

    But the problem is image can not read files from that mount part (/media/hdd/usr)

    Try to send any script to (/media/hdd/usr/script) and open script panel, can you find it ?!

    That is should be my plugin job to do.

    Make new user on hdd with my privet files such as scripts, emus, plugins ..etc

    an keep it on /hdd only not moving to /usr and in same time image can read (/media/hdd/usr)

    same as /usr

    See my job now ..

    1. root@dm920:~# mkdir /media/hdd/usr
    2. root@dm920:~# mount.fuse unionfs#/usr=RO:/media/hdd/usr=RW /tmp/usr -o cow

    and I have install skin

    1. root@dm920:~# ls /media/hdd/usr/share/enigma2/GoliathHD
    2. RAED extensions menu skin.xml
    3. WeatherIcon fonts menu_icons skin_default
    4. buttons icons picon_default.png
    5. cover_default.png main_menu prev.png

    But image can not detected skin from mount point of (/media/hdd/usr)

    Thank you

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von fairbird ()

  • You are still not understanding what a userspace driver ist and you are ignoring my comments.

    And why should e2 detect something on /tmp/usr ???

    And I will NOT repeat my argument a fourth time that this is a dumb idea to implement it this way.

  • Ok. If that method not good.

    Then do you have another method to compensate?

    I need to mount /usr to /hdd/usr ..

    /usr (as read only to read all continues of /usr)

    /media/hdd/usr (as read/write to install privet files and image can read it)

    exactly as old method with old kernel on 800se I have use kernel of unionfs with this command

    1. mount -t unionfs -o dirs=/media/hdd/usr:/usr=ro none /usr

    I don't know why kernel drop unionfs from kernsl 3.14 and also did not put overlay.

  • If you would read the linux kernel discussion on that issue you would not need to ask, but if you insist in spoon feeding you are not at the right place with me.

    If now already wrote 3 times that a recusive mount of /usr is a sh*y idea and in user space it is even worse.

    And NO I will NOT tell you better and more portable ways to achive what you try do to, especially as it is pretty obvious WHY you want to do it.

  • Really I need some way to solve my plugin ..

    I have tried such of way but nothings happens :(

    Just I need and commands not necessary (unionfs) to mount /usr to /hdd/usr but /usr directory as RO and /hdd/usr RW

    Thank you

  • then read my replies again that it is an idiotic idea to do an recursive mount of /usr in userspace and that there is a reason why it has a chroot option.

    I don't need a way to fix your plugin especially as you are ignoring my advices. Why should I then give you a better working solution?

  • I really appreciate your advises. And I never ignored it at all. But this is how the Plugin plane work. /usr mounted to other folder as (RO) and that folder for example (/media/usr) as(RW) So all work should be on (/media/usr) only and (/usr) directory just for reading binarys, scripts, python ...etc .

    Thank you again

  • You don't need to explain me again how your plugin works, because I already wrote you multiply that this is a very bad idea, why should I then support it?

    Flash expander who moved /usr out was already an ugly idea, that's why I never supported it for backups, etc... and you now ask me to make something worse operational under DreamOS ???

    You have all needed pieces, and necessary information, it is not my fault that you have no glue how to put them together, except showing and explaining me your patchwork for other boxes and images all over again ?

  • Maybe you ask me. Why your are using that ugly way ?!

    It is simple .. my plugin have 3 users .

    So If I want to keep some privet files with Password .

    Plugin create and jump to new user and no need to copy every things from /usr to that new user just mounted as (RO) so in this case I can download, install, send all my privet files to that user with created password. And keep it far from /usr.

    If any one using default user they can not reachable or read that files. Just If they Jump to that user If knows the correct password.

    So If I jump to that user for example (/media/hdd/moon) and not mounted with usr then box not working. And it will be hang and stop. Like that I need mount option as (RO) .

    The plugin not just designed to make only freespace. to make different small users with mounted with /usr (RO).

    So I just need from you some commands to test it (NOT full Plugin codes)

    Thank you

  • You are simply not understanding that they way you implemented it these users are not really independent and I will not help you to build something which can and will heavily screw up the image because read only or not doesn't matter as image live is not only /usr.



  • hey stop now,

    it's enough :cursing: