DSLv3.0RC1


Forum: Release Candidates
Topic: DSLv3.0RC1
started by: roberts

Posted by roberts on May 30 2006,02:45
Release Candidate One for DSL v 3.0 is now posted < here. >

Change Log for DSL-3.0RC1

1. New unionfs as a boot option
2. New mountable MyDSL extension type unc with automatic branch management.
3. Adjust Getting Started/Dillo screen to support booting 640x480
4. Added ACPI modules for newer power managment support
5. New FUSE support
6. New sshfs support
7. Fixed bug in kbdconfig when changing keymaps.
8. New theme "A Penguin with a Hat"
9. New sample unc extensions, abiword, cups, and opera852



Posted by roberts on May 30 2006,03:05
Developer Notes Concerning DSL v3.0.

Note this is a "dot oh" release and an "RC1" as well, so test carefully. Most of the changes are for the deployment of unionfs which only occurs upon issuance of the boot code "unionfs".

Thanks to clacker and JB4X4 for their initial contributions regarding unionfs. I was still under the impression that unionfs was still be to rough around the edges. However...

I have been studying unionfs and how best to deploy it on DSL. In particular, how best to deploy for maximum capabilites on the ultra-low end machines.  First of all we are not "moving to unionfs" like all the other distros seem to be doing. In fact it is an optional choice (for now anyways), a boot option. It's deployment is primarily targeted for a new extension type called unc. This new extension type may possibly obsolete the .dsl extension type and thus drastically reduce the memory requirements that .dsl's currently demand. This allows for even small machines to use Abiword, Cups, Opera, etc, because these extensions can now be used as "compressed mountable overlay images". I have adjusted many programs to make the creation and use of the unc type extension simple. Simply use the existing mydsl-load as you would for a uci. Their "package management" is entirely contained within the base DSL. We may possibly depreciate the memory hungry .dsl extensions. This is what I have always wanted to achieve. Having a small useful base as we do, and then just mounting additional apps as needed. This also means that we finally do have "package management". Just "unmount them" via our standard mydsl-load procedures.!

I have watched the board and seen the frustration of low memory users forced into a traditional hard drive install becuase they could not run Abiword as a dsl extension. I have seen the repeated requests for more uci type extensions. Yet we know the difficulties associated with trying to provide such. The new unc extensions satisfy both of these situations.

Also new in this release, thanks to clacker, again. Is fuse and sshfs. This provides a very simple network remote mounts without NFS or the need to install anything on the remote host. Very cool.

Also, I finally added the acpi power management modules. On older computers, like mine, I need to boot with acpi=force.

Robert



Posted by kerry on May 30 2006,03:36
I wish i had seen this earlier, i just wasted hours with dsl-n rc1. I finally  just snapped that cd in half and chuked it. OOH, i hate that one. Thanks
Posted by kerry on May 30 2006,04:29
BUGS
#1. myDSL menu dosen't work.
#2. When you use emelfm super user the icon will no longer launch the regular emelfm, it only launches root after that.(Fluck?)
#3. On the third reboot emelfm was switching back and fourth between dsl and root when you click the icon(weird)?

To be continued...

On the + side
The myDSL menu works perfectly from my usb at start.
On this boot(4th) with mydsl's loaded from usb,the emelfm icon is working correctly.

Posted by kerry on May 30 2006,05:09
The new theme is better than the purple, but it's so dark and small. I would really like to see something brighter like the fizzure2 style with a brighter background.->

style.name: Fizzure2
style.author: snkmchnb
edited by SaidinUnleashed
style.date: 08.23.2005
style.comments: changed gradient color to matc the xmms theme

toolbar: raised gradient vertical
toolbar.color: #fefefe
toolbar.colorTo: #a6a6a6
toolbar.justify: center
toolbar.textcolor: #000000
toolbar.roundCorners: TopRight TopLeft BottomRight BottomLeft
toolbar.button: raised gradient vertical
toolbar.button.color: #fefefe
toolbar.button.colorTo: #a6a6a6
toolbar.button.picColor: #000000
toolbar.button.pressed: sunken gradient diagonal
toolbar.button.pressed.color: #a6a6a6
toolbar.button.pressed.colorTo: #fefefe
toolbar.shaped: TRUE
toolbar.clock: sunken gradient vertical
toolbar.clock.color: #4184de
toolbar.clock.colorTo: #2152c5
toolbar.clock.textColor: #fefefe

toolbar.label: sunken gradient vertical
toolbar.label.color: #4184de
toolbar.label.colorTo: #2152c5
toolbar.label.textColor: #fefefe

toolbar.windowLabel: sunken gradient vertical
toolbar.windowLabel.color: #4184de
toolbar.windowLabel.colorTo: #2152c5
toolbar.windowLabel.textColor: #fefefe

menu.title: sunken gradient vertical
menu.title.color: #4184de
menu.title.colorTo: #2152c5
menu.title.textColor: #fefefe
menu.title.justify: center

menu.frame: raised gradient vertical
menu.frame.color: #fefefe
menu.frame.colorTo: #a6a6a6
menu.frame.textColor: #000000
menu.frame.justify: left

menu.hilite: sunken gradient vertical
menu.hilite.color: #4184de
menu.hilite.colorTo: #2152c5
menu.hilite.textColor: #fefefe
menu.roundCorners: TopRight TopLeft BottomRight BottomLeft
menu.bullet: circle
menu.bullet.position: right

window.justify: center

window.title.focus: raised gradient vertical
window.title.focus.color: #fefefe
window.title.focus.colorTo: #a6a6a6
window.title.unfocus: raised gradient vertical
window.title.unfocus.color: #fefefe
window.title.unfocus.colorTo: #a6a6a6

window.label.focus: sunken gradient vertical
window.label.focus.color: #4184de
window.label.focus.colorTo: #2152c5
window.label.focus.textColor: #fefefe
window.label.unfocus: parentrelative
window.label.unfocus.color: #fefefe
window.label.unfocus.colorTo: #a6a6a6
window.label.unfocus.textColor: #000000

window.button.focus: raised gradient vertical
window.button.focus.color: #fefefe
window.button.focus.colorTo: #a6a6a6
window.button.focus.picColor: #000000
window.button.unfocus: raised gradient vertical
window.button.unfocus.color: #fefefe
window.button.unfocus.colorTo: #a6a6a6
window.button.unfocus.picColor: #000000
window.button.pressed: sunken gradient diagonal
window.button.pressed.color: #a6a6a6
window.button.pressed.colorTo: #fefefe

window.frame.focusColor: #a6a6a6
window.frame.unfocusColor: #a6a6a6

window.handle.focus: raised gradient vertical
window.handle.focus.color: #fefefe
window.handle.focus.colorTo: #a6a6a6
window.handle.unfocus: raised gradient vertical
window.handle.unfocus.color: #fefefe
window.handle.unfocus.colorTo: #a6a6a6

window.grip.focus: sunken gradient vertical
window.grip.focus.color: #4184de
window.grip.focus.colorTo: #2152c5
window.grip.unfocus: raised gradient vertical
window.grip.unfocus.color: #fefefe
window.grip.unfocus.colorTo: #a6a6a6

borderColor: #a6a6a6

bevelWidth: 2
borderWidth: 1
handleWidth: 5
window.roundCorners: TopRight TopLeft BottomRight BottomLeft
*Font:                          -*-helvetica-*-r-*-*-12-*-*-*-*-*-*-*

rootCommand: xsri --scale-width=100 --scale-height=100 ~/.fluxbox/backgrounds/endlessblue.jpg

The background->
< http://img512.imageshack.us/img512/9029/endlessblue0qg.jpg >

Posted by kerry on May 30 2006,05:20
Or if it must be dark, this theme->

style.name: fluXbox
style.author:  
edited by
style.date:
style.comments:


toolbar.borderWidth: 3
toolbar: raised bevel gradient vertical
toolbar.color: #525252
toolbar.colorTo: #1e1e1e
toolbar.justify: center
toolbar.textcolor: #77c21d
toolbar.shaped: TRUE
toolbar.button: raised bevel gradient vertical
toolbar.button.color: #bddb01
toolbar.button.colorTo: #1f6612
toolbar.button.picColor: #000000
toolbar.button.pressed: sunken bevel gradient vertical
toolbar.button.pressed.color: #1e1e1e
toolbar.button.pressed.colorTo: #525252

toolbar.clock: raised bevel gradient vertical
toolbar.clock.color: #525252
toolbar.clock.colorTo: #1e1e1e
toolbar.clock.textColor: #77c21d

toolbar.label: raised bevel gradient vertical
toolbar.label.color: #525252
toolbar.label.colorTo: #1e1e1e
toolbar.label.textColor: #77c21d

toolbar.windowLabel: raised bevel gradient vertical
toolbar.windowLabel.color: #525252
toolbar.windowLabel.colorTo: #1e1e1e
toolbar.windowLabel.textColor: #77c21d

menu.title: raised bevel gradient vertical
menu.title.color: #525252
menu.title.colorTo: #1e1e1e
menu.title.textColor: #77c21d
menu.title.justify: center

menu.frame: raised bevel gradient vertical
menu.frame.color: #1e1e1e
menu.frame.colorTo: #525252
menu.frame.textColor: #77c21d
menu.frame.justify: left

menu.hilite: raised bevel gradient vertical
menu.hilite.color: #bddb01
menu.hilite.colorTo: #1e1e1e
menu.hilite.textColor: #000000

menu.roundCorners: topleft topright bottomright bottomleft

menu.bullet: triangle
menu.bullet.position: right

window.justify: center

window.title.height: 24

window.title.focus: raised bevel gradient vertical
window.title.focus.color: #525252
window.title.focus.colorTo: #1e1e1e
window.title.unfocus: raised bevel gradient vertical
window.title.unfocus.color: #525252
window.title.unfocus.colorTo: #1e1e1e

window.label.focus: raised bevel gradient vertical
window.label.focus.color: #bddb01
window.label.focus.colorTo: #1f6612
window.label.focus.textColor: #000000
window.label.unfocus: sunken bevel gradient vertical
window.label.unfocus.color: #2e2e2e
window.label.unfocus.colorTo: #616161
window.label.unfocus.textColor: #77c21d

window.button.focus: raised bevel gradient vertical
window.button.focus.color: #616161
window.button.focus.colorTo: #2e2e2e
window.button.focus.picColor: #77c21d
window.button.unfocus: raised bevel gradient vertical
window.button.unfocus.color: #616161
window.button.unfocus.colorTo: #2e2e2e
window.button.unfocus.picColor: #77c21d
window.button.pressed: sunken bevel gradient vertical
window.button.pressed.color: #1e1e1e
window.button.pressed.colorTo: #525252

window.frame.focusColor: #1e1e1e
window.frame.unfocusColor: #525252

window.handleWidth: 8

window.handle.focus: raised bevel gradient vertical
window.handle.focus.color: #616161
window.handle.focus.colorTo: #2e2e2e
window.handle.unfocus: raised bevel gradient vertical
window.handle.unfocus.color: #616161
window.handle.unfocus.colorTo: #2e2e2e

window.grip.focus: raised bevel gradient vertical
window.grip.focus.color: #bddb01
window.grip.focus.colorTo: #1f6612
window.grip.unfocus: raised bevel gradient vertical
window.grip.unfocus.color: #525252
window.grip.unfocus.colorTo: #1e1e1e

borderColor: #2e2e2e
window.roundCorners: TopRight TopLeft BottomRight BottomLeft
bevelWidth: 4
borderWidth: 1
handleWidth: 5

*Font:                          -*-helvetica-*-r-*-*-14-*-*-*-*-*-*-*

rootCommand: xsri --scale-width=100 --scale-height=100 ~/.fluxbox/backgrounds/3D.jpg


Your choice of backgrounds->
< http://img512.imageshack.us/img512/7624/tuxwin7lp.jpg >
< http://img512.imageshack.us/img512/5924/3d2un.jpg >
< http://img45.imageshack.us/img45/720/fluxbox1dz.png >

Posted by hs7sv on May 30 2006,05:25
roberts, Great job! ... Thanks  :D
Posted by kerry on May 30 2006,05:29
I agree overall, a very great job!

I'm fully up and running-> < http://img140.imageshack.us/img140/5485/30rc10ey.png >

Posted by John on May 30 2006,07:21
Thank you < MadHatter Penguin > for letting us use your great "A penguin with a hat".
Posted by ZoOp on May 30 2006,10:10
Robert, John,

it looks great! Congratulations!
I can't install DSL 3.0 RC1 now because I have to work at my office, but I'll give it a try asap.
I already can't wait to use the new unc extensions, which seems quite a very big deal and the conclusion of a very great effort. All people with low ram requirements as I would just be so happy!

thank you, thank you, thank you!!

yours
z

Posted by kerry on May 30 2006,10:32
I'm trying to try that opera.unc but can't get it work. I highlight it and press the myDSL button and see "end of output" but no opera. Am i doing it wrong?
Posted by ZoOp on May 30 2006,11:43
kerry,
did you use unionfs as boot option at boot?
yours
z

Posted by geevee on May 30 2006,11:51
Quote (kerry @ May 30 2006,06:32)
I'm trying to try that opera.unc but can't get it work. I highlight it and press the myDSL button and see "end of output" but no opera. Am i doing it wrong?

Did you log in as 'dsl' or as 'root'?.
I am writing this from Opera just downloaded as user 'dsl' from a HD ( virtual!) install  of DSL3.0 RC1. It was a 'one click install' followed by another click on the Opera icon that appeared on the desktop..

Posted by humpty on May 30 2006,12:05
Can someone you tell us more about the .unc extensions?
I take it they're not limited to one directory?

Posted by roberts on May 30 2006,14:14
The unc extension is an extended version of uci.
The unc extension is "rooted" under opt. So each main system directory is under /opt except /home, /tmp, and /opt.  Those three exceptions are already writeable by default. Also the user.tar.gz is the same between these two mountable extensions. Anyway each of the main system directories are then "added" as a branch to union space. This happens as part of the mydsl-load procedure. So its mounted then added to the union. Therefore it appears to the running system that it is actually "installed" in the normal places. Therefore no pathing problems, no library issues. I created a small script called listu which will display the union tree. Using listu you will be able to see the apps branches added into the union space. Then upon issuing mydsl-load again the apps branches are removed and then unmounted from /opt.  Best way to learn the new extension is to load up one of the new sample unc app and then look at the structure of it under /opt and use listu.  It is really easy to make a unc. I think a .dsl to .unc would be fairly easy to create. Something along the lines of...

Say we have an app called myapp.dsl in your /home/dsl directory
1. mkdir myapp
2. cd myapp
3. tar -zxvf ../myapp.dsl
4. find home tmp -type f | xargs tar -czvf user.tar.gz
5. rm -rf home/ tmp/
6. cd ..
7 mkisofs -R -hide-rr-moved -cache-inodes -pad myapp/ | create_compressed_fs - 65536 > myapp.unc

Then test the new myapp.unc by using: mydsl-load myapp.unc

Posted by bokaroseani on May 30 2006,14:16
Can someone help me with how to make the most of the new acpi module? I am using a Thinkpad T20 with 128 mb ram and am running DSL 3.0RC1 from the live CD. I booted with the cheat code "acpi=force". How do I know its working? Or what will be the visible difference when ACPI is there versus when it was not there (say if I am using the older version of DSL)? Will I be able to hibernate my laptop?
Posted by roberts on May 30 2006,14:22
As it is booting you will the message about battery, fan, etc.
If you click DSLpanel, System Stats, Modules tab, you will see thermal, battery, fan, processor
If you look in dmesg tab, then you will see many ACPI messages.

Posted by bokaroseani on May 30 2006,14:53
Thanks Robert. I am away from my DSL machine right now but will explore more once I return. I still wonder if ACPI will only help in saving power when my laptop is working in normal mode or if it will also have added features like being able to hibernate the laptop. I dont fully understand what ACPI does, but reading whatever I could find on Wikipedia it seems that it should support hibernation. If so, can someone let me know how to hibernate my laptop?
Posted by kerry on May 30 2006,19:00
So the .unc extension can only be used with unionfs?
Posted by clivesay on May 30 2006,19:05
Quote (kerry @ May 30 2006,14:00)
So the .unc extension can only be used with unionfs?

Yes. If you aren't using unionfs you'll want to use uci extensions. I'm anxious to try this out on some low ram machines and see what the numbers look like.

Chris

Posted by kerry on May 30 2006,19:09
If i use unionfs can i still use .dsl's?

Edit: Never mind i switched to unionfs and .dsl's still work.

Posted by bokaroseani on May 30 2006,19:28
Earlier (using other versions of DSL), when I used to close my laptop, it used to go to sleep automatically. Not anymore with DSL 3.0 RC1. Is that a feature or a bug with ACPI? I am wondering what are the practical benefits of ACPI other than saving power in the background.
Posted by ZoOp on May 30 2006,19:35
ACPI: better (unitary) methodology for the recognition/configuration of your machine and deals better with interrupts, i.e. keep apps running further when they interrupt. ACPI doesn't work good for me.
yours
z

Posted by kerry on May 30 2006,21:00
Hmmm, i had problems when using the opera.unc. After it mounted emelfm wouldn't work and i couldn't switch out to jwm. I tried to use the terminal to see what errors there were and that just does nothing.
Posted by ggordon on May 30 2006,21:19
I have DSL on a USB thumbdrive as a USB-ZIP drive....I wanted to upgrade to new version without messing up my old setup...so I just extracted file KNOPPIX and wrote over old one on USB thumbdrive....does that basicly give me 3.0RC1 now? I saw no reason to copy anything from boot folder as I assume system boot has not changed..please advise..



__
ggordon

Posted by kerry on May 31 2006,01:23
Okay, i just found out .uci's don't work if your using unionfs. This is really getting on my nerves, i like to use unionfs but than i can't use .uci's. Ahhhg
Posted by roberts on May 31 2006,02:45
I am using 8 uci together will all three unc's.No problem.
Instead of venting I would prefer to have something that I could duplicate. I cannot resolve or respond to vents. They accomplish nothing but bad will. Spend more time testing and less venting would be greatly appreciated. Then if you can duplicate a situation then I have will something to respond to. Release Candidates is not a fourm for venting but for those who would seriously like to help test new releases. And post questions or situations that can be verified by being able to reproduce.

Thanks,
RS

Posted by kerry on May 31 2006,03:29
Sorry
Posted by ZoOp on May 31 2006,05:02
ggordon,
if you want to upgrade, then choose the upgrade utility of DSL. But as Robert said, just be careful at this stage; 3.0 RC1 should be tested further.
yours
z
PS: I have 3.0 RC1 on a CD. No problem at this stage with unionfs, unc and uci working together very nicely. At this stage, 3.0 is very promising. I had like to have more time to invest in making unc's apps. Very great job!

Posted by clivesay on May 31 2006,10:48
Kerry -

It's always good to test a new release 'vanilla' before adding your personal settings. Sometimes updated versions have tweaks that your old backup or even an older .dsl file may break. So, when you get a new version of DSL it's good to boot with 'dsl base norestore', see if you like it, then start to apply your personal settings. This approach will save you alot of grief.

Good luck

Chris

Posted by ggordon on May 31 2006,10:52
I have had zero problems myself and everything seems to be working fine, so what I did seems a safe way to update.....like the new fluxbox theme and also using the two others that were offered up earlier in this forum...




ggordon

Posted by kerry on May 31 2006,12:13
I think there's somthing wrong with the openoffice2.0.uci, that's the one that didn't work for me i just tried it again on a clean stock install and now it just gives a mdsum error. I'm sorry about all my venting i've been having a bad month and i always turn to my computer to relax, sometimes it dosen't work that way and i end up passing my bad luck through the net. My apoligies to all who take the time and effort to building such a great distro. I am so hooked on running dsl in ram that even though i have gotten 3 new hd's i haven't even bothered to set them up yet, i just have them installed but not plugged in. :D
I been slowly getting all the things for a dsl dedecatied machine i want to put together. So far i have a extra monitor,keyboard and mouse all brand new, i'm still looking in to a good motherboard and want to build something like jhons toy.
Take care

Posted by ZoOp on May 31 2006,13:14
kerry,
this post just in order to say: sometimes turning angry just shows that you deep commit in the discussions here and in the testing of DSL, and that you take the play seriously in order to play at best. Just keep up your positive mood, and make us some pictures of your future 'kerry's dsl-machine' with a comment on your further test of 3.0 RC1... or, maybe the reverse :) it would be better for the actual testing issue, I have then time to imitate you by buying myself some plexiglas stuff and a mini-itx mainboard (good, save us.... money!)
yours
z -

Posted by bokaroseani on May 31 2006,13:58
Unionfs works fine for me. I downloaded Opera in .unc and it worked just as I wanted. The only issue I faced so far is that my laptop doesnt go to sleep when I close the lid as it used to do before using DSL 3.0 RC1. I guess it has something to do with ACPI module. I am wondering if anyone else using DSL 3.0RC1 on laptops had similar issues.
Posted by clacker on May 31 2006,17:19
I had a problem loading the bcm5700.tar.gz and the R.tar.gz extensions when I started 3.0 RC1 with the boot option dsl unionfs.  The files were uncompressed to the correct places, but the menu items were not created.
Posted by roberts on May 31 2006,18:36
clacker, thanks for the feedback.
Found it and fixed it!
It affects .dsl and tar.gz upon dynamic loading.

Posted by roberts on May 31 2006,18:42
I wouldn't recommend anyone to upgrade to this initial cut.
I appreciate those who can test and leave feedback to make this better.
I would wait until RC2  to recommend an upgrade. As it will be more stable
Maybe I should post interim cuts, eg., RC1b to facilitate better and futher testing?

Posted by roberts on May 31 2006,19:53
dsl-3.0RC1b.iso and md5.txt files are now posted in the release candidate area.
This interim cut fixes the issue with missing menu items for .dsl and .tar.gz extensions.

Posted by ZoOp on May 31 2006,20:44
thanks Robert, just great! I go straight to test it.
yours
z

Posted by ggordon on May 31 2006,21:58
I want to try a *.unc prog...you have to use unionfs at boot time, then d/l your *.unc file and load it by??..reboot after saving *.unc to sda2 or can you load it from a term windows? I use *.dsl files by saving them to sda2 and at each reboot they are auto-loaded and there to use...works great. I finally got my usb wheel mouse's scroll wheel to functions by running xsetup...chossinf the fb option and then deleting the subsequent file and it starts working...beats me, but now it works, that all I care about...hope in final 3.0 that Firefox will be updated to latest, just as a convenience....really like being able to fire up full-blown OS from USB thumbdrive.....way cool. Also...on the update copy, besides extracting Knoppix, I extracted and copied linux24 and minirt24.gz..since those are loaded at boot time also...seems to work great and all my add-on stuff in still intact...I'm happy.



ggordon

Posted by clacker on May 31 2006,23:03
EDIT: What was I thinking?  /usr/games is in the PATH variable.

I made a few unc extensions and I noticed a problem.  I made a gcc1-with-libs.unc that worked fine, but my gnu-utils.unc didn't work.  I think there may be a problem if you overwrite a link that already exists on the system.  This may only occur the second time you load and unload an extension.

Try this: create a temporary directory called myapp and another called myapp/bin.  Create a shell script called myapp/bin/dd, it can do anything.  Mine printed out a test string using echo.  chmod 777 on the new dd and test it to make sure it works.  Now create a unc extension of this by running:

mkisofs -R -hide-rr-moved -cache-inodes -pad myapp/ | create_compressed_fs - 65536 > myapp.unc

After you load this extension with mydsl-load myapp.unc, the dd command doesn't work.  neither the new one nore the old one.  Run mydsl-load myapp.unc again and the old dd is back and functioning.  I'm not sure why this happens, but when you try to make a gnu-utils.unc, it overwrites really important busybox funcions which the keeps you from unloading it (I think it got ride of really base level programs like xargs, sleep, and cat).

This was kind of a sporadic problem which I'm hoping is something I did wrong.  Sometimes it looks like it worked, sometimes it doesn't.

Posted by meo on June 01 2006,00:27
Hello guys!

I've been trying out the DSL-3.0RC1 and I ran in to some troubles. I have tried several times but the same happens. When I load the opera*.unc it loads and I can use it without problems. But when I shut it down I can't open emelfm. I can't even shut down properly. I use a cd and download the opera extension with firefox. I have no explanation for this. Hope the problem will be solved as I like to use the latest version of DSL. For now I stick with DSL 2.4 which seems rock solid.

Have fun and thanks for the effort to develop DSL further,
meo

Posted by clacker on June 01 2006,00:57
OK, I tried the above again and it doesn't work correctly.  When you run an [b]ls -l /[b] command you can see that /bin is a link back to the /KNOPPIX directory.  Shouldn't /bin be just a plain directory which would be the mount point for a union between a writeable directory /ramdisk/bin and the read only /KNOPPIX/bin, with additional directories added after /ramdisk/bin in the tree?

I think the union may not be working because /bin is a link to the /KNOPPIX/bin directory rather that being a directory.  The same to /lib and the others.  Is there a way to set /bin up as a union from the beginning?

Posted by roberts on June 01 2006,01:29
clacker, I tried your test app and it works fine for me.

dsl@box:~$ mydsl-load myapp.unc
myapp.unc sucessfully mounted!
dsl@box:~$ listu
/bin
       /ramdisk/bin (rw)
       /ramdisk/opt/myapp/bin (r-)
       /ramdisk/opt/opera852/bin (r-)
       /ramdisk/opt/abiword/bin (r-)
       /KNOPPIX/bin (r-)
/dev
       /ramdisk/dev (rw)
       /dev (r-)
/etc
       /ramdisk/etc (rw)
       /ramdisk/opt/opera852/etc (r-)
       /ramdisk/opt/cups/etc (r-)
       /ramdisk/opt/abiword/etc (r-)
       /etc (r-)
/lib
       /ramdisk/lib (rw)
       /ramdisk/opt/opera852/lib (r-)
       /KNOPPIX/lib (r-)
/sbin
       /ramdisk/sbin (rw)
       /KNOPPIX/sbin (r-)
/tmp
       /ramdisk/tmp (rw)
/usr
       /ramdisk/usr (rw)
       /ramdisk/opt/opera852/usr (r-)
       /ramdisk/opt/cups/usr (r-)
       /ramdisk/opt/abiword/usr (r-)
       /KNOPPIX/usr (r-)
/var
       /ramdisk/var (rw)
       /ramdisk/opt/cups/var (r-)
dsl@box:~$ dd
hello from dd!

The myapp.unc has its bin correctly placed within the tree and the result of typing dd gives the proper result.

Posted by JB4x4 on June 01 2006,09:26
I seem to be having the same problem as meo and kerry.  I have tried with both 3.0 RC1 and RC1b off of the live cd booting "dsl unionfs norestore base"  It seems that after loading abiword.unc, emelfm does not work, along with some of the other programs.  Also, when trying to exit to the terminal, it hangs on "waiting for X server to shut down", and requires a "ctrl-alt-delete"
Posted by meo on June 01 2006,10:04
Hi again!

Just tried the DSL v3.0RC1b this morning and the problems I described earlier remains.

Have fun and thanks for your efforts,
meo

Posted by unixmipfr on June 01 2006,12:03
Hi All,

Question : wpasupplicant  was it included in the New RC3.0 ?

WPA encryption is needed by many of WiFi Users at all .

Thanks in advance to supply "Secure Wifi connections through wpasupplicant" .

< Linux WPA Supplicant page >

Have a good job . :D

Posted by roberts on June 01 2006,15:06
I don't see the problem when using mydsl-load from a shell nor do I see this problem when automatic loading via a mydsl directory.

Since I normally don't use emelfm to launch extensions I didn't see this issue. I have in the past have had many such issues with emelfm and its interactions with certain programs.

This seems to be another issue with emelfm.

Please try again but  do not use emelfm and things should work.

We may need to try to come up with another work around for emelfm.
The specific area is /home/dsl/.emelfm/buttons  
The mydsl button is the first line.

Posted by clacker on June 01 2006,16:47
I am able to reproduce what I saw before now from a clean CD.  Create a myapp and myapp/bin directories, create a shell script called myapp.bin/dd that echoes some text, make it executable, and create a myapp.unc.  Load it from an xterminal and try typing "dd" and it works.  unload myapp.unc and dd returns to the busybox version.  Reload the myapp.unc and when you type "dd" you now see:

bash: /bin/dd: Invalid argument

So maybe it happens on the second loading.  Can I ask where exactly do the unions get set up the first time?  I want to try making a union of /ramdisk/bin and /KNOPPIX/bin and then have /bin be a link to /ramdisk/bin instead of /KNOPPIX/bin.

Posted by pr0f3550r on June 01 2006,18:34
Quote (roberts @ May 29 2006,22:45)
1. New unionfs as a boot option

I may be retarded but I can't see the unionfs option at boot time.
Pressing F2 or F3 I really can't see it.
I have definitely downloaded the right iso...

Posted by roberts on June 01 2006,18:46
clacker, Hmmm, very interesting.
Now dd only exists in the bottom most leve of the union space  /bin in the branch /KNOPPIX/bin
Before mydsl-loading of myapp.unc whereis dd displays /bin/dd
After loading myapp.unc whereis dd displays /bin/dd /opt/myapp/bin/dd
but the unionctl /bin --list displays /opt/myapp/bin/dd above /KNOPPIX/bin as it should and therefore the /opt/myapp/bin/dd should and does run as it is in a higher level of the stacked filesystem.

But like you said upon a removal and then re-loading even though the unionctl /bin --list or listu displays the same branch structuring, the shell ignores the upper branch and falls through to the bottom or lowest level of the stacked filesystem. Not good.

Typically, we would be adding additional binaries and libraries and not trying to overwrite existing system code. But as you discovered when looking at makeing a gnu-utils.unc this issue has surfaced.

The boot option unionfs call /etc/init.d/mkunion script. This is where I setup the union space. The mydsl-load calls mountci for uci and unc type (mountable) extensions. The unc type not only mounts but call /etc/init.d/unc to handle the branch management.

Posted by ggordon on June 01 2006,20:47
Quote (pr0f3550r @ June 01 2006,14:34)
Quote (roberts @ May 29 2006,22:45)
1. New unionfs as a boot option

I may be retarded but I can't see the unionfs option at boot time.
Pressing F2 or F3 I really can't see it.
I have definitely downloaded the right iso...

Unionfs is a boot option, although it is not yet a visible choice, at boot do a 'dsl unionfs' and your'e set. Rem current release is beta and RC1 so be patient on the little stuff..




ggordon

Posted by clacker on June 01 2006,21:56
Robert, I think the problem is that /bin is still a link to /KNOPPIX/bin, so aren't the top and bottom levels pointing to the same place (/KNOPPIX/bin)?  Wouldn't that cause problems?  I really think that mkunion needs to create both /ramdisk/bin and a /ramdisk/holder/bin, set up the union with /KNOPPIX/bin, and then redirect the /bin link to point at /ramdisk/bin.

Code Sample
mkdir /ramdisk/holder

mkdir /ramdisk/bin
mkdir/ramdisk/holder/bin
mount -t unionfs -o dirs=/ramdisk/holder/bin=rw:/KNOPPIX/bin=ro unionfs /ramdisk/bin
ln -sf /ramdisk/bin /


The following is a though for how it might work, although what follows has problems with the /etc and /var directories:

Code Sample
#!/bin/bash

mkdir /ramdisk/holder

#first handle the easy directories
for i in bin boot lib sbin usr
do
   mkdir /ramdisk/$i
   mkdir /ramdisk/holder/$i
   mount -t unionfs -o dirs=/ramdisk/holder/$i=rw:/KNOPPIX/$i=ro unionfs /ramdisk/$i
   ln -sf /ramdisk/$i /
done

# Then take care of /etc by making a copy of it
mkdir /ramdisk/holder/etc
mkdir /ramdisk/etc
cp -rp /etc /ramdisk/holder/etc_copy
mount -t unionfs -o dirs=/ramdisk/holder/etc=rw:/ramdisk/holder/etc_copy=ro unionfs /ramdisk/etc
# copy mtab or their may be problems since there is another entry in the current one
cp /etc/mtab /ramdisk/etc/mtab
rm -rf /etc
ln -sf /ramdisk/etc /

# to undo the above section you need the following:
#      rm /etc
#      cp -r /ramdisk/holder/etc_copy /etc
#      umount /ramdisk/etc

# now handle the /var directory
mkdir /ramdisk/var
mkdir /ramdisk/holder/var
mv /ramdisk/var /ramdisk/holder/var_old
mount -t unionfs -o dirs=/ramdisk/holder/var_holder=rw:/ramdisk/holder/var_old=ro unionfs /ramdisk/var

# to undo the above section you need the following:
# umount /ramdisk/var
# rm -r /ramdisk/var
# mv /ramdisk/holder/var_old /ramdisk/var


Then your /etc/init.d/unc would need to change the way it mounts and unmounts:

unionctl /$dir --$ACTION --$WHERE /opt/$APP/$DIR

becomes

unionctl /ramdisk/$dir --$ACTION --$WHERE /opt/$APP/$DIR

Posted by roberts on June 01 2006,22:34
clacker, I will try this setup.
But...
I am not happy with
cp -rp /etc /ramdisk/holder/etc_copy
That will use up alot of inodes which I was hoping to avoid.

If unionfs has the same or more impacts, via inode use, as mkwriteable then the benefits are much reduced from what I was hoping for.

I am planing for a more standard unionfs setup on dsl-n.
But seeing what JB4X4 had posted earlier, I was hoping for an extremely minimal setup for dsl, ie., minimal inode/ramdisk use with no copying to ramdisk. This would really help the ultra low end machines which has always been our target. Maybe I am too optimistic

Posted by roberts on June 02 2006,00:31
clacker, after all of that and still I see the same behavior.
The myapp.unc/dd script still fails with the same error message upon second loading of myapp.unc /bin/dd Invalid argument.

Posted by roberts on June 02 2006,05:21
clacker, Seeing that both methods produce the same result.
Also seeing my original method does indeed work upon initial load.
My gut feeling is that this is a cache issue with unionfs. That maybe with this level of unionfs and this kernel we don't have much control over cached results of the union space. For example, if I unload several other unc's and then load them up again, including the myapp/dd thing. It, myapp.unc works once again. This tells me that the cache changed enough for the path to work correctly. Maybe it is too optimistic to be able to offer such dynamic loading and unloading. Loading ok. Don't allow unloading of unc. With 64 cloops  I think this is workable. Another point for dis-allowing of unc type extensions is the copy-on-write of unionfs. Take for example the myapp/dd example. This is a read-only compress and mounted. Yet I can edit /bin/dd and add another line to the dd shell script. This is allowed and is automatcially copied to the top most branch /ramdisk/bin. Now if I unload the app, all these other modified files remain. That could get ugly. Seems to me to be better to keep things in tack and not only avoid the possible cache issues but orpaned files as well



Posted by humpty on June 02 2006,10:18
Quote (roberts @ June 02 2006,01:21)
..we don't have much control over cached results of the union space..

I think I'm out of my league here but I was looking up unionfs a couple of days ago, and I came across this -

"* Unionfs does not provide cache coherency.  What this means
to you is that if you directly modify the lower-level
branches, then Unionfs will get confused.  You can tell
Unionfs to throw out its cache and recreate all of its
objects (lazily), by running "uniondbg -g UNION".

Posted by clacker on June 02 2006,12:19
I could handle *.unc extension not being removable since the will dissapear on restart anyway, and it's not so different than the *.dsl packages now except for the memory usage.

My concern is that if you can't overwrite any existing files you couldn't make a unc extension for gnu-utils, which I personally find important.  It replaces a lot of the busybox functions with the real GNU ones.  Things like rm, cat, and sleep.  When you scramble those functions mydsl-load no longer works.

I'll try uniondbg that was included in the unionfs.dsl extension to see if that helps.

Posted by pr0f3550r on June 02 2006,15:36
I have booted with unionfs option and now I can see unionfs mounted on various directories.


Then I download opera.unc and I save it in /ramdisk/tmp.

'mydsl-load opera.unc' returns a cloop error.

So i mount hdb on /mnt/hdb, mount the standard opera.uci and everything is fine.

Then I umount /opt/opera850 and try to reload the .unc, evrything freezes.

There's one thing I don't understand:

/ramdisk on /ramdisk

is that correct?

Posted by roberts on June 02 2006,16:19
I tried the uniondbg from the compile that I did.
I get a "New generation" number but to no avail.

Union space overlay works when not run from a mounted compressed image.
This is something that I had already tested, i.e., loading of .dsl's
For example tar -C / -zxvf gnu-utils.dsl writes into the /ramdisk/bin, etc and works as expected.
Real files and directories written into the union space work fine.
But what we are expecting is an overlay from another mounted compressed image.
What is interesting is that complementary compressed images seem to work fine, not compressed image overlays.
Are we expecting more than the current capabilities of unionfs?

Still even the advantage of complementary compressed images seem to be worth the effort.



Posted by clacker on June 02 2006,16:40
I was able to make the myapp/dd test work by adding a step to unc to "goose" union to recognize the reloaded myapp.  I created an empty directory called /mnt/goose and then modified /etc/init.d to be this:

Code Sample
#!/bin/bash
#(c) Robert Shingledecker 2006
#
ACTION=$1
APP=$2
for i in `ls -d1 /opt/$APP/*`; do
 dir=$(basename $i)
 if [ "$ACTION" == "add" ]; then
    WHERE=" --after /ramdisk/$dir --mode ro"
 else
    WHERE=""
 fi
 case $dir in
   bin | dev | etc | lib | sbin | usr | var )
       unionctl /$dir --$ACTION $WHERE /opt/$APP/$dir
       unionctl /$dir --add --after 0 --mode ro /mnt/goose
       unionctl /$dir --remove /mnt/goose
   ;;
 esac
done


That solved my myapp/dd problem, as well as my gnu-utils.unc problem.  On my system the above code froze when I tried to load opera.unc, however.  I'm not sure why.

I see that there is a share directory in opera unc that doesn't get loaded now.  Is that true?

Posted by roberts on June 03 2006,00:33
Goose it!  :D
Now, I like that!
I was raised on a farm and we had a mean old goose.

What is share doing at the root level anyway?
I will have to check the source extension. I am not that familar with Opera.
Just know that Opera is one extension that is desireable for low end machines.
Thanks for rolling up your sleeves and hanging in there. Nice hack.

Posted by ZoOp on June 03 2006,09:08
I'm completely out of my league here, but I follow all the steps of the discussion in order to learn what your are exactly doing. It's amazing, incredible job guys!

I miss the last step, and when you are so far with the development, it would be very interesting for me to have the last step in a less specialized language in order to understand all the process.

yours
z

Posted by roberts on June 03 2006,15:30
OK. Much progress.
I have posted dsl-3.0RC1c.iso and gnu-utils.unc
Both are in the release candidate area.

Posted by jls legalize on June 03 2006,15:48
in 2.4 sudo mouseconfig does not work for my serial mouse, no prob with xsetup.sh. Haven't tryied 3.0RC1c. On hd install the mount tool miss cdrom and floppy (maybe it was dsl 2.3).

Legalize cannabis

Posted by ZoOp on June 03 2006,22:13
mouseconfig works well for me with 2.4
yours
z

Posted by roberts on June 04 2006,05:14
I am currently looking at emelfm loading of unc's.
The issue is the possibility of changing the filesystem while running X and emelfm. Emelfm uses many shared objects which capture the results and then displays them in the bottom message panel. With unc's this can result in the "D" debugger state for emelfm or worse yet a Seq Fault. There is no problem loading unc's from a shell with mydsl-load command. What I can do is allow loading from emelfm but terminate emelfm so that it is not trying to keep a message channel open for the results. However, since unc's are so powerful, other running apps may still experience some problems. Of course unc's are no problem when loaded at boot time via standard mydsl directory or mydsl=xx. It may very mean that dynamic loading of unc's should be attempted with little else running.  I will do this mod to terminate emelfm only on unc and leave the other extension type work as before. Also my original mkunion seems to work fine with the "goose". That is good news as it means very low memory footprint. Once I get emelfm loading of unc's then I will post another cut.  It should then be ready for wider testing by the community.

Posted by meo on June 04 2006,15:27
Robert!

Thanks a lot for all the good work on the new release. I'm pretty pleased with v 3.0RC1c which I use on a pendrive to post this. Keep up the good work!!!

Have fun Y'all,
meo

Posted by clacker on June 06 2006,16:47
Quote (roberts @ June 04 2006,01:14)
The issue is the possibility of changing the filesystem while running X and emelfm. Emelfm uses many shared objects which capture the results and then displays them in the bottom message panel. With unc's this can result in the "D" debugger state for emelfm or worse yet a Seq Fault. There is no problem loading unc's from a shell with mydsl-load command.

I have had problems using just an xterminal and mydsl-load.  When I load and unload opera in an xterminal with mydsl-load, if I choose Power Down->Reboot, the system doesn't eject the liveCD (although it does eject the mounted CD that held opera) and then hangs after it asks me to hit the enter key to continue (the cyan message at the end).

If you know which shared libraries are causing the problem, would it be possible to put links to those /KNOPPIX/lib libraries in the /ramdisk/holder/lib directory (the writeable part of the union)?  Then start X after the unions have been created?  Then only after X has closed and all drives have been unmounted would you close the unions?  That would put the library at the top of the tree so perhaps it wouldn't look like it had moved to emelfm and X.

When and where do you close down the unions?  I was wondering if maybe /etc/mtab was reverting back to an old one after the union was destroyed, although that wouldn't make sense because I did see my mounted second CD drive unmount and open.

Posted by roberts on June 06 2006,23:36
Thanks for all the input, feedback and suggestions.
Moving on to RC2.
Powered by Ikonboard 3.1.2a
Ikonboard © 2001 Jarvis Entertainment Group, Inc.