Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Tue 10 Dec 2019, 05:27
All times are UTC - 4
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » Utilities
EasyDD
Post new topic   Reply to topic View previous topic :: View next topic
Page 1 of 3 [42 Posts]   Goto page: 1, 2, 3 Next
Author Message
Mike Walsh


Joined: 28 Jun 2014
Posts: 5641
Location: King's Lynn, UK.

PostPosted: Sat 29 Jun 2019, 09:59    Post subject:  EasyDD
Subject description: An easy-to-use GUI front-end for the 'dd' utility.....from the PuppyMaster
 

(*Updated packages attached below*)


Afternoon, all.

(Discussion is being transferred here from the 'other' thread:-

http://www.murga-linux.com/puppy/viewtopic.php?t=116430

.....so the subject has its own forum heading from now on. Which makes more sense.)

-------------------------------------------------------------------------------------

As we all know, the 'dd' utility is by far and away the easiest method for 'writing' an .img file to a USB stick, so it can subsequently be booted from. Normally, it's a command-line utility, but due to its potentially destructive nature, and the fact that syntax can be a minefield for the unwary, Barry K has written a script for a simple GUI 'front-end'....which works extremely well, and is nice & easy to use (even for newbies).

This also gives an ongoing read-out of your USB stick's write speeds.....which will give you some idea of how slow (or otherwise) the stick will be in service. Rather neat.

This has been 'transferred' across from the Etcher thread, where it was in danger of getting anonymously buried in the archives..... Laughing It's too useful to let that happen.

------------------------------------------------------------------------------------

After greengeek's ongoing issues in Slacko 560, and my own with the later 'buntu Puppies, I've done a wee bit of experimenting. BK suggested the addition of both 'pupmessage' and 'pupdialog'; research has shown that all these later Woof-CE Pups still use 'pupdialog'.....but 'pupmessage' appears to have been dropped from the mix. The reasoning is probably that gxmessage covers all bases; however, the issues with EasyDD would seem to indicate otherwise.

By the simple fact of adding 'pupmessage' back into /usr/bin, EasyDD now works (at least for me) in all my Pups. My 'kennels' include:-

Tahrpup 606
Racy 5.5
Slacko 560
Precise 571
Bionicpup32- 8.0
DPup 'Stretch'
UPup 'Raring 3992
Xenialpup32 7.5, and
Xenialpup64 7.5

(*Update:- Reworked packages below no longer need 'pupmessage', after Barry modified the script to correctly detect 'gxmessage'.*)

-------------------------------------------------------------------------------

Initial start-up gives you this:-





.....followed by this:-





------------------------------------------------------------------------------

Packages are attached below. There's 32- and 64-bit variants, in both 'portable' and .pet format. Help yourselves to which one you want.


Mike. Wink
EasyDD-portable32.gz
Description  Self-extracting script. Remove the fake .gz, and click-to-run
gz

 Download 
Filename  EasyDD-portable32.gz 
Filesize  94.71 KB 
Downloaded  114 Time(s) 
EasyDD-portable64.gz
Description  Self-extracting script. Remove the fake .gz, and click-to-run
gz

 Download 
Filename  EasyDD-portable64.gz 
Filesize  90.04 KB 
Downloaded  109 Time(s) 
EasyDD_v.3-i686.pet
Description  32-bit .pet
pet

 Download 
Filename  EasyDD_v.3-i686.pet 
Filesize  61.61 KB 
Downloaded  125 Time(s) 
EasyDD_v.3-amd64.pet
Description  64-bit .pet
pet

 Download 
Filename  EasyDD_v.3-amd64.pet 
Filesize  56.86 KB 
Downloaded  146 Time(s) 

_________________
MY 'PUPPY' PACKAGES


Last edited by Mike Walsh on Sun 30 Jun 2019, 06:56; edited 1 time in total
Back to top
View user's profile Send private message 
keniv

Joined: 06 Oct 2009
Posts: 564
Location: Scotland

PostPosted: Sat 29 Jun 2019, 14:35    Post subject:  

hi Mike,
Thanks for this. Am using the 32 bit .pet. Can confirm it works on racy 5.5. It also works with puppy precise light 571 which has been recently update. Did not have to do anything to get them to work. It did not work with lucid 5287 even though it contains both pupmessage and pupdialog. Below is the output of running in a terminal.
Code:
# /usr/local/bin/easydd
dd: /lib/libc.so.6: version `GLIBC_2.17' not found (required by dd)
.
I guess glibc is too old. Will also try it with wary 5.5. Will also try to burn a raspian img to an sd card and see if I can boot it on my rasp pi. I have looked at Etcher to do this but could only find 64 bit versions.

Regards,

Ken
Back to top
View user's profile Send private message 
greengeek


Joined: 20 Jul 2010
Posts: 5624
Location: Republic of Novo Zelande

PostPosted: Sat 29 Jun 2019, 16:09    Post subject:  

I just want to confirm that the error messages present in the earlier easydd pets (errors regarding missing gxmessage and pupmessage) can be corrected by fixing the typo in line 98 of easydd as follows:

Change from:

Code:
 if which pupmessage >/dev/null ;then MSGEXE='pupmessage'; fi
 if [ ! "MSGEXE" ];then


to:

Code:
 if which pupmessage >/dev/null ;then MSGEXE='pupmessage'; fi
 if [ ! "$MSGEXE" ];then


(missing "$")

This testing was done on Slacko 5.7 but maybe it will also apply to some of those other pups you mentioned.

cheers!
Back to top
View user's profile Send private message 
bigpup


Joined: 11 Oct 2009
Posts: 12981
Location: S.C. USA

PostPosted: Sat 29 Jun 2019, 16:14    Post subject:  

Barry K wrote:
Will work for any .img, including compressed, .img.gz, .img.bzip2, .img.xz, .img.zip, CLI or GUI.


Please confirm something.

This will not work for any installs of Puppy version iso.
The package has to be an image.

Is this correct?

If yes.

Wonder how hard it would be to make it work for installing from an iso Idea

_________________
The things they do not tell you, are usually the clue to solving the problem.
When I was a kid I wanted to be older.... This is not what I expected Shocked
YaPI(any iso installer)
Back to top
View user's profile Send private message 
bigpup


Joined: 11 Oct 2009
Posts: 12981
Location: S.C. USA

PostPosted: Sat 29 Jun 2019, 16:30    Post subject:  

EasyDD 64bit is working for me in Bionicpup64 8.0

Well, it starts up and seems to be running OK.
I guess I need to actually try to install an OS img.

_________________
The things they do not tell you, are usually the clue to solving the problem.
When I was a kid I wanted to be older.... This is not what I expected Shocked
YaPI(any iso installer)
Back to top
View user's profile Send private message 
Mike Walsh


Joined: 28 Jun 2014
Posts: 5641
Location: King's Lynn, UK.

PostPosted: Sat 29 Jun 2019, 17:34    Post subject:  

@ bigpup:-

I guess you're aware (as are most of us) that for 'burning'/'writing' an ISO file, it has to be decompressed before doing so, and that this is usually an integral part of the installer process.. This is where many of our newbies come unstuck, since they often try to copy the ISO file 'as is'.

As far as I understand the process, 'dd' copies an exact mirror image of the file in question - literally block-by-block, byte for byte. I think .img files are usually set-up prior to usage, to be in the exact same condition as the 'contents' of an ISO file would be after burning..

Me no expert, but that's my comprehension of things.

I know you've been working hard to get Puppy running on a Chromebook, but just out of interest, try one of Arnold the Bat's 'ChromiumOS' builds, from here:-

https://arnoldthebat.co.uk/wordpress/chromium-os/

These are always in .img format. Either that, or take a look at Barry's EasyOS, as suggested.

-----------------------------

@ 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......

It could also very well be that libstdc++.so.6 is too old in Lucid. That's another critical system file.

Still, if it works.....don't question it. Be grateful! Very Happy 'If it ain't broke', and all that..... Smile

(Please be aware that I'm only responsible for the packaging here. The script is all BK's work. I'm not taking any credit for that..!) Laughing

------------------------------------

@ GG:-

Just out of curiosity, I tried that wee 'modification' myself after you mentioned it. It didn't actually seem to make any difference for me.

Keep me posted as to how you're getting on with this, please. At least, now it has its own dedicated thread, we can keep everything to do with it all in the same place!


Mike. Wink

_________________
MY 'PUPPY' PACKAGES

Back to top
View user's profile Send private message 
greengeek


Joined: 20 Jul 2010
Posts: 5624
Location: Republic of Novo Zelande

PostPosted: Sat 29 Jun 2019, 19:30    Post subject:  

Hi Mike, it won't make a difference if you have already added pupmessage. It only fixes the original problem with failure to detect gxmessage (on systems that don't have pupmessage but do have gxmessage)

It is just a way to avoid adding anything unnecessary.
Back to top
View user's profile Send private message 
BarryK
Puppy Master


Joined: 09 May 2005
Posts: 9090
Location: Perth, Western Australia

PostPosted: Sat 29 Jun 2019, 21:44    Post subject:  

greengeek,
You are right, there is a bug in that script. The one here:

http://bkhome.org/files/easydd.gz

However, I am using a later version in EasyOS, it has this comment:

#181220 bug fix.

Which fixes that missing "$" on line 99:

if [ ! "$MSGEXE" ];then #181220

_________________
https://bkhome.org/news/
Back to top
View user's profile Send private message Visit poster's website 
BarryK
Puppy Master


Joined: 09 May 2005
Posts: 9090
Location: Perth, Western Australia

PostPosted: Sat 29 Jun 2019, 22:06    Post subject:  

I have updated this link with the bugfix:

http://bkhome.org/files/easydd.gz

gxmessage should now be correctly detected, so you don't have to install pupmessage.

Note, pupmessage was created 2012-03-23, and I think should be in pups after that. But then I dropped out of the benevolent dictator role in 2013, so maybe pupmessage only made it into Quirky.

Ah, looking at woof-CE:

https://github.com/puppylinux-woof-CE/woof-CE/tree/testing/woof-code/rootfs-skeleton/usr/bin

...pupdialog is there, and so is pupmessage, however pupmessage is only a symlink to gxmessage. So, the CE developers replaced the original script with a symlink. That will still work.

Summary: just apply the bugfix, the missing "$", then no need to install any extra scripts.

_________________
https://bkhome.org/news/
Back to top
View user's profile Send private message Visit poster's website 
greengeek


Joined: 20 Jul 2010
Posts: 5624
Location: Republic of Novo Zelande

PostPosted: Sun 30 Jun 2019, 02:37    Post subject:  

Mike Walsh wrote:
Keep me posted as to how you're getting on with this, please.
Hi Mike, thanks for your glibc coaching in the other (palemoon) thread. Definite progress.

So here is my routine so far for getting easydd started on a pristine Slacko 5.6:
- Followed your instructions for loading new glibc (with one exception):
-- loaded the gcc deps (qty3)
-- loaded binutils
-- loaded glibc-2.20
-- ignored the load GCC step
- Did a restart X
- Loaded your easydd-noarch pet (containing the /bin/dd you derived from xenial)
- Made that /bin/dd executable (otherwise says no dd available)
- corrected the missing $ as per Barry's comments above in easydd line 98/99 (/usr/local/bin/easydd)
- started easydd from utility menu (see pic below)

I have done no testing of easydd functionality yet but feels nice to see it get to the first splash.

If testing works well I may try to build a full pet (including "PRELOAD"??) that allows easydd and glibc deps to be run in one hit on Slacko 5.6

cheers!
easydd_Slacko5.6.jpg
 Description   
 Filesize   20.7 KB
 Viewed   549 Time(s)

easydd_Slacko5.6.jpg

Back to top
View user's profile Send private message 
Mike Walsh


Joined: 28 Jun 2014
Posts: 5641
Location: King's Lynn, UK.

PostPosted: Sun 30 Jun 2019, 11:00    Post subject:  

Well, now...

I've been attempting to put together a self-contained 'portable' version of EasyDD.....in the same vein as Fredx181's 'portable-FFQuantum'.

This inspired my own portable PaleMoon. I then went one step further, doing the same thing with the SSE-only build of Palemoon 27.9.4 which watchdog assembled; this one has a 'built-in' copy of glibc 2.19 (from Tahrpup, I would guess, or one of the Debians/DPups).

I've got it all assembled. The contents of the 'easydd32' directory look like this:-





'dd' contains the later Xenialpup dd.
'glibc219' is self-explanatory. This is the glibc 2.19 stuff.
'easydd' is the main script from Barry.
'easydd-start' is the launch script which calls in the glibc-2.19 stuff.
'launch' is a modified version of Fred's script which kicks it all off, same as the 'ff' script is what you start FF-Quantum with.

Here's 'launch':-

Code:
#!/bin/sh

#LAUNCHDIR="$(cd "$(dirname "$0")"; pwd)"
LAUNCHDIR="$(dirname "$(readlink -f "$0")")"
#
LD_LIBRARY_PATH=$LAUNCHDIR/:$LAUNCHDIR/dd${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} "$LAUNCHDIR/easydd-start" "$@"


It looks for the newer Xenial version of dd first, then passes control over to the start-script. Obviously, I don't need the 'mkdir' statement or the -profile-path at the end, since there's no 'profile' involved here.

Here's 'easydd-start':-

Code:
#!/bin/sh
#
export LC_ALL=C
LAUNCHDIR="$(dirname "$(readlink -f "$0")")"
$LAUNCHDIR/glibc219/lib/ld-linux.so.2 --library-path $LAUNCHDIR/glibc219/lib:$LAUNCHDIR/glibc219/usr/lib:$LAUNCHDIR/glibc219/libstdc++:/usr/X11R7/lib:$LAUNCHDIR $LAUNCHDIR/easydd "$@"


This reads the glibc 2.19 stuff into the library path, then is supposed to fire the main script up (this is the modified one Barry posted earlier, doing away with the need for 'pupmessage').

I keep getting this (currently trying it out in one of my external 'work' directories):-

Code:
# /SeaDesk/SeaDesk-2/WORK-2/easydd32/launch
/SeaDesk/SeaDesk-2/WORK-2/easydd32/easydd: error while loading shared libraries: /SeaDesk/SeaDesk-2/WORK-2/easydd32/easydd: invalid ELF header


The only arch-specific items are the glibc stuff, which is 32-bit, and 'dd' (from 32-bit Xenialpup). I'm trying this out in Slacko 560, since I'm trying to figure out a self-contained solution for greengeek.....who runs without save-file or folder. (So it needs to be summat you can just copy over and click on to run.)

Where's

Quote:
invalid ELF header


.....coming from? 'Cos there's no clues in the terminal; all it refers to is the main script.....which is just a script!

Anyone got any ideas?


Mike. Confused

_________________
MY 'PUPPY' PACKAGES

Back to top
View user's profile Send private message 
greengeek


Joined: 20 Jul 2010
Posts: 5624
Location: Republic of Novo Zelande

PostPosted: Sun 30 Jun 2019, 13:38    Post subject:  

This PRELOAD stuff is something I've not done before so all I can do is take a stab in the dark:

This message -
Code:
error while loading shared libraries: /SeaDesk/SeaDesk-2/WORK-2/easydd32/easydd: invalid ELF header

seems to be trying to convey that "easydd" is a shared library but that it has an invalid ELF header.

Obviously easydd is just a bash script so why would it be expected to have an ELF header?? My guess is that the preload script referencing easydd is assembled incorrectly somehow - and it is making the easydd-start script put easydd into the PRELOAD library path.

I haven't explained that very well but do you get my drift?

The easydd-start is supposed to say :
"Here are the shared libs to preload: they are called glibc etc, and here is the script i want to run - it's called easydd"

instead it must be saying:
"Here are the shared libs to preload: they are called easydd and glibc etc"

Could it be that $LAUNCHDIR needs to be inside quotes somewhere in that easydd-start syntax?? Is the syntax making it think that the easydd is just part of the part of the library list?

eg: does the last portion:
Code:
:/usr/X11R7/lib:$LAUNCHDIR $LAUNCHDIR/easydd "$@"
need quoted $LAUNCHDIR? such as:
Code:
:/usr/X11R7/lib:"$LAUNCHDIR" $LAUNCHDIR/easydd "$@"
so that it is not looking for :

$LAUNCHDIR $LAUNCHDIR/easydd (a filename containing a space)

Just spitballin' here...

EDIT : - i notice you used more quotes in the launcher script than in the easydd-start script - is that what needs doing in easydd-start too??

Code:
...:$LD_LIBRARY_PATH} "$LAUNCHDIR/easydd-start" "$@"
Back to top
View user's profile Send private message 
Mike Walsh


Joined: 28 Jun 2014
Posts: 5641
Location: King's Lynn, UK.

PostPosted: Sun 30 Jun 2019, 15:23    Post subject:  

GG:-

Spitballin' is right, I'm afraid.....

I'm not a coder. Nowhere near. I bumble around, modifying bits & pieces of other's scripts, and frequently amaze myself when something actually works.

For Palemoon, it was literally a case of substitution. A new name for the launch script, and substituting Palemoon's bits for Firefox's bits. Oh, it worked.....but I'll be the first to admit that even now, I don't really understand half of what that launch script is actually doing.

Languages were never my strong point.....and Bash, of course, is just another language.

I shouldn't be at all surprised if the preload script is assembled incorrectly.....but I don't know enough about what I'm doing to even take a wild guess at how to correct it.

Terrible thing for a 'geek' to admit, n'est-ce pas? Laughing Shocked Rolling Eyes

As for sitting down in front of the screen, and setting out to write a script from the ground up....it's totally beyond me. I don't have the foggiest of where to even start. Unless we're talking very, very simple.

-------------------------

This launch script, once again, was put together via substitution. I'm whistling in the dark, here....seriously! I haven't got a clue what I'm doing, I'm afraid.....but if you think we can try summat else, I'm all ears.

(EDIT:- Just tried your idea of extra quotation marks around the last phrase. Makes no difference.....same error.)

The syntax is exactly the same layout as the launch scripts watchdog has successfully used in several of his 'tweaked' packages; it works fine in my portable version of the SSE-only Palemoon 27.9.4, in watchdog's 'tweaked' FF45esr (which I use in Racy), and the same goes for the tweaked version of SimpleScreenRecorder he built for Lucid (which also worked in Racy), so.....I'm thinking the problem lies elsewhere.

The only arch-specific item, apart from the glibc219 stuff, is the Xenial 'dd'. And that's working fine for me in the self-extracting script I put together.

I DO not know where to look next. And that's just being truthful, mate.

Need some input from a proper 'coder'..! Laughing

----------------------------------------------

I wouldn't like to say how or why watchdog arrived at the script he did for using a second, standalone glibc. But it looks very similar to the one suggested by maximk in a reply to this 10-yr old thread over at stackoverflow.com:-

https://stackoverflow.com/questions/847179/multiple-glibc-libraries-on-a-single-host

Quote:
Another option is running the new ld.so directly, passing it your binary program as a parameter; this will effectively replace ld.so used w/o the need to recompile the program: /path/to/newglibc/ld-linux.so.2 --library-path /path/to/newglibc/lib64:/path/to/newglibc/usr/lib64 /path/to/myapp


I think that's essentially what we're doing (or trying to do) here; running the app/prog/script/whatever by passing it to the 'alternate' ld-linux.so.2 as a parameter.


Mike. Embarassed

_________________
MY 'PUPPY' PACKAGES

Back to top
View user's profile Send private message 
Keef


Joined: 20 Dec 2007
Posts: 975
Location: Staffordshire

PostPosted: Sun 30 Jun 2019, 17:28    Post subject:  

For want of something better to do, I compiled coreutils 8.30 (which contains dd) on a fresh install of Slacko-5.6 no PAE.
Attached is dd which will run happily with easydd.
Originally I just copied the easydd script straight from Easy, and there were no problems with the gui, just dd.

Remove the .gz and stick it in /bin (rename the original first if you wish).
dd.gz
Description 
gz

 Download 
Filename  dd.gz 
Filesize  64.16 KB 
Downloaded  79 Time(s) 
Back to top
View user's profile Send private message 
Mike Walsh


Joined: 28 Jun 2014
Posts: 5641
Location: King's Lynn, UK.

PostPosted: Sun 30 Jun 2019, 18:15    Post subject:  

Hallo, Keef.

Y'know, you've kinda 'beaten me to the punch' here! Ever since we started this a few days ago, I've half considered compiling the latest core-utils to get round this whole glibc business.....but my compiling skills are atrocious, so I'd've probably made a pig's ear out of it anyway. I don't know what it is with Slacko 560; it's a wonderfully stable Pup, but I never had half these problems with its successor, 570, despite them both being based on Slackware 14.0.

The Xenial 'dd' runs fine for me in 560 with the portable, self-extracting script I assembled for EasyDD. Maybe having upgraded my glibc does help; certainly, running 'pristine' (adding 'pfix=ram' to menu.lst), it won't run at all with the original 2.15. & 'dd'.

Just out of curiosity, d'you happen to know the minimum kernel/glibc combo that this latest core-utils will compile against?

Thanks for this, anyroad. I'll see what a self-extracter will run like using this one.

Cheers!


Mike. Wink

_________________
MY 'PUPPY' PACKAGES

Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 1 of 3 [42 Posts]   Goto page: 1, 2, 3 Next
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » Utilities
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0784s ][ Queries: 12 (0.0082s) ][ GZIP on ]