site  contact  subhomenews

EasyDD works on more distributions

June 15, 2020 — BarryK

I have abandoned EasyDD-portable. Too troublesome. Instead, the 'easydd' script has been enhanced, with more features, refinements, and should work on just about all Linux distributions.

It should work in both CLI and GUI modes in all Puppy and Puppy-derivatives, including very old versions.

For other Linux distributions that do not have the 'gtkdialog' utility, EasyDD should work in CLI mode.

I have updated the introduction page:

https://bkhome.org/linux/easydd-write-image-file-to-drive.html

...of course, there is the disclaimer, see bottom of linked page. I have created EasyDD in good faith, but as we can never 100% guarantee perfect code, nor anticipate peculiarities of some distributions, you need to use EasyDD entirely at your own risk. I have tried to anticipate all eventualities, and put sanity checks throughout the script ...but, you never really know, until you try it on your distro.

Note, 'gtkdialog' is great, but for those distros that don't have it, and have 'zenity' or 'yad' instead, a future project could be to get the script to use those. Then EasyDD will be able to run in GUI mode on many more distros.

Another note: one problem that we had with old puppies was that they have an older version of the 'dd' uility, or the busybox 'dd', which lacks real-time progress reporting. EasyDD will now detect this, and can still use the old 'dd', just without the real-time write-speed reporting.

EDIT 2020-06-17:
Alfons reported that specifying a target drive in CLI mode, for example "easydd easy-0.6-amd64.img.gz sdb", exited without doing anything. Hmmm, yes. Fixed.
  

EDIT 2020-06-18:
Fixes to run EasyDD in GUI mode in Linux Mint:

https://bkhome.org/news/202006/easydd-gui-fixes-for-linux-mint.html    

Tags: linux

EasyDD-portable fixed for Debian, Devuan, Mint, etc

June 11, 2020 — BarryK

I posted about EasyDD-portable, that is supposed to run on all Linux distributions. All that they need is a shell interpreter and some basic utilities such as 'cut', 'grep', 'tr', 'realpath', etc. Here is the blog post:

https://bkhome.org/news/202005/easydd-portable-runs-on-any-linux.html

Bob, running Devuan, reported a "bad substitution" error in the 'easydd' script, and so did Jonathan, running Linux Mint.

That is because the "shebang line" is "#!/bin/sh" which in Debian and Debian-derivatives, will run 'dash'. Unfortunately, dash is a very primitive shell interpreter.

I recall years ago, being annoyed because dash does not understand "echo -e ..." so cannot interpret terminal commands. That is because dash is designed to work when there is no terminal.

Hmmm, Busybox ash handles the "-e" and that works everywhere, including direct to the screen in the initrd.

Now onto EasyDD, and I have found that dash does not understand "${var:0:1}" parameter expansion.

Then I found that dash does not understand the simplified if-then "[ "$var" ] && ...".

I am so accustomed to using the far more capable 'ash' in Busybox.

I have fixed it by changing three scripts in EasyDD-portable to use bash. Presumably, all Linux distributions have bash, and those that are purely busybox-based will likely have bash as an alias to ash.

EasyDD-portable fixed is uploaded here:

http://distro.ibiblio.org/easyos/project/easydd/

Note, if you are running EasyOS, EasyPup, Puppy, FatDog, or any other Puppy-derivative, you do not need EasyDD-portable. The small EasyDD script will work for you:

https://bkhome.org/news/202006/enhancements-for-easydd-script.html

...the only caveat is that very old versions of Puppy Linux (5-6 years ago) may have an old version of the 'dd' utility that will not work with EasyDD, in which case use EasyDD-portable. 

EDIT 2020-06-12:
I have feedback from Jonathan and Tom that the "fixed" EasyDD-portable tried to write to the wrong drive. So I have taken it down, and will install Debian, Devuan, or Mint and test EasyDD-portable.
 

EDIT 2020-06-16:
EasyDD-portable has been abandoned. Instead, the simple EasyDD script has been enhanced to run on nearly all Linux distributions. There is an introduction page, with download link:

https://bkhome.org/linux/easydd-write-image-file-to-drive.html 

 

Tags: linux

EasyDD-portable runs on any Linux

May 28, 2020 — BarryK

EasyDD is a script for writing an image file to a drive. Users of older Puppy Linuxes had a problem, the 'dd' utility lacked a required feature. Mike Walsh fixed that by bundling a newer version of 'dd', as a PET, self-extracting archive, and an AppImage:

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

Mike's work is really great. All pups and Puppy-derivatives have 'gtkdialog', required for the GUI mode, however, most other distributions don't have it. So, inspired by Mike, I have created a self-extracting archive with everything in it, including 'gtkdialog', maned EasyDD-portable.

I have written a page for EasyDD:

https://bkhome.org/linux/easydd-write-image-file-to-drive.html

...notice the "no liability" disclaimer!

EasyDD-portable download (18MB):

http://distro.ibiblio.org/easyos/project/easydd/easydd.gz

I created the self-extracting archive by a grass-roots method, inspired by this page:

https://coderwall.com/p/y3upqw/creating-a-self-extracting-archive-installer-script

My project tarball is here:

http://distro.ibiblio.org/easyos/project/easydd/easydd-project.tar.gz

The tarball expands to folder 'easydd-project' and inside the is a build script, 'create-easydd'. Here is the script:

#!/bin/sh
#creates a self-extracting archive named 'easydd.run', that will run easydd.
#ref: https://coderwall.com/p/y3upqw/creating-a-self-extracting-archive-installer-script

[ -f easydd.tar.gz ] && rm -f easydd.tar.gz
tar -cvf easydd.tar easydd.dir/
gzip -9 easydd.tar

[ -f easydd ] && rm -f easydd
cat << 'EOF' >> easydd
#!/bin/sh
EXE="$(realpath ${0})"
PARAM1=''; PARAM2=''
if [ "$1" ];then
if [ "${1:0:1}" == "-" ];then
PARAM1="$1" #-h or --help
else
PARAM1="$(realpath $1)"
fi
fi
[ "$2" ] && PARAM2="$2"
mkdir -p /tmp/easydd-portable-run
cd /tmp/easydd-portable-run
tail -n +18 $EXE | gzip -vdc - | tar -xvf - > /dev/null || exit 1
cd easydd.dir
cp -a -f ./easydd.sh /tmp/easydd.sh 2>/dev/null
exec /tmp/easydd.sh ${PARAM1} ${PARAM2}
EOF

cat easydd.tar.gz >> easydd
chmod 755 easydd

It creates a script named 'easydd' with the code that you can see between the two "EOF" markers. The chrootable 'rootfs' tarball, easydd.tar.gz, is appended onto 'easydd'. When 'easydd' is executed, the 'rootfs' tarball is expanded at /tmp/easydd-portable-run and a script 'easydd.sh' is run.

EDIT 2020-06-16:
EasyDD-portable has been abandoned. Instead, the simple EasyDD script has been enhanced to run on nearly all Linux distributions. There is an introduction page, with download link:

https://bkhome.org/linux/easydd-write-image-file-to-drive.html 

 

Tags: linux

Ye olde Woof2 Puppy builder

April 01, 2020 — BarryK

Woof2 was the build system for Puppy, and was online in a Fossil repository, until 2013 when it was forked to Woof-CE on github, and I closed down Woof2.

The last pups to be built with Woof2 were Wary and Racy 5.5, see here:

http://distro.ibiblio.org/quirky/racy-5.5/

Woof-CE is a community project, and has changed a lot since 2013. Today I received an email from Michael, asking if the original Woof2 Wary/Racy builder is still available. Well, it is possible to checkout the original checkin of Woof-CE, here is the project site:

https://github.com/puppylinux-woof-CE/woof-CE

'dimkr' cloned woof-CE sometime ago, and this link has pretty much the original Woof2:

https://notabug.org/dimkr/woof-CE-libre/src/dfa7ea51c82b6a53dbfe8e167de5e233510db003

...the 0.1 release is very close to Woof2, and is available as a tarball here:

https://notabug.org/dimkr/woof-CE-libre/releases

...most important, one of the commits is '01micko' restored the symlinks that were lost in the original fork from Woof2. 

There is an actual Fossil repo of Woof2. Puppy Forum member 'idolse' created mpdPup, a Puppy Linux music server/jukebox, and to achieve that, he forked Woof2:

http://chiselapp.com/user/ldolse/repository/mpdPup/home

...if you login as anonymous, go to "Files" and you will see this text:

Files of check-in [edf062515a] in the top-level directory

...in the square-brackets is a link to download the tarball. Ah, here is a direct link, no need to login to the Fossil repo:

http://chiselapp.com/user/ldolse/repository/mpdPup/tarball/edf062515a/mpdPup-edf062515a.tar.gz

...this is dated March 26, 2013, and this would be pure Woof2 as-it-was, though idolse will probably have made some changes, though looking around, it seems all as I recall Woof2 to be. Yep, has  woof-distro/x86/pet-based/racy and wary, version 5.5. 

Oh, for anyone curious about mpdPup:

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

Tags: linux

Introduction page for EasyPup

February 01, 2020 — BarryK

I have created an introduction page for EasyPup:

https://bkhome.org/linux/easypup-a-blend-of-classical-puppy-and-easyos.html

A bit premature though, as the download link does not yet have anything in it. I want to fix a few more things in EasyPup, then will upload a release ISO, maybe also a USB-stick image.

Then back onto developing EasyOS! 

Tags: linux

Raspup Buster 8.2.0 released

January 01, 2020 — BarryK

Do you have a Raspberry Pi board? Is it neglected? -- well, dust it off, there is a new Puppy Linux release for the Pi, created by Michael Amadio (01micko in the Puppy Forum). Mick sent me an email, quoting:

Hot on the tails of your Easy release I have released Raspup Buster 8.2.0.




It supports all the main Pi boards but not compute module - well untested at least.

Give it a spin!

You can also get involved, read the experiences of others, provide feedback, in this thread in the Puppy Forum:

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

img1

Mick does state that it is tested on the Pi0, Pi3 and Pi4, and should probably work on the Pi1 and Pi2. I have a Pi2B and a Pi3B, so will fire up the latter. 

Tags: linux

Puppy Linux version 8.0 released

April 06, 2019 — BarryK

Fantastic! I would like to congratulate Peter and Phil (peebee and 666philb in the Puppy Forum) --and everyone else involved-- for the release of Puppy 8.0 "BionicPup". Distrowatch annoncement here:

https://distrowatch.com/?newsid=10501

Project announcement here:

http://blog.puppylinux.com/bionicpup-32-bit-and-64-bit-released

img1

...great wallpaper!

This is great, as the last official release on Distrowatch was version 7.5 in December 2017.

Forum discussion for the 64-bit release, coordinated by 666philb:

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

Forum discussion for the 32-bit release, coordinated by peebee:

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

Tags: linux

Notes for porting UltraSNS to Puppy Linux

February 21, 2019 — BarryK

Or some other Puppy-derivative. UltraSNS has debuted in the latest EasyOS, version 1.0.8, see post yesterday:

http://bkhome.org/news/201902/easyos-x8664-version-108-released.html

And a post about UltraSNS and minibase-network utilities:

http://bkhome.org/news/201902/ultrasns-based-on-minibase-utilities.html

Minibase, created by Alex Suykov, can be obtained from the project page and compiled, see post:

http://bkhome.org/news/201902/minibase-super-tiny-static-system.html

I have two PETs. The utilities are statically-linked and will work in any distribution (38KB, 10KB, 41KB):

http://distro.ibiblio.org/easyos/amd64/packages/pet/pet_packages-pyro/minibase-net-20190218-p1-amd64.pet

http://distro.ibiblio.org/easyos/amd64/packages/pet/pet_packages-pyro/minibase-net_DOC-20190218-p1-amd64.pet

http://distro.ibiblio.org/easyos/aarch64/packages/pet/pet_packages-pyro/minibase-net-20190218-p1-aarch64.pet

...notice the size!

In WoofE, the build system for EasyOS, in folder 'rootfs-skeleton', can be found the files for UltraSNS. The latest WoofE (94MB):

http://distro.ibiblio.org/easyos/project/woof/woof-project-20190221.tar.gz

In rootfs-skeleton/usr/local/UltraSNS are these new scripts:

usr/local/UltraSNS/rc.network
usr/local/UltraSNS/usns

Also new, are scripts in etc/net, that are called by the minibase daemons:

conf-cancel  conf-request  dhcp-gw   identify  mode-wifi
conf-renew   dhcp-dns      dhcp-ntp  mode-lan  wifi-wpa

In rootfs-skeleton, all of these scripts have been modified:

usr/local/apps/Connect/AppRun
usr/sbin/network_default_connect
usr/sbin/connectwizard
usr/sbin/networkdisconnect
usr/sbin/connectwizard_2nd

EasyOS specific, handling EasyContainers:

usr/local/easy_containers/stop-container
usr/local/easy_containers/ec-chroot

This is new:

sbin/dhcp-delayed

usr/local/defaultconnect now has this at first bootup (instead of "connectwizard"):

#!/bin/sh
exec usns

At bootup, etc/rc.d/rc.sysinit calls usr/sbin/network_default_connect, which reads 'defaultconnect' and as it contains "usns", calls usr/local/UltraSNS/rc.network, which launches the minibase daemons 'ifmon' and 'wsupp'.
From then on, network handling is automatic, though wifi will need a password first-time, by clicking on the "connect" icon on desktop, which launched the GUI, usr/local/UltraSNS/usns

The above should be enough info for porting.  One thing to look out for, make sure that 'dhcpcd' or 'udhcpc' are not run anywhere, as they will conflict with minibase's 'dhcp' DHCP client. 

Tags: linux