EasyOS version 2.3.2, June 22, 2020

For talk and support relating specifically to Puppy derivatives
Message
Author
User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#1341 Post by rufwoof »

Barry.

Sorry, another question. Inside the Easy Container do you need to run pup-advert-blocker and firewall_ng ... or are the main sessions firewall/ad blocker adopted?

Seems like they're separate, if I add 127.0.0.1 google.com to the main host file I can still access google from inside the Easy container. Yet when I run firewall_ng inside the container it doesn't seem to retain the values (activate it, close and reopen firewall_ng .. and it still shows as being off).
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

User avatar
alibadrelsayed
Posts: 18
Joined: Tue 29 Jan 2019, 09:01

Huawei E173z-1 can not be detected by EasyOS 1.0

#1342 Post by alibadrelsayed »

I spend all day trying to make Huawei E173z-1 work in EasyOS 1.0 , but the problem still there, I go back to Xenialpup 7.5 and it works in less than a minute, Barry's new post
http://bkhome.org/news/201902/networkma ... asyos.html
seems good news (for me I guess :) . I'll return to EasyOS as soon as he uploads the new img file, to check if that solve the problem.or not, thanks again for Barry K and rufwoof for their help and support.

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#1343 Post by rufwoof »

Barry

Comment out line 216 in /usr/local/easy-containers/start-container

Code: Select all

# rm -f ${DIRSESSION}/root/Choices/ROX-Filer/* 2>/dev/null
Change the Easy containers /.container/easy file to ... (i.e. comment out the PuppyPin backup copies near the top, and changed code towards the bottom

Code: Select all

#!/bin/sh
#this script generated by /usr/local/sfsget/dir2sfs
#PuppyPin backup...
#if [ -f /root/Choices/ROX-Filer/PuppyPinBACKUP ];then
# touch /root/Choices/ROX-Filer/PuppyPin
# if [ "$(grep 'defaultbrowser' /root/Choices/ROX-Filer/PuppyPin)" == "" ];then
#  cp -a -f /root/Choices/ROX-Filer/PuppyPinBACKUP /root/Choices/ROX-Filer/PuppyPin
# fi
#fi
cp -a -f /root/Choices/ROX-Filer/PuppyPin /root/Choices/ROX-Filer/PuppyPinBACKUP
#181115 xenialpup puppy package manager needs this...
FREEM="$(df -m / | tail -n 1 | tr -s ' ' | cut -f 4 -d ' ')"
echo -n "${FREEM}" > /tmp/pup_event_sizefreem
#unexpected change of screen dimensions may cause desktop drive icons to be displaced...
SCRNXY="`xwininfo -root | grep -o '\-geometry .*' | tr -s ' ' | cut -f 2 -d ' ' | cut -f 1 -d '+'`"
SCRN_X="`echo -n "$SCRNXY" | cut -f 1 -d 'x'`"
SCRN_Y="`echo -n "$SCRNXY" | cut -f 2 -d 'x'`"
echo -n "$SCRN_X" > /tmp/pup_event_frontend_scrn_x #read by frontend_change.
echo -n "$SCRN_Y" > /tmp/pup_event_frontend_scrn_y #read by frontend_change.
if [ -f /var/local/pup_event_frontend_scrn_x ];then
 oldSCRNX="$(cat /var/local/pup_event_frontend_scrn_x)"
 oldSCRNY="$(cat /var/local/pup_event_frontend_scrn_y)"
 [ "$SCRN_X" != "$oldSCRNX" ] && echo "ICONWIPE" > /var/local/pup_event_icon_change_flag
 [ "$SCRN_Y" != "$oldSCRNY" ] && echo "ICONWIPE" > /var/local/pup_event_icon_change_flag
 #.../var/local/pup_event_icon_change_flag is read by /sbin/clean_desk_icons (see below).
fi
echo -n "$SCRN_X" > /var/local/pup_event_frontend_scrn_x
echo -n "$SCRN_Y" > /var/local/pup_event_frontend_scrn_y
#make sure /usr/local/bin in path:
[ "$(echo -n "$PATH" | grep '/usr/local/bin')" == "" ] && export PATH="/usr/local/bin:${PATH}"
/usr/bin/desk-delayedrun & #this will launch tray applets.
#relocates right-side icons to actual right-side of screen...
/usr/sbin/fixPuppyPin /root/Choices/ROX-Filer/PuppyPin
CR='
'
#start rox...
#181013 don't know how, rox picks up wallpaper etc from host rox (but corrupted)...
#181105 weird, but have to start rox, start jwm, kill then restart rox...
cp -f /root/Choices/ROX-Filer/globicons /root/.config/rox.sourceforge.net/ROX-Filer/
cp -f /root/Choices/ROX-Filer/PuppyPin /root/.config/rox.sourceforge.net/ROX-Filer/

#galculator &
#V=$!
#sleep 0.5
#kill $V
sakura --geometry 1x1 -x killall sakura # wake up gtk
rox -p /root/Choices/ROX-Filer/PuppyPin
jwm
and in a xterm you can run jwm -exit to end the container, it loads/starts quicker, and changing the wallpaper, desktop icons, jwm theme etc. works better.

Running and then killing a X program doesn't 'fix' things, looks like it could be gtk that needs waking up inside the container. starting/killing a gtk program (such as galculator or sakura as I used above), seems to fix Xephyr.
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

Easy 1.0 remstered frugal x86_64

#1344 Post by rufwoof »

EDIT 17th Feb 2019 : Latest version has mc inside init and chroot's the main desktop. Boots to normal setup .. or if you exit X and run 'twin' it sets up a tmux on ctrl-alt-F1, main X on ctrl-alt-F4, easy container X on ctrl-alt-F3. Currently hard coded in /usr/local/bin/twin to mount sda3 from within the init, so sda3 becomes inaccessible to any of the X sessions (mounted and mounted to a mount point that is inaccessible to X, can only access it via the tmux window).

====================================================================

EDIT 11th Feb 2019 : Another version uploaded (still same links as before). This one has ~/.tmux.conf moved to /etc/tmux. Also includes the preserving of the Easy containers /mnt/wkg/home contents when a snapshot is made and then restored. Standard EasyOS 1.0 doesn't preserve anything under /mnt, to work around preserving /mnt/wkg/home its been set to save that in the snapshot to /mntwkghome and then when the Easy container is started if it sees /mntwkghome then it moves that to /mnt/wkg/home

====================================================================

EDIT 10th Feb 2019 : newer version uploaded ... that also includes vlc and audacity (expands the easy.sfs to 435MB. Download (tar file) is 445MB (includes vmlinuz and initrd)

For reference/interest :

high xz compressed easy sfs : 435MB
normal (gzip) compressed : 543MB
lzo level 1 compressed : 659MB (what I'm running as its very snappy)
Uncompressed : 1636MB

====================================================================

In reflection of Barry removing NetworkManager I used the remove built in packages menu option to do likewise. Remastering and easy.sfs filesize of 362MB (using a modified easy-remaster with a additional -b 524288 compression parameter for the x86 option). My version also fixes the Easy container to work better (JWM Deskmanager icons, background, jwm theme and icon additions/removals (such as removing sfsget desktop icon that shouldn't be in the container) all work as expected)

My version is still buggy, but the fixes are relatively minor.

1. In easy container right click the Rox File manager icon and edit it to a valid folder such as setting the 'argument to pass' value to --dir=/

2. Right click and remove the sfs desktop icon inside the easy container

3. Create a exit-container script in /root containing
#!/bin/sh
jwm -exit
.. and make that executable (I drag that to the desktop so its to hand)

4. I also install firefox portable into the container and use that instead of seamonkey, as it auto updates.

5. On the main (full/real root) desktop I also fire up Menu, Filesystem, Easy Container Manager and at the top remove both the console and www containers, as I have no need for them and opine that they're not that secure.

I frugal boot (HDD, using grub4dos/menu.lst), so only use the initrd, vmlinux and easy.sfs files for that. If anyone else wants a copy here's a tar file containing the initrd, vmlinuz and easy.sfs for x86_64. Not many seem to be bothering however, perhaps because of having to manually open/edit/close the initrd content if you haven't already got a EasyOS up and running (to use its in built click on initrd to automatically have it edited to the correct settings).

For me, BIOS/amd64/grub4dos, for manually configuring initrd its a case of running blkid in order to get the uuid of where I frugal boot from, and then entering that into menu.lst

title EasyOS-1.0 (sda1)
uuid 3f8f077d-7a7d-4e7a-9cb5-a8b94e1f1c87
kernel /easy/1.0/vmlinuz
initrd /easy/1.0/initrd

If you don't know if sda1 is ext2, 3 or whatever then run gparted to find out.

Also you need to run fdisk -l /dev/sda ... to note the Disk Identifier.

With that info you then have to open initrd

# mkdir initrd-tree
# cd initrd-tree
# cat ../initrd | cpio -i -d -m
# cd ..

Edit it (this is one of Barry's images for 0.9.10). Common errors are putting slashes where they're not supposed to be in the boot or working directory entries, or specifying the wrong type (ext4 instead of ext3 or whatever)

Image

and then close it up using

# sync
# rm initrd
# cd initrd-tree
# find . | cpio -o -H newc > ../initrd
# sync
# cd ..

Next time (or if you change the folder where you boot EasyOS), it's a lot easier as within EasyOS you can just click on the initrd and it does it all for you. Its just the first time install/runs that are trying and seem to put many off.

Once booted/setup, typically I mainly load/use the Easy container to browse etc. Only using the main system (that you alt-F6 from the Easy container to get to that) for admin type activities or other things that cannot be done inside the Easy container. Menu, Filesystem, Easy Version Control is the other thing to get used to. You can snapshot the main system (restores need a reboot), and/or snapshot the Easy container (rollbacks don't require a reboot, just that the Easy container must be closed before making a snapshot or restoring a snapshot. A bit like remastering, but very quick, and you can roll forward/backward between snapshots).
Last edited by rufwoof on Sun 17 Feb 2019, 18:54, edited 4 times in total.
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#1345 Post by rufwoof »

That remaster has tmux installed. The default configuration is OK, but I create my own as per this post (/root/.tmux.conf) that I at least think looks nicer. mc is also installed. There's also a fbgrab utility that grabs a snapshot image/picture of the console. That only works from within the main (real root) session/desktop (Easy container doesn't have the permissions to see the console). So for example if you ctrl-alt-F2 and login as root (you do change the default woofwoof puppy root password to something else don't you :) i.e. run passwd as root and enter a new password (twice)), and then start up tmux perhaps, then ctrl-alt-F4 back to the X/gui/desktop and in a terminal run the command
fbgrab -s 5 some.png ... which sets off a 5 second delay, and the ctrl-alt-f2 again so that it grabs a picture (as some.png filename) after 5 seconds (no warning/info that the picture has been taken, you just have to mentally count to 5).

I add a menu.lst kernel boot parameter of video=800x600 (or 640x480) so that my virtual consoles are set to that resolution (I find the default resolutions too small). tmux has many useful features, especially for collaborating or running things on multiple different boxes. In the tmux configuration file mentioned above the control key that is usually ctrl-b has been remapped to the backtick key, as I prefer that. In a script where you might want to type in a backtick such as in a execute command that does however mean having to press backtick twice in order for it to print a backtick character.

Common tmux commands are backtick - to split a window horizontally, backtick | for a vertical split (again those are my definitions), backtick and a arrow key to step between panes. backtick z to zoom/unzoom a pane. I've set F11 to add another tmux window, F12 to step between tmux windows. There are many others, but fundamentally those are the ones I use the most.

Attached is a fbgrab image (clickable thumbnail) of my 800x600 console with three panes. Switch to any one of them and backtick z full screens that pane, backtick z again to restore it. Personally I don't tend to use panes that much myself, instead I prefer to just have multiple maximised windows and F12 between them. Similar to in X .. I just tend to have each window maximised and alt-tab between them.

Image
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#1346 Post by BarryK »

I have thrown out NetworkManager:

http://bkhome.org/news/201902/networkma ... asyos.html

It does not really bring anything new "to the table" that is not already achieved by the network management tools inherited from Puppy Linux.

The Puppy tools, such as SNS (Simple Network Setup) do have issues, and I will work on tackling those.

Right now, I am investigating the network management utilities in
'minibase'. These are tiny static utilities:

http://bkhome.org/news/201902/minibase- ... ystem.html

The author has completely re-thought the basics of a Linux distro, including networking.

For example, he has written 'wsup', which replaces 'wpa_supplicant' -- the latter, I have had much trouble with -- which is why I investigated 'iwd' another replacement, however it is very complex, and immature, and I couldn't get it to work.

I am probably going to be busy with this for a week or two.
[url]https://bkhome.org/news/[/url]

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#1347 Post by BarryK »

rufwoof wrote: Common tmux commands are backtick - to split a window horizontally, backtick | for a vertical split (again those are my definitions), backtick and a arrow key to step between panes. backtick z to zoom/unzoom a pane. I've set F11 to add another tmux window, F12 to step between tmux windows. There are many others, but fundamentally those are the ones I use the most.
Just a quick note: minibase has 'vtmux', which maybe does same as tmux. But I don't know, just briefly read about it.
[url]https://bkhome.org/news/[/url]

step
Posts: 1349
Joined: Fri 04 May 2012, 11:20

#1348 Post by step »

@rufwoof, thank you for the remastered version download, and for your last two posts, which explain very clearly how to install and use your remastered version of frugal EasyOS. I read most of your posts about Fatdog + tmux and now EasyOS + tmux ++, and these last two posts of yours are the best summary one could find.
[url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Fatdog64-810[/url]|[url=http://goo.gl/hqZtiB]+Packages[/url]|[url=http://goo.gl/6dbEzT]Kodi[/url]|[url=http://goo.gl/JQC4Vz]gtkmenuplus[/url]

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#1349 Post by rufwoof »

What I used to do in Debian is have a main sfs that was empty, and store everything else in the save area. Debian live-boot uses a save partition, so what I'd do is a full install to a partition, then install live-boot and create a empty main.sfs within the /live folder ... with the save area set to the main partition. That way I could boot either as a full install (handy for updates), or as a live-boot (handy for being able to try things out and not save at the end of the session).

Minibase sounds neat. A mini-base like EasyOS that was enough to just boot, network connect, and manage containers, could then go on to load up other things such as racy, xenial, full style easyOS (jwm/rox desktop) ...etc.). Could even perhaps load two containers, one for the main/real like jwm/rox, the other as a restricted. An alternative to having the real and container easyos on the same ctrl-alt-F4 is to map the container to ctrl-alt-F3 i.e. run something like X :1 -br -nolisten tcp -nolisten local vt3 & before running DISPLAY=:1 empty -f ec-chroot easy.
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#1350 Post by rufwoof »

Installing the fs icon theme within the Easy container and using jwmdesk to set the desktop icons to that ... looks a nice set of icons IMO
Attachments
fs.png
(112.02 KiB) Downloaded 494 times
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

User avatar
don570
Posts: 5528
Joined: Wed 10 Mar 2010, 19:58
Location: Ontario

#1351 Post by don570 »

Note to BarryK...

I found it hard to track down the Easy linux explanation...

For instance I googled...

ibiblio + how easy works

and got this bad link

http://barryk.org/easy/how-easy-works.htm

The correct link would be

https://easyos.org/tech/how-easy-works.html

_____________________________________________

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#1352 Post by rufwoof »

EasyOS sfs's are not the same as puppy sfs's. You need multiple files such as this
specs file and the main sfs file (174MB).

For a frugal install, download and store them in the sfs folder, something like /mnt/sda1/easy/1.0/sfs/easyos/oe/pyro ... alongside other sfs's (easypak's).

Then Menu, System, Bootmanager configure bootup ... and use the first/topmost button to list the sfs's available and check/tick the box for, in this case, the stretch sfs choice. You then need to reboot for that to be loaded.

The above sfs is a chroot for Ubuntu x86_64. I've included a overview of how that was created in the root folder of that chroot. Once loaded open a terminal and cd / and then chroot ubun .. and press the tab button to auto complete the rest (rather than having to type the long folder name). Press Enter ... and you'll be chroot into that Ubuntu environment (terminal).

That has apt-get, so you can for instance apt-get audacity ... or any other ubuntu program/package, and it will be installed into that chroot. I've already done that for audacity in the above sfs. To run that audacity, make sure the easy container is already running (i.e. that runs on DISPLAY=:1) and inside the chroot simply run

DISPLAY=:1 audacity

and then switch to the easy container desktop (window) and you should see audacity. Sound plays fine in that for me.

Same for any other ubuntu programs/packages. Just apt-get them inside the Ubuntu chroot and run them on your easy desktop. You could for instance (its generally best to run apt-get update first)
apt-get update
apt-get galculator
and once that's installed then
DISPLAY=:1 galculator
... or whatever.

Synaptic would be a good one to install (apt-get install synaptic), as then you could run the snyaptic gui
DISPLAY=:1 synaptic
... and use that to find/select/install programs.

Be mindful that whilst the programs such as audacity are running on the easy desktop (container), they're not actually contained, its actually being run from the real root desktop, but within a chroot (so there's a degree of security, but not the full blown easy container security).

Opens up a wider choice of available programs that can be run within EasyOS :)

PS : Reminder that any files you want to work on inside the Ubuntu chroot such as /root/myaudio.mp3 are accessed from the main Easy OS (real root) desktop as /ubuntu-86x64-chroot-with-audacity_1.0/root/myaudio.mp3 i.e. the chroot main top folder name has to be used, but within the chroot (terminal window) its just /root/myaudio.mp3.
Attachments
audacity.png
(159.66 KiB) Downloaded 1201 times
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#1353 Post by rufwoof »

In that ubuntu chroot I installed dosbox and then unzipped a old win31 program I still use periodically (support ended, but its a great program for stock timing). Un(surprisingly) ... it worked. EasyOS running Ubuntu running dos, running Win31 :)
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#1354 Post by BarryK »

Exploration of minibase is continuing. Have pretty much got ethernet networking sorted out:

http://bkhome.org/news/201902/basic-eth ... ibase.html
[url]https://bkhome.org/news/[/url]

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#1355 Post by rufwoof »

Sharing the same DISPLAY=:1 for the Easy container and running Ubuntu chroot did have too small a font size for my liking, so in the Ubuntu chroot I installed cwm (openbsd-cwm) and set up ctrl-alt-F2 to run another X
X :2 -dpi 144 vt2 & (run in Easy main system terminal)
and then ran cwm on that (command run from inside the Ubuntu chroot)
DISPLAY=:2 export DISPLAY
openbsd-cwm &
audacity &
... and the font size within that is more to my liking (full screen audacity running under cwm)
Image (clickable thumbnail)

I have run the easy container on a different desktop (ctrl-alt-F3) using a similar approach, so I could for instance have ctrl-alt-F1 for root/cli (tmux), ctrl-F2 for Ubuntu, ctrl-alt-F3 for the easy container and ctrl-alt-F4 for the Easy main system. With each having their own advantages/disadvantages (tmux for its interconnections (ssh into other boxes), Ubuntu for its repositories/ease of installing things, easy container for browser/security/isolation ... and the main EasyOS system for admin).
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#1356 Post by rufwoof »

BarryK wrote:Exploration of minibase is continuing. Have pretty much got ethernet networking sorted out:

http://bkhome.org/news/201902/basic-eth ... ibase.html
unwind ... looks interesting http://www.undeadly.org/cgi?action=arti ... 0128061321
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#1357 Post by rufwoof »

In my remastered version ... that now includes audacity and vlc http://murga-linux.com/puppy/viewtopic. ... 93#1017693, interesting to see the different sizes of the EasyOS sfs

high xz compressed easy sfs : 435MB
normal (gzip) compressed : 543MB
lzo level 1 compressed : 659MB (what I'm running as its very snappy and a frugal HDD install so space isn't a issue)
Uncompressed : 1636MB

Rounds core EasyOS off nicely for me. I like audacity for its noise filtering and amplification/attenuation functions (adjust mp3's to similar sound levels). VLC is nice for its ease of recording parts of a video you're watching. Makes the Multimedia menu just that more complete IMO.

Image
Clickable thumbnail
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#1358 Post by rufwoof »

Barry, I've added a please wait... to ec rollback (and a $0 & prior to exit so it loops back around to the dialog again). When a containers save grows to 100MB+ sfs size it can take 5 seconds or so to complete a rollback. As-is with just exiting (no information shown), you can open the container before the rollback has completed, with unpredictable results (and I'd guess potentially corrupt the save area).

i.e. click container rollback button ... the window just closes. Immediately click ec container desktop icon to launch the container, and the rollback copies might still be perhaps just half way through having actually copied the sfs being rolled back (restored) into the save space (folders).

As I frugal (HDD) boot EasyOS, for me the size of container snapshots (sfs) isn't a issue and using rsync to backup/restore container snapshots is very fast (compared to mksquashfs to create a snapshot and mounting that sfs to copy out its contents in order to restore it).

My other option, of just simply moving or copying the .session folder from the cli, when using mc has its own progress indicator as attached (actual fbgrab snapshot of the console).
Attachments
c.png
(10.23 KiB) Downloaded 594 times
Last edited by rufwoof on Wed 13 Feb 2019, 20:27, edited 1 time in total.
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#1359 Post by rufwoof »

What's quite nice, and very quick, is instead of creating and restoring snapshots of the Easy container, is to just have versions of the container - copies of the .session folder tree.

If instead of creating a sfs copy of the containers save area you just rename (mv) the .session folder (mv .session .session.v1), then the next run has no .session folder (as it was moved to another folder name) so it creates a new clean/fresh .session folder. Restoring a version is again just a mv (removing the current .session beforehand, but a seemingly (for the user) faster way is to just mv the current .session, mv in the .session version being restored and then background remove the one that is no longer needed. Being on the same partition, those moves are near instantaneous (just a inode pointer update). Creating and reactivating versions seems to the user to be near instantaneous. Activate version type action.

For cases of where the Easy container were large, perhaps 1GB of changes/additions having been made, then the Activate (mv) action is far far quicker than creating or restoring snapshots using squashfs. Different versions with relevant data applicable to different clients for instance (and/or different sets of programs installed).

Attached image is a first time/novice user of the "dia" menu option.
Attachments
Diagram1.png
(44.14 KiB) Downloaded 798 times
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#1360 Post by rufwoof »

See also this (and other) posts in http://murga-linux.com/puppy/viewtopic. ... 36#1018236

When the system boots a small cli linux environment is loaded, predominately busybox based, that then prepares the main system and switch roots into that. That act of switch rooting in effect vapourises that initial boot version. If however you modify the initial boots init to use chroot instead of switch root (I also commented out the umounting of sys and proc near the end of init), then you can hack out of that chroot i.e. main system/desktop, back into that small initial init boot area. Back in that you can for instance modify the main sessions save area (.session content), perhaps even fully replace it ... and then chroot back into it again and 'see' those changes.

The last handful of lines or so of my init (inside initrd) now looks like

Code: Select all

mount -t devtmpfs devtmpfs /easy_new/dev #need to do this before switch_root.
sync
#umount /sys
#umount /proc
exec chroot /easy_new /sbin/init

###END###
The exit-chroot.c hack that I used to exit the chroot looks like (load devx.sfs and compiled with gcc exit-chroot.c -o exit-chroot;chmod +x exit-chroot)

Code: Select all

#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>

int main() {
    int dir_fd, x;
    setuid(0);
    mkdir(".42", 0755);
    dir_fd = open(".", O_RDONLY);
    chroot(".42");
    fchdir(dir_fd);
    close(dir_fd); 
    for(x = 0; x < 1000; x++) chdir("..");
    chroot("."); 
    return execl("/bin/busybox", "sh", NULL);
}
(I've attached a pre compiled (under EasyOS 1.0) version of that - a actual .gz file so gzip -d exit-chroot.gz after downloading)

Such a approach could for instance eliminate having to reboot after rolling back a main session to a different snapshot, instead it could exit-chroot, apply the changes and then chroot back in again.

Before running exit-chroot I Menu, Shutdown, Exit to command line ... and then run the exit-chroot program as above. Interestingly if you run it in the main desktop gui within a terminal window, then that window contains the small initial init cli, but the main desktop/gui system also remains functional.
Attachments
exit-chroot.gz
(3.95 KiB) Downloaded 131 times
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

Post Reply