BionicDog (updated: 2018-06-04)

A home for all kinds of Puppy related projects
Message
Author
User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#781 Post by rockedge »

what pleasant way to end a day!

Last night I installed on 2 separate machines BionicDog32 and BionicDog64 to test install ZoneMinder running on a fully capable LAMP equipped with the zmeventnotification server and it's object detection and recognition. Which does face and or license plate recognition when so configured.

I followed the tried and true instructions here

there is an automated script that works on BDog that will do the necessary work.

Well it all installed as expected and worked out of the box. And after hours of testing seems to be running very well.

BDog on both machines is frugally installed with a save folder booting from Hard drive and a hard drive with a USB adapter saved from a broken Dell desktop.

I am going to recommend to the developer(s) at ZoneMinder, BionicDog as a good base OS for the system and to add it to the list of tested OS's

--
Attachments
2019-03-28-073812_1680x1050_scrot.png
(176.31 KiB) Downloaded 1253 times

User avatar
fredx181
Posts: 4448
Joined: Wed 11 Dec 2013, 12:37
Location: holland

#782 Post by fredx181 »

Thanks rockedge !
Always good to read positive feedback :)

Fred

quantumbox
Posts: 24
Joined: Fri 03 Feb 2017, 09:55
Location: Indonesia, Bali

Re: Android USB data connection

#783 Post by quantumbox »

Ether wrote:.

Problem downloading files from Samsung Android phone to PC running Bionic Dog 32bit via USB data cable. See attached error message.

Is fixing this a simple matter of downloading/installing something using Synaptic? I tried some search terms but could not find anything that matched the error message.

Bionic Dog 32bit 2018-06-24 does not work.

DebDog Jessie 32bit does not work.

Xenial Pup 32bit works fine out of the box.

Bionic Pup 64bit works fine out of the box.
Install libmtp9 and libmtp-common or compile from source below

https://sourceforge.net/projects/libmtp/files/libmtp/

add 69-libmtp.rules file in /etc/udev/rules.d directory if not automatically generated
reboot
Attachments
69-libmtp.rules.tar.gz
(16.27 KiB) Downloaded 160 times

Ether
Posts: 261
Joined: Wed 21 Aug 2013, 17:56

#784 Post by Ether »

fredx181 wrote:Hi Ether, I have no idea what's missing in the Dogs, but you may want to try camphonetab, program by rcrsn51
Deb package:
https://fredx181.github.io/StretchDog/i ... _1.6-1.deb
Thread:
http://www.murga-linux.com/puppy/viewto ... 2cf46796e9

Fred
I finally had some free time and downloaded and installed it.

I was able to get a window showing a folder purportedly containing the files on the Android phone, but no files were listed.

I will gladly post screenshots and detailed steps I took if anyone is interested in pursuing this.

.

lizardidi
Posts: 39
Joined: Thu 20 Sep 2018, 00:33

Create wps-office.squashfs

#785 Post by lizardidi »

Good day sir, i followed the forum guide to edit an empty squashfs file in order to create wps-office.squashfs. Can i directly extract the wps-office.deb file to a folder, then copy paste all its content to the empty squashfs file?

I am trying to create the squashfs for wps-office suite to keep my bionicdog base system small. The wps-office is taking over 500mb of space currently.

User avatar
mikeslr
Posts: 3890
Joined: Mon 16 Jun 2008, 21:20
Location: 500 seconds from Sol

#786 Post by mikeslr »

Not sure of the instructions you are following. But:

An SFS takes up between 1/2 and 1/3 the amount of space as the same application decompressed, i.e., just in a folder.

That space is on your storage medium, hard-or-USB-drive. It is not in your SaveFile/Folder.

An SFS when it is not loaded requires no RAM. When it is loaded, it does not entirely load into RAM. Rather, loading copies sufficient files into RAM to create a menu entry, to render the application(s) in the SFS functional and to create, in RAM, pointers to where the other files of the application are in Storage so that they can be loaded into RAM as and when, using the application(s), you need them.

By way of illustration, a couple years ago I explored the effect of running LibreOffice by three different methods: (1) Installing it as a pet; (2) running it as an SFS; and (3) decompressing it on my hard-drive and creating links to its executables. The last method is referred to as "Program Folders". Decompressed on the Hard-drive, LibreOffice took up 543 Mbs. Compressed as an SFS it used 144 Mbs. Remember, that's storage space. The SFS, loaded but not opened only used 34 Mbs of RAM. The least RAM-Intensive method to run that application was as a Program Folder. For details see, http://murga-linux.com/puppy/viewtopic. ... 093#686093

WPS Office can also be run as a Program Folder. The question is whether you are more interested in conserving RAM or Storage. There's a link from the above post explaining how to create menu entries for applications run as Program Folder. While you have WPS decompressed you can test whether it will function as a Program Folder by browsing to and left-clicking its executables for writer, spreadsheet and presentations. Having decompressed an already constructed SFS into a folder, I can confirm that clicking the executables named et, wpp, and wps respectively opened the spreadsheet, presentation and wordprocessing applications.

lizardidi
Posts: 39
Joined: Thu 20 Sep 2018, 00:33

#787 Post by lizardidi »

mikeslr wrote:Not sure of the instructions you are following. But:

An SFS takes up between 1/2 and 1/3 the amount of space as the same application decompressed, i.e., just in a folder.

That space is on your storage medium, hard-or-USB-drive. It is not in your SaveFile/Folder.

An SFS when it is not loaded requires no RAM. When it is loaded, it does not entirely load into RAM. Rather, loading copies sufficient files into RAM to create a menu entry, to render the application(s) in the SFS functional and to create, in RAM, pointers to where the other files of the application are in Storage so that they can be loaded into RAM as and when, using the application(s), you need them.

By way of illustration, a couple years ago I explored the effect of running LibreOffice by three different methods: (1) Installing it as a pet; (2) running it as an SFS; and (3) decompressing it on my hard-drive and creating links to its executables. The last method is referred to as "Program Folders". Decompressed on the Hard-drive, LibreOffice took up 543 Mbs. Compressed as an SFS it used 144 Mbs. Remember, that's storage space. The SFS, loaded but not opened only used 34 Mbs of RAM. The least RAM-Intensive method to run that application was as a Program Folder. For details see, http://murga-linux.com/puppy/viewtopic. ... 093#686093

WPS Office can also be run as a Program Folder. The question is whether you are more interested in conserving RAM or Storage. There's a link from the above post explaining how to create menu entries for applications run as Program Folder. While you have WPS decompressed you can test whether it will function as a Program Folder by browsing to and left-clicking its executables for writer, spreadsheet and presentations. Having decompressed an already constructed SFS into a folder, I can confirm that clicking the executables named et, wpp, and wps respectively opened the spreadsheet, presentation and wordprocessing applications.
Thank you sir. The knowledge you provide is very good. I have read all of it.

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#788 Post by wiak »

Hi Fred,

Out of curiousity (since working on something at least a bit similar in my Void Linux set up) I just took a look at quick-remaster (tho on my XenialDog64 system) because I wondered how it insured the remaster performed in 'atomic' manner (i.e. didn't get messed up by processes still running on the system). However, in quick-remaster code I now see:
#echo "Advised is NOT to have any programs running during the remaster" # fredx181
I'm just wondering about its 'safety' in terms of whatever other processes may be running and files open etc anyway (despite main programs being closed). I guess, we are just keeping our fingers crossed that nothing gets written during the remaster that might corrupt it - hence that 'Advise...'; surely not guaranteed though is it? It does seem to generally work fine when I've used it nevertheless. But do you, Fred, have any idea if there is much likelihood of corruption to remaster occuring if programs not kept running - background processes might be depending what we've been using system for??...

I almost feel the filesystem for 'changes' directory would have to be remounted read-only whilst remaster taking place but I haven't puzzled out the details or read much of the quick-remaster code as yet. I kind of remember the system is forced to reboot right after, so I guess files left open wouldn't be an issue in that case. Ah, there is an optional save2flash, so I guess changes folder isn't changing during the remaster itself (assuming nothing writing to it directly, which would be unlikely unless intended) - main changes being held in tmpfs at other times.

EDIT: for changes-exit case, quick-remaster seems to simply aufs overlay /mnt/live/memory/images/01-filesystem.squashfs with /mnt/live/memory/images/changes-exit into tmpa and then mksquashfs out of that, which seems sensible/obvious enough (and that changes-exit is just the contents of mounted dir casper/changes [using mount -o bind ub linuxrc] I think?? so that isn't changing until a save2flash occurs?). But I'm also wondering what previous remaster utility did instead of this method used in quick-remaster.

wiak

User avatar
fredx181
Posts: 4448
Joined: Wed 11 Dec 2013, 12:37
Location: holland

#789 Post by fredx181 »

Hi wiak,
....
But do you, Fred, have any idea if there is much likelihood of corruption to remaster occuring if programs not kept running - background processes might be depending what we've been using system for??...
....
You probably have a point here, e.g. I can imagine if a cronjob or something else scheduled and running at the same time as the remaster is running, that corruption can occur (depending on what the job does).
So indeed, no guarantee that it's "safe" in all situations.

It's too long ago for me to remember exactly how quick-remaster works, but I do know that the other (earlier) remaster script works by copying and quick-remaster mostly with "mount -bind"
Btw, I think you use other (older?) version than me, because I don't have that line you quoted, (I'm using quick-remastergui, it has that advice in the GUI)

Fred

stemsee

#790 Post by stemsee »

BionicDog uses systemd which has multi-seat support builtin. I have been fascinated with multi-seat on linux. Now I know that automatic multi-seat setup is builtin to Fedora because of systemd. I am going to experiment with multi-seat on BD. The relevant command is simply

Code: Select all

lloginctl seat-status
this will show seat0 which always exists. To create a second seat use

Code: Select all

loginctl attach seat1 '/devices'
Then to get info

Code: Select all

loginctl list-seats
A nice yad gui to assist creation and management of seats might be useful.
Attachments
2019-04-11-214747_694x932_scrot.png
(137.28 KiB) Downloaded 905 times

lizardidi
Posts: 39
Joined: Thu 20 Sep 2018, 00:33

Thank you Fredx181

#791 Post by lizardidi »

Well, I just want to say thank you Fredx181 for creating Bionicdog.

After few years using Puppy Linux as my primary workstation, I tried Debiandog Wheezy at first, then Jessie, now BionicDog has become my everyday OS in my pendrive for almost a year. The windoze box in my office is so outdated with lots of bloatware, and tired of waiting the pc to boot up and shut down forever.

Among the things i like:
1. CUPs printing work out of the box without problems like missing libraries
2. All hardware run with exceptional stability
3. Easy and superfast .squashfs creation tools, even a newbie like me can make tons of handy squashfs programs and load it whenever i need it
4. Perfect apt support.
5. Super easy and convenient remaster.
6. Almost all programs downloaded run on the fly without problem

Thank you fredx181 for making my life easier. Really appreciate all the hardwork in making such os. Hope you can continue the nice work.

User avatar
recobayu
Posts: 387
Joined: Wed 15 Sep 2010, 22:48
Location: indonesia

#792 Post by recobayu »

Is there any updated iso?

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#793 Post by wiak »

fredx181 wrote: You probably have a point here, e.g. I can imagine if a cronjob or something else scheduled and running at the same time as the remaster is running, that corruption can occur (depending on what the job does).
So indeed, no guarantee that it's "safe" in all situations.
The version I'm looking at is in my XenialDog64 system. Presumably much the same uses lines:

Code: Select all

mount --bind  /mnt/live/memory/images/$CURRENT tmp1/ >/dev/null 2>&1
mount -t aufs -o br:"$BRANCH":tmp1 none tmpa/
It may be (I don't know) that aufs mounts lower layer readonly by default (EDIT; I've since tested, and no it doesn't), in which case I guess all will be safe, but otherwise, to ensure safety, could use:

EDITNEW: Sorry this is all rubbish... don't know what I was drinking - I got mixed up what $CURRENT was and $BRANCH... so what I'm writing in this whole post is rubbish! I comment further, and hopefully more correctly in my next post...

Code: Select all

mount --bind -o ro /mnt/live/memory/images/$CURRENT tmp1/ >/dev/null 2>&1
or simply:

Code: Select all

mount -o bind,ro  /mnt/live/memory/images/$CURRENT tmp1/ >/dev/null 2>&1
to make tmp1/ a readonly mount. That's what I'm doing in experiments with overlayfs (as alternative to aufs for similar things).

I haven't tested quick-remaster with that, but can't see any likely issue since readonly for CURRENT is what would surely be preferred, assuming, as I say, aufs mount doesn't make it ro by default anyway.

Alternatively, with aufs (I don't think overlayfs allows same syntax), you could, I think, use:

Code: Select all

mount -t aufs -o br:"$BRANCH":tmp1=ro none tmpa/
EDIT: but that 'mount -t aufs... tmp1=ro...' didn't result in tmp1 being readonly in practice (not surprisingly I suppose...), so seems the bind method is required as I suggested above, though maybe I got the mount aufs syntax wrong. EDIT2: Ah, yes, I think I get the point: the =ro only stops that layer being writable from the point of view of the aufs overlay (so not important for this use case), but you do need --bind -o ro to make the actual layer readonly to prevent direct write attempts. It's also pretty easy to modify the quick-remaster script to use overlayfs instead should that end up being preferred/adopted overall.

EDIT3: I'm currently using overlayfs to protect the root filesystem of a full install of void linux. Reason being that I wanted to simulate a changes-exit mode whilst I'm running void (so that I don't mess up original root filesystem with my various experiments). Also, allows me to use sfs files with void even though I am using it as a full install; method is that I bind mount / readonly to an empty dir I make, then overlay another empty dir as the read-write layer so any changes I make from the point of view of that overlay only appear in the writable layer. I could take things further and modify the initramfs to incorporate that (and a switch_root), but haven't bothered as yet. Can also have a third layer in the overlay for loop mounting sfs files; there seems to be a myth (I've seen sometimes posted on this forum) that sfs can only be used with frugal installations unless extracted, but that actually isn't true - loop mounting sfs works fine with full installations too in such overlays.

wiak
Last edited by wiak on Tue 16 Apr 2019, 07:47, edited 1 time in total.

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#794 Post by rockedge »

@fredx181

I am more impressed on the power of BionicDog-32. As I have mentioned I have installed a full powered LAMP and ZoneMinder with zmeventnotification which is working very well with 3 webcams and 3 net cams, with object and face recognition which can send push notification of zoneminder motion detection and the results of the object/face recognition to zmNinja. Cool stuff.

To be adventurous I decided to install the components to add Darknet-YOLO and compile it with Opencv libraries and boosted CPU performance. All in the attempt to do object detection on a real-time video stream from zoneminder.


Well it works. I have not yet used a ZM stream but I am using a net cam to feed Darknet the stream. This net cam is also utilized by zoneminder.

So then to really be crazy, I went forward and copied the Darknet-YOLO binaries and symlinked the correct config and weights files on to a Bionic32-v8 which is running on a DELL Optiplex 990 quad core...and
that works as well! So all of it was compiled on BionicDog-32 and running well on Bionic32-v8.

Keep up the outstanding work you are doing and let me say...
Go fredx181 Go !!
Attachments
Screenshot(3)-580.png
(234.17 KiB) Downloaded 727 times

User avatar
fredx181
Posts: 4448
Joined: Wed 11 Dec 2013, 12:37
Location: holland

#795 Post by fredx181 »

@recobayu
Is there any updated iso?
No, but I'll probably make update someday, don't know when, I'm not very active with computer these days.
Just curious, why you ask?

@wiak, thanks, just quickly looked at quick-remaster, I think this:

Code: Select all

mount --bind  /mnt/live/memory/images/$CURRENT tmp1/ >/dev/null 2>&1
makes it already mounted ro, because the source /mnt/live/memory/images/01-filesystem.squashfs is already mounted ro, mount --bind -o ro makes no difference then IMO.
But I'll study some more on it in the next days.

@rockedge, thanks for the encouragement :)
I have little knowledge about what you did, but good to know that things work nicely for you.
Btw, looking at your screenshot, you changed a lot, the panel is that xfce4-panel ?

Fred

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#796 Post by wiak »

fredx181 wrote:already mounted ro, mount --bind -o ro makes no difference then IMO.
But I'll study some more on it in the next days.

Fred
Sorry Fred, only got my android phone here just now. I wrote wrong lines above... Yes 01-filesystem.squashfs read only mounted to tmp1... I was meaning the changes stuff in tmpa ought to be mounted readonly. I.e. ignore tmp1 it is fine, but tmpa should be mounted read-only prior to the remaster (this is rubbish, see EDIT2 below - my memory was deserting me till I got back on actual computer... :-) )

EDIT2:
makes it already mounted ro, because the source /mnt/live/memory/images/01-filesystem.squashfs is already mounted ro, mount --bind -o ro makes no difference then IMO.
Yes, you are correct. I got mixed up and what I wrote in last post was junk.

Back on XenialDog64 now and see my memory let me down and I've been writing rubbish since tmpa is not the changes info (its the aufs merge), rather $BRANCH contains the changes info. tmp1 is indeed readonly after existing mount line so should stay as it already is and $BRANCH needs to be writable so cleanup function works. I'm thinking further about this cos I'm more clued up on overlayfs just now than aufs... but seems maybe best to leave all as stands for now anyway! That's the trouble with using an android phone and making bold statements when not near my actual computer ;-)

I hate to add more since my last thinking was so astray, but I guess if ever there was a problem with something writing directly to $BRANCH (the changes info) then that could in fact be bind mounted readonly to some other empty mount point and then an extra writable layer added in the mount aufs line such that cleanup function could still work okay (on aufs merged tmpa directory). Anyway - I need a whisky.

wiak

User avatar
fredx181
Posts: 4448
Joined: Wed 11 Dec 2013, 12:37
Location: holland

#797 Post by fredx181 »

No problem wiak !

Code: Select all

Anyway - I need a whisky
Me too after trying to investigate this difficult stuff (but it's very interesting though) :wink:

The most ideal would be to use mount bind '/' , something like this (which (newer) quick-remastergui has included, btw:

Code: Select all

# create directories:
mkdir tmpa
for i in $(find / -maxdepth 1 -mindepth 1 -type d 2> /dev/null); do
mkdir tmpa${i} 2> /dev/null
done
# mount bind selection of dirs from / to tmpa
for i in $(find / -maxdepth 1 -mindepth 1 -type d -not -name tmp  -not -name mnt -not -name media -not -name sys -not -name run -not -name dev -not -name live -not -name proc 2> /dev/null); do
mount --bind $i tmpa${i}
done
But then, if possible (I think it should, but don't know how), if you do for example:

Code: Select all

touch /root/newfile
that 'newfile' doesn't appear in tmpa/root, in other words that the mountpoint tmpa is binded, but sort of "fixated" by not showing any changes that are made in '/'
Mount read-only by using "mount --bind -o ro $i tmpa${i}" doesn't make a difference.
Maybe you have some thoughts (I'm almost sure you do :lol: ) ?

Fred

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#798 Post by wiak »

fredx181 wrote: Mount read-only by using "mount --bind -o ro $i tmpa${i}" doesn't make a difference.
Maybe you have some thoughts (I'm almost sure you do :lol: ) ?

Fred
Oh yeah, I see from 'man mount' page:
Note that the filesystem mount options will remain the same as those on the original mount point, and cannot be changed by passing the -o option along with --bind/--rbind. The mount options can be changed by a separate remount command, for example:

mount --bind olddir newdir
mount -o remount,ro newdir
wiak

User avatar
fredx181
Posts: 4448
Joined: Wed 11 Dec 2013, 12:37
Location: holland

#799 Post by fredx181 »

Hi wiak,
mount --bind olddir newdir
mount -o remount,ro newdir
Yes, then newdir is mounted read-only (cannot make changes there), but what I'm looking for is that when some file is added to - or changed in olddir, that this change doesn't appear in newdir.
Maybe this cannot be accomplished with mount bind itself, could be that it's possible with aufs or overlayfs, didn't find out yet.

Fred

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#800 Post by wiak »

fredx181 wrote:Hi wiak,
mount --bind olddir newdir
mount -o remount,ro newdir
Yes, then newdir is mounted read-only (cannot make changes there), but what I'm looking for is that when some file is added to - or changed in olddir, that this change doesn't appear in newdir.
Maybe this cannot be accomplished with mount bind itself, could be that it's possible with aufs or overlayfs, didn't find out yet.

Fred
I understand what you mean; I'll think about it too. EDIT: I've explored that slightly in the past with overlayfs - but I can't remember whether direct changes to a layer were reflected up to the merge or not in my various trys. I understand that you don't want the 'reflection'.

Also see a different issue concerning aufs not being able to nest other aufs layers (whereas overlayfs can) I bring up here:

http://murga-linux.com/puppy/viewtopic. ... 96#1025496

wiak

Post Reply