EasyDD-portable runs on any Linux
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:
Tags: linux
Ye olde Woof2 Puppy builder
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
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
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.
Announcement - http://blog.puppylinux.com/raspup-820- released
Website - http://raspup.eezy.xyz/index.php
Official release note - http://distro.ibiblio.org/puppylinux/arm/puppy-raspup-8. 2.0/release-Raspberry-8.2.0. htm
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
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
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
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
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):
...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
Minibase, super-tiny static system
Thanks to sc0ttman on the Puppy Forum who discovered this, see post:
http://murga-linux.com/puppy/viewtopic.php?t=115255
Here is the Minibase project page:
https://github.com/arsv/minibase
I compiled like this:
# ./configure
# make
# make install
...and it compiled in, well, it seemed like a few seconds!
Installation is into folder 'out'. The utilities are statically-linked ...and wow, they are small!
Minibase is a complete Linux system, and can be used with Buildroot
to compile an X desktop. I downloaded a ready-made image from here:
https://github.com/arsv/minibase-br/
...file 'sys-1-plain.tar.xz' is only 17.7MB, what kind of desktop can that possibly be?
I expanded 'sys-1-plain.tar.gz' and inside is 'whole.img' which I
wrote to a USB stick. It actually booted to a desktop, on my HP
midi-tower PC, and I couldn't believe how fast -- under 5 seconds.
Nothing much on the desktop, just Fluxbox and urxvt. But hey, this is brilliant.
Xorg, fluxbox, urxvt etc., were compiled in Buildroot, using musl,
and it should be possible to add more apps, such as a browser.
I have a particular fascination for minimalist systems like this.
Also, I am interested in some of the utilities, for possible use in
Easy.
Tags: linux
Super Grub2 CD not so super
This looks interesting, detects the operating systems installed on a PC, creates a boot menu:
https://www.supergrubdisk.org/super-grub2-disk/
Downloaded version 2.02s10 hybrid iso, tried it on my "new" Compaq Presario...
Initial menu, chose "Detect and show boot methods"
...got blank screen, had to reboot.
Initial menu, chose "Enable all native disk drivers *experimental*"
...came back to initial menu, keyboard dead, had to press power button to reboot.
Initial menu, chose "Boot manually...", then "Operating systems"
...got blank screen, had to reboot.
Tags: linux