| Author |
Message |
Nathan F

Joined: 08 Jun 2005 Posts: 1641 Location: Wadsworth, OH (occasionally home)
|
Posted: Sun 11 Mar 2007, 23:35 Post subject:
aufs for Puppy |
|
The files needed to get aufs working in Puppy-2.14 are here. This tarball contains a patched initrd.gz with the aufs module and a pet package that contains the aufs utilities. Instructions:
1) untar this archive
2) do a normal frugal install (should also work on a usb stick but I don't have one to sacrifice right now)
3) replace the initrd.gz that Puppy will install onto the hard drive with the one in this archive.
4) boot it up
5) (optional) install the pet package with the aufs utilities
The last step should only be necessary if you want to test aufs for things like swapping out branches on the fly, otherwise it serves no useful purpose. Of course the ability to do that is the motivating factor for why I compiled it at all. I still haven't tested whether or not it will do the trick or not, but intend to do so very soon. In any event, I think it would be good to move Puppy towards using aufs anyway, as unionfs is know to be buggy and aufs implements new features.
This was surprisingly easy to get working, I wish I had tried sooner.
Nathan
_________________ _________________________________________
Bring on the locusts ...
|
|
Back to top
|
|
 |
Lobster
Official Crustacean

Joined: 04 May 2005 Posts: 15109 Location: Paradox Realm
|
Posted: Sun 11 Mar 2007, 23:49 Post subject:
|
|
I am an oaf when it comes to aufs
are they related to awks?
wot is it?
_________________ Puppy WIKI
|
|
Back to top
|
|
 |
Nathan F

Joined: 08 Jun 2005 Posts: 1641 Location: Wadsworth, OH (occasionally home)
|
Posted: Sun 11 Mar 2007, 23:56 Post subject:
|
|
Aufs is a total rewrite and new implementation of unionfs, with supposedly much fewer bugs and enhanced features. There is quite a discussion going on elsewhere about the ability to add or remove union branches from the main filesystem, and many were hoping that aufs would make this possible. This would enable us to add or remove squashfile extension while the system was running, which greatly improves the flexibility and modularity of Puppy. Even if it didn't work, it would seem that aufs is going to provide better performance and reliability than unionfs ever has.
This is provided for testing by developers, although I don't think it will harm your system in any way. But it's pretty useless for end users right now, since it just does the same thing that unionfs is already doing in Puppy. But it may enable a lot of other cool things in the future.
Nathan
_________________ _________________________________________
Bring on the locusts ...
|
|
Back to top
|
|
 |
sunburnt

Joined: 08 Jun 2005 Posts: 4006 Location: Arizona, U.S.A.
|
Posted: Mon 12 Mar 2007, 00:01 Post subject:
|
|
Lobster; It's the newer replacement for UnionFS that joins these 2 file's: pup_xxx.3fs & pup_xxx.sfs.
As Nathan said, UnionFS is buggy & not as capable as AUFS (Another Union File System).
Darn it! Nathan beat me to it!
Nathan; I'll check it out tonight & let you know...
|
|
Back to top
|
|
 |
Lobster
Official Crustacean

Joined: 04 May 2005 Posts: 15109 Location: Paradox Realm
|
Posted: Mon 12 Mar 2007, 00:11 Post subject:
|
|
thanks guys
_________________ Puppy WIKI
|
|
Back to top
|
|
 |
Nathan F

Joined: 08 Jun 2005 Posts: 1641 Location: Wadsworth, OH (occasionally home)
|
Posted: Mon 12 Mar 2007, 00:58 Post subject:
|
|
sunburnt (& anyone else who may have already downloaded) -
I tried it out and it is possible to add and remove branches on the fly, in fact it works beautifully now. But the included unionctl script does not work, and it requires two small utilities that are not in Puppy by default. I re-uploaded the taqrball without the unionctl script, and with the utilities rev and comm, so if you have already installed the aufs utilities package please remove and then reinstall with the new one.
To add a branch: | Code: | | mount-FULL -o remount,append:/initrd/pup_ro5 / |
To remove a branch: | Code: | | mount-FULL -o remount,del:/initrd/pup_ro5 / |
Replacing /initrd/pup_ro5 with whatever directory you want to add or remove. Use mount-FULL rather than just mount, as mount is a shell script in Puppy that calls busybox mount. The mount-FULL binary is the proper mount program with all features.
I added and removed several branches without any problems, ran losetup to check for the next available loop without errors, and rebooted no problem. I have yet to see if it will cause any stability issues (ie the system eventually slows down like it did with unionfs after adding a branch) but after these tests I'm both impressed and highly optimistic. This means I can get back to work soon on my squash program and port all of the code from Puppy-1.xx to Puppy-2.xx, and we should be able to add and remove squashfile extensions at will. Just as we were hoping
Any testing anyone else can provide would be highly appreciated here, to confirm my results.
Nathan
_________________ _________________________________________
Bring on the locusts ...
|
|
Back to top
|
|
 |
raffy
Joined: 25 May 2005 Posts: 4636 Location: Manila
|
Posted: Mon 12 Mar 2007, 06:47 Post subject:
Good news |
|
Very very interesting - sunburnt must be smiling - no, laughing!
_________________ Puppy user since Oct 2004. Want FreeOffice? Get the sfs (English only).
|
|
Back to top
|
|
 |
kirk
Joined: 11 Nov 2005 Posts: 1333 Location: florida
|
Posted: Mon 12 Mar 2007, 11:53 Post subject:
|
|
Nathan,
| Quote: | | I tried it out and it is possible to add and remove branches on the fly, in fact it works beautifully now. |
Wow, that sounds great. Tried to down load your package, but couldn't log in to you ftp server. Tried anonymous, no luck.
Thanks,
Kirk
|
|
Back to top
|
|
 |
Nathan F

Joined: 08 Jun 2005 Posts: 1641 Location: Wadsworth, OH (occasionally home)
|
Posted: Mon 12 Mar 2007, 13:12 Post subject:
|
|
I'll post it elsewhere with an http link.
Nathan
_________________ _________________________________________
Bring on the locusts ...
|
|
Back to top
|
|
 |
kirk
Joined: 11 Nov 2005 Posts: 1333 Location: florida
|
Posted: Tue 13 Mar 2007, 15:55 Post subject:
|
|
Link working now. Thanks Nathan.
|
|
Back to top
|
|
 |
kirk
Joined: 11 Nov 2005 Posts: 1333 Location: florida
|
Posted: Tue 13 Mar 2007, 23:00 Post subject:
|
|
Works for me!
And it seems to be slightly faster too.
I tried to remove a branch, but I got this:
sh-3.00# mount-FULL -o remount,del:/initrd/pup_ro4 /
mount: invalid option -- i
sh-3.00#
The -i seems strange, the pup_ro4 on my rig is the kernel source, so it shouldn't have had anything in use. I haven't read all the Docs yet, I'll work on it some more.
Should I have ran any of these scripts/binarys that where put in /sbin after the install?
aufind.sh
aulchown
auplink
comm
mount.aufs
rev
umount.aufs
|
|
Back to top
|
|
 |
Nathan F

Joined: 08 Jun 2005 Posts: 1641 Location: Wadsworth, OH (occasionally home)
|
Posted: Wed 14 Mar 2007, 12:53 Post subject:
|
|
Subnurnt has been experiencing this same error, and frankly I don't know where it's coming from. I'm not getting it myself, but I might be doing something slightly different. It's on my to do list today to check more into this.
For the record, Kirk, can you give me the exact commands you are using to mount a squashfile and add the branch, and then top remove it? I have a certain suspicion I want to check out.
I don't know what every script in there does (I still need to look over the docs more myself) but I can explain a couple of them.
When adding a branch using "mount-FULL -o remount" /etc/mtab does not get updated, so typing mount will not show the correct branches in your aufs union. The mount.aufs script is supposed to fix this, but I haven't gotten it to work yet. However, if you read /proc/mounts it will show the correct information so mtab doesn't really bother me too much right now.
The comm command is a *nix utility that is missing from Puppy, which is required by mount.aufs, so I put it in. An online man page for it is here, if you want to know what it does.
Similarly, the rev binary is another *nix utility that is not in the standard Puppy. It was needed by the unionctl script that is designed to emulate the command by the same name in unionfs. I could not get unionctl to work either, so it can probably be removed. The rev command basically reverses the letters in a string.
The auplink program has something to do with the symbolic links in an aufs branch, but I need to read more about it. The rest I don't know enough about (yet) to comment on.
Nathan
_________________ _________________________________________
Bring on the locusts ...
|
|
Back to top
|
|
 |
sunburnt

Joined: 08 Jun 2005 Posts: 4006 Location: Arizona, U.S.A.
|
Posted: Wed 14 Mar 2007, 13:42 Post subject:
|
|
The mount command showed the correct aufs line for me.
The added branch was the last one of course, as it was added with "append".
Nathan; What Puppy-2 version are you using?
If it just has trouble with certain ones, that could be acceptable.
Although it would really be nice to know what the actual problem is.
|
|
Back to top
|
|
 |
Nathan F

Joined: 08 Jun 2005 Posts: 1641 Location: Wadsworth, OH (occasionally home)
|
Posted: Wed 14 Mar 2007, 14:04 Post subject:
|
|
I think I found it, but not sure. It seems the mount.aufs and umount.aufs scripts are actually used even if not called directly. When I looked in them they of course called mount rather than umount. I've re-uploaded the tarball after adding the full umount binary (rather than the busybox applet) as umount-FULL, and changing references in the aufs scripts to point to mount-FULL and umount-FULL.
The -i option was being passed to umount through the umount.aufs script, which is where I believe the errors were coming from (although I could possible be wrong).
I've also uploaded just the utils package, without the initrd.gz, so you can just replace that part.
aufs utils package
Let me know if this fixes the errors you have been experiencing, or makes any change whatsoever. I think this just might do it.
Nathan
_________________ _________________________________________
Bring on the locusts ...
|
|
Back to top
|
|
 |
sunburnt

Joined: 08 Jun 2005 Posts: 4006 Location: Arizona, U.S.A.
|
Posted: Wed 14 Mar 2007, 14:08 Post subject:
|
|
KILLER !!! I'll test as soon as I get to my machine... let you know.
|
|
Back to top
|
|
 |
|