EasyDD - NEW: v5

Miscellaneous tools
Message
Author
User avatar
Mike Walsh
Posts: 6351
Joined: Sat 28 Jun 2014, 12:42
Location: King's Lynn, UK.

#21 Post by Mike Walsh »

zagreb999 wrote:mike,
can you make also
for debiandog and
stretchdog...?

thanks!
@ zagreb999:-

Um; I don't think I can. I don't know the first thing about building .deb packages - all that 'postinst', 'postrm', 'control' (you know, the stuff that a properly-crafted .deb package insists on). I don't think there is a '.deb-builder' utility that works in Puppy, is there? Unless somebody can point me towards one.....

Won't .pets install in the 'Dogs? (If not, I'm sure Fred can knock one up for the 'Dog' users among us...it's only packaging protocols, after all; the actual 'contents' remain the same.)


Mike. :wink:
Last edited by Mike Walsh on Tue 02 Jul 2019, 10:51, edited 1 time in total.

User avatar
Mike Walsh
Posts: 6351
Joined: Sat 28 Jun 2014, 12:42
Location: King's Lynn, UK.

#22 Post by Mike Walsh »

greengeek wrote:
Mike Walsh wrote:Here you go, Ian. Courtesy of Keef, above (thanks again, mate), here's your choice of either a .pet for EasyDD.....or a 'portable, 'self-extracter'.
....
Enjoy. Gawd, we look after you, don't we?
Champion!! Thanks Mike and Keef. I will be using the pet version - the menu is handy and i like to install software just for the session I am currently running then it gets dumped at shutdown.

With portables i always worry about remnants of caches etc left on the drive containing the utility - but with freshly loaded pets I know its all running in RAM and everything is vaporised at poweroff.

Awesome that it works with a pristine Slacko 5.6 - to me that is a great test of a utility being well crafted. Many thanks for the effort!

In appreciation I have attached a virtual champers and also a fine red if you prefer.

Cheers!
(*takes a DEEP breath.....*)

Hurrah!! He's happy at last..... Ain't it great what a community will do for each other? :D

Like I said, I'm using this one myself anyway, so it wasn't entirely 'one-sided'. And it fixes a problem for me, too, since I've tried to get Etcher working on & off for the last 2 or 3 years. I like to try out the ChromiumOS builds from Arnold the Bat, from time to time.....and these are always in the form of an .img file.

Now, with EasyDD, I'm a happy bunny. And a couple hundred kb is infinitely preferable to an Electron app's 80-100 MB+, wouldn't you say?

Image

(Like I said to Keef, I'd considered compiling core-utils n 560 myself, but my compiling skills are atrocious. Oh, I've had the occasional success here & there, but usually easy items, where somebody else has provided the 'recipe', or there haven't been much in the way of parameters required. I don't know how you'd go about doing something like the core-utils package, where it's critical to get things just right....)


Mike. :wink:

User avatar
Mike Walsh
Posts: 6351
Joined: Sat 28 Jun 2014, 12:42
Location: King's Lynn, UK.

#23 Post by Mike Walsh »

keniv wrote:
Mike Walsh wrote:@ keniv:-

Glad to hear it's working for you. And, yes; I think Lucid's glibc will be too old for that specific 'dd' file, since Xenial uses 2.23, I believe. Actually, I'm surprised it's working for you in Racy; in my case, I'm not surprised, since I have Battleshooter's 'glibc-2.20 upgrade' he put together for Racy/Saluki some years ago, so's I could use Chrome....
I have glibc-2.20 main C lib installed though I'm now not sure why. I guess it's this that gets easydd working for me in racy 5.5. I also have glibc219_runtime-lucid-20171103 but this was installed to get palemoon to work.

Regards,

Ken.
@ Ken:-

Yeah, I think you've hit the nail on the head there, mate. I'm sure it wouldn't have worked in Racy for me either, if I hadn't already performed the 'transplant'.

Anyway; hope ya find it useful. Enjoy.


Mike. :wink:

zagreb999
Posts: 567
Joined: Fri 11 Apr 2014, 06:39
Location: Yugoslavija

#24 Post by zagreb999 »

mike, thanks
it works

but, when we have
partitions- to be possible
to install on one partition
on hard disk?

User avatar
Mike Walsh
Posts: 6351
Joined: Sat 28 Jun 2014, 12:42
Location: King's Lynn, UK.

#25 Post by Mike Walsh »

@ zagreb999:-

Um. i don't think 'dd' works like that. It seems to be set up to install to a drive, rather than a partition.....because an .img file usually contains formatting instructions as well.

I really can't answer that. All I've done here is the packaging; I'm no expert on how dd actually works, I'm afraid...

There must be more information on-line, I would think.


Mike. :wink:

User avatar
Keef
Posts: 987
Joined: Thu 20 Dec 2007, 22:12
Location: Staffordshire

#26 Post by Keef »

There is very readable article about dd here, at opensource.com.

keniv
Posts: 583
Joined: Tue 06 Oct 2009, 21:00
Location: Scotland

#27 Post by keniv »

Hi Mike,
Just did a proper test with easydd. I wrote the .img of the new raspbian buster to an sd card then booted my rasp pi 3b+ with it. I'm posting from it now. I used the copy of easydd I've got on racy55. Good it works with these older pets. I've used dd from the command line before but this was to write zeros to a disc to wipe it and even then I checked about three times before pressing enter. The Gui gives a bit more confidence for some reason.

Regards,

Ken.

watchdog
Posts: 2021
Joined: Fri 28 Sep 2012, 18:04
Location: Italy

#28 Post by watchdog »

keniv wrote: I also have glibc219_runtime-lucid-20171103 but this was installed to get palemoon to work.
I have an old laptop with a very old linux mint install which is seldom used by my wife as not administrator user. The last browser working on it was firefox 45. Yesterday I managed to install in the old linux mint install the latest palemoon using the glibc219 tweak. My wife will be using her laptop as usual without having to learn a new OS.

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#29 Post by greengeek »

watchdog wrote:Yesterday I managed to install in the old linux mint install the latest palemoon using the glibc219 tweak. .
Makes me wonder if Puppy could have a "virtual" directory which acts like a Qemu or Wine style environment and the user could just drop in any recent program like a browser or utility like easyDD - and the whole directory would be like a "preload" environment primed with the appropriate $LD_LIBRARY_PATH stuff.

Recompiling dd just seems too easy :twisted:
(thanks keef!!) :-)

User avatar
Mike Walsh
Posts: 6351
Joined: Sat 28 Jun 2014, 12:42
Location: King's Lynn, UK.

#30 Post by Mike Walsh »

@ GG:-

Sounds like a project for somebody. (Not me, though; way beyond my remit..! :lol:

Only snag with that is it would have to be like WINE itself, i.e., you'd need a full complement of libs, system directories, etc. Like WINE is a 'full' copy of Windoze, this would need to be a 'full' Linux OS. But I guess you're talking about something you could literally just fire up with a single click, yes?


Mike. :wink:

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#31 Post by greengeek »

Mike Walsh wrote:But I guess you're talking about something you could literally just fire up with a single click, yes?
Yes - maybe like an sfs that loads a bunch of specific GlibC stuff somewhere in the filesystem and puts an icon on the desktop (or in /root or /home??) and the user can drag a utility or program onto that icon.

Not like a full Linux running within a VM though.

Or maybe a rightclick menu - something like "Run under GlibC 2.17"

Dreamin' on as usual...
:D

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

#32 Post by BarryK »

Regarding the problems with versions of glibc, the solution is to compile coreutils statically with musl.

A statically-linked dd will run anywhere.

I do have it, 32-bit and 64-bit, though only the 32-bit 'dd' is required, it will also run on a 64-bit OS. So you will not need two different PETs.

The problem is, I configured 'coreutils' as a single binary, with applets, such as 'dd', symlinked to it. So it is a bit big.

If there is a demand, I could configure the compile so there are separate binaries.
[url]https://bkhome.org/news/[/url]

User avatar
Mike Walsh
Posts: 6351
Joined: Sat 28 Jun 2014, 12:42
Location: King's Lynn, UK.

#33 Post by Mike Walsh »

BarryK wrote:Regarding the problems with versions of glibc, the solution is to compile coreutils statically with musl.

A statically-linked dd will run anywhere.

I do have it, 32-bit and 64-bit, though only the 32-bit 'dd' is required, it will also run on a 64-bit OS. So you will not need two different PETs.

The problem is, I configured 'coreutils' as a single binary, with applets, such as 'dd', symlinked to it. So it is a bit big.

If there is a demand, I could configure the compile so there are separate binaries.
That would be very much appreciated, Barry.

I know you're right about statically-linked stuff. But my normal compiling abilities are atrocious, never mind statically linked items!

I do, however, feel that this is one utility that really does belong in every Puppian's toolbox; as stated previously, I've noticed that more and more OS downloads are being provided as an .img file.....and while the 'dd' command is simple enough to run in the terminal, it's too easy for newbies to accidentally wipe things out that they never intended.

And why should newbies be excluded from the 'fun'? It'll all help to make Puppy even more accessible to more people, and, much as I like Electron-based apps, I for one would sooner use a small utility that uses only a few Kb, as opposed to nearly 100MB.

Nearly all of which is simply another separate instance of the Chromium web browser... :roll:


Mike. :wink:

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

#34 Post by BarryK »

OK, here is 'dd' compiled statically with musl. It is a 32-bit x86 (i686) executable, but will also run in a 64-bit OS.

As it has the musl libc linked statically, it will run on any pup, from the earliest to the latest.

It is 142KB, remove the fake ".gz":
Attachments
dd.gz
(141.21 KiB) Downloaded 357 times
[url]https://bkhome.org/news/[/url]

User avatar
Mike Walsh
Posts: 6351
Joined: Sat 28 Jun 2014, 12:42
Location: King's Lynn, UK.

#35 Post by Mike Walsh »

Thanks, Barry. Very much appreciated.

Utilising the above, statically-linked dd binary, here, then, are the definitive v.4 packages for this excellent utility:-

https://drive.google.com/drive/folders/ ... sp=sharing

Navigate through & help yourselves. As stated by Barry, these will run on Pups of either architecture - both 32- and 64-bit. (Pointless doing an SFS when they're this small.....and the last 3 items, you simply click on them whenever you want to use them, since they unpack into /tmp for the duration.)

There's a .pet; an AppImage; a 'self-extracter'.....and a 'RoxApp'. With thanks to Fred for the use of his 'portable-creation' scripts. :)

Enjoy.


Mike. :wink:

keniv
Posts: 583
Joined: Tue 06 Oct 2009, 21:00
Location: Scotland

#36 Post by keniv »

I downloaded BarryK's dd.gz, removed the fake .gz and moved it to

Code: Select all

/my-applications/bin
.
It showed up as executable but on clicking on it it did not run. I tried running it in a terminal but again it did not run and the terminal gave no output.
As it has the musl libc linked statically, it will run on any pup, from the earliest to the latest.
I tried this in lucid 5287 which was the only one of my old pups I could not get the previous version to run on. I am wondering what I've done wrong or could it be there is a reason why this version will not run on lucid either.

Regards,

Ken.

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

#37 Post by BarryK »

keniv wrote:I downloaded BarryK's dd.gz, removed the fake .gz and moved it to

Code: Select all

/my-applications/bin
.
It showed up as executable but on clicking on it it did not run. I tried running it in a terminal but again it did not run and the terminal gave no output.
As it has the musl libc linked statically, it will run on any pup, from the earliest to the latest.
I tried this in lucid 5287 which was the only one of my old pups I could not get the previous version to run on. I am wondering what I've done wrong or could it be there is a reason why this version will not run on lucid either.

Regards,

Ken.
The only thing I did to test that it is working, is with a terminal opened where it is located:

# ./dd --help
[url]https://bkhome.org/news/[/url]

User avatar
Mike Walsh
Posts: 6351
Joined: Sat 28 Jun 2014, 12:42
Location: King's Lynn, UK.

#38 Post by Mike Walsh »

@ keniv:-

You're not quite going about things the right way, Ken. It should run in Lucid. I've recently set-up a minimal, lightweight 5287 install on a wee SanDisk flashdrive (just for the hell of it), and EasyDD runs just fine there.

Bear in mind, I'm no expert with this stuff. But, as I understand it:-

1.) Although /my-applications/bin IS one of your 'bin' directories, it's not a 'standard' 'bin' directory that would normally be searched. I guess this one is a Puppy 'special', 'cos I've never found anything like it in any other distro. Doubtless Barry would know the answer to that one better than I.

If you stick it in /bin, I guarantee you it'll work fine.....nor will it interfere with anything else.

2.) Although 'dd' IS a 'binary executable', because of its nature it doesn't 'do' anything by itself. It needs to be called via parameters.....and there's a very specific sequence for these. (This is why folks unused to it, and not well-skilled in the terminal anyway, can wreak so much unintentional damage with it.....and why Barry's script goes a long way towards simplifying its use for one of the most commonly used applications nowadays, that of writing an .img file.)

Hope that sheds a bit of light on the matter. It's kinda like Mozilla-based browsers; the bulk of the code is in libxul.so., all 45-50 MB of it. The 'firefox' ('palemoon', 'seamonkey', etc) binary is a tiny thing - only a couple of 100 kb at most. This is what calls the contents of libxul.so, and sets things into motion.

But if you click directly on libxul.so yourself, all that happens is you get an error message come up about it being a 'shared library', rather than a binary executable.

"No run action specified for files of this type (application/x-shared lib)..."


Mike. :wink:

keniv
Posts: 583
Joined: Tue 06 Oct 2009, 21:00
Location: Scotland

#39 Post by keniv »

@ BarryK and Mike Walsh,
Thanks to you both for your help with this. I got it to work by placing dd in /bin, opening a terminal in /bin and using Barry's

Code: Select all

./dd --help
.
However, it seemed that this was a command line version and as I said in an earlier post, I am a bit nervous of using dd from the command line given the possible damage I could do if I get it wrong. Then I saw Mike's link in a previous post.
https://drive.google.com/drive/folders/ ... sp=sharing.
I downloaded easydd-v4 from this. I'm now pleased to report that I have a gui version of dd working in lucid 5287.

Regards,

Ken.

User avatar
Keef
Posts: 987
Joined: Thu 20 Dec 2007, 22:12
Location: Staffordshire

#40 Post by Keef »

Just for reference, ~/my-applications/bin is in Puppy's 'PATH' (any directories where binaries are expected to run from).
You don't need to go to the directory of a binary in the PATH, just type it's name in a terminal launched anywhere - eg dd not ./dd.
You only need ./ to run something from the current directory (the one you launched the terminal from).
To find out what is in the 'PATH' on your system, type

Code: Select all

echo $PATH 

On Lucid this will produce something like:

Code: Select all

/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R7/bin:/root/my-applications/bin
Some .deb games install to /usr/games for example, so won't run from the menu entry under Puppy. A symlink to /usr/bin will solve it, or open a terminal and use the full path e.g.
/usr/games/whatever_game_it_is

The PATH can be changed or added to, but I'll leave it at that for now.

Post Reply