PureOS 8.0 Linux distribution
As I have ordered the Librem 5 phone dev-kit, which will have a
PureOS-based distribution on it, I thought that probably the upcoming
docs might assume a host development PC to be running their x86_64
PureOS, so I installed it. Downloaded from here:
http://downloads.puri.sm/live/gnome/2018-05-30/
Burnt it to a DVD, booted and the menu offered "Test or Install",
which booted up running in RAM. Clicking top-left, some icons dropdown,
and I chose "install", which runs the "PureOS Installer".
It is quite a nice installer. I was able to chose one partition that
had nothing in it (sda5), and not to install a boot manager (as I
already have ReFind, that I will edit manually). I took the precaution
of unplugging one of the hard drives, my main work drive.
It installed OK, except changed some of the drive partition
numbering, which was odd. Even odder, it changed the labels on all of
the partitions -- unexpected and not nice!
Also, it changed the hardware clock to UTC, whereas I have it set to
localtime. I hate it when an installer does that. It is saying, to hell
with the other OSs, this is how it is going to be! There was nowhere
after bootup to choose UTC or localtime for the hardware clock. Later, I
booted Easy and changed the hardware clock back to localtime. Then
rebooting PureOS, it was still correct time, as it was reading it from
the Internet.
The file manager is the usual awful Gnome thing, so dumbed down.
One more thing: at first bootup it asked for a new password, and
there was a checkbox to bootup without password -- except it doesn't
work, requires a password.
Using PureOS was OK, just a matter of getting familiar with where
everything is, but whenever I test a Linux distro, I always feel
relieved when I get back to Easy/Quirky/Puppy.
https://pureos.net/
Back in mid-2016, I compared the Ubuntu and Debian installers:
http://bkhome.org/news/201606/installers-for-debian-vs-ubuntu.html
Tags: linux
Aboriginal Linux 1.2.0.x resuscitated
Over the years, developing Puppy and derivatives, I have had a need to compile some utilities statically.
It has been ad-hoc, using different uClibc and Musl filesystems. Now, I
am making it more formal, and reproducable and useable by anyone.
Rob Landley's Aboriginal Linux is an archived project. I am bring it back, specifically the uClibc based version.
Introduction is here:
http://distro.ibiblio.org/easyos/project/aboriginal/readme.htm
Download (228MB):
http://distro.ibiblio.org/easyos/project/aboriginal/aboriginal-project-1.2.0.2.tar.gz
And what to do after downloading:
http://distro.ibiblio.org/easyos/project/aboriginal/start.htm
if anyone is interested, you are welcome to play!
Forum feedback:
http://murga-linux.com/puppy/viewtopic.php?t=112885
Have fun!
Tags: linux
Finally, success with OpenADK
I wanted the 'dmsetup' utility compiled statically, for use in
initramfs. This is in the LVM2 package. It turned out to be a saga of
many many hours...
Unfortunately, both OpenEmbedded and Landley Aboriginal dropped
support for uClibc, going over to musl. What is really odd, is the
developers on both of these projects gave the same reason, that uClibc
is a dead project. That is very odd, as uClibc-ng is very active. Were
they ignorant of the existence of uClib-ng? -- incredible if so.
Anyway, musl. have used it many time, just don't like it. uClibc is
far more glibc-compatible, and hence far easier to compile source
packages.
I did attempt to compile 'dmsetup' in an Alpine Linux x86_64 musl
rootfs, but finally used Landley's Aboriginal x86_64 uClibc rootfs,
version 1.2.0 -- very old, but it works great. year 2012 in fact.
However, uClibc does not have the fmemopen() function, so I had to
compile an older LVM2 that does not require that function -- version
2.02.119. Success, compiled it statically, about 500KB stripped.
OpenADK
I ruminated on what other rootfs's and toolchains there are out
there, that will have a recent version of uClibc. One of them is
OpenADK, that I have tried a few times over the years, always failed,
see these reports:
http://bkhome.org/news/201606/playing-with-cross-compile-toolsets.html
http://bkhome.org/news/201704/openembedded-morty.html
Decided to have another go!
Downloaded the latest snapshot, ran "make menuconfig" and then
"make", hit some failures, fixed them, but finally gcc compile failed
with "unable to determine size of (long long)".
Scratched my head for sometime over that, but then it occurred to me
that my host system might not support "long long". That does not seem to
good, but anyway. My host is EasyOS Pyro64, the packages were compiled
in OpenEmbedded, targeting embedded systems, and perhaps this is one
compromise.
So, went over to Quirky Xerus64 8.5, which is built with Ubuntu 16.04.4 DEBs. This time success:
# make distclean
copy DOTconfig to .config
# make menuconfig
# export FORCE_UNSAFE_CONFIGURE=1
# make
copy /usr/bin/autom4te to openadk/host_x86_64-oe-linux/usr/bin/
# make
...as you can see above, a couple of little tricks were required, the
"export FORCE_UNSAFE_CONFIGURE=1", and coreutils wanted a "autom4te"
file.
Tags: linux
Easy network printing with CUPS
I have been trying all day to setup printing over a small
network, just two PCs running Easy 0.6.6, connected to an ethernet
router (and to the Internet via wi-fi wan, to my mobile phone hotspot).
One PC, my "midi-tower", has a Brother HL-2040 laser printer
connected via USB port. Local printing works fine. The other PC is my
Mele "mini-pc", and I want to be able to print from it.
The problem is, I cannot get the "ipp" protocol to work. I have
studied online documentation, and can get the client machine, my
mini-pc, to see the remote printer, however when do an actual print, get
the dreaded "Filter failed".
As stated, I have messed around all day, trying different things.
Then, I found something that "just works", very simple. I would like to
acknowledge "paulkerry" for this info:
https://bbs.archlinux.org/viewtopic.php?id=206669
Just a comment: there is a lot of outdated, vague, ambiguous and
misleading documentation about CUPS online. For example, one "very
official" site explained the format of the ipp protocol as:
ipp://hostname/printers/printername
...without explaining that only "hostname" and "printername" must be
substituted, and the text "printers" must be left as-is. There wasn't
even an example, nor was it properly explained how to find the
printername.
Anyway, I did learn how to specify ipp properly, but got stuck at "Filter failed".
The method described by paulkerry works, so here is a little tutorial
to explain how to set it up. Note, I plan to semi-automate this, by
extending QuickSamba, which I plan to rename to EasyShare. Anyway, the
tut...
1: Firewall
I ran the firewall setup on both client (my mini-pc) and server (my
midi-tower) PCs, so that the CUPS port (631) is enabled. In this
snapshot, I have also enabled Samba ports, but that isn't necessary for
just printing with CUPS:
On the server-PC, just setup the local printer as you normally would, but tick some extra boxes...
2: Server PC
You need to have the cupsd daemon running and point the web browser
at http://localhost:631. In Puppy/Quirky/Easy, you do this by running
the "CUPS Printer Wizard":
A window will popup asking if you want to add a new printer, and you click "Yes", then you will get the CUPS web interface:
...click on "Adding Printers and Classes", then the next window:
...click each of those, 1, 2, 3 and 4. Do not miss "Change Settings".
Probably "Allow remote administration" is optional, but I enabled it,
as I was then able to bring up the CUPS web interface of the server-PC
on my client-PC. Next window...
...well, anyone who has setup a local printer will be familiar with
this. Continuing, as per usual, except an important checkbox to tick...
...the first two boxes are pre-filled. It is not essential, but useful,
to fill "Location". And, you must tick "Share This Printer".
In the next window, you choose a driver...
And set some printer options...
That's it, the server-PC is setup. Before setting up the client, you
will need to know the IP-address of the server. A few ways of doing
that. Open a terminal and type "ifconfig", and you will see it -- in my
case it is "192.168.0.3":

In Puppy/Easy/Quirky, there is no need to edit the
/etc/cups/cupsd.conf main configuration file, as it is pre-configured
OK. Note, for this tutorial, I am running pristine EasyOS Pyro64 version
0.6.6.
Now for the client-PC...
3: Client PC
Over on my Mele mini-pc, setup is easy-peasy. I created file /etc/cups/client.conf...
...with content just one line, "ServerName <ip address of server>"
Finally, restart the cupsd daemon...
...and run "lpstat -t" to verify that the remote printer is found.
That's it, nothing more to do. If you ran an application and choose
"Print...", the remote printer will be offered, in my case, my Brother
HL-2040.
Also, the CUPS web interface of the server can be accessed from the
client, by going to "http://192.168.0.3:631" in the client web browser.
As stated, I have thoughts how this setup can be semi-automated,
including automatic creation and update (if the ip-address changes) of
/etc/cups/client.conf. Stay tuned.
Fatdog64 720-final released
Fatdog is a fork of Puppy Linux, and I have always found it
exciting to watch its progression.
Reason, there are often very clever innovations. The developers are 'kirk' and
'jamesbond', and more recently 'fatdog', 'sfr', 'step' and others.
Fatdog forked from Puppy Linux many years go, using the Unleashed build system, before Puppy went over to the Woof build system. Here is a Puppy family-tree:
http://puppylinux.com/family-tree.html
...it doesn't actually show dates, but Fatdog forked from Puppy 4.0, I
forget how many years ago that was. The developers took Unleashed off
in a new direction, and more recently they are able to build the
packages of Fatdog from source, see forum post:
http://www.murga-linux.com/puppy/viewtopic.php?t=109961
Correction:
They did use Woof, before branching entirely to their own build system, with complete compile-from-source, see timeline:
http://distro.ibiblio.org/fatdog/web/history.html
Development is still happening very intensely, and version 720 of
Fatdog64 has just been released, see announcement on the Puppy Forum:
http://murga-linux.com/puppy/viewtopic.php?t=112372
Here is the Fatdog homepage:
http://distro.ibiblio.org/fatdog/web/
I will also download it, to examine some of the things listed in the
release notes -- with our puplets, we cross-pollinate, and I will likely
find some new ideas for Easy and Quirky.
Tags: linux
Puppy Linux Xenialpup 7.5 released
At last, another official Puppy Linux release! My goodness, if you look at Distrowatch, the last official release announcement was 01micko's Slacko 6.3 in November 2015:
https://distrowatch.com/table.php?distribution=puppy
It gave the impression that nothing was happening on the Puppy-front, however, a visit to the Puppy Forum shows, as always, feverish activity. Lots of people developing and testing, and many custom releases. However, no one put their hand up for their release to be the next official pup. Until now.
Philip Broughton, '666philb' on the forum, has coordinated this pup, and we were getting feedback that this should be the next official pup. So, Philip decided to go for it.
Here is the announcement:
http://blog.puppylinux.com/?viewDetailed=00047
Release notes:
32-bit: http://distro.ibiblio.org/puppylinux/puppy-xenial/32/release-xenialpup-7.5.htm
64-bit: http://distro.ibiblio.org/puppylinux/puppy-xenial/64/release-xenialpup64-7.5.htm
Join discussion in the Puppy Forum here:
32-bit: http://murga-linux.com/puppy/viewtopic.php?t=106479
64-bit: http://murga-linux.com/puppy/viewtopic.php?t=107331
Tags: linux
Kernel 4.13.9 compiled in Pyro64
In Quirky Pyro64 to be more precise.
The build scripts and patches are uploaded here:
http://distro.ibiblio.org/easyos/source/kernel/4.13.9/
I hit a very strange bug. When the build script ran "make menuconfig", the terminal crashed. No error messages, it just aborted. I recompiled ncurses, the terminal still crashed.
Very odd. The urxvt terminal emulator is working fine, using it everyday in Pyro64. I googled of course, found the same crash reported a few times, but no definite fix.
So, changed the script to run "make gconfig", the GTK config, and
that worked fine.
Tags: linux
First tutorial on booting Linux on a PC
I am planning two or three tutorials, and this is the first:
http://bkhome.org/linux/prepare-your-computer-for-booting-linux.html
Although Easy Linux is mentioned a few times in the tutorial, it can be applied to other Linuxes.
This tutorial is an expansion on an earlier one I wrote on UEFI-booting.
My intention is that the next tutorial will be based on the
existing page on frugal installation, but enhanced with
explanation about boot managers/loaders.
Tags: linux